Model of OpenGL program object created using the glLinkProgram method of linking.
More...
|
| GLSLMonolithicProgram (GLSLShader *vertexProgram, GLSLShader *hullProgram, GLSLShader *domainProgram, GLSLShader *geometryProgram, GLSLShader *fragmentProgram, GLSLShader *computeProgram) |
| Constructor should only be used by GLSLMonolithicProgramManager. More...
|
|
| ~GLSLMonolithicProgram (void) |
|
void | activate (void) |
| 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...
|
|
void | updatePassIterationUniforms (GpuProgramParametersSharedPtr params) |
| Updates program object uniforms using data from pass iteration GpuProgramParameters. More...
|
|
void | updateUniformBlocks (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType) |
| Updates program object uniform blocks using data from GpuProgramParameters. More...
|
|
void | updateUniforms (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType) |
| Updates program object uniforms using data from GpuProgramParameters. More...
|
|
Model of OpenGL program object created using the glLinkProgram method of linking.
Linking using glLinkProgram is supported by OpenGL 2.0 and up, but does not allow hot-swapping shaders without recompiling the program object like GLSLSeparableProgram can. Hence the name 'monolithic'.