|
API Documentation
|
|
|
virtual void setRaytraced(bool value)
virtual void exportClassToTree(nkExport::Node *rootNode) override
virtual void setName(nkMemory::StringView name)
virtual void importClassFromTree(nkExport::Node *rootNode) override
virtual void updateEntityRenderInfo(Entity *ent, EntityRenderInfo *oldInfo, EntityRenderInfo *newInfo)
Main interface with the component system.
Definition: System.h:14
virtual void updateMesh(Entity *ent, EntityRenderInfoSlot *slot, EntityRenderLodSlot *lod, Mesh *oldMesh, Mesh *newMesh)
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
virtual Entity * addEntity()
A render queue, where all items that have to be rendered are queued.
Definition: RenderQueue.h:17
Compiles the render information for an Entity to use within a RenderQueue.
Definition: EntityRenderInfo.h:36
A render strategy, used by a render queue to prepare the render commands.
Definition: RenderStrategy.h:17
A buffer that will reside on the GPU.
Definition: Buffer.h:17
A LOD slot to potentially draw, within a group slot.
Definition: EntityRenderLodSlot.h:15
void setRenderStrategy(RenderStrategy *value)
nkMemory::StringView getName() const
virtual void eraseEntity(Entity *ent)
A shader class, feeding data to a Program.
Definition: Shader.h:16
virtual Buffer * getAccelerationStructureBuffer() const
unsigned int getEntityCount() const
An entity in a render queue. It drives the shader and possible graph position for a set of renderable...
Definition: Entity.h:15
void setHidden(bool value)
virtual void updateEntityNode(Entity *ent, Node *oldNode)
A queue of rendering commands.
Definition: RenderCommandQueue.h:12
bool getRaytraced() const
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
virtual void updateShaderRaytracing(Entity *ent, EntityRenderInfoSlot *slot, EntityRenderLodSlot *lod, Shader *oldShader, Shader *newShader)
Smart pointer owning the object instance it encapsulates.
Definition: UniquePtr.h:17
static nkMemory::UniquePtr< RenderQueue > create(System *system=nullptr)
Class holding information about a string, with no ownership over the data.
Definition: StringView.h:22
Entity * getEntity(unsigned int index) const
virtual void clearQueue()
A slot within the render information.
Definition: EntityRenderInfoSlot.h:14
virtual void updateShader(Entity *ent, EntityRenderInfoSlot *slot, EntityRenderLodSlot *lod, Shader *oldShader, Shader *newShader)
Represents a node in a scene graph.
Definition: Node.h:16
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
Holds information about a mesh. Used as a basis to render 3d models.
Definition: Mesh.h:14
System * getSystem() const
RenderStrategy * getRenderStrategy() const
RenderCommandQueue bakeRenderCommandQueue(Shader *shader=nullptr, bool transparent=false)