13 #ifndef __diguyGraphicsMesh_H
14 #define __diguyGraphicsMesh_H
19 #define CPLUSPLUS_ONLY
33 class bdiGeometryMesh;
58 bool m_instancing_draw;
62 bool m_allow_instancing;
79 float m_blend_shape_weights[4];
81 int m_blend_shape_indexes[4];
85 float m_transform_matrix[16];
122 const char* get_name();
178 int get_num_switched_graphics_states()
const;
202 int get_is_skinned_mesh();
210 int get_is_blend_shape();
222 void free_loader_memory();
305 int get_vertex_count();
313 int get_vertex_buffer_size();
325 int get_num_blend_shapes();
327 #ifdef CPLUSPLUS_ONLY
328 float* get_data_as_blend_shape_verts();
333 int get_blend_shape_vertex_buffer_size();
335 #ifdef CPLUSPLUS_ONLY
351 void* get_vertex_buffer_data();
380 float* get_first_vertex();
408 int get_vertex_offset();
428 int get_vertex_stride();
436 float* get_first_normal();
444 int get_normal_offset();
452 float* get_first_texture_indices();
460 int get_texture_indices_offset();
469 float* get_first_link_index();
477 int get_link_index_offset();
486 float* get_first_link_weight();
494 int get_link_weight_offset();
512 float* get_first_tangent();
520 int get_tangent_offset();
560 int get_index_count();
562 #ifdef CPLUSPLUS_ONLY
570 int get_index_buffer_size();
583 void* get_index_buffer_data();
600 #ifdef CPLUSPLUS_ONLY
626 virtual void build();
649 virtual void unbuild();
711 int get_bounding_box(
float * bbox_min_x,
float * bbox_min_y,
float * bbox_min_z,
712 float * bbox_max_x,
float * bbox_max_y,
float * bbox_max_z);
729 int get_normal_stride(){
return get_vertex_stride(); }
730 int get_texture_indices_stride(){
return get_vertex_stride(); }
731 int get_tangent_stride(){
return get_vertex_stride(); }
732 int get_link_weight_stride(){
return get_vertex_stride(); }
733 int get_link_index_stride(){
return get_vertex_stride(); }
761 int get_is_deformable();
766 #ifdef CPLUSPLUS_ONLY
768 bdiGeometryMesh* get_internal_data() {
return m_mesh;}
789 bdiGeometryMesh* m_mesh;
791 friend class bdiGeometryGeosetMesh;
792 friend class bdiGeometryMesh;
793 friend class bdiGeometryFactory;
794 friend class diguyGraphicsMeshArray;
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:44
A class that represents a shared texture.
Definition: diguyGraphicsTexture.h:124
A class that represents a shared mesh object.
Definition: diguyGraphicsMesh.h:95
diguyGraphicsIndexType
This enumeration lists the type that indices stored in index buffer data might have.
Definition: diguyGraphicsVertexFormats.h:119
A struct that represents the information that diguy puts together for an immediate mode draw call...
Definition: diguyGraphicsMesh.h:41
A class that represents the unique per-character non-shared mesh object. DI-Guy encapsulates its text...
Definition: diguyGraphicsShape.h:49
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:94
diguyGraphicsVertexFormat
This enumeration lists types of vertex data formats DI-Guy may use.
Definition: diguyGraphicsVertexFormats.h:81