Cogs.Core
Public Member Functions | List of all members
Cogs::Core::IRendererExtension Class Referenceabstract

Defines an extension to the renderer, capable of doing custom rendering. More...

#include <IRenderer.h>

Inheritance diagram for Cogs::Core::IRendererExtension:
Cogs::Core::EditorRenderExtension Cogs::Core::Image360::RendererExtension Cogs::Core::PotreeRenderer Cogs::Core::SeaCurrentsRenderer Cogs::Core::TerrainRenderer Cogs::Core::VectorField::VectorFieldRenderer Cogs::Core::VideoCaptureRenderer Cogs::Core::Volumetric::OctRenderer

Public Member Functions

virtual ~IRendererExtension ()=default
 Provided for destruction via pointer to base.
 
virtual void initialize (class Context *context, IGraphicsDevice *device)=0
 Initialize the extension using the given context and device.
 
virtual void handleEvent (uint32_t eventId, const DrawContext *renderingContext)=0
 Called when rendering events occur.
 
virtual void generateCommands (const RenderTaskContext *renderingContext, RenderList *renderList)=0
 

Detailed Description

Defines an extension to the renderer, capable of doing custom rendering.

Extensions can be registered with the renderer and will be called during the various phases of rendering where the extensions can then perform custom rendering.

Definition at line 122 of file IRenderer.h.

Member Function Documentation

◆ handleEvent()

virtual void Cogs::Core::IRendererExtension::handleEvent ( uint32_t  eventId,
const DrawContext renderingContext 
)
pure virtual

Called when rendering events occur.

Allows rendering extensions to handle the events in a custom way.

Parameters
eventIdRendering event identifier. May be one of RenderingEvent, or custom identifier.
renderingContextPointer to rendering context data, or nullptr if not present.

Implemented in Cogs::Core::EditorRenderExtension, Cogs::Core::Image360::RendererExtension, Cogs::Core::PotreeRenderer, Cogs::Core::SeaCurrentsRenderer, Cogs::Core::TerrainRenderer, Cogs::Core::VectorField::VectorFieldRenderer, Cogs::Core::VideoCaptureRenderer, and Cogs::Core::Volumetric::OctRenderer.

◆ initialize()

virtual void Cogs::Core::IRendererExtension::initialize ( class Context context,
IGraphicsDevice device 
)
pure virtual

Initialize the extension using the given context and device.

Parameters
contextContext the extension exists in.
deviceGraphics device used by the renderer that can be shared with the extension.

Implemented in Cogs::Core::VectorField::VectorFieldRenderer, Cogs::Core::VideoCaptureRenderer, Cogs::Core::EditorRenderExtension, Cogs::Core::Image360::RendererExtension, Cogs::Core::PotreeRenderer, Cogs::Core::SeaCurrentsRenderer, Cogs::Core::TerrainRenderer, and Cogs::Core::Volumetric::OctRenderer.


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