Panda3D
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
VertexElementArray Class Reference

This class gives the ability for a user-friendly way of creating a vertex declaration for DirectX 9. More...

#include "vertexElementArray.h"

Public Member Functions

 VertexElementArray (int maximum_vertex_elements)
 
void add_binormal_vertex_element (int stream_index, int offset)
 
void add_diffuse_color_vertex_element (int stream_index, int offset)
 
bool add_end_vertex_element (void)
 
void add_normal_vertex_element (int stream_index, int offset)
 
void add_position_xyz_vertex_element (int stream_index, int offset)
 
void add_position_xyzw_vertex_element (int stream_index, int offset)
 
void add_specular_color_vertex_element (int stream_index, int offset)
 
void add_tangent_vertex_element (int stream_index, int offset)
 
void add_u_vertex_element (int stream_index, int offset, int texture_stage)
 
void add_uv_vertex_element (int stream_index, int offset, int texture_stage)
 
void add_uvw_vertex_element (int stream_index, int offset, int texture_stage)
 
void add_xyzw_vertex_element (int stream_index, int offset, int texture_stage)
 

Public Attributes

int _maximum_vertex_elements
 
int _total_elements
 
LPD3DVERTEXELEMENT9 _vertex_element_array
 

Detailed Description

This class gives the ability for a user-friendly way of creating a vertex declaration for DirectX 9.

Since a vertex shader has a fixed input, the vertex element array can be cached so that a new vertex declaration for different vertex buffers can be quickly created. Be sure to call add_end_vertex_element ( ) when finished creating a vertex element array. VERTEX_ELEMENT_TYPE is used for a simplified mapping of vertex buffer data to vertex shader inputs. This class is used with DXShaderContext9 and in conjunction with DXVertexBufferContext9.

Definition at line 27 of file vertexElementArray.h.

Constructor & Destructor Documentation

◆ VertexElementArray()

VertexElementArray::VertexElementArray ( int maximum_vertex_elements)

Definition at line 18 of file vertexElementArray.cxx.

◆ ~VertexElementArray()

VertexElementArray::~VertexElementArray ( )

Definition at line 26 of file vertexElementArray.cxx.

Member Function Documentation

◆ add_binormal_vertex_element()

void VertexElementArray::add_binormal_vertex_element ( int stream_index,
int offset )

Definition at line 84 of file vertexElementArray.cxx.

◆ add_diffuse_color_vertex_element()

void VertexElementArray::add_diffuse_color_vertex_element ( int stream_index,
int offset )

Definition at line 120 of file vertexElementArray.cxx.

◆ add_end_vertex_element()

bool VertexElementArray::add_end_vertex_element ( void )

Definition at line 228 of file vertexElementArray.cxx.

◆ add_normal_vertex_element()

void VertexElementArray::add_normal_vertex_element ( int stream_index,
int offset )

Definition at line 66 of file vertexElementArray.cxx.

◆ add_position_xyz_vertex_element()

void VertexElementArray::add_position_xyz_vertex_element ( int stream_index,
int offset )

Definition at line 30 of file vertexElementArray.cxx.

◆ add_position_xyzw_vertex_element()

void VertexElementArray::add_position_xyzw_vertex_element ( int stream_index,
int offset )

Definition at line 48 of file vertexElementArray.cxx.

◆ add_specular_color_vertex_element()

void VertexElementArray::add_specular_color_vertex_element ( int stream_index,
int offset )

Definition at line 138 of file vertexElementArray.cxx.

◆ add_tangent_vertex_element()

void VertexElementArray::add_tangent_vertex_element ( int stream_index,
int offset )

Definition at line 102 of file vertexElementArray.cxx.

◆ add_u_vertex_element()

void VertexElementArray::add_u_vertex_element ( int stream_index,
int offset,
int texture_stage )

Definition at line 156 of file vertexElementArray.cxx.

◆ add_uv_vertex_element()

void VertexElementArray::add_uv_vertex_element ( int stream_index,
int offset,
int texture_stage )

Definition at line 174 of file vertexElementArray.cxx.

◆ add_uvw_vertex_element()

void VertexElementArray::add_uvw_vertex_element ( int stream_index,
int offset,
int texture_stage )

Definition at line 192 of file vertexElementArray.cxx.

◆ add_xyzw_vertex_element()

void VertexElementArray::add_xyzw_vertex_element ( int stream_index,
int offset,
int texture_stage )

Definition at line 210 of file vertexElementArray.cxx.

Member Data Documentation

◆ _maximum_vertex_elements

int VertexElementArray::_maximum_vertex_elements

Definition at line 52 of file vertexElementArray.h.

◆ _total_elements

int VertexElementArray::_total_elements

Definition at line 51 of file vertexElementArray.h.

◆ _vertex_element_array

LPD3DVERTEXELEMENT9 VertexElementArray::_vertex_element_array

Definition at line 54 of file vertexElementArray.h.


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