DI-Guy SDK Documentation  13.1
diguyOglGraphicsShaderTechnique Class Reference

#include <diguyOglGraphicsShaderTechnique.h>

Inheritance diagram for diguyOglGraphicsShaderTechnique:
diguyGraphicsShaderTechnique

Public Member Functions

 diguyOglGraphicsShaderTechnique (void *internal_data)
 
 ~diguyOglGraphicsShaderTechnique ()
 
virtual diguyGraphicsShaderProgrampick_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...
 
- Public Member Functions inherited from diguyGraphicsShaderTechnique
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...
 
diguyGraphicsShaderProgramget_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...
 
diguyGraphicsShaderProgramget_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...
 
diguyGraphicsShaderProgramget_intersection_shader ()
 Returns the shader specified for intersections. More...
 
diguyGraphicsShaderProgramget_shadow_pass_shader ()
 Returns the shader specified for shadow map generation. More...
 
diguyGraphicsShaderProgramfind_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...
 
diguyGraphicsShaderProgramget_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)
 
bdiShaderTechniqueget_internal_data ()
 

Additional Inherited Members

- Protected Member Functions inherited from diguyGraphicsShaderTechnique
 diguyGraphicsShaderTechnique (void *internal_data)
 A protected constructor. More...
 
virtual ~diguyGraphicsShaderTechnique ()
 A protected destructor. More...
 

Constructor & Destructor Documentation

diguyOglGraphicsShaderTechnique::diguyOglGraphicsShaderTechnique ( void *  internal_data)
diguyOglGraphicsShaderTechnique::~diguyOglGraphicsShaderTechnique ( )

Member Function Documentation

diguyGraphicsShaderProgram * diguyOglGraphicsShaderTechnique::pick_shader_program ( const diguyShaderPickDescription desc)
virtual

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.

Reimplemented from diguyGraphicsShaderTechnique.

void diguyOglGraphicsShaderTechnique::build ( )
virtual

Allows users to do their own post shader load behavior.

Reimplemented from diguyGraphicsShaderTechnique.


The documentation for this class was generated from the following files: