|
| RenderQueue (HlmsManager *hlmsManager, SceneManager *sceneManager, VaoManager *vaoManager) |
|
| ~RenderQueue () |
|
void | addRenderableV1 (uint8 renderQueueId, bool casterPass, Renderable *pRend, const MovableObject *pMovableObject) |
| Add a renderable (Ogre v1.x) object to the queue. More...
|
|
void | addRenderableV2 (size_t threadIdx, uint8 renderQueueId, bool casterPass, Renderable *pRend, const MovableObject *pMovableObject) |
| Add a renderable (Ogre v2.0, i.e. More...
|
|
void | clear () |
| Empty the queue - should only be called by SceneManagers. More...
|
|
void | clearState () |
| The RenderQueue keeps track of API state to avoid redundant state change passes Calling this function forces the RenderQueue to re-set the Macro- & Blendblocks, shaders, and any other API dependendant calls on the next render. More...
|
|
void | frameEnded () |
| Called when the frame has fully ended (ALL passes have been executed to all RTTs) More...
|
|
RenderQueue::Modes | getRenderQueueMode (uint8 rqId) const |
|
RqSortMode | getSortRenderQueue (uint8 rqId) const |
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
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 *ptr) |
| placement operator new More...
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info More...
|
|
void | render (RenderSystem *rs, uint8 firstRq, uint8 lastRq, bool casterPass, bool dualParaboloid) |
|
void | renderPassPrepare (bool casterPass, bool dualParaboloid) |
| If you need to call RenderQueue::render, then you must call this function. More...
|
|
void | renderSingleObject (Renderable *pRend, const MovableObject *pMovableObject, RenderSystem *rs, bool casterPass, bool dualParaboloid) |
| Don't call this too often. Only renders v1 objects at the moment. More...
|
|
void | setRenderQueueMode (uint8 rqId, RenderQueue::Modes newMode) |
| Sets the mode for the RenderQueue ID. More...
|
|
void | setSortRenderQueue (uint8 rqId, RqSortMode sortMode) |
| Sets whether we should sort the render queue ID every frame. More...
|
|
Class to manage the scene object rendering queue.
- This class includes the concept of 'queue groups' which allows the application adding the renderable to specifically schedule it so that it is included in a discrete group. Good for separating renderables into the main scene, backgrounds and overlays, and also could be used in the future for more complex multipass routines like stenciling.
void Ogre::RenderQueue::renderPassPrepare |
( |
bool |
casterPass, |
|
|
bool |
dualParaboloid |
|
) |
| |
If you need to call RenderQueue::render, then you must call this function.
This function MUST be called (all listed functions are called in this order):
- After RenderSystem::beginRenderPassDescriptor
- After SceneManager::fireRenderQueueStarted
- Before RenderSystem::executeRenderPassDescriptorDelayedActions
- Before RenderQueue::render
Note that fireRenderQueueStarted just fires arbitrary listeners. You don't have to call that function if you are sure you don't need it.
To clarify functions are called in this order:
mRenderSystem->beginRenderPassDescriptor();
mSceneManager->fireRenderQueueStarted();
mRenderQueue->renderPassPrepare();
mRenderSystem->executeRenderPassDescriptorDelayedActions();
mRenderQueue->render();
Calling these functions in proper order is needed for best compatibility with Metal
- Parameters
-
casterPass | |
dualParaboloid | |