18#ifndef INCLUDED_SHADERPROGRAM
19#define INCLUDED_SHADERPROGRAM
std::shared_ptr< CShaderProgram > CShaderProgramPtr
Definition: ShaderProgramPtr.h:26
Represents a mapping of name strings to value strings, for use with #if and #ifdef and similar condit...
Definition: ShaderDefines.h:147
A wrapper for backend shader program to handle high-level operations like file reloading and handling...
Definition: ShaderProgram.h:34
Renderer::Backend::IShaderProgram * GetBackendShaderProgram()
Definition: ShaderProgram.h:45
void Reload()
Definition: ShaderProgram.cpp:39
static CShaderProgramPtr Create(Renderer::Backend::IDevice *device, const CStr &name, const CShaderDefines &defines)
Definition: ShaderProgram.cpp:31
Renderer::Backend::IDevice * m_Device
Definition: ShaderProgram.h:53
CShaderDefines m_Defines
Definition: ShaderProgram.h:55
NONCOPYABLE(CShaderProgram)
std::vector< VfsPath > GetFileDependencies() const
Definition: ShaderProgram.cpp:47
CStr m_Name
Definition: ShaderProgram.h:54
CShaderProgram(Renderer::Backend::IDevice *device, const CStr &name, const CShaderDefines &defines)
Definition: ShaderProgram.cpp:24
std::unique_ptr< Renderer::Backend::IShaderProgram > m_BackendShaderProgram
Definition: ShaderProgram.h:56
IShaderProgram is a container for multiple shaders of different types.
Definition: IShaderProgram.h:81