API Documentation
EntityRenderLodSlot.h
1 // EntityRenderLodSlot.h
3 //
5 
6 namespace nkGraphics
7 {
15  {
16  public :
17 
18  // Constructor, destructor
22  EntityRenderLodSlot () noexcept ;
29  EntityRenderLodSlot (Mesh* mesh, Shader* shader) noexcept ;
33  virtual ~EntityRenderLodSlot () ;
34 
35  // Getters
39  const BoundingBox& getBounds () const ;
43  Mesh* getMesh () const ;
49  Shader* getShader () const ;
57  float getQualityMetric () const ;
64  Shader* getActiveShader () const ;
72  Entity* getParentEntity () const ;
73 
74  // Setters
80  void setMesh (Mesh* value) ;
87  void setShader (Shader* value) ;
93  void setRaytracingShader (Shader* value) ;
101  void setQualityMetric (float value) ;
106  void setDirtyNodeTransform (bool value) ;
107 
108  // Updates
119 
120  // Utilities
125  bool isCompatibleWith (Shader* shade) const ;
131 
132  // Import / Export
133  virtual void exportClassToTree (nkExport::Node* rootNode) override ;
134  virtual void importClassFromTree (nkExport::Node* rootNode) override ;
135  } ;
136 }
nkGraphics::EntityRenderLodSlot::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode) override
nkGraphics::EntityRenderLodSlot::getBounds
const BoundingBox & getBounds() const
nkGraphics::EntityRenderLodSlot::setQualityMetric
void setQualityMetric(float value)
nkExport::Exportable
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
nkGraphics::BoundingBox
A bounding box. Often used to encompass object's bounds in the world.
Definition: BoundingBox.h:14
nkGraphics::EntityRenderLodSlot::setDirtyNodeTransform
void setDirtyNodeTransform(bool value)
nkGraphics::EntityRenderLodSlot
A LOD slot to potentially draw, within a group slot.
Definition: EntityRenderLodSlot.h:15
nkExport
Encompasses all API of component NilkinsExport.
Definition: Base64Encoder.h:7
nkGraphics::EntityRenderLodSlot::getShader
Shader * getShader() const
nkGraphics::EntityRenderLodSlot::isCompatibleWith
bool isCompatibleWith(Shader *shade) const
nkGraphics::Shader
A shader class, feeding data to a Program.
Definition: Shader.h:16
nkGraphics::EntityRenderLodSlot::setShader
void setShader(Shader *value)
nkGraphics::EntityRenderLodSlot::meshLayoutUpdated
void meshLayoutUpdated()
nkGraphics::EntityRenderLodSlot::getActiveShader
Shader * getActiveShader() const
nkGraphics::Entity
An entity in a render queue. It drives the shader and possible graph position for a set of renderable...
Definition: Entity.h:15
nkGraphics::EntityRenderLodSlot::setMesh
void setMesh(Mesh *value)
nkGraphics::EntityRenderLodSlot::updateActiveShader
void updateActiveShader()
nkGraphics::EntityRenderLodSlot::getRaytracingShader
Shader * getRaytracingShader() const
nkGraphics::EntityRenderLodSlot::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode) override
nkGraphics::EntityRenderLodSlot::meshBoundsUpdated
void meshBoundsUpdated()
nkGraphics::EntityRenderLodSlot::setRaytracingShader
void setRaytracingShader(Shader *value)
nkGraphics::EntityRenderLodSlot::getMesh
Mesh * getMesh() const
nkGraphics::EntityRenderInfoSlot
A slot within the render information.
Definition: EntityRenderInfoSlot.h:14
nkGraphics::EntityRenderLodSlot::getQualityMetric
float getQualityMetric() const
nkGraphics::Node
Represents a node in a scene graph.
Definition: Node.h:16
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::EntityRenderLodSlot::getParentSlot
EntityRenderInfoSlot * getParentSlot() const
nkGraphics::Mesh
Holds information about a mesh. Used as a basis to render 3d models.
Definition: Mesh.h:14
nkGraphics::EntityRenderLodSlot::getParentEntity
Entity * getParentEntity() const
nkGraphics::EntityRenderLodSlot::EntityRenderLodSlot
EntityRenderLodSlot() noexcept