Gorgon Game Engine
Shader Class Reference
Inheritance diagram for Shader:
[legend]

Protected Member Functions

 Shader (const Shader &)=delete
 
 Shader (const std::string &name)
 
 ~Shader ()
 
int BindTexture (const std::string &name, int location)
 
void BindUBO (const std::string &name, UBOBindingPoint::Type bindingPoint)
 
void InitializeFromFiles (const std::string &vertexfile, const std::string &fragmentfile, const std::string &geometryfile="", std::map< std::string, std::string > defines={})
 
void InitializeFromFiles (const std::string &vertexfile, const std::string &fragmentfile, std::map< std::string, std::string > defines)
 
void InitializeWithSource (std::string vertexsrc, std::string fragmentsrc, std::map< std::string, std::string > defines)
 
void InitializeWithSource (std::string vertexsrc, std::string fragmentsrc, std::string geometrysrc="", std::map< std::string, std::string > defines={})
 
bool IsInitialized ()
 
int LocateUniform (const std::string &name)
 
Shaderoperator= (const Shader &)=delete
 
void UpdateUniform (int name, const Geometry::Point3D &value)
 
void UpdateUniform (int name, const Graphics::RGBAf &value)
 
void UpdateUniform (int name, const QuadTextureCoords &value)
 
void UpdateUniform (int name, const QuadVertices &value)
 
void UpdateUniform (int name, float value)
 
void UpdateUniform (int name, int value)
 
void Use ()
 

Protected Attributes

std::string name
 

Constructor & Destructor Documentation

◆ ~Shader()

~Shader ( )
protected

◆ Shader() [1/2]

Shader ( const std::string &  name)
protected

◆ Shader() [2/2]

Shader ( const Shader )
protecteddelete

Member Function Documentation

◆ BindTexture()

int BindTexture ( const std::string &  name,
int  location 
)
protected

◆ BindUBO()

void BindUBO ( const std::string &  name,
UBOBindingPoint::Type  bindingPoint 
)
protected

◆ InitializeFromFiles() [1/2]

void InitializeFromFiles ( const std::string &  vertexfile,
const std::string &  fragmentfile,
const std::string &  geometryfile = "",
std::map< std::string, std::string >  defines = {} 
)
protected

◆ InitializeFromFiles() [2/2]

void InitializeFromFiles ( const std::string &  vertexfile,
const std::string &  fragmentfile,
std::map< std::string, std::string >  defines 
)
protected

◆ InitializeWithSource() [1/2]

void InitializeWithSource ( std::string  vertexsrc,
std::string  fragmentsrc,
std::map< std::string, std::string >  defines 
)
protected

◆ InitializeWithSource() [2/2]

void InitializeWithSource ( std::string  vertexsrc,
std::string  fragmentsrc,
std::string  geometrysrc = "",
std::map< std::string, std::string >  defines = {} 
)
protected

◆ IsInitialized()

bool IsInitialized ( )
protected

◆ LocateUniform()

int LocateUniform ( const std::string &  name)
protected

◆ operator=()

Shader& operator= ( const Shader )
protecteddelete

◆ UpdateUniform() [1/6]

void UpdateUniform ( int  name,
const Geometry::Point3D value 
)
protected

◆ UpdateUniform() [2/6]

void UpdateUniform ( int  name,
const Graphics::RGBAf value 
)
protected

◆ UpdateUniform() [3/6]

void UpdateUniform ( int  name,
const QuadTextureCoords value 
)
protected

◆ UpdateUniform() [4/6]

void UpdateUniform ( int  name,
const QuadVertices value 
)
protected

◆ UpdateUniform() [5/6]

void UpdateUniform ( int  name,
float  value 
)
protected

◆ UpdateUniform() [6/6]

void UpdateUniform ( int  name,
int  value 
)
protected

◆ Use()

void Use ( )
protected

References glUseProgram.

Member Data Documentation

◆ name

std::string name
protected

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