![]() |
DI-Guy SDK Documentation
13.7.1
|
#include <diguyOglGraphicsInstanceGroup.h>
Public Member Functions | |
| diguyOglGraphicsInstanceGroup (void *internal_data) | |
| virtual void | build () override |
| This function will be called by DI-Guy when it is time for a renderer specific instance group to be created. More... | |
| virtual void | unbuild () override |
| This function will be called by DI-Guy when it is time for a instance group to be destroyed. More... | |
| virtual int | bind_instance_group_data (int base_start, int link_start, int count) override |
| This function will be called by DI-Guy when variables for using the instance data needs to be sent to the graphics card. More... | |
| virtual int | bind_instance_buffer_data (int num_floats, const float *instance_data) override |
| This function will be called by DI-Guy when data for instance groups needs to be sent to the graphics card. More... | |
Public Member Functions inherited from diguyGraphicsInstanceGroup | |
| long | get_uid () const |
| Instance groups are assigned a unique identifier, or uid. More... | |
| int | get_num_instances () const |
| Returns the number of instances in the instance group. More... | |
| int | get_start_base_offset () const |
| Return the offset, in floats, of the base data for the instance group. More... | |
| int | get_start_link_offset () const |
| Return the offset, in floats, of the link data for the instance group. More... | |
| int | get_num_links () const |
| Returns the number of links for instances with skinned geometry. More... | |
| void | get_debug_color (float &r, float &g, float &b, float &a) const |
| Returns the debug color of an instance group. More... | |
| int | get_show_debug_colors () const |
| Returns if debug colors should be used to render. More... | |
| diguyGraphicsShaderProgram * | get_shader_program () const |
| This function returns a pointer to the shader program designated for this instance group. More... | |
| diguyGraphicsMesh * | get_diguy_mesh () |
| Returns a pointer to the low level geometry mesh object that comprises the renderable for the instances in the group. More... | |
| int | get_graphics_state_switch_index () |
| Returns a index to which swapped texture state to use for drawing this instance group. More... | |
| const float * | get_instance_data () |
| Returns a pointer to the raw instance data for the instance group. More... | |
| int | get_instance_data_size () |
| Return the size of the data for the instance group in bytes. More... | |
| const float * | get_instance_base_data () |
| Returns a pointer to the raw instance data for the instance group. More... | |
| int | get_instance_base_data_size () |
| Return the size of the data for the instance group in bytes. More... | |
| const float * | get_instance_link_data () |
| Returns a pointer to the raw instance data for the instance group. More... | |
| int | get_instance_link_data_size () |
| Return the size of the data for the instance group in bytes. More... | |
| int | get_instance_data_all_groups_size () |
| Return the size of the data for all instance groups in bytes. More... | |
| int | get_num_extra_per_instance_data_floats () |
| Return the number of extra floats the user has requested for the tbo, must be multiple of 4. More... | |
| virtual void | update () |
| This function will be called by DI-Guy when it is time for the instance group to be updated with new data. More... | |
| diguyGraphicsShape * | get_instanced_shape_at_index (int index) |
| Returns a pointer to a instanced shape. index should be less then get_num_instances() More... | |
| diguyGraphicsState * | get_graphics_state () |
| returns a pointer to the instanced state More... | |
| bdiInstanceGroup * | get_scripted_object () |
Protected Member Functions | |
| void | create_link_matrices_tbo (int num_floats) |
| void | destroy_link_matrices_tbo () |
Protected Member Functions inherited from diguyGraphicsInstanceGroup | |
| diguyGraphicsInstanceGroup (void *internal_data) | |
| A protected constructor. More... | |
| virtual | ~diguyGraphicsInstanceGroup () |
| A protected destructor. More... | |
Static Protected Attributes | |
| static int | s_tbo_size_in_floats = 0 |
| static GLuint | s_link_matrices_buffer = 0 |
| static GLuint | s_link_matrices_tbo = 0 |
| diguyOglGraphicsInstanceGroup::diguyOglGraphicsInstanceGroup | ( | void * | internal_data | ) |
|
overridevirtual |
This function will be called by DI-Guy when it is time for a renderer specific instance group to be created.
All information to construct the instance group for consumption by either an immediate mode or scene graph renderer is avaiable via the Accessor Functions above when this function is called.
Immediate Mode:
Immediate mode renderers do not usually override this function.
Scene Graph:
Scene graph renderers override this function to create scene graph specific objects to handle mangement and rendering of the instance group.
Callable From:
Reimplemented from diguyGraphicsInstanceGroup.
|
overridevirtual |
This function will be called by DI-Guy when it is time for a instance group 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:
Reimplemented from diguyGraphicsInstanceGroup.
|
overridevirtual |
This function will be called by DI-Guy when variables for using the instance data needs to be sent to the graphics card.
For GLSL-based shaders, these values are typically passed into the vertex shader via uniform variables.
Immediate Mode:
Immediate mode renderers usually do override this function.
Scene Graph:
Scene graph renderers usually do not override this function, but instead use diguyGraphicsShape::get_shader_matrix_data() during the Update Stage.
Callable From:
Reimplemented from diguyGraphicsInstanceGroup.
|
overridevirtual |
This function will be called by DI-Guy when data for instance groups needs to be sent to the graphics card.
Immediate Mode:
Immediate mode renderers usually do override this function.
Scene Graph:
Scene graph renderers usually do not override this function, but instead update the instance data in diguyGraphicsInstanceGroup::update()
Callable From:
Reimplemented from diguyGraphicsInstanceGroup.
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |