Go to the documentation of this file.
27 #ifndef _ShaderRenderState_
28 #define _ShaderRenderState_
125 friend class FFPRenderStateBuilder;
This utility class is used to hold the information used to generate the matrices and other informatio...
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
RenderStateList::iterator RenderStateIterator
This class is the base interface of sub part from a shader based rendering pipeline.
virtual ~RenderState()
Class destructor.
void updateGpuProgramsParams(Renderable *rend, Pass *pass, const AutoParamDataSource *source, const LightList *pLightList)
Update the GPU programs constant parameters before a renderable is rendered.
void getLightCount(int lightCount[3]) const
Get the light count per light type.
void sortSubRenderStates()
Sort the sub render states composing this render state.
void setLightCount(const int lightCount[3])
Set the light count per light type.
Container class for shader based programs.
vector< SubRenderState * >::type SubRenderStateList
TargetRenderState()
Class default constructor.
Class defining a single pass of a Technique (of a Material), i.e.
RenderStateList::const_iterator RenderStateConstIterator
bool mSubRenderStateSortValid
bool getLightCountAutoUpdate() const
Return true if this render state override the light count.
void link(const RenderState &other, Pass *srcPass, Pass *dstPass)
Link this target render state with the given render state.
RenderState()
Class default constructor.
void addTemplateSubRenderState(SubRenderState *subRenderState)
Add a template sub render state to this render state.
This is a container class for sub render state class.
void removeSubRenderStateInstance(SubRenderState *subRenderState)
Remove sub render state from this render state.
void addSubRenderStateInstance(SubRenderState *subRenderState)
Add sub render state to this render state.
A singleton manager class that manages shader based programs.
SubRenderStateList mSubRenderStateList
void removeTemplateSubRenderState(SubRenderState *subRenderState)
Remove a template sub render state from this render state.
const SubRenderStateList & getTemplateSubRenderStateList() const
Get the list of the template sub render states composing this render state.
friend class FFPRenderStateBuilder
Abstract class defining the interface all renderable objects must implement.
This is the target render state.
void reset()
Reset this render state.
ProgramSet * getProgramSet()
Return the program set of this render state.
vector< RenderState * >::type RenderStateList
bool mLightCountAutoUpdate
bool createCpuPrograms()
Create CPU programs that represent this render state.
virtual ~TargetRenderState()
Class destructor.
ProgramSet * createProgramSet()
Create the program set of this render state.
void setLightCountAutoUpdate(bool autoUpdate)
Set the light count auto update state.
Copyright © 2012 Torus Knot Software Ltd

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