|
| VertexBuffer (Context *context) |
|
void | SetShadowed (bool enable) |
|
bool | SetSize (unsigned vertexCount, const ea::vector< VertexElement > &elements, bool dynamic=false) |
| Set size, vertex elements and dynamic mode. Previous data will be lost.
|
|
bool | SetSize (unsigned vertexCount, unsigned elementMask, bool dynamic=false) |
| Set size and vertex elements and dynamic mode using legacy element bitmask. Previous data will be lost.
|
|
bool | IsDynamic () const |
|
unsigned | GetVertexCount () const |
|
unsigned | GetVertexSize () const |
|
const ea::vector< VertexElement > & | GetElements () const |
|
const VertexElement * | GetElement (VertexElementSemantic semantic, unsigned char index=0) const |
| Return vertex element, or null if does not exist.
|
|
const VertexElement * | GetElement (VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) const |
| Return vertex element with specific type, or null if does not exist.
|
|
bool | HasElement (VertexElementSemantic semantic, unsigned char index=0) const |
| Return whether has a specified element semantic.
|
|
bool | HasElement (VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) const |
| Return whether has an element semantic with specific type.
|
|
unsigned | GetElementOffset (VertexElementSemantic semantic, unsigned char index=0) const |
| Return offset of a element within vertex, or M_MAX_UNSIGNED if does not exist.
|
|
unsigned | GetElementOffset (VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) const |
| Return offset of a element with specific type within vertex, or M_MAX_UNSIGNED if element does not exist.
|
|
VertexMaskFlags | GetElementMask () const |
|
ea::vector< Vector4 > | GetUnpackedData (unsigned start=0, unsigned count=M_MAX_UNSIGNED) const |
| Return unpacked buffer data as count * elements.size() elements, grouped by vertices.
|
|
void | SetUnpackedData (const Vector4 data[], unsigned start=0, unsigned count=M_MAX_UNSIGNED) |
| Set data in the buffer from unpacked data.
|
|
virtual | ~PipelineStateTracker () |
| Destruct.
|
|
unsigned | GetPipelineStateHash () const |
| Return (partial) pipeline state hash. Save to call from multiple threads as long as the object is not changing.
|
|
void | MarkPipelineStateHashDirty () |
| Mark pipeline state hash as dirty.
|
|
|
static const VertexElement * | GetElement (const ea::vector< VertexElement > &elements, VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) |
| Return element with specified type and semantic from a vertex element list, or null if does not exist.
|
|
static bool | HasElement (const ea::vector< VertexElement > &elements, VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) |
| Return whether element list has a specified element type and semantic.
|
|
static unsigned | GetElementOffset (const ea::vector< VertexElement > &elements, VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) |
| Return element offset for specified type and semantic from a vertex element list, or M_MAX_UNSIGNED if does not exist.
|
|
static ea::vector< VertexElement > | GetElements (unsigned elementMask) |
| Return a vertex element list from a legacy element bitmask.
|
|
static unsigned | GetVertexSize (const ea::vector< VertexElement > &elements) |
| Return vertex size from an element list.
|
|
static unsigned | GetVertexSize (unsigned elementMask) |
| Return vertex size for a legacy vertex element bitmask.
|
|
static void | UpdateOffsets (ea::vector< VertexElement > &elements) |
| Update offsets of vertex elements.
|
|
static void | UnpackVertexData (const void *source, unsigned sourceStride, const VertexElement &element, unsigned start, unsigned count, Vector4 dest[], unsigned destStride) |
| Unpack given element data from vertex buffer into Vector4. Stride is measured in bytes.
|
|
static void | PackVertexData (const Vector4 source[], unsigned sourceStride, void *dest, unsigned destStride, const VertexElement &element, unsigned start, unsigned count) |
| Pack given element data from Vector4 into vertex buffer. Stride is measured in bytes.
|
|
static void | ShuffleUnpackedVertexData (unsigned vertexCount, const Vector4 source[], const ea::vector< VertexElement > &sourceElements, Vector4 dest[], const ea::vector< VertexElement > &destElements, bool setMissingElementsToZero=true) |
| Shuffle unpacked vertex data according to another vertex format. Element types are ignored. Source array should have vertexCount * sourceElements.size() elements. Destination array should have vertexCount * destElements.size() elements.
|
|