27 #ifndef _ShaderRenderState_ 28 #define _ShaderRenderState_ 85 void setLightCount(
const int lightCount[3]);
95 void getLightCount(
int lightCount[3])
const;
125 friend class FFPRenderStateBuilder;
170 void sortSubRenderStates();
174 bool createCpuPrograms();
181 void destroyProgramSet();
195 void removeSubRenderStateInstance(
SubRenderState* subRenderState);
208 friend class FFPRenderStateBuilder;
RenderStateList::iterator RenderStateIterator
Abstract class defining the interface all renderable objects must implement.
Class defining a single pass of a Technique (of a Material), i.e.
This is the target render state.
This class is the base interface of sub part from a shader based rendering pipeline.
SubRenderStateList mSubRenderStateList
vector< SubRenderState * >::type SubRenderStateList
bool getLightCountAutoUpdate() const
Return true if this render state override the light count.
RenderStateList::const_iterator RenderStateConstIterator
Container class for shader based programs.
This is a container class for sub render state class.
void setLightCountAutoUpdate(bool autoUpdate)
Set the light count auto update state.
A singleton manager class that manages shader based programs.
const SubRenderStateList & getTemplateSubRenderStateList() const
Get the list of the template sub render states composing this render state.
ProgramSet * getProgramSet()
Return the program set of this render state.
bool mLightCountAutoUpdate
bool mSubRenderStateSortValid
This utility class is used to hold the information used to generate the matrices and other informatio...
vector< RenderState * >::type RenderStateList
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...