34 #ifndef __diguyGraphicsShaderTechnique_H
35 #define __diguyGraphicsShaderTechnique_H
41 #define CPLUSPLUS_ONLY
52 class bdiShaderTechnique;
141 const char* get_name();
148 int get_num_shader_lod_programs();
162 float get_shader_lod_range_at_index(
int index);
176 int get_program_index_by_distance(
float distance,
int max_quality_level);
224 int get_num_additional_shaders();
248 int set_variable_float(
const char* name,
float value,
int set_current = 1,
int set_initial = 0);
249 int set_variable_vec2(
const char* name,
float x,
float y,
int set_current = 1,
int set_initial = 0);
250 int set_variable_vec3(
const char* name,
float x,
float y,
float z,
int set_current = 1,
int set_initial = 0);
251 int set_variable_vec4(
const char* name,
float x,
float y,
float z,
float w,
int set_current = 1,
int set_initial = 0);
252 int set_variable_int(
const char* name,
int value,
int set_current = 1,
int set_initial = 0);
281 virtual void build();
288 #ifdef CPLUSPLUS_ONLY
290 bdiShaderTechnique* get_internal_data() {
return m_internal_data;}
311 bdiShaderTechnique* m_internal_data;
313 friend class bdiShaderTechnique;
314 friend class bdiGeometryFactory;