|
| | diguyOsgGraphicsShaderProgram (void *internal_data) |
| |
| | ~diguyOsgGraphicsShaderProgram () |
| |
| virtual int | load_vertex_shader_source (const char *filename) |
| | This function will be called by DI-Guy when it is time for the vertex part of this shader to be loaded and compiled. More...
|
| |
| virtual int | load_pixel_shader_source (const char *filename) |
| | This function is the pixel shader (AKA fragment shader in OpenGL) equivalent of load_vertex_shader_source(). More...
|
| |
| virtual int | link () |
| | This function will be called by DI-Guy when it is time for the shader program to be linked. More...
|
| |
| osg::Program * | get_program () |
| |
| osg::StateSet * | get_state_set () |
| |
| const char * | get_name () |
| | Returns: name of the shader This pointer will never be NULL. More...
|
| |
| const char * | get_vertex_shader_filename () |
| | Returns: the vertex filename of the shader This pointer will never be NULL. More...
|
| |
| const char * | get_pixel_shader_filename () |
| | Returns: the pixel shader filename of the shader This pointer will never be NULL. More...
|
| |
| diguyGraphicsShaderProgramType | get_shader_type () |
| | Returns: program type of the shader; see diguyGraphicsShaderProgramType. More...
|
| |
| const char * | get_shader_version () |
| | Returns: shader version. More...
|
| |
| diguyGraphicsShaderQualityLevel | get_quality_level () |
| | Returns: the quality level type of the shader; see diguyGraphicsShaderQualityLevel. More...
|
| |
| void | derive_diguy_shader_source_filename (char *result, int result_max_len, const char *shader_base_name, const char *shader_language, const char *shader_type, int include_diguy_default_shader_directory, const char *shader_subdirectory=NULL) |
| | This function derives filenames for shader programs from the provided information. More...
|
| |
| void | print_shader_info_to_log () |
| | Prints information about the shader to the log. More...
|
| |
| int | load () |
| | Forces the underlying shader to load. More...
|
| |
| int | reload () |
| | Forces the underlying shader to reload. Returns 0 on success. More...
|
| |
| int | get_use_shared_library () |
| | Indicates that a shared library (typically diguy_shared_library.glsl) should be prepended to the current shader code. More...
|
| |
| void | set_use_shared_library (int value) |
| |
| void | set_vertex_shader_source_code (const char *shader_source) |
| | Sets the source code to use for creating a diguy shader program, bypasses file loading. More...
|
| |
| void | set_pixel_shader_source_code (const char *shader_source) |
| | Sets the source code to use for creating a diguy shader program, bypasses file loading. More...
|
| |
| int | set_textures_used_bitmask (int texture_bitmask) |
| | Sets a bit mask consisting of diguyTextureMapMasks or'd together to specify what textures should bind when this shader is active. More...
|
| |
| int | get_textures_used_bitmask () |
| | Returns: the current or'd together list of diguyTextureMapMasks that this shader attempts to bind. More...
|
| |
| virtual int | get_loaded () |
| | Returns whether the shader has been loaded. More...
|
| |
| virtual int | get_linked () |
| | Returns whether the shader has been linked. More...
|
| |
| virtual int | get_valid () |
| | Returns whether shader is valid. More...
|
| |
| virtual int | bind () |
| | This function will be called by DI-Guy when this program is being bound for rendering. More...
|
| |
| virtual int | unbind () |
| | In general variables that were set in bind() should be unset or unbound here. More...
|
| |
| virtual int | bind_link_matrices (int num_matrices, const float *mat_data) |
| | This function will be called by DI-Guy when the matrix data of a character's links needs to be sent to the graphics card. More...
|
| |
| virtual int | bind_color_array (int num_colors, const float *color_data) |
| | This function will be called by DI-Guy when the color data of a character's links needs to be sent to the graphics card. More...
|
| |
| virtual int | bind_uniform_with_location (int location, const char *name, int value_size, float *float_values) |
| | These functions will be called by DI-Guy when there is a shader uniform that needs to be updated and sent to the graphics card. More...
|
| |
| virtual int | bind_uniform_with_location (int location, const char *name, int value_size, int *int_values) |
| |
| virtual int | get_attrib_bind_location (const char *name) |
| | This function will be called by DI-Guy when core code is attempting to identify the capabilities of the end users shader. More...
|
| |
| virtual int | get_uniform_bind_location (const char *name) |
| | This function will be called by DI-Guy when core code is attempting to identify the capabilities of the end users shader. More...
|
| |
| virtual int | get_gl_program_object () |
| | This function will be called by DI-Guy when core code is attempting to identify send shader low level data Return -1 to disable any functionality. More...
|
| |
| virtual int | get_vertex_attrib_location () const |
| | subclass to support particle rendering via abstract interface More...
|
| |
| virtual int | get_color_attrib_location () const |
| |
| virtual int | get_normal_attrib_location () const |
| |
| virtual int | get_texture_attrib_location () const |
| |
| int | get_num_additional_feature_names () |
| | Returns: Number of additional feature strings that this program can support. More...
|
| |
| const char * | get_additional_feature_name (int index) |
| | Returns: Name of feature at index in the list. More...
|
| |
| int | has_additional_feature (const char *name) |
| | Returns: 0 or 1 if the shader supports this feature. More...
|
| |
| int | get_num_variables () |
| |
| const char * | get_variable_name_at_index (int index) |
| |
| int | has_variable (const char *name) |
| |
| const char * | get_variable_type (const char *name) |
| |
| int | set_variable_float (const char *name, float value, int set_current=1, int set_initial=0, int create=0) |
| |
| int | set_variable_vec2 (const char *name, float x, float y, int set_current=1, int set_initial=0, int create=0) |
| |
| int | set_variable_vec3 (const char *name, float x, float y, float z, int set_current=1, int set_initial=0, int create=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 create=0) |
| |
| int | set_variable_int (const char *name, int value, int set_current=1, int set_initial=0, int create=0) |
| |
| int | get_variable_float (const char *name, float *value, int get_current=1) |
| |
| int | get_variable_vec2 (const char *name, float *x, float *y, int get_current=1) |
| |
| int | get_variable_vec3 (const char *name, float *x, float *y, float *z, int get_current=1) |
| |
| int | get_variable_vec4 (const char *name, float *r, float *g, float *b, float *a, int get_current=1) |
| |
| int | get_variable_int (const char *name, int *value, int get_current=1) |
| |
| virtual void | set_apply_matrices_flag (int apply_matrices_flag) |
| |
| virtual void | set_textures_enabled (int enabled) |
| |
| virtual int | bind_matrix (int bind_location, const float *mat) |
| |
| bdiShaderProgram * | get_internal_data () |
| |