Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
DX8VertexBufferClass Class Reference

#include <dx8vertexbuffer.h>

Inherits VertexBufferClass.

Public Types

enum  UsageType { USAGE_DEFAULT =0 , USAGE_DYNAMIC =1 , USAGE_SOFTWAREPROCESSING =2 , USAGE_NPATCHES =4 }
 

Public Member Functions

 DX8VertexBufferClass (unsigned FVF, unsigned short VertexCount, UsageType usage=USAGE_DEFAULT, unsigned vertex_size=0)
 
 DX8VertexBufferClass (const Vector3 *vertices, const Vector3 *normals, const Vector2 *tex_coords, unsigned short VertexCount, UsageType usage=USAGE_DEFAULT)
 
 DX8VertexBufferClass (const Vector3 *vertices, const Vector3 *normals, const Vector4 *diffuse, const Vector2 *tex_coords, unsigned short VertexCount, UsageType usage=USAGE_DEFAULT)
 
 DX8VertexBufferClass (const Vector3 *vertices, const Vector4 *diffuse, const Vector2 *tex_coords, unsigned short VertexCount, UsageType usage=USAGE_DEFAULT)
 
 DX8VertexBufferClass (const Vector3 *vertices, const Vector2 *tex_coords, unsigned short VertexCount, UsageType usage=USAGE_DEFAULT)
 
IDirect3DVertexBuffer8 * Get_DX8_Vertex_Buffer ()
 
void Copy (const Vector3 *loc, unsigned first_vertex, unsigned count)
 
void Copy (const Vector3 *loc, const Vector2 *uv, unsigned first_vertex, unsigned count)
 
void Copy (const Vector3 *loc, const Vector3 *norm, unsigned first_vertex, unsigned count)
 
void Copy (const Vector3 *loc, const Vector3 *norm, const Vector2 *uv, unsigned first_vertex, unsigned count)
 
void Copy (const Vector3 *loc, const Vector3 *norm, const Vector2 *uv, const Vector4 *diffuse, unsigned first_vertex, unsigned count)
 
void Copy (const Vector3 *loc, const Vector2 *uv, const Vector4 *diffuse, unsigned first_vertex, unsigned count)
 
- Public Member Functions inherited from VertexBufferClass
const FVFInfoClassFVF_Info () const
 
unsigned short Get_Vertex_Count () const
 
unsigned Type () const
 
void Add_Engine_Ref () const
 
void Release_Engine_Ref () const
 
unsigned Engine_Refs () const
 
- Public Member Functions inherited from W3DMPO
virtual ~W3DMPO ()
 
- Public Member Functions inherited from RefCountClass
 RefCountClass (void)
 
 RefCountClass (const RefCountClass &)
 
void Add_Ref (void) const
 
WWINLINE void Release_Ref (void) const
 
int Num_Refs (void) const
 
virtual void Delete_This (void)
 

Protected Member Functions

 ~DX8VertexBufferClass ()
 
void Create_Vertex_Buffer (UsageType usage)
 
- Protected Member Functions inherited from VertexBufferClass
 VertexBufferClass (unsigned type, unsigned FVF, unsigned short VertexCount, unsigned vertex_size=0)
 
virtual ~VertexBufferClass ()
 
- Protected Member Functions inherited from W3DMPO
virtual int glueEnforcer () const =0
 
- Protected Member Functions inherited from RefCountClass
virtual ~RefCountClass (void)
 

Protected Attributes

IDirect3DVertexBuffer8 * VertexBuffer
 
- Protected Attributes inherited from VertexBufferClass
unsigned type
 
unsigned short VertexCount
 
int engine_refs
 
FVFInfoClassfvf_info
 

Additional Inherited Members

- Static Public Member Functions inherited from VertexBufferClass
static unsigned Get_Total_Buffer_Count ()
 
static unsigned Get_Total_Allocated_Vertices ()
 
static unsigned Get_Total_Allocated_Memory ()
 
- Static Public Member Functions inherited from RefCountClass
static int Total_Refs (void)
 
static RefCountClassAdd_Active_Ref (RefCountClass *obj)
 
static RefCountClassSet_Ref_Owner (RefCountClass *obj, char *file, int line)
 
static void Remove_Active_Ref (RefCountClass *obj)
 
static bool Validate_Active_Ref (RefCountClass *obj)
 
- Public Attributes inherited from RefCountClass
RefCountNodeClass ActiveRefNode
 
ActiveRefStruct ActiveRefInfo
 
- Static Public Attributes inherited from RefCountClass
static RefCountListClass ActiveRefList
 

Detailed Description

