|
API Documentation
|
|
|
104 virtual bool load ()
override ;
virtual void changeInstanceMemorySlotOrder(unsigned int fromIndex, unsigned int toIndex)
bool getDirtyInstanceData() const
virtual void unload() override
bool isUsableRaytracing() const
Holds all informations related to GPU programs, and manages their compilation.
Definition: Program.h:14
void addSampler(Sampler *sampler, unsigned int registerSlot, unsigned int space=0)
void changeTextureSpace(unsigned int fromSpace, unsigned int toSpace, unsigned int slot)
virtual void setProgram(Program *prog)
Main interface with the component system.
Definition: System.h:14
void changeUavBufferSpace(unsigned int fromSpace, unsigned int toSpace, unsigned int slot=0)
Sampler * getSampler(unsigned int slot, unsigned int space=0) const
const ConstantBufferResourceDesc * getConstantBufferPerIndex(unsigned int index) const
virtual void deleteInstanceMemorySlot(unsigned int index)
Holds information about a resource linked in a shader for feeding.
Definition: ShaderResourceDesc.h:13
void setTexture(ShaderResource *texOrUav, unsigned int slot, unsigned int space=0)
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
void changeUavBufferSlot(unsigned int fromSlot, unsigned int toSlot, unsigned int space=0)
void changeTextureSlot(unsigned int fromSlot, unsigned int toSlot, unsigned int space=0)
A buffer that will reside on the GPU.
Definition: Buffer.h:17
virtual ShaderInstanceMemorySlot * addInstanceMemorySlot()
void setUavBuffer(Buffer *buffer, unsigned int slot, unsigned int space=0)
bool hasInstanceSlotSemanticName(nkMemory::StringView name) const
void forgetSampler(unsigned int slot, unsigned int space=0)
virtual void setMaxInstancePerBuffer(unsigned int value)
void changeConstantBufferSlot(unsigned int fromSlot, unsigned int toSlot, unsigned int space=0)
virtual ShaderInstanceMemorySlot * getInstanceMemorySlotReadOnly(unsigned int index) const
ConstantBuffer * getConstantBuffer(unsigned int slot, unsigned int space=0) const
virtual ShaderInstanceMemorySlot * getInstanceMemorySlot(unsigned int index)
void forgetTexture(unsigned int slot, unsigned int space=0)
void changeConstantBufferSpace(unsigned int fromSpace, unsigned int toSpace, unsigned int slot)
A shader class, feeding data to a Program.
Definition: Shader.h:16
const SamplerResourceDesc * getSamplerPerIndex(unsigned int index) const
void setDirtyInstanceData(bool value)
void setIsBuiltInShader(bool value)
unsigned int getMaxInstancePerBuffer() const
Program * getProgram() const
bool isUsableGeometry() const
virtual void importClassFromTree(nkExport::Node *rootNode) override
void deleteConstantBuffer(unsigned int slot, unsigned int space=0)
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
void setId(unsigned int id)
virtual void exportClassToTree(nkExport::Node *rootNode) override
bool getIsBuiltInShader() const
void setSampler(Sampler *sampler, unsigned int slot, unsigned int space=0)
void addTexture(ShaderResource *texOrUav, unsigned int registerSlot, unsigned int space=0)
Smart pointer owning the object instance it encapsulates.
Definition: UniquePtr.h:17
static nkMemory::UniquePtr< Shader > create(System *system=nullptr)
Buffer * getUavBuffer(unsigned int slot, unsigned int space=0) const
Class holding information about a string, with no ownership over the data.
Definition: StringView.h:22
Holds all the information needed of a sampler used during rendering.
Definition: Sampler.h:14
void addUavBuffer(Buffer *buffer, unsigned int registerSlot, unsigned int space=0)
Base class for a resource in the component.
Definition: Resource.h:12
bool isUsableScene() const
void changeSamplerSpace(unsigned int fromSpace, unsigned int toSpace, unsigned int slot=0)
bool isUsablePostProcess() const
bool isUsableCompute() const
ConstantBuffer * addConstantBuffer(unsigned int registerSlot, unsigned int space=0)
void forgetUavBuffer(unsigned int slot, unsigned int space=0)
const ShaderResourceDesc * getTexturePerIndex(unsigned int index) const
const UavResourceDesc * getUavBufferPerIndex(unsigned int index) const
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
Describes a constant buffer.
Definition: ConstantBuffer.h:12
unsigned int getId() const
ShaderResource * getTexture(unsigned int slot, unsigned int space=0) const
A memory slot for per instance data in a Shader.
Definition: ShaderInstanceMemorySlot.h:14
virtual bool load() override
void changeSamplerSlot(unsigned int fromSlot, unsigned int toSlot, unsigned int space=0)
Base class for shader resources. Those are resources that can be fed to a Shader.
Definition: ShaderResource.h:12