API Documentation
TargetOperations.h
1 // TargetOperations.h
3 //
5 
6 namespace nkGraphics
7 {
15  {
16  public :
17 
18 
25  TargetOperations (System* system) noexcept ;
29  TargetOperations (const TargetOperations&) = delete ;
33  virtual ~TargetOperations () ;
34 
35  // Getters
40 
41  // Setters
48 
49  // Pass management
58  virtual ClearTargetsPass* addClearTargetsPass (unsigned int index = -1) ;
67  virtual ComputePass* addComputePass (unsigned int index = -1) ;
76  virtual InstancingPass* addInstancingPass (unsigned int index = -1) ;
85  virtual MonoMaterialPass* addMonoMaterialPass (unsigned int index = -1) ;
94  virtual PostProcessPass* addPostProcessPass (unsigned int index = -1) ;
103  virtual RaytracingPass* addRaytracingPass (unsigned int index = -1) ;
112  virtual RenderScenePass* addRenderScenePass (unsigned int index = -1) ;
116  unsigned int getPassCount () const ;
123  Pass* getPass (unsigned int index) const ;
129  virtual void deletePass (unsigned int index) ;
136  virtual void changePassOrder (unsigned int fromIndex, unsigned int toIndex) ;
137 
145  virtual void setColorTarget (const TargetDescriptor& targetDesc, unsigned int outputIndex = 0) ;
152  virtual void addColorTarget (const TargetDescriptor& targetDesc) ;
161  virtual void changeColorTargetOrder (unsigned int fromIndex, unsigned int toIndex) ;
165  virtual void removeColorTarget (unsigned int index) ;
169  virtual void setDepthTarget (Texture* target) ;
173  unsigned int getColorTargetCount () const ;
178  Texture* getColorTarget (unsigned int index) const ;
185  int getColorTargetRenderIndex (unsigned int index) const ;
196  virtual void setToBackBuffer (bool val, unsigned int indexInArray = 0) ;
200  bool isToBackBuffer () const ;
205  unsigned int getBackBufferViewIndex () const ;
211  virtual void setToChainDepthBuffer (bool val) ;
215  bool isToChainDepthBuffer () const ;
216 
223  virtual void setOverloadedViewport (Viewport* value) ;
228 
233  virtual void execute () = 0 ;
234 
240  virtual void exportClassToTree (nkExport::Node* rootNode) override ;
246  virtual void importClassFromTree (nkExport::Node* rootNode) override ;
261 
262  // Operators
267  } ;
268 }
nkGraphics::TargetOperations::deletePass
virtual void deletePass(unsigned int index)
nkGraphics::TargetOperations::~TargetOperations
virtual ~TargetOperations()
nkGraphics::InstancingPass
A pass doing an instanced draw, during which one mesh is drawn X times, in one go.
Definition: InstancingPass.h:15
nkGraphics::TargetOperations::execute
virtual void execute()=0
nkGraphics::System
Main interface with the component system.
Definition: System.h:14
nkGraphics::Texture
A texture used for rendering, hosted on GPU.
Definition: Texture.h:35
nkExport::Exportable
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
nkGraphics::MonoMaterialPass
A pass rendering the scene, using only one shader to render all the meshes enqueued.
Definition: MonoMaterialPass.h:16
nkGraphics::TargetOperations::getPassCount
unsigned int getPassCount() const
nkGraphics::Viewport
Holds all the information needed about a viewport.
Definition: Viewport.h:14
nkGraphics::TargetOperations::addRenderScenePass
virtual RenderScenePass * addRenderScenePass(unsigned int index=-1)
nkGraphics::TargetOperations::processPassObjectNode
void processPassObjectNode(nkExport::Node *passNode)
nkGraphics::TargetOperations::processColorTargetObjectNode
void processColorTargetObjectNode(nkExport::Node *targetNode)
nkGraphics::TargetOperations::getBackBufferViewIndex
unsigned int getBackBufferViewIndex() const
nkGraphics::TargetOperations::setToBackBuffer
virtual void setToBackBuffer(bool val, unsigned int indexInArray=0)
nkGraphics::TargetOperations
Describes a target operation set.
Definition: TargetOperations.h:15
nkGraphics::RenderScenePass
A pass rendering render queues.
Definition: RenderScenePass.h:15
nkGraphics::ClearTargetsPass
A clear target pass, during which some targets are cleared.
Definition: ClearTargetsPass.h:15
nkGraphics::TargetOperations::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode) override
nkGraphics::TargetOperations::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode) override
nkGraphics::TargetOperations::addRaytracingPass
virtual RaytracingPass * addRaytracingPass(unsigned int index=-1)
nkGraphics::TargetOperations::getName
nkMemory::StringView getName() const
nkGraphics::ComputePass
A compute pass, during which a compute dispatch is launched.
Definition: ComputePass.h:14
nkGraphics::PostProcessPass
A post processing pass, during which a shader is used to render a quad fitting on the screen.
Definition: PostProcessPass.h:15
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkGraphics::TargetOperations::addClearTargetsPass
virtual ClearTargetsPass * addClearTargetsPass(unsigned int index=-1)
nkGraphics::TargetOperations::addPostProcessPass
virtual PostProcessPass * addPostProcessPass(unsigned int index=-1)
nkGraphics::Pass
The base for a pass within a TargetOperations.
Definition: Pass.h:15
nkGraphics::TargetOperations::getPass
Pass * getPass(unsigned int index) const
nkGraphics::TargetOperations::getColorTargetRenderIndex
int getColorTargetRenderIndex(unsigned int index) const
nkGraphics::TargetOperations::addColorTarget
virtual void addColorTarget(const TargetDescriptor &targetDesc)
nkGraphics::TargetOperations::getDepthTarget
Texture * getDepthTarget() const
nkGraphics::TargetOperations::setDepthTarget
virtual void setDepthTarget(Texture *target)
nkGraphics::TargetOperations::changePassOrder
virtual void changePassOrder(unsigned int fromIndex, unsigned int toIndex)
nkMemory::StringView
Class holding information about a string, with no ownership over the data.
Definition: StringView.h:22
nkGraphics::TargetOperations::changeColorTargetOrder
virtual void changeColorTargetOrder(unsigned int fromIndex, unsigned int toIndex)
nkGraphics::TargetOperations::getColorTargetCount
unsigned int getColorTargetCount() const
nkGraphics::RaytracingPass
A raytracing pass. Dispatches rays, using hardware acceleration.
Definition: RaytracingPass.h:15
nkGraphics::TargetOperations::setToChainDepthBuffer
virtual void setToChainDepthBuffer(bool val)
nkGraphics::TargetOperations::operator=
TargetOperations & operator=(const TargetOperations &)=delete
nkGraphics::TargetOperations::TargetOperations
TargetOperations(System *system) noexcept
nkGraphics::TargetOperations::addMonoMaterialPass
virtual MonoMaterialPass * addMonoMaterialPass(unsigned int index=-1)
nkGraphics::TargetOperations::setName
void setName(nkMemory::StringView name)
nkGraphics::TargetOperations::addComputePass
virtual ComputePass * addComputePass(unsigned int index=-1)
nkGraphics::TargetOperations::isToChainDepthBuffer
bool isToChainDepthBuffer() const
nkGraphics::TargetOperations::setColorTarget
virtual void setColorTarget(const TargetDescriptor &targetDesc, unsigned int outputIndex=0)
nkGraphics::TargetOperations::removeColorTarget
virtual void removeColorTarget(unsigned int index)
nkGraphics::TargetOperations::getOverloadedViewport
Viewport * getOverloadedViewport() const
nkGraphics::TargetOperations::addInstancingPass
virtual InstancingPass * addInstancingPass(unsigned int index=-1)
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::TargetOperations::getColorTarget
Texture * getColorTarget(unsigned int index) const
nkGraphics::TargetOperations::setOverloadedViewport
virtual void setOverloadedViewport(Viewport *value)
nkGraphics::TargetOperations::isToBackBuffer
bool isToBackBuffer() const
nkGraphics::TargetOperations::TargetOperations
TargetOperations(const TargetOperations &)=delete
nkGraphics::TargetDescriptor
Describes how a target should be addressed during rendering.
Definition: TargetDescriptor.h:14