Pyrogenesis  trunk
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
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:
Collaboration graph
[legend]

Public Member Functions

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

Static Public Member Functions

static CShaderProgramPtr Create (const CStr &name, const CShaderDefines &defines)
 

Protected Member Functions

 CShaderProgram (const CStr &name, const CShaderDefines &defines)
 

Protected Attributes

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 ( const CStr &  name,
const CShaderDefines defines 
)
protected

Member Function Documentation

◆ Create()

CShaderProgramPtr CShaderProgram::Create ( 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_Name

CStr CShaderProgram::m_Name
protected

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