"L. Spiro Engine"
|
The base of vertex buffers. More...
#include <LSGVertexBufferBase.h>
Public Member Functions | |
LSVOID LSE_CALL | Reset () |
LSE_INLINE const LSG_VB_CONTENTS &LSE_CALL | Contents () const |
Protected Attributes | |
LSG_VB_CONTENTS | m_vcContents |
LSUINT32 | m_ui32Lock |
LSBOOL | m_bFinalized |
LSUINT16 | m_ui16UsageAndAccess |
LSUINT16 | m_ui16ElementSize |
LSUINT32 | m_ui32Stride |
LSUINT32 | m_ui32Elements |
LSUINT32 | m_ui32PrimitiveCount |
LSUINT32 | m_ui32Id |
CVectorPoD< LSUINT8, LSUINT32, 1024UL > | m_vData |
CVectorPoD< LSUINT16, LSUINT8, 1UL > | m_vAttributeOffsets [LSG_VBM_MAX_ATTRIBUTES] |
Static Protected Attributes | |
static LSUINT32 | m_ui32VertIdCounter |
static CCriticalSection | m_csCrit |
Friends | |
class | CFnd |
The base of vertex buffers.
Class CVertexBufferBase Description: This is a nifty solution to a special case. The ultimate goal is simply to create one class for each graphics API (OpenGL, OpenGL ES, DirectX 9, etc.) and have them all share the same public interface. From there, we would simply create a class called CVertexBuffer that is merely a typedef of one of the API classes--or instead inherits from one of the API classes--based on which API is active.
LSE_INLINE const LSG_VB_CONTENTS &LSE_CALL lsg::CVertexBufferBase::Contents | ( | ) | const |
Gets the contents of the vertex buffer.
LSVOID LSE_CALL lsg::CVertexBufferBase::Reset | ( | ) |
Reset everything to scratch.
Reimplemented in lsg::CVertexBuffer.
LSBOOL lsg::CVertexBufferBase::m_bFinalized [protected] |
Have we finalized?
CCriticalSection lsg::CVertexBufferBase::m_csCrit [static, protected] |
Critical section.
LSUINT16 lsg::CVertexBufferBase::m_ui16ElementSize [protected] |
The size of a single element in the buffer.
LSUINT16 lsg::CVertexBufferBase::m_ui16UsageAndAccess [protected] |
The buffer usage and access.
LSUINT32 lsg::CVertexBufferBase::m_ui32Elements [protected] |
The total number of elements in the vertex buffer.
LSUINT32 lsg::CVertexBufferBase::m_ui32Id [protected] |
The vertex buffer ID.
LSUINT32 lsg::CVertexBufferBase::m_ui32Lock [protected] |
The lock count.
LSUINT32 lsg::CVertexBufferBase::m_ui32PrimitiveCount [protected] |
The total number of primitives in the vertex buffer.
LSUINT32 lsg::CVertexBufferBase::m_ui32Stride [protected] |
The stride of the vertex buffer. Usually a multiple of 32.
LSUINT32 lsg::CVertexBufferBase::m_ui32VertIdCounter [static, protected] |
Vertex buffer ID values.
CVectorPoD<LSUINT16, LSUINT8, 1UL> lsg::CVertexBufferBase::m_vAttributeOffsets[LSG_VBM_MAX_ATTRIBUTES] [protected] |
Element offsets. We support a maximum of LSG_VBM_MAX_ATTRIBUTES element types in a single vertex buffer.
LSG_VB_CONTENTS lsg::CVertexBufferBase::m_vcContents [protected] |
The buffer contents.
CVectorPoD<LSUINT8, LSUINT32, 1024UL> lsg::CVertexBufferBase::m_vData [protected] |
The buffer. In the form of a byte array.