OGRE
13.6
Object-Oriented Graphics Rendering Engine
|
Real Time Shader System: enables GPU program generation during the runtime of a process. More...
Classes | |
class | Ogre::RTShader::AssignmentAtom |
shorthand for "lhs = rhs;" insted of using FFP_Assign(rhs, lhs) More... | |
struct | Ogre::RTShader::At |
shorthand for operator[] on preceding operand. e.g. myArray[p] More... | |
class | Ogre::RTShader::BinaryOpAtom |
shorthand for "dst = a OP b;" More... | |
class | Ogre::RTShader::BuiltinFunctionAtom |
shorthand for "dst = BUILTIN(args);" More... | |
class | Ogre::RTShader::ConstParameter< valueType > |
Helper template which is the base for our ConstParameters. More... | |
class | Ogre::RTShader::FFPTexturing |
Texturing sub render state implementation of the Fixed Function Pipeline. More... | |
class | Ogre::RTShader::FFPTexturingFactory |
A factory that enables creation of FFPTexturing instances. More... | |
class | Ogre::RTShader::FFPTransform |
Transform sub render state implementation of the Fixed Function Pipeline. More... | |
class | Ogre::RTShader::FFPTransformFactory |
A factory that enables creation of FFPTransform instances. More... | |
class | Ogre::RTShader::Function |
A class that represents a shader based program function. More... | |
class | Ogre::RTShader::FunctionAtom |
A class that represents an atomic code section of shader based program function. More... | |
class | Ogre::RTShader::FunctionInvocation |
A class that represents function invocation code from shader based program function. More... | |
class | Ogre::RTShader::FunctionStageRef |
represents a FFPShaderStage, part of a Function More... | |
class | Ogre::RTShader::GBuffer |
Transform sub render state implementation of writing to GBuffers. More... | |
class | Ogre::RTShader::GBufferFactory |
A factory that enables creation of GBuffer instances. More... | |
class | Ogre::RTShader::HardwareSkinning |
Implement a sub render state which performs hardware skinning. More... | |
class | Ogre::RTShader::HardwareSkinningFactory |
A factory that enables creation of HardwareSkinning instances. More... | |
struct | Ogre::RTShader::In |
struct | Ogre::RTShader::InOut |
class | Ogre::RTShader::IntegratedPSSM3 |
PSSM shadow receiver with up to 3 splits. Custom split points. More... | |
class | Ogre::RTShader::IntegratedPSSM3Factory |
A factory that enables creation of IntegratedPSSM3 instances. More... | |
class | Ogre::RTShader::Operand |
A class that represents a function operand (its the combination of a parameter the in/out semantic and the used fields) More... | |
struct | Ogre::RTShader::Out |
class | Ogre::RTShader::Parameter |
A class that represents a shader based program parameter. More... | |
class | Ogre::RTShader::ParameterFactory |
Helper utility class that creates common parameters. More... | |
class | Ogre::RTShader::Program |
A class that represents a shader based program. More... | |
class | Ogre::RTShader::ProgramManager |
A singleton manager class that manages shader based programs. More... | |
class | Ogre::RTShader::ProgramProcessor |
A class that provides extra processing services on CPU based programs. More... | |
class | Ogre::RTShader::ProgramSet |
Container class for shader based programs. More... | |
class | Ogre::RTShader::ProgramWriter |
Base class interface for shader program writers. More... | |
class | Ogre::RTShader::ProgramWriterFactory |
class | Ogre::RTShader::ProgramWriterManager |
class | Ogre::RTShader::RenderState |
This is a container class for sub render state class. More... | |
class | Ogre::RTShader::SampleTextureAtom |
shorthand for "dst = texture(sampler, uv);" instead of using FFP_SampleTexture More... | |
class | Ogre::RTShader::SGScriptTranslator |
This class responsible for translating core features of the RT Shader System for Ogre material scripts. More... | |
class | Ogre::RTShader::ShaderGenerator |
Shader generator system main interface. More... | |
class | Ogre::RTShader::SubRenderState |
This class is the base interface of sub part from a shader based rendering pipeline. More... | |
class | Ogre::RTShader::SubRenderStateAccessor |
This class uses as accessor from a template SubRenderState to all of its instances that created based on it. More... | |
class | Ogre::RTShader::SubRenderStateFactory |
Abstract factory interface for creating SubRenderState implementation instances. More... | |
class | Ogre::RTShader::TargetRenderState |
This is the target render state. More... | |
class | Ogre::RTShader::TriplanarTexturing |
class | Ogre::RTShader::TriplanarTexturingFactory |
A factory that enables creation of TriplanarMapping instances. More... | |
class | Ogre::RTShader::UniformParameter |
Uniform parameter class. More... | |
Macros | |
#define | FFP_LIB_COMMON "FFPLib_Common" |
#define | FFP_LIB_FOG "FFPLib_Fog" |
#define | FFP_LIB_TEXTURING "FFPLib_Texturing" |
Functions | |
Ogre::RTShader::SGScriptTranslator::SGScriptTranslator () | |
virtual SubRenderState * | Ogre::RTShader::SGScriptTranslator::getGeneratedSubRenderState (const String &typeName) |
Returns a sub render state of a given name which has already been created for material currently being generated by the script translator. More... | |
static bool | Ogre::RTShader::SGScriptTranslator::getString (const AbstractNodePtr &node, String *result) |
void | Ogre::RTShader::SGScriptTranslator::translate (ScriptCompiler *compiler, const AbstractNodePtr &node) override |
Variables | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_ALPHA_TEST |
Enables alpha-testing. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_COOK_TORRANCE_LIGHTING |
Use metal roughness parametrisation for lighting calulations. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_FOG |
Modulates the color of a pixel based on the scene or object fog parameters. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_GBUFFER |
Redirects rendering results into gbuffers for e.g. deferred shading. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_HARDWARE_SKINNING |
Include skinning calculations for Skeletal Animation in the shader to move computations to the GPU. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_IMAGE_BASED_LIGHTING |
Adds calculations for indirect image based lighting (IBL) More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_INTEGRATED_PSSM3 |
PSSM shadow receiver with up to 3 splits. Custom split points. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_LAYERED_BLENDING |
Apply photoshop-like blend effects to texture layers. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_NORMALMAP |
Use a normal map to derive normals. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_PER_PIXEL_LIGHTING |
Adds per-pixel lighting calulations (Phong Shading) More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_PER_VERTEX_LIGHTING |
Adds per-vertex (FFP) lighting calulations (Gouraud Shading) More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_TEXTURING |
Computes FFP texture transform and blending based on the assigned textures. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_TRANSFORM |
Computes the position of the vertex in projection space, allows using instancing. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_TRIPLANAR_TEXTURING |
enable triplanar texture mapping More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_VERTEX_COLOUR |
Enables vertex-colors, always required. More... | |
_OgreRTSSExport const String | Ogre::RTShader::SRS_WBOIT |
Redirects rendering results into intermediate buffers for the WBOIT algorithm. More... | |
Real Time Shader System: enables GPU program generation during the runtime of a process.
The main interface to do that is the ShaderGenerator singleton. A typical usage of this system would be to create shader based technique from an existing technique and associate it with a destination scheme name (see ShaderGenerator::createShaderBasedTechnique). The source technique must include only fixed function based passes, otherwise the method will fail. Once this task accomplished, one may switch the scheme of the current viewport(s) he uses, to the scheme he associate previously, and then a technique based on the original one will be used but this time it will be based on GPU programs the were generated by this component.
The following are the highlights applications of this system.
#define FFP_LIB_COMMON "FFPLib_Common" |
#define FFP_LIB_TEXTURING "FFPLib_Texturing" |
#define FFP_LIB_FOG "FFPLib_Fog" |
typedef std::vector<Function*> Ogre::RTShader::ShaderFunctionList |
typedef ShaderFunctionList::iterator Ogre::RTShader::ShaderFunctionIterator |
typedef ShaderFunctionList::const_iterator Ogre::RTShader::ShaderFunctionConstIterator |
typedef std::vector<FunctionAtom*> Ogre::RTShader::FunctionAtomInstanceList |
typedef FunctionAtomInstanceList::iterator Ogre::RTShader::FunctionAtomInstanceIterator |
typedef FunctionAtomInstanceList::const_iterator Ogre::RTShader::FunctionAtomInstanceConstIterator |
typedef ShaderParameterList::iterator Ogre::RTShader::ShaderParameterIterator |
typedef ShaderParameterList::const_iterator Ogre::RTShader::ShaderParameterConstIterator |
typedef std::vector<UniformParameterPtr> Ogre::RTShader::UniformParameterList |
typedef UniformParameterList::iterator Ogre::RTShader::UniformParameterIterator |
typedef UniformParameterList::const_iterator Ogre::RTShader::UniformParameterConstIterator |
typedef std::shared_ptr<TargetRenderState> Ogre::RTShader::TargetRenderStatePtr |
typedef std::vector<SubRenderState*> Ogre::RTShader::SubRenderStateList |
typedef SubRenderStateList::iterator Ogre::RTShader::SubRenderStateListIterator |
typedef SubRenderStateList::const_iterator Ogre::RTShader::SubRenderStateListConstIterator |
typedef std::set<SubRenderState*> Ogre::RTShader::SubRenderStateSet |
typedef SubRenderStateSet::iterator Ogre::RTShader::SubRenderStateSetIterator |
typedef SubRenderStateSet::const_iterator Ogre::RTShader::SubRenderStateSetConstIterator |
Ogre::RTShader::SGScriptTranslator::SGScriptTranslator | ( | ) |
|
overridevirtual |
Implements Ogre::ScriptTranslator.
|
inlinestatic |
|
virtual |
Returns a sub render state of a given name which has already been created for material currently being generated by the script translator.
typeName | The type of the sub-render state to find. |
|
extern |
Computes the position of the vertex in projection space, allows using instancing.
|
extern |
Enables vertex-colors, always required.
|
extern |
Computes FFP texture transform and blending based on the assigned textures.
|
extern |
Adds per-vertex (FFP) lighting calulations (Gouraud Shading)
|
extern |
Modulates the color of a pixel based on the scene or object fog parameters.
|
extern |
Enables alpha-testing.
|
extern |
PSSM shadow receiver with up to 3 splits. Custom split points.
Referenced by Ogre::RTShader::IntegratedPSSM3::getType(), and Ogre::RTShader::IntegratedPSSM3Factory::getType().
|
extern |
Adds per-pixel lighting calulations (Phong Shading)
|
extern |
Use metal roughness parametrisation for lighting calulations.
|
extern |
Adds calculations for indirect image based lighting (IBL)
|
extern |
Use a normal map to derive normals.
|
extern |
Redirects rendering results into intermediate buffers for the WBOIT algorithm.
|
extern |
Redirects rendering results into gbuffers for e.g. deferred shading.
|
extern |
enable triplanar texture mapping
|
extern |
Apply photoshop-like blend effects to texture layers.