API Documentation
BlendState.h
1 // BlendState.h
3 //
5 
6 namespace nkGraphics
7 {
13  class BlendState : public Resource, public nkExport::Exportable
14  {
15  public :
16 
22  virtual ~BlendState () ;
23 
27  virtual bool getAlphaToCoverageEnabled () const = 0 ;
31  virtual bool getIndependantBlendEnabled () const = 0 ;
36  virtual bool getTargetBlendEnabled (unsigned int targetId = 0) const = 0 ;
41  virtual BLEND getTargetSrcBlend (unsigned int targetId = 0) const = 0 ;
46  virtual BLEND getTargetDestBlend (unsigned int targetId = 0) const = 0 ;
51  virtual BLEND_OP getTargetBlendOp (unsigned int targetId = 0) const = 0 ;
56  virtual BLEND getTargetSrcBlendAlpha (unsigned int targetId = 0) const = 0 ;
61  virtual BLEND getTargetDestBlendAlpha (unsigned int targetId = 0) const = 0 ;
66  virtual BLEND_OP getTargetBlendOpAlpha (unsigned int targetId = 0) const = 0 ;
71  virtual COLOR_WRITE_ENABLE getTargetWriteMask (unsigned int targetId = 0) const = 0 ;
72 
78  virtual void setAlphaToCoverageEnabled (bool value) = 0 ;
84  virtual void setIndependentBlendEnabled (bool value) = 0 ;
91  virtual void setTargetBlendEnable (bool value, unsigned int targetId = 0) = 0 ;
98  virtual void setTargetSrcBlend (BLEND type, unsigned int targetId = 0) = 0 ;
105  virtual void setTargetDestBlend (BLEND type, unsigned int targetId = 0) = 0 ;
112  virtual void setTargetBlendOp (BLEND_OP type, unsigned int targetId = 0) = 0 ;
119  virtual void setTargetSrcBlendAlpha (BLEND type, unsigned int targetId = 0) = 0 ;
126  virtual void setTargetDestBlendAlpha (BLEND type, unsigned int targetId = 0) = 0 ;
133  virtual void setTargetBlendOpAlpha (BLEND_OP type, unsigned int targetId = 0) = 0 ;
140  virtual void setTargetWriteMask (COLOR_WRITE_ENABLE mask, unsigned int targetId = 0) = 0 ;
144  virtual void resetToDefault () = 0 ;
145 
146  // Import / Export
147  virtual void exportClassToTree (nkExport::Node* rootNode) ;
148  virtual void importClassFromTree (nkExport::Node* rootNode) ;
149 
150  public :
151 
152  // Statics
160  static nkMemory::UniquePtr<BlendState> create (System* system = nullptr) ;
161  } ;
162 }
nkGraphics::BLEND_OP
BLEND_OP
Available blending operations.
Definition: DxDefinesWrapper.h:272
nkGraphics::BlendState::setTargetDestBlend
virtual void setTargetDestBlend(BLEND type, unsigned int targetId=0)=0
nkGraphics::BlendState::resetToDefault
virtual void resetToDefault()=0
nkGraphics::BlendState::getTargetWriteMask
virtual COLOR_WRITE_ENABLE getTargetWriteMask(unsigned int targetId=0) const =0
nkGraphics::System
Main interface with the component system.
Definition: System.h:14
nkGraphics::BlendState::getTargetBlendOp
virtual BLEND_OP getTargetBlendOp(unsigned int targetId=0) const =0
nkExport::Exportable
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
nkGraphics::BlendState::setTargetWriteMask
virtual void setTargetWriteMask(COLOR_WRITE_ENABLE mask, unsigned int targetId=0)=0
nkGraphics::BlendState::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode)
nkGraphics::BlendState::getTargetBlendOpAlpha
virtual BLEND_OP getTargetBlendOpAlpha(unsigned int targetId=0) const =0
nkGraphics::BlendState::setTargetDestBlendAlpha
virtual void setTargetDestBlendAlpha(BLEND type, unsigned int targetId=0)=0
nkGraphics::BlendState::getTargetDestBlendAlpha
virtual BLEND getTargetDestBlendAlpha(unsigned int targetId=0) const =0
nkGraphics::BlendState::setTargetSrcBlend
virtual void setTargetSrcBlend(BLEND type, unsigned int targetId=0)=0
nkGraphics::BlendState::setTargetBlendEnable
virtual void setTargetBlendEnable(bool value, unsigned int targetId=0)=0
nkGraphics::BlendState::getTargetDestBlend
virtual BLEND getTargetDestBlend(unsigned int targetId=0) const =0
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkGraphics::BlendState::getTargetBlendEnabled
virtual bool getTargetBlendEnabled(unsigned int targetId=0) const =0
nkGraphics::BlendState::setTargetBlendOp
virtual void setTargetBlendOp(BLEND_OP type, unsigned int targetId=0)=0
nkGraphics::COLOR_WRITE_ENABLE
COLOR_WRITE_ENABLE
Available color write masks.
Definition: DxDefinesWrapper.h:285
nkGraphics::BLEND
BLEND
Available blending types.
Definition: DxDefinesWrapper.h:247
nkGraphics::BlendState::~BlendState
virtual ~BlendState()
nkMemory::UniquePtr
Smart pointer owning the object instance it encapsulates.
Definition: UniquePtr.h:17
nkGraphics::BlendState::setTargetBlendOpAlpha
virtual void setTargetBlendOpAlpha(BLEND_OP type, unsigned int targetId=0)=0
nkGraphics::BlendState
Holds all information about the blend operations to use when rendering.
Definition: BlendState.h:14
nkGraphics::BlendState::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode)
nkGraphics::Resource
Base class for a resource in the component.
Definition: Resource.h:12
nkGraphics::BlendState::getTargetSrcBlend
virtual BLEND getTargetSrcBlend(unsigned int targetId=0) const =0
nkGraphics::BlendState::getAlphaToCoverageEnabled
virtual bool getAlphaToCoverageEnabled() const =0
nkGraphics::BlendState::setIndependentBlendEnabled
virtual void setIndependentBlendEnabled(bool value)=0
nkGraphics::BlendState::getTargetSrcBlendAlpha
virtual BLEND getTargetSrcBlendAlpha(unsigned int targetId=0) const =0
nkGraphics::BlendState::create
static nkMemory::UniquePtr< BlendState > create(System *system=nullptr)
nkGraphics::BlendState::setTargetSrcBlendAlpha
virtual void setTargetSrcBlendAlpha(BLEND type, unsigned int targetId=0)=0
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::BlendState::getIndependantBlendEnabled
virtual bool getIndependantBlendEnabled() const =0
nkGraphics::BlendState::setAlphaToCoverageEnabled
virtual void setAlphaToCoverageEnabled(bool value)=0