API Documentation
TargetOperations.h
1 // TargetOperations.h
3 //
5 
6 namespace nkGraphics
7 {
15  {
16  public :
17 
18 
27  virtual ~TargetOperations () ;
28 
29  // Naming
35  void setName (const nkMemory::StringView& name) ;
39  const nkMemory::StringView getName () const ;
40 
49  ClearTargetsPass* addClearTargetsPass (unsigned int index = -1) ;
58  ComputePass* addComputePass (unsigned int index = -1) ;
67  InstancingPass* addInstancingPass (unsigned int index = -1) ;
76  MonoMaterialPass* addMonoMaterialPass (unsigned int index = -1) ;
85  PostProcessPass* addPostProcessPass (unsigned int index = -1) ;
94  RaytracingPass* addRaytracingPass (unsigned int index = -1) ;
103  RenderScenePass* addRenderScenePass (unsigned int index = -1) ;
107  unsigned int getPassCount () const ;
114  Pass* getPass (unsigned int index) const ;
120  virtual void deletePass (unsigned int index) ;
127  virtual void changePassOrder (unsigned int fromIndex, unsigned int toIndex) ;
128 
136  virtual void setColorTarget (const TargetDescriptor& targetDesc, unsigned int outputIndex = 0) ;
143  virtual void addColorTarget (const TargetDescriptor& targetDesc) ;
152  virtual void changeColorTargetOrder (unsigned int fromIndex, unsigned int toIndex) ;
156  virtual void removeColorTarget (unsigned int index) ;
160  virtual void setDepthTarget (Texture* target) ;
164  unsigned int getColorTargetCount () const ;
169  Texture* getColorTarget (unsigned int index) const ;
176  int getColorTargetRenderIndex (unsigned int index) const ;
187  virtual void setToBackBuffer (bool val, unsigned int indexInArray = 0) ;
191  bool isToBackBuffer () const ;
196  unsigned int getBackBufferViewIndex () const ;
202  virtual void setToChainDepthBuffer (bool val) ;
206  bool isToChainDepthBuffer () const ;
207 
214  virtual void setOverloadedViewport (Viewport* value) ;
219 
224  virtual void execute () = 0 ;
225 
231  virtual void exportClassToTree (nkExport::Node* rootNode) override ;
237  virtual void importClassFromTree (nkExport::Node* rootNode) override ;
252  } ;
253 }
nkGraphics::TargetOperations::deletePass
virtual void deletePass(unsigned int index)
nkGraphics::TargetOperations::setName
void setName(const nkMemory::StringView &name)
nkGraphics::TargetOperations::addMonoMaterialPass
MonoMaterialPass * addMonoMaterialPass(unsigned int index=-1)
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::Texture
A texture used for rendering, hosted on GPU.
Definition: Texture.h:35
nkGraphics::TargetOperations::getName
const nkMemory::StringView getName() const
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::addRenderScenePass
RenderScenePass * addRenderScenePass(unsigned int index=-1)
nkGraphics::TargetOperations::getPassCount
unsigned int getPassCount() const
nkGraphics::Viewport
Holds all the information needed about a viewport.
Definition: Viewport.h:14
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::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::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::addInstancingPass
InstancingPass * addInstancingPass(unsigned int index=-1)
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::TargetOperations
TargetOperations()
nkGraphics::TargetOperations::setToChainDepthBuffer
virtual void setToChainDepthBuffer(bool val)
nkGraphics::TargetOperations::addRaytracingPass
RaytracingPass * addRaytracingPass(unsigned int index=-1)
nkGraphics::TargetOperations::isToChainDepthBuffer
bool isToChainDepthBuffer() const
nkGraphics::TargetOperations::addPostProcessPass
PostProcessPass * addPostProcessPass(unsigned int index=-1)
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::addClearTargetsPass
ClearTargetsPass * addClearTargetsPass(unsigned int index=-1)
nkGraphics::TargetOperations::addComputePass
ComputePass * addComputePass(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::TargetDescriptor
Describes how a target should be addressed during rendering.
Definition: TargetDescriptor.h:14