Registry used to keep track of DrawObjectsRenderPass objects that contain render entries. More...
#include <kanzi/core.ui/graphics3d/render_entry_registry_3d.hpp>
Public Member Functions | |
void | cleanRenderEntryRegistry () |
Clean references to this node from each DrawObjectsRenderPass that refers to this node. More... | |
T * | getThisObject () |
Gets the pointer to this object. More... | |
void | insertReferringDrawPass (DrawObjectsRenderPassWeakPtr drawPass) |
Insert a referring draw pass. More... | |
~RenderEntryRegistry () | |
Destructor. More... | |
Protected Attributes | |
flat_set< DrawObjectsRenderPassWeakPtr, owner_less< DrawObjectsRenderPassWeakPtr > > | m_referringRenderPasses |
Render passes referring to the Node deriving this template class. More... | |
Node3D::RenderEntryParameterContainer | m_renderEntryParameters |
Cached render entry parameters. More... | |
Registry used to keep track of DrawObjectsRenderPass objects that contain render entries.
The classes that are rendered by DrawObjectsRenderPass or its derivatives must implement bookkeeping for the render entries generated for them. This class provides a default implementation for that bookkeeping. Derive from this class when you implement your own renderable Node3D classes that generate render states.
A Node3D class that inherits from RenderEntryRegistry must call:
|
inline |
Destructor.
|
inline |
Gets the pointer to this object.
(CRTP).
|
inline |
Insert a referring draw pass.
Call this function when a DrawObjectsRenderPass registers the derived node for rendering. This usually happens within Node3D::registerDrawPassOverride().
drawPass | Weak reference to a draw pass. |
|
inline |
Clean references to this node from each DrawObjectsRenderPass that refers to this node.
Call this function when the render entries for the inheriting node become obsolete because:
|
protected |
Render passes referring to the Node deriving this template class.
|
protected |
Cached render entry parameters.
This container is updated whenever the rendering parameters of the node change.