API Documentation
Renderer.h
1 // Renderer.h
3 //
5 
6 namespace nkGraphics
7 {
17  class Renderer
18  {
19  public :
20 
24  Renderer () noexcept ;
28  virtual ~Renderer () ;
29 
30  // Getters
36  virtual DataAllocator* getAllocator () const = 0 ;
45 
53  virtual bool initialize (const Configuration& config) = 0 ;
60  virtual bool initiateBuiltInShaders () = 0 ;
67  virtual bool postGraphicSystemInit () = 0 ;
72  virtual void prepareForRelease () = 0 ;
79  virtual bool shutdown () = 0 ;
80 
81  // Flushs forcés
90  virtual void flushRendering () = 0 ;
91 
92  // Rendering steps
97  virtual void preRenderRoutine () = 0 ;
102  virtual void postRenderRoutine () = 0 ;
115  virtual bool launchComputeShader (Shader* shader, unsigned int xThread, unsigned int yThread, unsigned int zThread) = 0 ;
130  virtual bool launchGeometryShaderStream (Shader* shader, Mesh* baseMesh, Mesh* outputMesh, Buffer* outputBuffer, bool gpuCopy = false, bool async = false) = 0 ;
131  } ;
132 }
nkGraphics::Renderer::postGraphicSystemInit
virtual bool postGraphicSystemInit()=0
nkGraphics::Renderer::getRendererSupportInfo
virtual RendererSupportInfo getRendererSupportInfo() const =0
nkGraphics::Renderer::launchGeometryShaderStream
virtual bool launchGeometryShaderStream(Shader *shader, Mesh *baseMesh, Mesh *outputMesh, Buffer *outputBuffer, bool gpuCopy=false, bool async=false)=0
nkGraphics::Renderer::postRenderRoutine
virtual void postRenderRoutine()=0
nkGraphics::RENDERING_API
RENDERING_API
Enumerates supported graphics API.
Definition: RenderingApi.h:14
nkGraphics::Renderer::getAllocator
virtual DataAllocator * getAllocator() const =0
nkGraphics::Buffer
A buffer that will reside on the GPU.
Definition: Buffer.h:17
nkGraphics::Renderer::flushRendering
virtual void flushRendering()=0
nkGraphics::Renderer
A renderer, implementing the logic of using a graphics API.
Definition: Renderer.h:18
nkGraphics::Shader
A shader class, feeding data to a Program.
Definition: Shader.h:16
nkGraphics::Renderer::shutdown
virtual bool shutdown()=0
nkGraphics::Renderer::getRenderApi
RENDERING_API getRenderApi() const
nkGraphics::Renderer::Renderer
Renderer() noexcept
nkGraphics::Configuration
Configuration for the system's initialization.
Definition: Configuration.h:12
nkGraphics::Renderer::prepareForRelease
virtual void prepareForRelease()=0
nkGraphics::Renderer::launchComputeShader
virtual bool launchComputeShader(Shader *shader, unsigned int xThread, unsigned int yThread, unsigned int zThread)=0
nkGraphics::Renderer::initialize
virtual bool initialize(const Configuration &config)=0
nkGraphics::Renderer::preRenderRoutine
virtual void preRenderRoutine()=0
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::Mesh
Holds information about a mesh. Used as a basis to render 3d models.
Definition: Mesh.h:14
nkGraphics::Renderer::initiateBuiltInShaders
virtual bool initiateBuiltInShaders()=0
nkGraphics::RendererSupportInfo
Informations about the supported features.
Definition: RendererSupportInfo.h:12