33#include <NDEVR/Pointer.h>
41 template<
class t_type>
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
A physical or virtual device used with the NDEVR Rendering Engine.
A GraphicsPipeline is a set of resources that are chained together to correctly render something.
virtual const ConstPointer< GraphicsDevice > & device() const =0
Returns the graphics device (const).
virtual bool createPipeline(GraphicsUpdateArguments &args)=0
Creates or recreates the rendering pipeline.
virtual ~GraphicsPipeline()
Destructor.
virtual void cleanup()=0
Releases all GPU resources.
virtual void ensureLastRenderComplete()=0
Blocks until the last submitted render is complete.
virtual bool hasCommand() const =0
Checks whether there are pending commands to execute.
virtual void setWindowInstance(WindowInstance *instance)=0
Associates a window instance with this pipeline.
virtual const DynamicPointer< GraphicsDevice > & device()=0
Returns the graphics device.
virtual void init(GraphicsUpdateArguments &args)=0
Initializes the pipeline with the given arguments.
virtual void drawFrame(GraphicsUpdateArguments &args)=0
Renders a single frame.
virtual void cleanResources()=0
Cleans up stale or unused GPU resources.
virtual bool runCommand(GraphicsUpdateArguments &args)=0
Executes a queued rendering command.
virtual void updateUniformBuffer(GraphicsUpdateArguments &args)=0
Updates the camera uniform buffer on the GPU.
virtual void commit(GraphicsUpdateArguments &args)=0
Commits pending changes to the GPU.
A GraphicsPipeline that is responsible for setting up and rendering the resources of a DesignObjectLo...
Options that are used for performing an update on a Graphics Engine call.
Serves as the primary program interface for processes to report issues and allows any number of LogSt...
Contains core information about a Viewport.
The primary namespace for the NDEVR SDK.