Render context stack. More...
#include <user/layers/kzu_render_context_stack.h>
Public Member Functions | |
| RenderContextStack () | |
| void | reset () |
| void | setActiveRenderTarget (const RenderTarget *renderTarget) |
| Set the active render target to be used by this render context stack. More... | |
| const RenderTarget * | getActiveRenderTarget () const |
| Get the active render target used by this render context stack. More... | |
| void | setDebugComposer (DebugComposerSharedPtr debugComposer) |
| Set the debug composer to be used by this render context stack. More... | |
| DebugComposerSharedPtr | getDebugComposer () const |
| Get the debug composer used by this render context stack. More... | |
| unsigned int | getActiveScreenWidth () const |
| Get active screen width. More... | |
| unsigned int | getActiveScreenHeight () const |
| Get active screen height. More... | |
| void | push (FramebufferSharedPtr renderTarget, Vector2 limits) |
| Push a framebuffer into the stack. More... | |
| void | peek (FramebufferSharedPtr *out_renderTarget, Vector2 *out_size) |
| Peeks render context stack topmost element, containing render target and size. More... | |
| FramebufferSharedPtr | pop () |
| Pop a framebuffer from the stack. More... | |
| bool | isEmpty () const |
| Tell if render context stack is empty. More... | |
| void | apply (Renderer3D *renderer, bool enableDepth) |
| Apply the topmost render target for 2D rendering. More... | |
| void | detach () |
| Detaches the render target from render context stack. More... | |
| void | composerApply (Renderer3D *renderer, Composer *composer) |
| Applies the composer with render context stack. More... | |
| void | composerRestore (Renderer3D *renderer, const Composer *composer) |
| Restores the composer from render context stack. More... | |
| void | viewportApply (float viewportX, float viewportY, float viewportWidth, float viewportHeight, bool scissorEnabled, float scissorX, float scissorY, float scissorWidth, float scissorHeight) |
| Applies the viewport layer for the stack. More... | |
| void | setViewport (const KzcVector4 *viewport) |
| Sets viewport for topmost render context stack. More... | |
| void | getViewport (KzcVector4 *out_viewport) const |
| Gets viewport from render context stack. More... | |
| void | getRenderingViewport (const Renderer3D *renderer, KzcVector4 *out_viewport) const |
| Gets rendering viewport from render context stack. More... | |
| void | getScissor (bool *out_enabled, KzcVector4 *out_scissor) const |
| Gets scissor from render context stack. More... | |
| FramebufferSharedPtr | getTexture () const |
| Get render context stack current texture. More... | |
| void | getSize (Vector2 *out_size) const |
| Get render context stack current size. More... | |
| void | setSize (const Vector2 *size) |
| Set size. More... | |
| size_t | getStackSize () const |
| Get render context stack current stack size. More... | |
Static Public Member Functions | |
| static RenderContextStackSharedPtr | create () |
| static void | applyStateFor2D (Renderer3D *renderer, FramebufferSharedPtr framebuffer, Vector2 limits, bool enableDepth) |
| Applies properties effectively. More... | |
Public Attributes | |
| vector< KzuRenderContext > | m_renderContextStack |
| Array for render targets. More... | |
| const RenderTarget * | m_activeRenderTarget |
| Active render target to use. More... | |
| DebugComposerSharedPtr | m_debugComposer |
| Debug composer to use if set. More... | |
Render context stack.
The stack has no ownership over the stored render targets - they will not be reserved or deleted.
|
explicit |
|
static |
| void kanzi::RenderContextStack::reset | ( | ) |
| void kanzi::RenderContextStack::setActiveRenderTarget | ( | const RenderTarget * | renderTarget | ) |
Set the active render target to be used by this render context stack.
| const RenderTarget* kanzi::RenderContextStack::getActiveRenderTarget | ( | ) | const |
Get the active render target used by this render context stack.
| void kanzi::RenderContextStack::setDebugComposer | ( | DebugComposerSharedPtr | debugComposer | ) |
Set the debug composer to be used by this render context stack.
| DebugComposerSharedPtr kanzi::RenderContextStack::getDebugComposer | ( | ) | const |
Get the debug composer used by this render context stack.
| unsigned int kanzi::RenderContextStack::getActiveScreenWidth | ( | ) | const |
Get active screen width.
| unsigned int kanzi::RenderContextStack::getActiveScreenHeight | ( | ) | const |
Get active screen height.
| void kanzi::RenderContextStack::push | ( | FramebufferSharedPtr | renderTarget, |
| Vector2 | limits | ||
| ) |
Push a framebuffer into the stack.
| void kanzi::RenderContextStack::peek | ( | FramebufferSharedPtr * | out_renderTarget, |
| Vector2 * | out_size | ||
| ) |
Peeks render context stack topmost element, containing render target and size.
| FramebufferSharedPtr kanzi::RenderContextStack::pop | ( | ) |
Pop a framebuffer from the stack.
If out_renderTarget is non-null, write the popped element into it.
| bool kanzi::RenderContextStack::isEmpty | ( | ) | const |
Tell if render context stack is empty.
| renderContextStack | Render Context stack to check. |
| void kanzi::RenderContextStack::apply | ( | Renderer3D * | renderer, |
| bool | enableDepth | ||
| ) |
Apply the topmost render target for 2D rendering.
Shorthand for kzuRenderContextStackApplyPropertiesEffectively, should normally not be called in favor of it.
|
static |
Applies properties effectively.
| void kanzi::RenderContextStack::detach | ( | ) |
Detaches the render target from render context stack.
| void kanzi::RenderContextStack::composerApply | ( | Renderer3D * | renderer, |
| Composer * | composer | ||
| ) |
Applies the composer with render context stack.
| void kanzi::RenderContextStack::composerRestore | ( | Renderer3D * | renderer, |
| const Composer * | composer | ||
| ) |
Restores the composer from render context stack.
| void kanzi::RenderContextStack::viewportApply | ( | float | viewportX, |
| float | viewportY, | ||
| float | viewportWidth, | ||
| float | viewportHeight, | ||
| bool | scissorEnabled, | ||
| float | scissorX, | ||
| float | scissorY, | ||
| float | scissorWidth, | ||
| float | scissorHeight | ||
| ) |
Applies the viewport layer for the stack.
| void kanzi::RenderContextStack::setViewport | ( | const KzcVector4 * | viewport | ) |
Sets viewport for topmost render context stack.
| void kanzi::RenderContextStack::getViewport | ( | KzcVector4 * | out_viewport | ) | const |
Gets viewport from render context stack.
| void kanzi::RenderContextStack::getRenderingViewport | ( | const Renderer3D * | renderer, |
| KzcVector4 * | out_viewport | ||
| ) | const |
Gets rendering viewport from render context stack.
Can vary from context stack size for example if stereoscopic rendering has been enabled.
| void kanzi::RenderContextStack::getScissor | ( | bool * | out_enabled, |
| KzcVector4 * | out_scissor | ||
| ) | const |
Gets scissor from render context stack.
| FramebufferSharedPtr kanzi::RenderContextStack::getTexture | ( | ) | const |
Get render context stack current texture.
| void kanzi::RenderContextStack::getSize | ( | Vector2 * | out_size | ) | const |
Get render context stack current size.
| void kanzi::RenderContextStack::setSize | ( | const Vector2 * | size | ) |
Set size.
| size_t kanzi::RenderContextStack::getStackSize | ( | ) | const |
Get render context stack current stack size.
| vector<KzuRenderContext> kanzi::RenderContextStack::m_renderContextStack |
Array for render targets.
| const RenderTarget* kanzi::RenderContextStack::m_activeRenderTarget |
Active render target to use.
| DebugComposerSharedPtr kanzi::RenderContextStack::m_debugComposer |
Debug composer to use if set.