DI-Guy SDK Documentation  13.1
diguyOglGraphicsInstanceGroup.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  ** Copyright (c) 1992-2014 VT MAK
4  ** All rights reserved.
5  *********************************************************************/
6 
7 #ifndef __diguyOglGraphicsInstanceGroup_H
8 #define __diguyOglGraphicsInstanceGroup_H
9 
10 #include "ogl_headers.h"
12 
13 /*********************************************************************/
23 {
24 public:
25  diguyOglGraphicsInstanceGroup(void* internal_data);
26 
27  virtual void build();
28  virtual void unbuild();
29 
30  virtual int bind_instance_group_data(int base_start, int link_start, int count);
31  virtual int bind_instance_buffer_data(int num_floats, const float* instance_data);
32 
33 protected:
34  void create_link_matrices_tbo(int num_floats);
36 
37  static int s_tbo_size_in_floats;
38  static GLuint s_link_matrices_buffer;
39  static GLuint s_link_matrices_tbo;
40 };
41 
43 
44 #endif __diguyOglGraphicsInstanceGroup_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
virtual int bind_instance_group_data(int base_start, int link_start, int count)
This function will be called by DI-Guy when variables for using the instance data needs to be sent to...
Definition: diguyOglGraphicsInstanceGroup.cpp:120
void create_link_matrices_tbo(int num_floats)
Definition: diguyOglGraphicsInstanceGroup.cpp:193
static GLuint s_link_matrices_tbo
Definition: diguyOglGraphicsInstanceGroup.h:40
virtual void unbuild()
This function will be called by DI-Guy when it is time for a instance group to be destroyed...
Definition: diguyOglGraphicsInstanceGroup.cpp:92
static int s_tbo_size_in_floats
4 Header files and forward declarations
Definition: diguyOglGraphicsInstanceGroup.h:38
virtual void build()
This function will be called by DI-Guy when it is time for a renderer specific instance group to be c...
Definition: diguyOglGraphicsInstanceGroup.cpp:74
void destroy_link_matrices_tbo()
Definition: diguyOglGraphicsInstanceGroup.cpp:219
virtual int bind_instance_buffer_data(int num_floats, const float *instance_data)
This function will be called by DI-Guy when data for instance groups needs to be sent to the graphics...
Definition: diguyOglGraphicsInstanceGroup.cpp:161
diguyGraphicsInstanceGroup * diguyOglGraphicsInstanceGroup_create_func(void *internal_data)
Definition: diguyOglGraphicsInstanceGroup.cpp:236
static GLuint s_link_matrices_buffer
Definition: diguyOglGraphicsInstanceGroup.h:39
diguyOglGraphicsInstanceGroup(void *internal_data)
Definition: diguyOglGraphicsInstanceGroup.cpp:57
Definition: diguyOglGraphicsInstanceGroup.h:23