DX8VertexBufferClass This class wraps a DX8 vertex buffer. Use the lock objects to modify or append to the vertex buffer.

Definition at line 207 of file dx8vertexbuffer.h.

Member Enumeration Documentation

◆ UsageType

Enumerator
USAGE_DEFAULT 
USAGE_DYNAMIC 
USAGE_SOFTWAREPROCESSING 
USAGE_NPATCHES 

Definition at line 213 of file dx8vertexbuffer.h.

Constructor & Destructor Documentation

◆ ~DX8VertexBufferClass()

DX8VertexBufferClass::~DX8VertexBufferClass ( )
protected

Definition at line 400 of file dx8vertexbuffer.cpp.

◆ DX8VertexBufferClass() [1/5]

DX8VertexBufferClass::DX8VertexBufferClass ( unsigned FVF,
unsigned short VertexCount,
UsageType usage = USAGE_DEFAULT,
unsigned vertex_size = 0 )

Definition at line 310 of file dx8vertexbuffer.cpp.

◆ DX8VertexBufferClass() [2/5]

DX8VertexBufferClass::DX8VertexBufferClass ( const Vector3 * vertices,
const Vector3 * normals,
const Vector2 * tex_coords,
unsigned short VertexCount,
UsageType usage = USAGE_DEFAULT )

Definition at line 320 of file dx8vertexbuffer.cpp.

◆ DX8VertexBufferClass() [3/5]

DX8VertexBufferClass::DX8VertexBufferClass ( const Vector3 * vertices,
const Vector3 * normals,
const Vector4 * diffuse,
const Vector2 * tex_coords,
unsigned short VertexCount,
UsageType usage = USAGE_DEFAULT )

Definition at line 340 of file dx8vertexbuffer.cpp.

◆ DX8VertexBufferClass() [4/5]

DX8VertexBufferClass::DX8VertexBufferClass ( const Vector3 * vertices,
const Vector4 * diffuse,
const Vector2 * tex_coords,
unsigned short VertexCount,
UsageType usage = USAGE_DEFAULT )

Definition at line 362 of file dx8vertexbuffer.cpp.

◆ DX8VertexBufferClass() [5/5]

DX8VertexBufferClass::DX8VertexBufferClass ( const Vector3 * vertices,
const Vector2 * tex_coords,
unsigned short VertexCount,
UsageType usage = USAGE_DEFAULT )

Definition at line 382 of file dx8vertexbuffer.cpp.

Member Function Documentation

◆ Copy() [1/6]

void DX8VertexBufferClass::Copy ( const Vector3 * loc,
const Vector2 * uv,
const Vector4 * diffuse,
unsigned first_vertex,
unsigned count )

Definition at line 679 of file dx8vertexbuffer.cpp.

◆ Copy() [2/6]

void DX8VertexBufferClass::Copy ( const Vector3 * loc,
const Vector2 * uv,
unsigned first_vertex,
unsigned count )

Definition at line 568 of file dx8vertexbuffer.cpp.

◆ Copy() [3/6]

void DX8VertexBufferClass::Copy ( const Vector3 * loc,
const Vector3 * norm,
const Vector2 * uv,
const Vector4 * diffuse,
unsigned first_vertex,
unsigned count )

Definition at line 636 of file dx8vertexbuffer.cpp.

◆ Copy() [4/6]

void DX8VertexBufferClass::Copy ( const Vector3 * loc,
const Vector3 * norm,
const Vector2 * uv,
unsigned first_vertex,
unsigned count )

Definition at line 499 of file dx8vertexbuffer.cpp.

◆ Copy() [5/6]

void DX8VertexBufferClass::Copy ( const Vector3 * loc,
const Vector3 * norm,
unsigned first_vertex,
unsigned count )

Definition at line 601 of file dx8vertexbuffer.cpp.

◆ Copy() [6/6]

void DX8VertexBufferClass::Copy ( const Vector3 * loc,
unsigned first_vertex,
unsigned count )

Definition at line 539 of file dx8vertexbuffer.cpp.

◆ Create_Vertex_Buffer()

void DX8VertexBufferClass::Create_Vertex_Buffer ( UsageType usage)
protected

Definition at line 416 of file dx8vertexbuffer.cpp.

◆ Get_DX8_Vertex_Buffer()

IDirect3DVertexBuffer8 * DX8VertexBufferClass::Get_DX8_Vertex_Buffer ( )
inline

Definition at line 226 of file dx8vertexbuffer.h.

Member Data Documentation

◆ VertexBuffer

IDirect3DVertexBuffer8* DX8VertexBufferClass::VertexBuffer
protected

Definition at line 236 of file dx8vertexbuffer.h.


The documentation for this class was generated from the following files: