Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
CShaderProgram Class Reference

A wrapper for backend shader program to handle high-level operations like file reloading and handling errors on reload. More...

#include <ShaderProgram.h>

Collaboration diagram for CShaderProgram:

Public Member Functions

void Reload ()
 
std::vector< VfsPathGetFileDependencies () const
 
Renderer::Backend::IShaderProgramGetBackendShaderProgram ()
 

Static Public Member Functions

static CShaderProgramPtr Create (Renderer::Backend::IDevice *device, const CStr &name, const CShaderDefines &defines)
 

Protected Member Functions

 CShaderProgram (Renderer::Backend::IDevice *device, const CStr &name, const CShaderDefines &defines)
 

Protected Attributes

Renderer::Backend::IDevicem_Device = nullptr
 
CStr m_Name
 
CShaderDefines m_Defines
 
std::unique_ptr< Renderer::Backend::IShaderProgramm_BackendShaderProgram
 

Private Member Functions

 NONCOPYABLE (CShaderProgram)
 

Detailed Description

A wrapper for backend shader program to handle high-level operations like file reloading and handling errors on reload.

Constructor & Destructor Documentation

◆ CShaderProgram()

CShaderProgram::CShaderProgram ( Renderer::Backend::IDevice device,
const CStr &  name,
const CShaderDefines defines 
)
protected

Member Function Documentation

◆ Create()

CShaderProgramPtr CShaderProgram::Create ( Renderer::Backend::IDevice device,
const CStr &  name,
const CShaderDefines defines 
)
static

◆ GetBackendShaderProgram()

Renderer::Backend::IShaderProgram * CShaderProgram::GetBackendShaderProgram ( )
inline

◆ GetFileDependencies()

std::vector< VfsPath > CShaderProgram::GetFileDependencies ( ) const

◆ NONCOPYABLE()

CShaderProgram::NONCOPYABLE ( CShaderProgram  )
private

◆ Reload()

void CShaderProgram::Reload ( )

Member Data Documentation

◆ m_BackendShaderProgram

std::unique_ptr<Renderer::Backend::IShaderProgram> CShaderProgram::m_BackendShaderProgram
protected

◆ m_Defines

CShaderDefines CShaderProgram::m_Defines
protected

◆ m_Device

Renderer::Backend::IDevice* CShaderProgram::m_Device = nullptr
protected

◆ m_Name

CStr CShaderProgram::m_Name
protected

The documentation for this class was generated from the following files: