IPrimitiveRenderer
Description
- Extended by
-
PrimitiveRenderer abstract
Base interface for classes that provide methods for drawing graphic primitives (both indexed and non-indexed) and for dispatching general-purpose computational work.
- See also
Public / Methods
DrawBuffer
Draws indexed primitives indirectly from the current draw buffer (see Buffer).
This method returns silently if Buffer is null
or if CanDrawBuffer returns false
.
DrawIndices
Draws indexed primitives.
The vertex indices of the primitive are stored in an IIndexBuffer object, the vertices are stored in a IVertexBuffer object. The application is responsible for setting the proper render states.
Exactly indexCount in indices will read from the index buffer, starting at the buffer index firstIndex in (not ! byte offset).
DrawIndicesInstanced
Draws indexed primitives.
The vertex indices of the primitive are stored in an IIndexBuffer object, the vertices and instances are stored in a IVertexBuffer object. The application is responsible for setting the proper render states.
Exactly indexCount in indices will read from the index buffer, starting at the buffer index firstIndex in (not ! byte offset).
DrawVertices
Draws primitives.
The vertices are stored in a IVertexBuffer object. The application is responsible for setting the proper render states.
DrawVerticesInstanced
Draws primitives with instancing.
The vertices and instances are stored in a IVertexBuffer object. The application is responsible for setting the proper render states.
Public / Attributes
Buffer
The buffer to use for drawing primitives indirectly.
The buffer is a packed array of the following structure, where each element represents an indexed and instanced draw call:
struct DrawBuffer // Byte size 20 { uint32 indexCount; // Byte offset 0 uint32 instanceCount; // Byte offset 4 uint32 firstIndex; // Byte offset 8 int32 zeroVertex; // Byte offset 12 uint32 firstInstance; // Byte offset 16 }
CanRestartPrimitive
Can primitives be restarted by inserting a special index (~0
) into the stream?
Patches
Specifies the patch size to use for subsequent draw calls (hardware tessellation).
Defaults to 0
.
Type
Specifies the primitive type to use for subsequent draw calls (regular primitives).
If Patches is greater than zero, the primitive type is ignored. Defaults to Primitive.PointList.