This class is the base interface of sub part from a shader based rendering pipeline. More...
#include <OgreShaderSubRenderState.h>
Public Member Functions | |
SubRenderState () | |
Class default constructor. More... | |
virtual | ~SubRenderState () |
Class destructor. More... | |
virtual void | copyFrom (const SubRenderState &rhs)=0 |
Copy details from a given sub render state to this one. More... | |
virtual bool | createCpuSubPrograms (ProgramSet *programSet) |
Create sub programs that represents this sub render state as part of a program set. More... | |
SubRenderStateAccessorPtr | getAccessor () |
Return the accessor object to this sub render state. More... | |
SubRenderStateAccessorPtr | getAccessor () const |
Return the accessor object to this sub render state. More... | |
virtual int | getExecutionOrder () const =0 |
Get the execution order of this sub render state. More... | |
virtual const String & | getType () const =0 |
Get the type of this sub render state. More... | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
SubRenderState & | operator= (const SubRenderState &rhs) |
Operator = declaration. More... | |
virtual bool | preAddToRenderState (const RenderState *renderState, Pass *srcPass, Pass *dstPass) |
Called before adding this sub render state to the given render state. More... | |
virtual void | updateGpuProgramsParams (Renderable *rend, Pass *pass, const AutoParamDataSource *source, const LightList *pLightList) |
Update GPU programs parameters before a rendering operation occurs. More... | |
Protected Member Functions | |
virtual bool | addFunctionInvocations (ProgramSet *programSet) |
Add function invocation that this sub render state requires. More... | |
virtual bool | resolveDependencies (ProgramSet *programSet) |
Resolve dependencies that this sub render state requires. More... | |
virtual bool | resolveParameters (ProgramSet *programSet) |
Resolve parameters that this sub render state requires. More... | |
Private Attributes | |
SubRenderStateAccessorPtr | mOtherAccessor |
SubRenderStateAccessorPtr | mThisAccessor |
This class is the base interface of sub part from a shader based rendering pipeline.
All sub parts implementations should derive from it and implement the needed methods. A simple example of sub class of this interface will be the transform sub state of the fixed pipeline.
Definition at line 56 of file OgreShaderSubRenderState.h.
Ogre::RTShader::SubRenderState::SubRenderState | ( | ) |
Class default constructor.
|
virtual |
Class destructor.
|
protectedvirtual |
Add function invocation that this sub render state requires.
programSet | container class of CPU and GPU programs that this sub state will affect on. |
|
pure virtual |
Copy details from a given sub render state to this one.
rhs | the source sub state to copy from. |
|
virtual |
Create sub programs that represents this sub render state as part of a program set.
The given program set contains CPU programs that represents a vertex shader and pixel shader. One should use these program class API to create a representation of the sub state he wished to implement.
programSet | container class of CPU and GPU programs that this sub state will affect on. |
SubRenderStateAccessorPtr Ogre::RTShader::SubRenderState::getAccessor | ( | ) |
Return the accessor object to this sub render state.
SubRenderStateAccessorPtr Ogre::RTShader::SubRenderState::getAccessor | ( | ) | const |
Return the accessor object to this sub render state.
|
pure virtual |
Get the execution order of this sub render state.
|
pure virtual |
Get the type of this sub render state.
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
SubRenderState& Ogre::RTShader::SubRenderState::operator= | ( | const SubRenderState & | rhs | ) |
Operator = declaration.
Assign the given source sub state to this sub state.
rhs | the source sub state to copy from. |
|
inlinevirtual |
Called before adding this sub render state to the given render state.
Allows this sub render state class to configure specific parameters depending on source pass or parent render state. Return of false value will cause canceling the add operation.
renderState | The target render state container this sub render state is about to be added. |
srcPass | The source pass. |
dstPass | The destination pass. |
Definition at line 120 of file OgreShaderSubRenderState.h.
|
protectedvirtual |
Resolve dependencies that this sub render state requires.
programSet | container class of CPU and GPU programs that this sub state will affect on. |
|
protectedvirtual |
Resolve parameters that this sub render state requires.
programSet | container class of CPU and GPU programs that this sub state will affect on. |
|
inlinevirtual |
Update GPU programs parameters before a rendering operation occurs.
This method is called in the context of SceneManager::renderSingle object via the RenderObjectListener interface and lets this sub render state instance opportunity to update custom GPU program parameters before the rendering action occurs.
rend | The renderable that is about to be rendered. |
pass | The pass that used for this rendering. |
source | The auto parameter source. |
pLightList | The light list used in the current rendering context. |
Definition at line 111 of file OgreShaderSubRenderState.h.
|
private |
Definition at line 158 of file OgreShaderSubRenderState.h.
|
mutableprivate |
Definition at line 156 of file OgreShaderSubRenderState.h.