![]() |
Raven Engine v0.1
|
Represents a complete shader composed of multiple shader stage modules. More...
#include <Shader.h>
Public Member Functions | |
| virtual | ~Shader ()=default |
| 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 std::unordered_map< ShaderStage, Ref< ShaderModuleHandle > > | GetShaderModules () const =0 |
| Returns the collection of shader modules keyed by shader stage. | |
Static Public Member Functions | |
| static Ref< Shader > | Create (const std::string &filepath, bool forceCompile=false, bool disableOptimizations=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.