|
| | GLSLProgram (GLSLShader *vertexProgram, GLSLShader *hullProgram, GLSLShader *domainProgram, GLSLShader *geometryProgram, GLSLShader *fragmentProgram, GLSLShader *computeProgram) |
| | Constructor should only be used by GLSLMonolithicProgramManager and GLSLSeparableProgramManager. More...
|
| |
| | GLSLProgram (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual, ManualResourceLoader *loader) |
| |
| | ~GLSLProgram () |
| |
| virtual | ~GLSLProgram (void) |
| |
| virtual void | activate (void)=0 |
| | Makes a program object active by making sure it is linked and then putting it in use. More...
|
| |
| void | attachChildShader (const String &name) |
| | Attach another GLSL Shader to this one. More...
|
| |
| void | attachToProgramObject (const GLuint programObject) |
| |
| bool | compile (const bool checkErrors=false) |
| | Compile source into shader object. More...
|
| |
| GpuProgramParametersSharedPtr | createParameters (void) |
| | Overridden from GpuProgram. More...
|
| |
| void | detachFromProgramObject (const GLuint programObject) |
| |
| virtual void | extractLayoutQualifiers (void) |
| | Finds layout qualifiers in the shader source and sets attribute indices appropriately. More...
|
| |
| String | getAttachedShaderNames () const |
| |
| virtual GLint | getAttributeIndex (VertexElementSemantic semantic, uint index) |
| | Get the index of a non-standard attribute bound in the linked code. More...
|
| |
| bool | getColumnMajorMatrices (void) const |
| | Gets whether matrix packed in column-major order. More...
|
| |
| GLSLShader * | getComputeShader () const |
| |
| GLSLShader * | getDomainShader () const |
| |
| GLSLShader * | getFragmentShader () const |
| |
| GLSLShader * | getGeometryShader () const |
| |
| GLuint | getGLProgramHandle () const |
| |
| GLuint | getGLProgramHandle (void) const |
| | Get the GL Handle for the program object. More...
|
| |
| GLuint | getGLShaderHandle () const |
| |
| GLSLShader * | getHullShader () const |
| |
| virtual RenderOperation::OperationType | getInputOperationType (void) const |
| | Returns the operation type that this geometry program expects to receive as input. More...
|
| |
| const String & | getLanguage (void) const |
| | Overridden from GpuProgram. More...
|
| |
| virtual int | getMaxOutputVertices (void) const |
| | Returns the maximum number of vertices that this geometry program can output in a single run. More...
|
| |
| virtual RenderOperation::OperationType | getOutputOperationType (void) const |
| | Returns the operation type that this geometry program will emit. More...
|
| |
| bool | getPassFogStates (void) const |
| |
| bool | getPassSurfaceAndLightStates (void) const |
| |
| bool | getPassTransformStates (void) const |
| | Overridden. More...
|
| |
| const String & | getPreprocessorDefines (void) const |
| | Sets the preprocessor defines use to compile the program. More...
|
| |
| GL3PlusOldVertexArrayObject * | getVertexArrayObject () |
| |
| GLSLShader * | getVertexShader () const |
| |
| bool | isAttributeValid (VertexElementSemantic semantic, uint index) |
| | Is a non-standard attribute bound in the linked code? More...
|
| |
| bool | isSkeletalAnimationIncluded (void) const |
| | Returns whether the linked program includes the required instructions to perform skeletal animation. More...
|
| |
| void | setColumnMajorMatrices (bool columnMajor) |
| | Sets whether matrix packing in column-major order. More...
|
| |
| virtual void | setInputOperationType (RenderOperation::OperationType operationType) |
| | Sets the operation type that this geometry program expects to receive. More...
|
| |
| virtual void | setMaxOutputVertices (int maxOutputVertices) |
| | Set the maximum number of vertices that a single run of this geometry program can emit. More...
|
| |
| virtual void | setOutputOperationType (RenderOperation::OperationType operationType) |
| | Set the operation type that this geometry program will emit. More...
|
| |
| void | setPreprocessorDefines (const String &defines) |
| | Sets the preprocessor defines use to compile the program. More...
|
| |
| void | setSkeletalAnimationIncluded (bool included) |
| | Sets whether the linked program includes the required instructions to perform skeletal animation. More...
|
| |
| virtual void | updatePassIterationUniforms (GpuProgramParametersSharedPtr params)=0 |
| | Updates program object uniforms using data from pass iteration GpuProgramParameters. More...
|
| |
| virtual void | updateUniformBlocks (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType)=0 |
| | Updates program object uniform blocks using data from GpuProgramParameters. More...
|
| |
| virtual void | updateUniforms (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType)=0 |
| | Updates program object uniforms using data from GpuProgramParameters. More...
|
| |
C++ encapsulation of GLSL program object.
Specialisation of HighLevelGpuProgram to provide support for OpenGL Shader Language (GLSL).
- Note
- GLSL supports multiple modular shader objects that can be attached to one program object to form a single shader. This is supported through the "attach" material script command. All the modules to be attached are listed on the same line as the attach command separated by white space.