Host container for render states for 3D rendering. More...
#include <kanzi/core.ui/graphics3d/render_entry_3d.hpp>
Classes | |
| class | MorphHandles |
| Cached morph handles. More... | |
Public Types | |
| using | BindingRuntimeContainer |
| Binding runtime container. | |
| using | ReplacementBindingContainer |
| Replacement binding container. | |
Public Types inherited from kanzi::VariableBindingHost | |
| using | BindingRuntimeConstIterator |
| Const iterator for binding runtimes. | |
| using | BindingRuntimeContainer |
| Binding runtime container. | |
| using | BindingRuntimeIterator |
| Iterator for binding runtimes. | |
| using | BindingTargetMapping |
| Binding target mapping. | |
Public Member Functions | |
| void | applyFixedUniforms (Renderer &renderer) |
| Apply fixed uniforms before rendering. | |
| bool | applyRenderState (Renderer &renderer) |
| Apply the internal render state for rendering. | |
| bool | bindRenderState (Renderer &renderer) |
| Bind the contained render state for rendering. | |
| void | draw (Renderer &renderer) |
| Draw the contained geometry. | |
| size_t | getIndex () const |
| Gets the associated index within the node. | |
| uintptr_t | getMaterialComparisonValue () const |
| Gets material comparison value for material sorting. | |
| Mesh * | getMesh () const |
| Gets the associated mesh. | |
| const MorphHandles & | getMorphHandles () const |
| Gets the morph handles structure. | |
| float | getSortingValue () const |
| Gets the sorting value. | |
| bool | matches (const Node3D &node, size_t clusterIndex, MaterialSharedPtr material, Mesh *mesh) |
| Tests if the render entry matches given settings. | |
| void | setSortingValue (float value) |
| Sets the sorting value. | |
| bool | updateSortingCounter (size_t counter) |
| Updates the sorting counter. | |
Public Member Functions inherited from kanzi::GraphicsEntry | |
| MaterialSharedPtr | getMaterial () const |
| Gets the associated material. | |
| Node3D * | getNode () const |
| Gets the associated node. | |
| RenderPass & | getRenderPass () |
| Gets the associated render pass. | |
| RenderState & | getRenderState () |
| Gets the internal render state. | |
| void | initializeState (MaterialSharedPtr sharedMaterial) |
| Initialize the state of the graphics entry. | |
Public Member Functions inherited from kanzi::VariableBindingHost | |
| void | addAvailableVariableSource (AbstractBindingVariableSource &variableSource) |
| Add a variable source to the list of available sources. | |
| void | addBindingRuntime (AbstractBindingRuntimeSharedPtr bindingRuntime) |
| Adds a binding runtime to the list of binding runtimes. | |
| void | addVariableTarget (VariableBindingTargetRuntime &targetRuntime) |
| Adds variable binding target runtime into the variable host. | |
| BindingRuntimeIterator | beginBindingRuntimes () |
| Gets an iterator to the beginning of binding runtimes. | |
| BindingRuntimeConstIterator | beginBindingRuntimes () const |
| Gets an iterator to the beginning of binding runtimes. | |
| BindingRuntimeIterator | endBindingRuntimes () |
| Gets an iterator to the end of binding runtimes. | |
| BindingRuntimeConstIterator | endBindingRuntimes () const |
| Gets an iterator to the end of binding runtimes. | |
| BindingRuntimeIterator | endFixedRuntimes () |
| Gets an iterator to the end of fixed binding runtimes. | |
| BindingRuntimeConstIterator | endFixedRuntimes () const |
| Gets an iterator to the end of fixed binding runtimes. | |
| VariableBindingTargetRuntime * | getVariableBindingTargetRuntime (AbstractPropertyType propertyType) |
| Gets an existing variable binding target runtime based on a property type. | |
| void | removeAvailableVariableSource (AbstractBindingVariableSource &variableSource) |
| Remove a variable source from the list of available sources. | |
| void | removeBindingRuntime (AbstractBindingRuntime &bindingRuntime) |
| Removes a binding runtime. | |
| void | removeVariableTarget (VariableBindingTargetRuntime &targetRuntime) |
| Removes a variable binding target from the variable host. | |
| ~VariableBindingHost () | |
| Destructor. | |
Static Public Member Functions | |
| static unique_ptr< RenderEntry3D > | create (RenderPass &renderPass, Node3D &node, size_t index, MaterialSharedPtr material, Mesh *mesh) |
| Creates a new render entry. | |
Protected Member Functions | |
| void | initializeRenderState (MaterialSharedPtr sharedMaterial) |
| Initialize the internal state. | |
| RenderEntry3D (RenderPass &renderPass, Node3D &node, size_t index, MaterialSharedPtr material, Mesh *mesh) | |
| Constructor. | |
Protected Member Functions inherited from kanzi::GraphicsEntry | |
| GraphicsEntry (RenderPass &renderPass, Node3D *node) | |
| Constructor. | |
| void | updateBindingsWithFixedUniformInputs () |
| Execute all bindings needing manual execution. | |
Protected Attributes | |
| size_t | m_index |
| Source element (i.e. | |
| Mesh * | m_mesh |
| Mesh being rendered. | |
| MorphHandles | m_morphHandles |
| Morph handles for this render entry. | |
| size_t | m_sortingCounter |
| Sorting counter for updating or not updating the value. | |
| float | m_sortingValue |
| Sorting value for render entry sorting. | |
Protected Attributes inherited from kanzi::GraphicsEntry | |
| Node3D * | m_node |
| Pointer to source node. | |
| RenderPass & | m_renderPass |
| Base render pass. | |
| RenderState | m_renderState |
| Contained render state. | |
Host container for render states for 3D rendering.
Used by render passes when drawing 3D objects. Contains the render state, references to associated node and render pass, and binding runtimes.
Binding runtime container.
Replacement binding container.
|
explicitprotected |
|
static |
Bind the contained render state for rendering.
Applies any bindings needing manual execution, then binds the render state, then applies fixed uniforms. This does not bind the contained geometry for rendering.
| renderer | Renderer to use. |
renderer parameter to Renderer&. | bool kanzi::RenderEntry3D::matches | ( | const Node3D & | node, |
| size_t | clusterIndex, | ||
| MaterialSharedPtr | material, | ||
| Mesh * | mesh ) |
|
inline |
Gets the associated index within the node.
|
inline |
Gets material comparison value for material sorting.
|
inline |
Gets the associated mesh.
|
inline |
Gets the morph handles structure.
|
inline |
Gets the sorting value.
Sets the sorting value.
| value | New sorting value. |
|
inline |
Updates the sorting counter.
| counter | New counter value. |
|
protected |
Initialize the internal state.
Attach render state to material. Create binding runtimes for render value bindings and attach them.
| sharedMaterial | Material to attach to. |
|
protected |
Source element (i.e.
cluster) index for the node. Each renderable element or cluster has its own render state association.
|
protected |
Mesh being rendered.
This member will be replaced with vertex- and index buffers and matrix palette in the future.
|
protected |
Morph handles for this render entry.
Kanzi creates the handles only if it renders the morph meshes using this entry.
|
protected |
Sorting value for render entry sorting.
|
protected |
Sorting counter for updating or not updating the value.