14 #ifndef __diguyGraphicsInstanceGroup_H
15 #define __diguyGraphicsInstanceGroup_H
20 #define CPLUSPLUS_ONLY
26 class bdiInstanceGroup;
85 int get_num_instances()
const;
96 int get_start_base_offset()
const;
107 int get_start_link_offset()
const;
120 int get_num_links()
const;
131 void get_debug_color(
float& r,
float& g,
float& b,
float& a)
const;
134 int get_show_debug_colors()
const;
169 int get_graphics_state_switch_index();
180 const float* get_instance_data();
191 int get_instance_data_size();
198 const float* get_instance_base_data();
205 int get_instance_base_data_size();
212 const float* get_instance_link_data();
219 int get_instance_link_data_size();
226 int get_instance_data_all_groups_size();
234 int get_num_extra_per_instance_data_floats();
236 #ifdef CPLUSPLUS_ONLY
262 virtual void build();
285 virtual void unbuild();
307 virtual void update();
332 virtual int bind_instance_group_data(
int base_start,
int link_start,
int count);
354 virtual int bind_instance_buffer_data(
int num_floats,
const float* instance_data);
368 #ifdef CPLUSPLUS_ONLY
369 bdiInstanceGroup* get_scripted_object() {
return m_scripted_object; }
390 bdiInstanceGroup* m_scripted_object;
392 friend class bdiInstanceGroup;
393 friend class bdiGraphicsFactory;
398 #endif //__diguyGraphicsInstanceGroup_H
A class that represents an instance group. An instance group is a collection of meshes, attached to shapes, that can be drawn with a single draw call using supplemental instance data information. An instance group can contain segmented meshes or skinned mesh.
Definition: diguyGraphicsInstanceGroup.h:48
A class that represents a shared mesh object.
Definition: diguyGraphicsMesh.h:92
A class that represents the unique per-character non-shared mesh object. DI-Guy encapsulates its text...
Definition: diguyGraphicsShape.h:51
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:96