Abstract factory interface for creating SubRenderState implementation instances.
More...
#include <OgreShaderSubRenderState.h>
|
| SubRenderStateFactory () |
|
virtual | ~SubRenderStateFactory () |
|
virtual SubRenderState * | createInstance () |
| Create an instance of the SubRenderState sub class it suppose to create. More...
|
|
virtual SubRenderState * | createInstance (ScriptCompiler *compiler, PropertyAbstractNode *prop, Pass *pass, SGScriptTranslator *translator) |
| Create an instance of the SubRenderState based on script properties. More...
|
|
virtual SubRenderState * | createInstance (ScriptCompiler *compiler, PropertyAbstractNode *prop, TextureUnitState *texState, SGScriptTranslator *translator) |
| Create an instance of the SubRenderState based on script properties. More...
|
|
virtual SubRenderState * | createOrRetrieveInstance (SGScriptTranslator *translator) |
| Retrieve the previous instance the SRS in the script translator or create a new instance if not found. More...
|
|
virtual void | destroyAllInstances () |
| Destroy all the instances that created by this factory. More...
|
|
virtual void | destroyInstance (SubRenderState *subRenderState) |
| Destroy the given instance. More...
|
|
virtual const String & | getType () const =0 |
| Get the type of this sub render state factory. More...
|
|
virtual void | writeInstance (MaterialSerializer *ser, SubRenderState *subRenderState, Pass *srcPass, Pass *dstPass) |
| Write the given sub-render state instance using the material serializer. More...
|
|
virtual void | writeInstance (MaterialSerializer *ser, SubRenderState *subRenderState, const TextureUnitState *srcTextureUnit, const TextureUnitState *dstTextureUnit) |
| Write the given sub-render state instance using the material serializer. More...
|
|
Abstract factory interface for creating SubRenderState implementation instances.
- SubRenderStateFactory subclasses must allow the creation and destruction of SubRenderState subclasses. They must also be registered with the ShaderGenerator::addSubRenderStateFactory. All factories have a type which identifies them and the sub class of SubRenderState they creates.
◆ SubRenderStateFactory()
Ogre::RTShader::SubRenderStateFactory::SubRenderStateFactory |
( |
| ) |
|
|
inline |
◆ ~SubRenderStateFactory()
virtual Ogre::RTShader::SubRenderStateFactory::~SubRenderStateFactory |
( |
| ) |
|
|
virtual |
◆ getType()
virtual const String& Ogre::RTShader::SubRenderStateFactory::getType |
( |
| ) |
const |
|
pure virtual |
Get the type of this sub render state factory.
- See also
- SubRenderState::getType.
Implemented in Ogre::RTShader::PerPixelLightingFactory, Ogre::RTShader::NormalMapLightingFactory, Ogre::RTShader::FFPTexturingFactory, Ogre::RTShader::TextureAtlasSamplerFactory, Ogre::RTShader::FFPLightingFactory, Ogre::RTShader::LayeredBlendingFactory, Ogre::RTShader::IntegratedPSSM3Factory, Ogre::RTShader::TriplanarTexturingFactory, Ogre::RTShader::HardwareSkinningFactory, Ogre::RTShader::FFPFogFactory, Ogre::RTShader::FFPColourFactory, Ogre::RTShader::FFPAlphaTestFactory, and Ogre::RTShader::FFPTransformFactory.
◆ createInstance() [1/3]
virtual SubRenderState* Ogre::RTShader::SubRenderStateFactory::createInstance |
( |
| ) |
|
|
virtual |
Create an instance of the SubRenderState sub class it suppose to create.
◆ createInstance() [2/3]
Create an instance of the SubRenderState based on script properties.
This method is called in the context of script parsing and let this factory the opportunity to create custom SubRenderState instances based on extended script properties.
- Parameters
-
compiler | The compiler instance. |
prop | The abstract property node. |
pass | The pass that is the parent context of this node. |
translator | The translator instance holding existing scripts. |
Reimplemented in Ogre::RTShader::PerPixelLightingFactory, Ogre::RTShader::NormalMapLightingFactory, Ogre::RTShader::FFPTexturingFactory, Ogre::RTShader::TextureAtlasSamplerFactory, Ogre::RTShader::FFPLightingFactory, Ogre::RTShader::IntegratedPSSM3Factory, Ogre::RTShader::TriplanarTexturingFactory, Ogre::RTShader::HardwareSkinningFactory, Ogre::RTShader::FFPFogFactory, Ogre::RTShader::FFPColourFactory, and Ogre::RTShader::FFPTransformFactory.
◆ createInstance() [3/3]
Create an instance of the SubRenderState based on script properties.
This method is called in the context of script parsing and let this factory the opportunity to create custom SubRenderState instances based on extended script properties.
- Parameters
-
compiler | The compiler instance. |
prop | The abstract property node. |
texState | The pass that is the parent context of this node. |
translator | The translator instance holding existing scripts. |
Reimplemented in Ogre::RTShader::LayeredBlendingFactory.
◆ createOrRetrieveInstance()
Retrieve the previous instance the SRS in the script translator or create a new instance if not found.
- Parameters
-
translator | The translator instance holding existing scripts. |
◆ destroyInstance()
virtual void Ogre::RTShader::SubRenderStateFactory::destroyInstance |
( |
SubRenderState * |
subRenderState | ) |
|
|
virtual |
Destroy the given instance.
- Parameters
-
subRenderState | The instance to destroy. |
◆ destroyAllInstances()
virtual void Ogre::RTShader::SubRenderStateFactory::destroyAllInstances |
( |
| ) |
|
|
virtual |
Destroy all the instances that created by this factory.
◆ writeInstance() [1/2]
◆ writeInstance() [2/2]
Write the given sub-render state instance using the material serializer.
This method is called in the context of material serialization. It is useful for integrating into bigger context of material exporters from various environment that want to take advantage of the RT Shader System. Sub classes of this interface should override in case they need to write custom properties into the script context.
- Parameters
-
ser | The material serializer instance. |
subRenderState | The sub render state instance to write down. |
srcTextureUnit | The source texture unit state. |
dstTextureUnit | The generated shader based texture unit state. |
Reimplemented in Ogre::RTShader::LayeredBlendingFactory.
The documentation for this class was generated from the following file: