00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef VERTEX_ELEMENT_ARRAY_H
00016 #define VERTEX_ELEMENT_ARRAY_H
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 class VertexElementArray
00034 {
00035 public:
00036
00037 VertexElementArray (int maximum_vertex_elements);
00038 ~VertexElementArray ( );
00039
00040 void add_position_xyz_vertex_element (int stream_index, int offset);
00041 void add_position_xyzw_vertex_element (int stream_index, int offset);
00042
00043 void add_normal_vertex_element (int stream_index, int offset);
00044 void add_binormal_vertex_element (int stream_index, int offset);
00045 void add_tangent_vertex_element (int stream_index, int offset);
00046
00047 void add_diffuse_color_vertex_element (int stream_index, int offset);
00048 void add_specular_color_vertex_element (int stream_index, int offset);
00049
00050 void add_u_vertex_element (int stream_index, int offset, int texture_stage);
00051 void add_uv_vertex_element (int stream_index, int offset, int texture_stage);
00052 void add_uvw_vertex_element (int stream_index, int offset, int texture_stage);
00053 void add_xyzw_vertex_element (int stream_index, int offset, int texture_stage);
00054
00055 bool add_end_vertex_element (void);
00056
00057 int _total_elements;
00058 int _maximum_vertex_elements;
00059
00060 LPD3DVERTEXELEMENT9 _vertex_element_array;
00061 };
00062
00063 #endif