DI-Guy SDK Documentation  13.1
diguyOglGraphicsMesh Class Reference

#include <diguyOglGraphicsMesh.h>

Inheritance diagram for diguyOglGraphicsMesh:
diguyGraphicsMesh

Public Member Functions

 diguyOglGraphicsMesh (void *internal_data)
 
virtual void build ()
 This function will be called by DI-Guy when it is time for a renderer-specific mesh object to be created. More...
 
virtual void unbuild ()
 This function will be called by DI-Guy when it is time for a renderer-specific mesh object to be destroyed. More...
 
virtual void draw ()
 This function will be called by DI-Guy when the mesh should be drawn. More...
 
virtual void draw_instance_group (int num_instances)
 This function will be called by DI-Guy when the mesh for and instance group should be drawn. More...
 
- Public Member Functions inherited from diguyGraphicsMesh
const char * get_name ()
 Returns the name of the mesh. More...
 
long get_uid ()
 All meshs are assigned a unique identifer (uid). More...
 
diguyGraphicsStateget_state (int graphics_state_switch_index=0)
 This function returns the graphics state with which faces in this mesh should be drawn. More...
 
diguyGraphicsStateget_current_graphics_state ()
 This function returns the last bound graphic state object this mesh used. More...
 
int get_num_switched_graphics_states ()
 This function returns the number of switched graphics states this mesh has. More...
 
int get_is_skinned_mesh ()
 This function returns whether or not the mesh is "skinned". More...
 
int get_is_deformable ()
 This function returns whether or not the mesh is deformable. More...
 
void free_loader_memory ()
 This function frees most memory allocated by the DI-Guy geometry loader for this object. More...
 
diguyGraphicsShaderProgramget_shader_program ()
 This function returns a pointer to the shader program designated for this mesh, if any. More...
 
diguyGraphicsShaderInstanceget_shader_instance ()
 If this mesh has a shader program specified (see get_shader_program()), this function returns a pointer to the shader instance object specific to this mesh. More...
 
diguyGraphicsVertexFormat get_vertex_format ()
 Returns: vertex format that describes the format of the data returned by the get_vertex_buffer_data() function. More...
 
int get_vertex_count ()
 Returns: how many vertices this mesh has. More...
 
int get_vertex_buffer_size ()
 Returns: size, in bytes, of the data buffer returned by get_vertex_buffer_data() More...
 
void * get_vertex_buffer_data ()
 This function returns a pointer to the raw vertex buffer data of this mesh. More...
 
float * get_first_vertex ()
 This function returns a pointer to vertex position data of the first vertex in the raw vertex buffer data returned by get_vertex_buffer_data(). More...
 
int get_vertex_offset ()
 This function returns how many bytes the first vertex position is into the raw vertex buffer data returned by get_vertex_buffer_data(). More...
 
int get_vertex_stride ()
 This function returns how many bytes there are between each vertex position in the raw data returned by get_vertex_buffer_data(). More...
 
float * get_first_normal ()
 Returns: pointer to normal of first vertex in vertex buffer data; see get_first_vertex() for more information. More...
 
int get_normal_offset ()
 Returns: offset in bytes of the first normal in raw vertex buffer data; see get_vertex_offset() for more information. More...
 
int get_normal_stride ()
 Returns: stride in bytes between each normal in raw vertex buffer data; see get_vertex_stride() for more information. More...
 
float * get_first_texture_indices ()
 Returns: pointer to texture indices of first vertex in vertex buffer data. More...
 
int get_texture_indices_offset ()
 Returns: offset in bytes of the first texture indices in raw vertex buffer data; see get_vertex_offset() for more information. More...
 
int get_texture_indices_stride ()
 Returns: stride in bytes between each texture indices pair in raw vertex buffer data; see get_vertex_stride() for more information. More...
 
float * get_first_link_index ()
 Returns: pointer to link index of first vertex in vertex buffer data, in float form. More...
 
int get_link_index_offset ()
 Returns: offset in bytes of the first link index in raw vertex buffer data; see get_vertex_offset() for more information. More...
 
int get_link_index_stride ()
 Returns: stride in bytes between each link index in raw vertex buffer data; see get_vertex_stride() for more information. More...
 
float * get_first_link_weight ()
 Returns: pointer to link weight of first vertex in vertex buffer data. More...
 
