Go to the documentation of this file.
27 #ifndef _ShaderSubRenderState_
28 #define _ShaderSubRenderState_
184 mSubRenderStateInstancesSet.insert(subRenderState);
193 if (itFind != mSubRenderStateInstancesSet.end())
195 mSubRenderStateInstancesSet.erase(itFind);
This utility class is used to hold the information used to generate the matrices and other informatio...
Class representing the state of a single texture unit during a Pass of a Technique,...
set< SubRenderState * >::type SubRenderStateSet
virtual int getExecutionOrder() const =0
Get the execution order of this sub render state.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
virtual SubRenderState * createInstance(ScriptCompiler *compiler, PropertyAbstractNode *prop, TextureUnitState *texState, SGScriptTranslator *translator)
Create an instance of the SubRenderState based on script properties.
virtual SubRenderState * createOrRetrieveInstance(SGScriptTranslator *translator)
Retrieve the previous instance the SRS in the script translator or create a new instance if not found...
This class is the base interface of sub part from a shader based rendering pipeline.
SubRenderStateList::const_iterator SubRenderStateListConstIterator
void addSubRenderStateInstance(SubRenderState *subRenderState) const
Add SubRenderState instance to this accessor.
virtual void updateGpuProgramsParams(Renderable *rend, Pass *pass, const AutoParamDataSource *source, const LightList *pLightList)
Update GPU programs parameters before a rendering operation occurs.
This class uses as accessor from a template SubRenderState to all of its instances that created based...
SubRenderStateSet mSubRenderStateInstancesSet
Container class for shader based programs.
virtual SubRenderState * createInstanceImpl()=0
Create instance implementation method.
virtual bool resolveDependencies(ProgramSet *programSet)
Resolve dependencies that this sub render state requires.
virtual ~SubRenderStateFactory()
vector< SubRenderState * >::type SubRenderStateList
virtual void destroyAllInstances()
Destroy all the instances that created by this factory.
virtual SubRenderState * createInstance(ScriptCompiler *compiler, PropertyAbstractNode *prop, Pass *pass, SGScriptTranslator *translator)
Create an instance of the SubRenderState based on script properties.
Abstract factory interface for creating SubRenderState implementation instances.
Class defining a single pass of a Technique (of a Material), i.e.
virtual bool resolveParameters(ProgramSet *programSet)
Resolve parameters that this sub render state requires.
const SubRenderState * mTemplateSubRenderState
void removeSubRenderStateInstance(SubRenderState *subRenderState) const
Remove SubRenderState instance to this accessor.
SubRenderStateSet::iterator SubRenderStateSetIterator
SubRenderStateAccessorPtr getAccessor() const
Return the accessor object to this sub render state.
virtual void destroyInstance(SubRenderState *subRenderState)
Destroy the given instance.
SubRenderStateAccessorPtr mThisAccessor
virtual ~SubRenderState()
Class destructor.
SubRenderStateSet mSubRenderStateList
SharedPtr< SubRenderStateAccessor > SubRenderStateAccessorPtr
SubRenderStateSet::const_iterator SubRenderStateSetConstIterator
SubRenderStateAccessorPtr getAccessor()
Return the accessor object to this sub render state.
This is the main class for the compiler.
This is a container class for sub render state class.
virtual void writeInstance(MaterialSerializer *ser, SubRenderState *subRenderState, const TextureUnitState *srcTextureUnit, const TextureUnitState *dstTextureUnit)
Write the given sub-render state instance using the material serializer.
Class for serializing Materials to / from a .material script.
virtual void writeInstance(MaterialSerializer *ser, SubRenderState *subRenderState, Pass *srcPass, Pass *dstPass)
Write the given sub-render state instance using the material serializer.
virtual const String & getType() const =0
Get the type of this sub render state factory.
SubRenderStateSet & getSubRenderStateInstanceSet()
Return a set of all instances of the template SubRenderState.
SubRenderStateAccessor(const SubRenderState *templateSubRenderState)
Construct SubRenderState accessor based on the given template SubRenderState.
SubRenderStateList::iterator SubRenderStateListIterator
SubRenderState()
Class default constructor.
virtual bool createCpuSubPrograms(ProgramSet *programSet)
Create sub programs that represents this sub render state as part of a program set.
Abstract class defining the interface all renderable objects must implement.
const SubRenderStateSet & getSubRenderStateInstanceSet() const
Return a set of all instances of the template SubRenderState.
virtual const String & getType() const =0
Get the type of this sub render state.
virtual bool addFunctionInvocations(ProgramSet *programSet)
Add function invocation that this sub render state requires.
This abstract node represents a script property.
virtual bool preAddToRenderState(const RenderState *renderState, Pass *srcPass, Pass *dstPass)
Called before adding this sub render state to the given render state.
virtual SubRenderState * createInstance()
Create an instance of the SubRenderState sub class it suppose to create.
SubRenderStateAccessorPtr mOtherAccessor
This class responsible for translating core features of the RT Shader System for Ogre material script...
virtual void copyFrom(const SubRenderState &rhs)=0
Copy details from a given sub render state to this one.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.