|
Diligent Engine API Reference
|
Defines the draw command attributes. More...
Public Member Functions | |
| DrawAttribs () | |
| Initializes the structure members with default values. More... | |
Public Attributes | |
| PRIMITIVE_TOPOLOGY | Topology |
| Input primitive topology, see Diligent::PRIMITIVE_TOPOLOGY. | |
| VALUE_TYPE | IndexType |
| For an indexed draw call, type of elements in the index buffer. Allowed values: VT_UINT16 and VT_UINT32. Ignored if DrawAttribs::IsIndexed is False. | |
| Bool | IsIndexed |
| Indicates if index buffer will be used to index input vertices. | |
| Uint32 | NumInstances |
| Number of instances to draw. If more than one instance is specified, instanced draw call will be performed. | |
| Bool | IsIndirect |
| Indicates if indirect draw call will be performed. If set to True, pIndirectDrawAttribs must contain valid pointer to the buffer, from which draw attributes will be read. | |
| Uint32 | BaseVertex |
| For indexed rendering, a constant which is added to each index before accessing the vertex buffer. | |
| Uint32 | IndirectDrawArgsOffset |
| For indirect rendering, offset from the beginning of the buffer to the location of draw command attributes. Ignored if DrawAttribs::IsIndirect is False. | |
| Uint32 | FirstInstanceLocation |
| For instanced rendering, LOCATION (or INDEX, but NOT the byte offset) in the vertex buffer to start reading instance data from. | |
| IBuffer * | pIndirectDrawAttribs |
| For indirect rendering, pointer to the buffer, from which draw attributes will be read. Ignored if DrawAttribs::IsIndirect is False. | |
| Uint32 | NumVertices |
| For a non-indexed draw call, number of vertices to draw. | |
| Uint32 | NumIndices |
| For an indexed draw call, number of indices to draw. | |
| Uint32 | StartVertexLocation |
| For non-indexed rendering, LOCATION (or INDEX, but NOT the byte offset) of the first vertex in the vertex buffer to start reading vertices from. | |
| Uint32 | FirstIndexLocation |
| For indexed rendering, LOCATION (NOT the byte offset) of the first index in the index buffer to start reading indices from. | |
Defines the draw command attributes.
This structure is used by IRenderDevice::Draw()
|
inline |
Initializes the structure members with default values.
Default values:
| Member | Default value |
|---|---|
| Topology | PRIMITIVE_TOPOLOGY_UNDEFINED |
| NumVertices | 0 |
| IndexType | VT_UNDEFINED |
| IsIndexed | False |
| NumInstances | 1 |
| IsIndirect | False |
| BaseVertex | 0 |
| IndirectDrawArgsOffset | 0 |
| StartVertexLocation | 0 |
| FirstInstanceLocation | 0 |
| pIndirectDrawAttribs | nullptr |