int get_link_weight_offset ()
 Returns: offset in bytes of the first link offset in raw vertex buffer data; see get_vertex_offset() for more information. More...
 
int get_link_weight_stride ()
 Returns: stride in bytes between each link weight in raw vertex buffer data; see get_vertex_stride() for more information. More...
 
float * get_first_tangent ()
 Returns a pointer to the UV tangent and flip bit of first vertex in the vertex buffer data. More...
 
int get_tangent_offset ()
 Returns: offset in bytes of the first tangent in raw vertex buffer data; see get_vertex_offset() for more information. More...
 
int get_tangent_stride ()
 Returns: stride in bytes between each tangent in raw vertex buffer data; see get_vertex_stride() for more information. More...
 
diguyGraphicsIndexType get_index_type ()
 Returns: index type used in data returned by the get_index_buffer_data() function. More...
 
int get_index_count ()
 This function returns how many indices there are in this mesh. More...
 
int get_index_buffer_size ()
 Returns: size, in bytes, of the data buffer returned by get_index_buffer_data() More...
 
void * get_index_buffer_data ()
 This function returns a pointer to the raw index buffer data of this mesh. More...
 
int get_vertex_info (int *num_vertices, float **vertex_array, float **normal_array, float **texture_array, int *index_array_size, unsigned short **index_array)
 Deprecated as of 10.0.0; use Geometry Data Accessor Functions instead. More...
 
diguyGraphicsMeshInternalDataget_internal_data ()
 

Protected Attributes

int m_is_skinned_mesh
 Variables for data generated during the Build Stage. More...
 
int m_has_tangents
 
GLuint m_vertex_buffer
 
GLuint m_index_buffer
 
GLenum m_gl_index_type
 

Additional Inherited Members

- Protected Member Functions inherited from diguyGraphicsMesh
 diguyGraphicsMesh (void *internal_data)
 A protected constructor. More...
 
virtual ~diguyGraphicsMesh ()
 A protected destructor. More...
 

Constructor & Destructor Documentation

diguyOglGraphicsMesh::diguyOglGraphicsMesh ( void *  internal_data)

Member Function Documentation

void diguyOglGraphicsMesh::build ( )
virtual

This function will be called by DI-Guy when it is time for a renderer-specific mesh object to be created.

All information necessary to build the mesh should be available via the Accessor Functions above when this function is called.

Immediate Mode:

Immediate mode renderers may override this function, to create an object that may be invoked by draw().

Scene Graph:

Scene graph renderers usually do override this function, to create a geometry object that gets associated with a diguyGraphicsState object obtained by calling get_state().

Callable From:

  • N/A (automatically called by DI-Guy Graphics API during the Build Stage)

Reimplemented from diguyGraphicsMesh.

void diguyOglGraphicsMesh::unbuild ( )
virtual

This function will be called by DI-Guy when it is time for a renderer-specific mesh object to be destroyed.

Immediate Mode:

Immediate mode renderers may override this function, to destroy any object that may have been created by build().

Scene Graph:

Scene graph renderers usually do override this function, to destroy any object that may have been created by build().

Callable From:

  • N/A (automatically called by DI-Guy Graphics API during the Unbuild Stage)

Reimplemented from diguyGraphicsMesh.

void diguyOglGraphicsMesh::draw ( )
virtual

This function will be called by DI-Guy when the mesh should be drawn.

For scene graph renderers, most likely nothing more needs to be done by this function.

Callable From:

  • N/A (automatically called by DI-Guy Graphics API during Draw Stage)

Reimplemented from diguyGraphicsMesh.

void diguyOglGraphicsMesh::draw_instance_group ( int  num_instances)
virtual

This function will be called by DI-Guy when the mesh for and instance group should be drawn.

For scene graph renderers, most likely nothing more needs to be done by this function.

Callable From:

  • N/A (automatically called by DI-Guy Graphics API during Draw Stage)

Reimplemented from diguyGraphicsMesh.

Member Data Documentation

int diguyOglGraphicsMesh::m_is_skinned_mesh
protected

Variables for data generated during the Build Stage.

int diguyOglGraphicsMesh::m_has_tangents
protected
GLuint diguyOglGraphicsMesh::m_vertex_buffer
protected
GLuint diguyOglGraphicsMesh::m_index_buffer
protected
GLenum diguyOglGraphicsMesh::m_gl_index_type
protected

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