14 #ifndef __diguyGraphicsMesh_H
15 #define __diguyGraphicsMesh_H
20 #define CPLUSPLUS_ONLY
28 class diguyGraphicsMeshInternalData;
62 const char* get_name();
130 int get_num_switched_graphics_states();
154 int get_is_skinned_mesh();
180 int get_is_deformable();
192 void free_loader_memory();
275 int get_vertex_count();
283 int get_vertex_buffer_size();
285 #ifdef CPLUSPLUS_ONLY
301 void* get_vertex_buffer_data();
330 float* get_first_vertex();
358 int get_vertex_offset();
378 int get_vertex_stride();
386 float* get_first_normal();
394 int get_normal_offset();
402 int get_normal_stride();
409 float* get_first_texture_indices();
417 int get_texture_indices_offset();
425 int get_texture_indices_stride();
433 float* get_first_link_index();
441 int get_link_index_offset();
449 int get_link_index_stride();
456 float* get_first_link_weight();
464 int get_link_weight_offset();
472 int get_link_weight_stride();
490 float* get_first_tangent();
498 int get_tangent_offset();
506 int get_tangent_stride();
545 int get_index_count();
547 #ifdef CPLUSPLUS_ONLY
555 int get_index_buffer_size();
568 void* get_index_buffer_data();
585 #ifdef CPLUSPLUS_ONLY
611 virtual void build();
634 virtual void unbuild();
669 #ifdef CPLUSPLUS_ONLY
681 int get_vertex_info(
int* num_vertices,
682 float** vertex_array,
683 float** normal_array,
684 float** texture_array,
685 int* index_array_size,
686 unsigned short** index_array);
714 virtual void draw_instance_group(
int num_instances);
723 #ifdef CPLUSPLUS_ONLY
725 diguyGraphicsMeshInternalData* get_internal_data() {
return m_internal_data;}
746 diguyGraphicsMeshInternalData* m_internal_data;
748 friend class bdiGeometryGeosetMesh;
749 friend class bdiGeometryGeoset;
750 friend class bdiGeometryFactory;
751 friend class diguyGraphicsMeshArray;
752 friend class diguyGraphicsMeshInternalData;
A class that represents the unique per-character shader object.
Definition: diguyGraphicsShaderInstance.h:55
A class that represents a shared material/textures combination.
Definition: diguyGraphicsState.h:37
A class that represents a shared texture. Can be subclassed by filling out the diguy_graphics_set_tex...
Definition: diguyGraphicsTexture.h:124
A class that represents a shared mesh object.
Definition: diguyGraphicsMesh.h:36
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:94