Represents a complete shader composed of multiple shader stage modules. More...
#include <Shader.h>
Inherits Raven::RefCounted.
Inherited by Raven::VulkanShader.
Public Member Functions | |
| virtual | ~Shader ()=default |
| virtual void | Release ()=0 |
| virtual const std::string & | GetName () const =0 |
| Gets the shader's identifying name. | |
| virtual const std::string & | GetFilePath () const =0 |
| Returns the Path to the shader. | |
| virtual const std::unordered_map< ShaderStage, Ref< ShaderModuleHandle > > & | GetShaderModules () const =0 |
| Returns the collection of shader modules keyed by shader stage. | |
| Public Member Functions inherited from Raven::RefCounted | |
| RefCounted () | |
| virtual | ~RefCounted () |
| void | IncRefCount () |
| void | DecRefCount () |
| u32 | GetRefCount () const |
Static Public Member Functions | |
| static Ref< Shader > | Create (const std::string &filepath, bool forceCompile=false) |
| Factory method to create a shader from a file. | |
Represents a complete shader composed of multiple shader stage modules.
Responsible for loading and managing shader modules, typically from file. Supports retrieval of contained shader modules and querying shader name.
|
virtualdefault |
|
static |
Factory method to create a shader from a file.
| filepath | Path to the shader source or binary. |
| forceCompile | If true, forces recompilation of the shader. |
| disableOptimizations | Disables optimizations during compilation. |
|
pure virtual |
Returns the Path to the shader.
Implemented in Raven::VulkanShader.
|
pure virtual |
Gets the shader's identifying name.
Implemented in Raven::VulkanShader.
|
pure virtual |
Returns the collection of shader modules keyed by shader stage.
Used internally for pipeline creation and module access.
Implemented in Raven::VulkanShader.
|
pure virtual |
Implemented in Raven::VulkanShader.