|
| | diguyOglGraphicsShaderTechnique (void *internal_data) |
| |
| | ~diguyOglGraphicsShaderTechnique () |
| |
virtual
diguyGraphicsShaderProgram * | pick_shader_program (const diguyShaderPickDescription &desc) |
| | Allows users to use a subclass to override the default shader LOD system see diguyOglGraphicsShaderTechnique::pick_shader_program() for an example of it's usage. More...
|
| |
| virtual void | build () |
| | Allows users to do their own post shader load behavior. More...
|
| |
| const char * | get_name () |
| | Returns: the name of the shader technique. More...
|
| |
| int | get_num_shader_lod_programs (bool instanced=false) |
| | Returns the number of lod shaders the technique has. More...
|
| |
| diguyGraphicsShaderProgram * | get_shader_lod_program_at_index (int index, bool instanced=false) |
| | Returns the shader program at a lod index. More...
|
| |
| float | get_shader_lod_range_at_index (int index) |
| | Returns the distance that a shader lod switches out at. More...
|
| |
| diguyGraphicsShaderProgram * | get_shader_by_distance (float distance, int max_quality_level, bool instanced=false) |
| | Returns a shader based on the rendering distance. More...
|
| |
| int | get_program_index_by_distance (float distance, int max_quality_level) |
| | Returns the shader index based on the rendering distance. More...
|
| |
| diguyGraphicsShaderProgram * | get_intersection_shader () |
| | Returns the shader specified for intersections. More...
|
| |
| diguyGraphicsShaderProgram * | get_shadow_pass_shader () |
| | Returns the shader specified for shadow map generation. More...
|
| |
| diguyGraphicsShaderProgram * | find_or_create_shader_variation (diguyGraphicsShaderProgram *program, const char *new_name) |
| | This function allows you create a new shader that uses the same vertex and pixel files as the one passed in. More...
|
| |
| void | add_additional_shader (diguyGraphicsShaderProgram *program) |
| | Adds an additional shader program to the technique these will get automatically updated if any of the shader uniform functions are used. More...
|
| |
| int | get_num_additional_shaders () |
| | Returns: The number of shaders that have been procedurally added to the technique. More...
|
| |
| diguyGraphicsShaderProgram * | get_additional_shader_at_index (int index) |
| | Returns: A pointer to the procedural shaders that has been procedurally added to the technique. More...
|
| |
| int | set_variable_float (const char *name, float value, int set_current=1, int set_initial=0) |
| | Convenience functions. More...
|
| |
| int | set_variable_vec2 (const char *name, float x, float y, int set_current=1, int set_initial=0) |
| |
| int | set_variable_vec3 (const char *name, float x, float y, float z, int set_current=1, int set_initial=0) |
| |
| int | set_variable_vec4 (const char *name, float x, float y, float z, float w, int set_current=1, int set_initial=0) |
| |
| int | set_variable_int (const char *name, int value, int set_current=1, int set_initial=0) |
| |
| bdiShaderTechnique * | get_internal_data () |
| |