14 #ifndef __diguyGraphicsInstanceGroup_H
15 #define __diguyGraphicsInstanceGroup_H
20 #define CPLUSPLUS_ONLY
26 class bdiInstanceGroup;
80 int get_num_instances()
const;
91 int get_start_base_offset()
const;
102 int get_start_link_offset()
const;
115 int get_num_links()
const;
126 void get_debug_color(
float& r,
float& g,
float& b,
float& a)
const;
161 int get_graphics_state_switch_index();
172 const float* get_instance_data();
183 int get_instance_data_size();
194 const float* get_instance_base_data();
205 int get_instance_base_data_size();
216 const float* get_instance_link_data();
227 int get_instance_link_data_size();
238 int get_instance_data_all_groups_size();
240 #ifdef CPLUSPLUS_ONLY
266 virtual void build();
289 virtual void unbuild();
311 virtual void update();
336 virtual int bind_instance_group_data(
int base_start,
int link_start,
int count);
358 virtual int bind_instance_buffer_data(
int num_floats,
const float* instance_data);
369 #ifdef CPLUSPLUS_ONLY
370 bdiInstanceGroup* get_scripted_object() {
return m_scripted_object; }
391 bdiInstanceGroup* m_scripted_object;
393 friend class bdiInstanceGroup;
394 friend class bdiGraphicsFactory;
399 #endif //__diguyGraphicsInstanceGroup_H
A class that represents an instance group. An instance group is a collection 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 (but not mixed in the same group).
Definition: diguyGraphicsInstanceGroup.h:39
A class that represents a shared mesh object.
Definition: diguyGraphicsMesh.h:36
A class that represents the unique per-character non-shared mesh object. DI-Guy encapsulates its text...
Definition: diguyGraphicsShape.h:53
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:94