Go to the documentation of this file.
27 #ifndef _ShaderSubRenderState_
28 #define _ShaderSubRenderState_
73 virtual const String& getType()
const = 0;
81 virtual int getExecutionOrder()
const = 0;
100 virtual bool createCpuSubPrograms(
ProgramSet* programSet);
139 virtual bool resolveParameters(
ProgramSet* programSet);
145 virtual bool resolveDependencies(
ProgramSet* programSet);
151 virtual bool addFunctionInvocations(
ProgramSet* programSet);
184 mSubRenderStateInstancesSet.insert(subRenderState);
193 if (itFind != mSubRenderStateInstancesSet.end())
195 mSubRenderStateInstancesSet.erase(itFind);
244 virtual const String& getType()
const = 0;
283 virtual void destroyAllInstances();
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
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.
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.
vector< SubRenderState * >::type SubRenderStateList
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.
const SubRenderState * mTemplateSubRenderState
void removeSubRenderStateInstance(SubRenderState *subRenderState) const
Remove SubRenderState instance to this accessor.
SubRenderStateSet::iterator SubRenderStateSetIterator
SubRenderStateAccessorPtr mThisAccessor
SubRenderStateSet mSubRenderStateList
SharedPtr< SubRenderStateAccessor > SubRenderStateAccessorPtr
SubRenderStateSet::const_iterator SubRenderStateSetConstIterator
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.
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
Abstract class defining the interface all renderable objects must implement.
const SubRenderStateSet & getSubRenderStateInstanceSet() const
Return a set of all instances of the template SubRenderState.
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.
SubRenderStateAccessorPtr mOtherAccessor
This class responsible for translating core features of the RT Shader System for Ogre material script...
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15