CoriEngine
Loading...
Searching...
No Matches
Cori::Graphics::ShaderProgram Class Referenceabstract

#include <ShaderProgram.hpp>

Inheritance diagram for Cori::Graphics::ShaderProgram:

Classes

class  Descriptor

Public Member Functions

virtual ~ShaderProgram ()=default
virtual void Bind () const =0
virtual void Unbind () const =0
virtual uint32_t GetID () const =0
virtual void SetBool (const char *name, const bool value) const =0
virtual void SetInt (const char *name, const int32_t value) const =0
virtual void SetFloat (const char *name, const float value) const =0
virtual void SetVec2 (const char *name, const glm::vec2 &value) const =0
virtual void SetVec3 (const char *name, const glm::vec3 &value) const =0
virtual void SetVec4 (const char *name, const glm::vec4 &value) const =0
virtual void SetMat2 (const char *name, const glm::mat2 &value) const =0
virtual void SetMat3 (const char *name, const glm::mat3 &value) const =0
virtual void SetMat4 (const char *name, const glm::mat4 &value) const =0
virtual std::string GetShaderNames () const =0

Static Public Member Functions

static std::shared_ptr< ShaderProgramCreate (const std::filesystem::path &vertexPath, const std::filesystem::path &fragmentPath, const std::filesystem::path &geometryPath={})
static std::shared_ptr< ShaderProgramCreate (const Descriptor &descriptor)

Detailed Description

Definition at line 5 of file ShaderProgram.hpp.

Constructor & Destructor Documentation

◆ ~ShaderProgram()

virtual Cori::Graphics::ShaderProgram::~ShaderProgram ( )
virtualdefault

Member Function Documentation

◆ Bind()

virtual void Cori::Graphics::ShaderProgram::Bind ( ) const
pure virtual

◆ Create() [1/2]

std::shared_ptr< ShaderProgram > Cori::Graphics::ShaderProgram::Create ( const Descriptor & descriptor)
staticnodiscard

Definition at line 29 of file ShaderProgram.cpp.

Here is the call graph for this function:

◆ Create() [2/2]

std::shared_ptr< ShaderProgram > Cori::Graphics::ShaderProgram::Create ( const std::filesystem::path & vertexPath,
const std::filesystem::path & fragmentPath,
const std::filesystem::path & geometryPath = {} )
staticnodiscard

Definition at line 7 of file ShaderProgram.cpp.

Here is the call graph for this function:

◆ GetID()

virtual uint32_t Cori::Graphics::ShaderProgram::GetID ( ) const
nodiscardpure virtual

◆ GetShaderNames()

virtual std::string Cori::Graphics::ShaderProgram::GetShaderNames ( ) const
nodiscardpure virtual

◆ SetBool()

virtual void Cori::Graphics::ShaderProgram::SetBool ( const char * name,
const bool value ) const
pure virtual

◆ SetFloat()

virtual void Cori::Graphics::ShaderProgram::SetFloat ( const char * name,
const float value ) const
pure virtual

◆ SetInt()

virtual void Cori::Graphics::ShaderProgram::SetInt ( const char * name,
const int32_t value ) const
pure virtual

◆ SetMat2()

virtual void Cori::Graphics::ShaderProgram::SetMat2 ( const char * name,
const glm::mat2 & value ) const
pure virtual

◆ SetMat3()

virtual void Cori::Graphics::ShaderProgram::SetMat3 ( const char * name,
const glm::mat3 & value ) const
pure virtual

◆ SetMat4()

virtual void Cori::Graphics::ShaderProgram::SetMat4 ( const char * name,
const glm::mat4 & value ) const
pure virtual

◆ SetVec2()

virtual void Cori::Graphics::ShaderProgram::SetVec2 ( const char * name,
const glm::vec2 & value ) const
pure virtual

◆ SetVec3()

virtual void Cori::Graphics::ShaderProgram::SetVec3 ( const char * name,
const glm::vec3 & value ) const
pure virtual

◆ SetVec4()

virtual void Cori::Graphics::ShaderProgram::SetVec4 ( const char * name,
const glm::vec4 & value ) const
pure virtual

◆ Unbind()

virtual void Cori::Graphics::ShaderProgram::Unbind ( ) const
pure virtual

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