molecular
|
RenderFunction that calls multiple other RenderFunctions. More...
#include <RenderFunction.h>
Public Member Functions | |
template<class TRenderManager > | |
MultipleCalleeRenderFunction (TRenderManager &manager) | |
MultipleCalleeRenderFunction (Scoping &scoping, RenderCmdSink &renderer) | |
util::AxisAlignedBox | GetBounds () const override |
bool | BoundsChangedSince (int) const override |
void | AppendCallee (RenderFunction *callee) |
void | RemoveCallee (RenderFunction *callee) |
void | ClearCallees () |
![]() | |
template<class TRenderManager > | |
RenderFunction (TRenderManager &manager) | |
RenderFunction (Scoping &scoping, RenderCmdSink &renderer) | |
virtual | ~RenderFunction () |
virtual void | Execute ()=0 |
virtual void | Set (Hash, bool) |
Set bool property with given name. More... | |
Protected Attributes | |
std::unordered_set< RenderFunction * > | mCallees |
![]() | |
Scoping & | mScoping |
RenderCmdSink & | mRenderer |
Additional Inherited Members | |
![]() | |
template<class T > | |
const T * | GetVariable (Hash key) |
Convenience shortcut to a variable pointer from the dynamic scope. More... | |
RenderFunction that calls multiple other RenderFunctions.
Why not make all RenderFunctions MultipleCalleeRenderFunctions? Because only those doing visibility determination should be used to contain multiple callees, like FlatScene. Why not do visibility determination everywhere? Because some functions don't even get a frustum, like full-screen effects.
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
Reimplemented from molecular::gfx::RenderFunction.
|
inline |
|
overridevirtual |
Implements molecular::gfx::RenderFunction.
|
inline |
|
protected |