44#ifndef DX8VERTEXBUFFER_H
45#define DX8VERTEXBUFFER_H
62struct IDirect3DVertexBuffer8;
142 friend SortingRendererClass;
146 unsigned short VertexCount;
147 unsigned short VertexBufferOffset;
151 void Allocate_Sorting_Dynamic_Buffer();
152 void Allocate_DX8_Dynamic_Buffer();
170 static void _Reset(
bool frame_changed);
197 WWASSERT(DynamicVBAccess->VertexBuffer->FVF_Info().Get_FVF() == (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX2|D3DFVF_DIFFUSE));
220 DX8VertexBufferClass(
unsigned FVF,
unsigned short VertexCount, UsageType usage=USAGE_DEFAULT,
unsigned vertex_size=0);
228 void Copy(
const Vector3* loc,
unsigned first_vertex,
unsigned count);
229 void Copy(
const Vector3* loc,
const Vector2* uv,
unsigned first_vertex,
unsigned count);
230 void Copy(
const Vector3* loc,
const Vector3* norm,
unsigned first_vertex,
unsigned count);
231 void Copy(
const Vector3* loc,
const Vector3* norm,
const Vector2* uv,
unsigned first_vertex,
unsigned count);
233 void Copy(
const Vector3* loc,
const Vector2* uv,
const Vector4* diffuse,
unsigned first_vertex,
unsigned count);
251 friend SortingRendererClass;
#define W3DMPO_GLUE(ARGCLASS)
DX8VertexBufferClass(unsigned FVF, unsigned short VertexCount, UsageType usage=USAGE_DEFAULT, unsigned vertex_size=0)
@ USAGE_SOFTWAREPROCESSING
void Create_Vertex_Buffer(UsageType usage)
IDirect3DVertexBuffer8 * VertexBuffer
IDirect3DVertexBuffer8 * Get_DX8_Vertex_Buffer()
VertexFormatXYZNDUV2 * Get_Formatted_Vertex_Array()
WriteLockClass(DynamicVBAccessClass *vb_access)
static unsigned short Get_Default_Vertex_Count(void)
current size of dynamic vertex buffer
unsigned Get_Type() const
static void _Reset(bool frame_changed)
DynamicVBAccessClass(unsigned type, unsigned fvf, unsigned short vertex_count)
unsigned short Get_Vertex_Count() const
const FVFInfoClass & FVF_Info() const
SortingVertexBufferClass(unsigned short VertexCount)
AppendLockClass(VertexBufferClass *vertex_buffer, unsigned start_index, unsigned index_range)
WriteLockClass(VertexBufferClass *vertex_buffer, int flags=0)
virtual ~VertexBufferClass()
unsigned short VertexCount
unsigned short Get_Vertex_Count() const
static unsigned Get_Total_Allocated_Vertices()
unsigned Engine_Refs() const
VertexBufferClass(unsigned type, unsigned FVF, unsigned short VertexCount, unsigned vertex_size=0)
void Release_Engine_Ref() const
static unsigned Get_Total_Allocated_Memory()
static unsigned Get_Total_Buffer_Count()
void Add_Engine_Ref() const
const FVFInfoClass & FVF_Info() const
void * Get_Vertex_Array()
VertexBufferClass * VertexBuffer
VertexBufferLockClass(VertexBufferClass *vertex_buffer_)
const unsigned dynamic_fvf_type