14 #ifndef __diguyGraphicsShaderInstance_H
15 #define __diguyGraphicsShaderInstance_H
20 #define CPLUSPLUS_ONLY
31 class bdiShaderProgramInstance;
109 const float* get_shader_matrix_data_ptr();
142 #ifdef CPLUSPLUS_ONLY
202 virtual int unbind();
221 int get_num_variables();
222 const char* get_variable_name_at_index(
int index);
223 int has_variable(
const char* name);
224 const char* get_variable_type(
const char* name);
226 void reset_variables_to_initial_values();
227 void reset_variables_to_program_defaults();
229 int set_variable_float(
const char* name,
float value,
int set_current = 1,
int set_initial = 0,
float blend_time = 0.0f);
230 int set_variable_vec2(
const char* name,
float x,
float y,
int set_current = 1,
int set_initial = 0,
float blend_time = 0.0f);
231 int set_variable_vec3(
const char* name,
float x,
float y,
float z,
int set_current = 1,
int set_initial = 0,
float blend_time = 0.0f);
232 int set_variable_vec4(
const char* name,
float x,
float y,
float z,
float w,
int set_current = 1,
int set_initial = 0,
float blend_time = 0.0f);
233 int set_variable_int(
const char* name,
int value,
int set_current = 1,
int set_initial = 0);
235 int get_variable_float(
const char* name,
float* value,
int get_current = 1);
236 int get_variable_vec2(
const char* name,
float* x,
float* y,
int get_current = 1);
237 int get_variable_vec3(
const char* name,
float* x,
float* y,
float* z,
int get_current = 1);
238 int get_variable_vec4(
const char* name,
float* r,
float* g,
float* b,
float* a,
int get_current = 1);
239 int get_variable_int(
const char* name,
int* value,
int get_current = 1);
297 int get_num_link_matrices();
328 virtual int update_link_matrices(
int num_matrices,
329 const float* mat_data);
335 #ifdef CPLUSPLUS_ONLY
336 bdiShaderProgramInstance* get_internal_data() {
return m_internal_data;}
357 bdiShaderProgramInstance* m_internal_data;
359 friend class bdiShaderProgramInstance;
360 friend class bdiGeometryFactory;
A class that represents the unique per-character shader object.
Definition: diguyGraphicsShaderInstance.h:55
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:78
This class implements shader lod system for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderTechnique.h:153
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:94