MeshLib
 
Loading...
Searching...
No Matches
MR::IRenderObject Class Referenceabstract

#include <MRIRenderObject.h>

+ Inheritance diagram for MR::IRenderObject:

Public Member Functions

virtual ~IRenderObject ()=default
 
virtual bool render (const ModelRenderParams &params)=0
 
virtual void renderPicker (const ModelBaseRenderParams &params, unsigned geomId)=0
 
virtual size_t heapBytes () const =0
 returns the amount of memory this object occupies on heap
 
virtual size_t glBytes () const =0
 returns the amount of memory this object allocated in OpenGL
 
virtual void forceBindAll ()
 binds all data for this render object, not to bind ever again (until object becomes dirty)
 
virtual void renderUi (const UiRenderParams &params)
 

Constructor & Destructor Documentation

◆ ~IRenderObject()

virtual MR::IRenderObject::~IRenderObject ( )
virtualdefault

Member Function Documentation

◆ forceBindAll()

virtual void MR::IRenderObject::forceBindAll ( )
inlinevirtual

binds all data for this render object, not to bind ever again (until object becomes dirty)

Reimplemented in MR::RenderLabelObject, MR::RenderLinesObject, MR::RenderMeshObject, MR::RenderPointsObject, and MR::RenderVolumeObject.

◆ glBytes()

size_t MR::IRenderObject::glBytes ( ) const
inlinepure virtual

returns the amount of memory this object allocated in OpenGL

Implemented in MR::RenderLabelObject, MR::RenderLinesObject, MR::RenderMeshObject, MR::RenderPointsObject, MR::RenderResetDirtyComponent, and MR::RenderVolumeObject.

◆ heapBytes()

size_t MR::IRenderObject::heapBytes ( ) const
inlinepure virtual

returns the amount of memory this object occupies on heap

Implemented in MR::RenderLabelObject, MR::RenderLinesObject, MR::RenderMeshObject, MR::RenderPointsObject, MR::RenderResetDirtyComponent, and MR::RenderVolumeObject.

◆ render()

◆ renderPicker()

◆ renderUi()

virtual void MR::IRenderObject::renderUi ( const UiRenderParams & params)
inlinevirtual

Render the UI. This is repeated for each viewport. Here you can either render immediately, or insert a task into params.tasks, which get Z-sorted.

  • params will remain alive as long as the tasks are used.
  • You'll have at most one living task at a time, so you can write a non-owning pointer to an internal task.

Reimplemented in MR::RenderNameObject.


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