Loading...
Searching...
No Matches
score::gfx::OutputNodeRenderer Class Reference
Inheritance diagram for score::gfx::OutputNodeRenderer:
Public Member Functions | |
| virtual void | finishFrame (RenderList &, QRhiCommandBuffer &commands, QRhiResourceUpdateBatch *&res) |
| void | removeOutputPass (RenderList &, Edge &) override |
Public Member Functions inherited from score::gfx::NodeRenderer | |
| NodeRenderer (const Node &node) | |
| virtual TextureRenderTarget | renderTargetForInput (const Port &input) |
| virtual BufferView | bufferForInput (const Port &input) |
| virtual BufferView | bufferForOutput (const Port &output) |
| virtual QRhiTexture * | textureForOutput (const Port &output) |
| virtual void | updateInputTexture (const Port &input, QRhiTexture *tex, QRhiTexture *depthTex=nullptr) |
| virtual void | updateInputSamplerFilter (const Port &input, const RenderTargetSpecs &spec) |
| virtual void | inputAboutToFinish (RenderList &renderer, const Port &p, QRhiResourceUpdateBatch *&) |
| virtual void | init (RenderList &renderer, QRhiResourceUpdateBatch &res)=0 |
| virtual void | update (RenderList &renderer, QRhiResourceUpdateBatch &res, Edge *edge)=0 |
| virtual void | runInitialPasses (RenderList &, QRhiCommandBuffer &commands, QRhiResourceUpdateBatch *&res, Edge &edge) |
| virtual void | runRenderPass (RenderList &, QRhiCommandBuffer &commands, Edge &edge) |
| virtual void | release (RenderList &)=0 |
| void | checkForChanges () |
| void | syncRenderTargetIndex () |
| void | process (int32_t port, const ossia::geometry_spec &v) |
| void | process (int32_t port, const ossia::scene_spec &v) |
| virtual void | process (int32_t port, const ossia::transform3d &v) |
| void | process (int32_t port, const ossia::geometry_spec &v, const void *source_key) |
| void | process (int32_t port, const ossia::scene_spec &v, const void *source_key) |
| const ossia::geometry_spec * | findGeometryByPort (int32_t port) const |
| template<typename F > | |
| void | forEachSceneOnPort (int32_t port, F &&fn) const |
| virtual void | initState (RenderList &renderer, QRhiResourceUpdateBatch &res) |
| virtual void | releaseState (RenderList &renderer) |
| virtual void | addOutputPass (RenderList &renderer, Edge &edge, QRhiResourceUpdateBatch &res) |
| Create a pass for a new output edge (pipeline, SRB, processUBO). | |
| virtual void | addInputEdge (RenderList &renderer, Edge &edge, QRhiResourceUpdateBatch &res) |
| virtual void | removeInputEdge (RenderList &renderer, Edge &edge) |
| Notify the renderer that an input edge was disconnected. | |
| virtual bool | hasOutputPassForEdge (Edge &edge) const |
| Check if this renderer already has an output pass for the given edge. | |
| virtual void | seedInitialOutputs (RenderList &renderer) |
Additional Inherited Members | |
Public Types inherited from score::gfx::NodeRenderer | |
| using | PortSourceKey = std::pair< int32_t, const void * > |
| using | MergeCacheKey = std::pair< const ossia::scene_state *, int64_t > |
Public Attributes inherited from score::gfx::NodeRenderer | |
| const Node & | node |
| ossia::geometry_spec | geometry |
| The geometry to use. | |
| ossia::small_flat_map< PortSourceKey, ossia::geometry_spec, 4 > | m_portGeometries |
| ossia::scene_spec | scene |
| The scene to use (when receiving scene_spec data). | |
| ossia::small_flat_map< PortSourceKey, ossia::scene_spec, 4 > | m_portScenes |
| Per-(port, source) scene storage. See m_portGeometries comment. | |
| ossia::small_vector< MergeCacheKey, 4 > | m_mergeCacheInputs |
| ossia::scene_spec | m_mergeCacheOutput |
| ossia::small_flat_map< PortSourceKey, std::pair< ossia::geometry_spec, ossia::scene_spec >, 4 > | m_wrapCache |
| int32_t | nodeId {-1} |
| bool | materialChanged {false} |
| bool | geometryChanged {false} |
| bool | sceneChanged {false} |
| bool | renderTargetSpecsChanged {false} |
| bool | m_initialized {false} |
Member Function Documentation
◆ removeOutputPass()
|
inlineoverridevirtual |
Remove the pass for a removed output edge. Pure-virtual: every concrete renderer must explicitly handle edge removal. Sinks (OutputNodeRenderer) and data-only renderers that store no per-edge GPU state can override with an empty body.
Implements score::gfx::NodeRenderer.
The documentation for this class was generated from the following files:
- OutputNode.hpp
- OutputNode.cpp
Public Member Functions inherited from