GLSL Language program processor class.
More...
#include <OgreShaderGLSLProgramProcessor.h>
|
| GLSLProgramProcessor () |
| Class constructor.
|
|
virtual | ~GLSLProgramProcessor () |
| Class destructor.
|
|
virtual const String & | getTargetLanguage () const |
| Return the target language of this processor.
|
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info
|
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info
|
|
virtual bool | postCreateGpuPrograms (ProgramSet *programSet) |
|
virtual bool | preCreateGpuPrograms (ProgramSet *programSet) |
|
|
void | bindAutoParameters (Program *pCpuProgram, GpuProgramPtr pGpuProgram) |
| Bind the auto parameters for a given CPU and GPU program set.
|
|
void | buildMergeCombinations () |
| Build parameter merging combinations.
|
|
void | buildParameterReferenceMap (FunctionAtomInstanceList &funcAtomList, ParameterOperandMap ¶msRefMap) |
| Builds a map between parameter and all the references to it.
|
|
void | buildTexcoordTable (const ShaderParameterList ¶mList, ShaderParameterList outParamsTable[4]) |
| Internal function that builds parameters table.
|
|
virtual bool | compactVsOutputs (Function *vsMain, Function *fsMain) |
| Compact the vertex shader output registers.
|
|
void | countVsTexcoordOutputs (Function *vsMain, int &outTexCoordSlots, int &outTexCoordFloats) |
| Internal method that counts vertex shader texcoord output slots and output floats.
|
|
void | generateLocalSplitParameters (Function *func, GpuProgramType progType, MergeParameterList &mergedParams, ShaderParameterList &splitParams, LocalParameterMap &localParamsMap) |
| Generates local parameters for the split parameters and perform packing/unpacking operation using them.
|
|
void | mergeParameters (ShaderParameterList paramsTable[4], MergeParameterList &mergedParams, ShaderParameterList &splitParams) |
| Merge the parameters from the given table.
|
|
bool | mergeParametersByCombination (const MergeCombination &combination, ShaderParameterList paramsTable[4], MergeParameter *mergedParameter) |
| Internal function that creates merged parameter from given combination.
|
|
void | mergeParametersByPredefinedCombinations (ShaderParameterList paramsTable[4], MergeParameterList &mergedParams) |
| Internal function that creates merged parameter using pre defined combinations.
|
|
void | mergeParametersReminders (ShaderParameterList paramsTable[4], MergeParameterList &mergedParams, ShaderParameterList &splitParams) |
| Merge reminders parameters that could not be merged into one slot using the predefined combinations.
|
|
void | rebuildFunctionInvocations (FunctionAtomInstanceList &funcAtomList, MergeParameterList &mergedParams, LocalParameterMap &localParamsMap) |
| Rebuild function invocations by replacing references to old source parameters with the matching merged parameters components.
|
|
void | rebuildParameterList (Function *func, int paramsUsage, MergeParameterList &mergedParams) |
| Rebuild the given parameters list using the merged parameters.
|
|
void | replaceParametersReferences (MergeParameterList &mergedParams, ParameterOperandMap ¶msRefMap) |
| Replace references to old parameters with the new merged parameters.
|
|
void | replaceSplitParametersReferences (LocalParameterMap &localParamsMap, ParameterOperandMap ¶msRefMap) |
| Replace references to old parameters that have been split with the new local parameters that represents them.
|
|
GLSL Language program processor class.
Definition at line 47 of file OgreShaderGLSLProgramProcessor.h.
◆ LocalParameterMap
◆ MergeCombinationList
◆ MergeParameterList
◆ OperandPtrVector
◆ ParameterOperandMap
◆ GLSLProgramProcessor()
Ogre::RTShader::GLSLProgramProcessor::GLSLProgramProcessor |
( |
| ) |
|
◆ ~GLSLProgramProcessor()
virtual Ogre::RTShader::GLSLProgramProcessor::~GLSLProgramProcessor |
( |
| ) |
|
|
virtual |
◆ bindAutoParameters()
Bind the auto parameters for a given CPU and GPU program set.
◆ bindSubShaders()
Compiles sub shaders (only if the not exists) and attach them to the main gpu program.
◆ bindTextureSamplers()
◆ buildMergeCombinations()
void Ogre::RTShader::ProgramProcessor::buildMergeCombinations |
( |
| ) |
|
|
protectedinherited |
Build parameter merging combinations.
◆ buildParameterReferenceMap()
Builds a map between parameter and all the references to it.
◆ buildTexcoordTable()
Internal function that builds parameters table.
- Parameters
-
paramList | The parameter list. |
outParamsTable | Will hold the texcoord params sorted by types in each row. |
◆ compactVsOutputs()
|
protectedvirtualinherited |
Compact the vertex shader output registers.
- Parameters
-
vsMain | The vertex shader entry function. |
fsMain | The fragment shader entry function. Return true on success. |
◆ countVsTexcoordOutputs()
void Ogre::RTShader::ProgramProcessor::countVsTexcoordOutputs |
( |
Function * |
vsMain, |
|
|
int & |
outTexCoordSlots, |
|
|
int & |
outTexCoordFloats |
|
) |
| |
|
protectedinherited |
Internal method that counts vertex shader texcoord output slots and output floats.
- Parameters
-
vsMain | The vertex shader entry function. |
outTexCoordSlots | Will hold the number of used output texcoord slots. |
outTexCoordFloats | Will hold the total number of floats used by output texcoord slots. |
◆ generateLocalSplitParameters()
Generates local parameters for the split parameters and perform packing/unpacking operation using them.
◆ getParameterFloatCount()
Return number of floats needed by the given type.
◆ getParameterMaskByFloatCount()
static int Ogre::RTShader::ProgramProcessor::getParameterMaskByFloatCount |
( |
int |
floatCount | ) |
|
|
staticprotectedinherited |
Return the parameter mask of by the float count type (I.E: X|Y for 2 etc..)
◆ getParameterMaskByType()
Return the parameter mask of by the given parameter type (I.E: X|Y for FLOAT2 etc..)
◆ getTargetLanguage()
◆ mergeParameters()
Merge the parameters from the given table.
- Parameters
-
paramsTable | Source parameters table. |
mergedParams | Will hold the merged parameters list. |
◆ mergeParametersByCombination()
Internal function that creates merged parameter from given combination.
- Parameters
-
combination | The merge combination to try. |
paramsTable | The params table sorted by types in each row.
|
mergedParameter | Will hold the merged parameter. |
◆ mergeParametersByPredefinedCombinations()
Internal function that creates merged parameter using pre defined combinations.
- Parameters
-
paramsTable | Source parameters table. |
mergedParams | The merged parameters list. |
◆ mergeParametersReminders()
Merge reminders parameters that could not be merged into one slot using the predefined combinations.
- Parameters
-
paramsTable | The params table sorted by types in each row.
|
mergedParams | The merged parameters list. |
splitParams | The split parameters list. |
◆ operator delete() [1/3]
◆ operator delete() [2/3]
◆ operator delete() [3/3]
◆ operator delete[]() [1/2]
◆ operator delete[]() [2/2]
◆ operator new() [1/3]
◆ operator new() [2/3]
◆ operator new() [3/3]
◆ operator new[]() [1/2]
◆ operator new[]() [2/2]
◆ postCreateGpuPrograms()
◆ preCreateGpuPrograms()
◆ rebuildFunctionInvocations()
Rebuild function invocations by replacing references to old source parameters with the matching merged parameters components.
◆ rebuildParameterList()
Rebuild the given parameters list using the merged parameters.
◆ replaceParametersReferences()
Replace references to old parameters with the new merged parameters.
◆ replaceSplitParametersReferences()
Replace references to old parameters that have been split with the new local parameters that represents them.
◆ mFunctionMap
◆ mLibraryPrograms
StringVector Ogre::RTShader::GLSLProgramProcessor::mLibraryPrograms |
|
private |
◆ mMaxTexCoordFloats
int Ogre::RTShader::ProgramProcessor::mMaxTexCoordFloats |
|
protectedinherited |
◆ mMaxTexCoordSlots
int Ogre::RTShader::ProgramProcessor::mMaxTexCoordSlots |
|
protectedinherited |
◆ mParamMergeCombinations
◆ TargetLanguage
String Ogre::RTShader::GLSLProgramProcessor::TargetLanguage |
|
staticprivate |
The documentation for this class was generated from the following file: