14 #ifndef __diguyGraphicsShaderTechnique_H
15 #define __diguyGraphicsShaderTechnique_H
21 #define CPLUSPLUS_ONLY
32 class bdiShaderTechnique;
125 const char* get_name();
132 int get_num_shader_lod_programs(
bool instanced =
false);
146 float get_shader_lod_range_at_index(
int index);
160 int get_program_index_by_distance(
float distance,
int max_quality_level);
208 int get_num_additional_shaders();
232 int set_variable_float(
const char* name,
float value,
int set_current = 1,
int set_initial = 0);
233 int set_variable_vec2(
const char* name,
float x,
float y,
int set_current = 1,
int set_initial = 0);
234 int set_variable_vec3(
const char* name,
float x,
float y,
float z,
int set_current = 1,
int set_initial = 0);
235 int set_variable_vec4(
const char* name,
float x,
float y,
float z,
float w,
int set_current = 1,
int set_initial = 0);
236 int set_variable_int(
const char* name,
int value,
int set_current = 1,
int set_initial = 0);
265 virtual void build();
272 #ifdef CPLUSPLUS_ONLY
274 bdiShaderTechnique* get_internal_data() {
return m_internal_data;}
295 bdiShaderTechnique* m_internal_data;
297 friend class bdiShaderTechnique;
298 friend class bdiGeometryFactory;