OGRE
13.6
Object-Oriented Graphics Rendering Engine
|
Model of OpenGL program object created using the glLinkProgram method of linking. More...
#include <OgreGLSLMonolithicProgram.h>
Public Member Functions | |
GLSLMonolithicProgram (const GLShaderList &shaders) | |
Constructor should only be used by GLSLMonolithicProgramManager. More... | |
~GLSLMonolithicProgram (void) | |
void | activate (void) override |
Makes a program object active by making sure it is linked and then putting it in use. More... | |
void | updateAtomicCounters (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType) |
void | updateUniforms (GpuProgramParametersSharedPtr params, uint16 mask, GpuProgramType fromProgType) override |
Updates program object uniforms using data from GpuProgramParameters. More... | |
Public Member Functions inherited from Ogre::GLSLProgram | |
void | setTransformFeedbackVaryings (const std::vector< String > &nameStrings) |
Public Member Functions inherited from Ogre::GLSLProgramCommon | |
GLSLProgramCommon (const GLShaderList &shaders) | |
virtual | ~GLSLProgramCommon () |
uint | getGLProgramHandle (void) const |
Get the GL Handle for the program object. More... | |
bool | isUsingShader (GLSLShaderCommon *shader) const |
query if the program is using the given shader More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Ogre::GLSLProgram | |
static void | bindFixedAttributes (GLuint program) |
static bool | getMicrocodeFromCache (uint32 id, GLuint programHandle) |
Get the the binary data of a program from the microcode cache. More... | |
static void | writeMicrocodeToCache (uint32 id, GLuint programHandle) |
add the microcode to the cache More... | |
Static Public Member Functions inherited from Ogre::GLSLProgramCommon | |
static int32 | getFixedAttributeIndex (VertexElementSemantic semantic, uint index) |
Get the fixed attribute bindings normally used by GL for a semantic. More... | |
static void | useTightAttributeLayout () |
use alternate vertex attribute layout using only 8 vertex attributes 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'.
|
explicit |
Constructor should only be used by GLSLMonolithicProgramManager.
Ogre::GLSLMonolithicProgram::~GLSLMonolithicProgram | ( | void | ) |
|
overridevirtual |
Makes a program object active by making sure it is linked and then putting it in use.
Implements Ogre::GLSLProgramCommon.
|
overridevirtual |
Updates program object uniforms using data from GpuProgramParameters.
normally called by GLSLShader::bindParameters() just before rendering occurs.
Implements Ogre::GLSLProgramCommon.
|
inline |