Loading...
Searching...
No Matches
score::gfx::ModelSceneDrawer Class Referenceabstract
Inheritance diagram for score::gfx::ModelSceneDrawer:
Gfx::GeometryViewer::SceneDrawer

Detailed Description

Draws a scene in full in place of the first geometry the Model Display renderer draws on its own. One per renderer, on the render thread.

Public Member Functions

virtual bool setScene (const ossia::scene_spec &scene)=0
 The scene the renderer received; returns whether it is another one.
 
virtual bool active () const noexcept=0
 Whether it draws the scene rather than the renderer its first geometry.
 
virtual const ossia::aabb & bounds () const noexcept=0
 The bounds of what is drawn, in the space of the scene.
 
virtual void update (RenderList &renderer, QRhiResourceUpdateBatch &res, PassMap &passes, QRhiBuffer *processUBO, QRhiBuffer *cameraUBO, const ModelSceneView &view)=0
 Once the passes of the renderer exist for the frame.
 
virtual void draw (RenderList &renderer, QRhiCommandBuffer &cb, Edge &edge)=0
 
virtual bool hasLines () const noexcept=0
 Whether there are lines to draw with the guides.
 
virtual void drawLines (RenderList &renderer, QRhiCommandBuffer &cb, Edge &edge, QRhiGraphicsPipeline *lines, QRhiShaderResourceBindings *srb)=0
 With the line pipeline of the guides: world-space positions and colours.
 
virtual void release ()=0
 

Member Function Documentation

◆ active()

virtual bool score::gfx::ModelSceneDrawer::active ( ) const
pure virtualnoexcept

Whether it draws the scene rather than the renderer its first geometry.

Implemented in Gfx::GeometryViewer::SceneDrawer.

◆ bounds()

virtual const ossia::aabb & score::gfx::ModelSceneDrawer::bounds ( ) const
pure virtualnoexcept

The bounds of what is drawn, in the space of the scene.

Implemented in Gfx::GeometryViewer::SceneDrawer.

◆ drawLines()

virtual void score::gfx::ModelSceneDrawer::drawLines ( RenderList &  renderer,
QRhiCommandBuffer &  cb,
Edge &  edge,
QRhiGraphicsPipeline *  lines,
QRhiShaderResourceBindings *  srb 
)
pure virtual

With the line pipeline of the guides: world-space positions and colours.

Implemented in Gfx::GeometryViewer::SceneDrawer.

◆ hasLines()

virtual bool score::gfx::ModelSceneDrawer::hasLines ( ) const
pure virtualnoexcept

Whether there are lines to draw with the guides.

Implemented in Gfx::GeometryViewer::SceneDrawer.

◆ release()

virtual void score::gfx::ModelSceneDrawer::release ( )
pure virtual

The GPU resources go away, the scene stays: the next update uploads it again

Implemented in Gfx::GeometryViewer::SceneDrawer.

◆ setScene()

virtual bool score::gfx::ModelSceneDrawer::setScene ( const ossia::scene_spec &  scene)
pure virtual

The scene the renderer received; returns whether it is another one.

Implemented in Gfx::GeometryViewer::SceneDrawer.

◆ update()

virtual void score::gfx::ModelSceneDrawer::update ( RenderList &  renderer,
QRhiResourceUpdateBatch &  res,
PassMap &  passes,
QRhiBuffer *  processUBO,
QRhiBuffer *  cameraUBO,
const ModelSceneView &  view 
)
pure virtual

Once the passes of the renderer exist for the frame.

Implemented in Gfx::GeometryViewer::SceneDrawer.


The documentation for this class was generated from the following file: