DI-Guy SDK Documentation  13.2
diguyOglGraphicsInstanceGroup.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*********************************************************************
4  ** Copyright (c) 1992-2016 VT MAK
5  ** All rights reserved.
6  *********************************************************************/
7 
8 
9 // needed for function prototypes
10 #include <GL/glew.h>
11 #include <GL/gl.h>
12 
14 
22 {
23 public:
24  diguyOglGraphicsInstanceGroup(void* internal_data);
25 
26  virtual void build();
27  virtual void unbuild();
28 
29  virtual int bind_instance_group_data(int base_start, int link_start, int count);
30  virtual int bind_instance_buffer_data(int num_floats, const float* instance_data);
31 
32 protected:
33  void create_link_matrices_tbo(int num_floats);
35 
37  static GLuint s_link_matrices_buffer;
38  static GLuint s_link_matrices_tbo;
39 };
40 
41 
48 
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
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:97
void create_link_matrices_tbo(int num_floats)
Definition: diguyOglGraphicsInstanceGroup.cpp:173
static GLuint s_link_matrices_tbo
Definition: diguyOglGraphicsInstanceGroup.h:37
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:69
static int s_tbo_size_in_floats
Definition: diguyOglGraphicsInstanceGroup.h:35
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:51
void destroy_link_matrices_tbo()
Definition: diguyOglGraphicsInstanceGroup.cpp:207
diguyGraphicsInstanceGroup * diguyOglGraphicsInstanceGroup_create_func(void *internal_data)
Create function declaration.
Definition: diguyOglGraphicsInstanceGroup.cpp:224
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:137
static GLuint s_link_matrices_buffer
Definition: diguyOglGraphicsInstanceGroup.h:36
diguyOglGraphicsInstanceGroup(void *internal_data)
Definition: diguyOglGraphicsInstanceGroup.cpp:34
Definition: diguyOglGraphicsInstanceGroup.h:20