OGL Engine 1.2.0-dev
Loading...
Searching...
No Matches
Engine::Graphics::Shader Class Reference

Classe Shader qui porte un identifiant OpenGL pointant vers le shader compilé More...

#include <shader.hpp>

Public Member Functions

GLuint GetID ()
 Shader (const std::string &vertexPath, const std::string &fragmentPath)
 Construit un objet Shader et le compile à partir de fichiers vertex/fragment.
 Shader (const char *vertexSource, const char *fragmentPath)
 Construit un nouveau shader et le compile a partir des sources fournies.
 Shader ()
 Construit un objhet Shader vide.
 ~Shader ()
 Détruit proprement un Shader.
void Bind () const
 Permet de lier le Shader.
void BuildFromFiles (const std::string &vertexPath, const std::string &fragmentPath)
 Compile un programme de Shader à partir de fichiers.
void BuildFromSource (const char *vertexSource, const char *fragmentSource)
 Compile un programme de Shader à partir de sources.
void SetInt (const std::string &name, int val)
 Définit la valeur d'un uniform de type "int".
void SetFloat (const std::string &name, float val)
 Définit la valeur d'un uniform de type "float".
void SetBool (const std::string &name, bool val)
 Définit la valeur d'un uniform de type "bool".
void SetMat4 (const std::string &name, const glm::mat4 &mat)
 Définit la valeur d'un uniform de type "Mat4".
void SetVec4 (const std::string &name, const glm::vec4 &vec)
 Définit la valeur d'un uniform de type "Vec4".
void SetVec3 (const std::string &name, const glm::vec3 &vec)
 Définit la valeur d'un uniform de type "Vec3".
void SetVec2 (const std::string &name, const glm::vec2 &vec)
 Définit la valeur d'un uniform de type "Vec2".

Detailed Description

Classe Shader qui porte un identifiant OpenGL pointant vers le shader compilé

Contient aussi des méthode utilitaires pour définir des uniforms facilement

Constructor & Destructor Documentation

◆ Shader() [1/3]

Engine::Graphics::Shader::Shader ( const std::string & vertexPath,
const std::string & fragmentPath )

Construit un objet Shader et le compile à partir de fichiers vertex/fragment.

Parameters
vertexPathLe chemin vers le fichier vertex
fragmentPathLe chemin vers le fichier fragment

◆ Shader() [2/3]

Engine::Graphics::Shader::Shader ( const char * vertexSource,
const char * fragmentPath )

Construit un nouveau shader et le compile a partir des sources fournies.

Parameters
vertexSourceSource vertex
fragmentPathSource fragment

◆ Shader() [3/3]

Engine::Graphics::Shader::Shader ( )

Construit un objhet Shader vide.

◆ ~Shader()

Engine::Graphics::Shader::~Shader ( )

Détruit proprement un Shader.

Member Function Documentation

◆ Bind()

void Engine::Graphics::Shader::Bind ( ) const

Permet de lier le Shader.

Utile pour lier le shader pendant une boucle de rendering avant d'envoyer un mesh au GPU

◆ BuildFromFiles()

void Engine::Graphics::Shader::BuildFromFiles ( const std::string & vertexPath,
const std::string & fragmentPath )

Compile un programme de Shader à partir de fichiers.

Parameters
vertexPathchemin vers le fichier contenant la source .vertex
fragmentPathchemin vers le fichier contenant la source .fragment

◆ BuildFromSource()

void Engine::Graphics::Shader::BuildFromSource ( const char * vertexSource,
const char * fragmentSource )

Compile un programme de Shader à partir de sources.

Parameters
vertexSourcecode source vertex
fragmentSourcecode source fragment

◆ GetID()

GLuint Engine::Graphics::Shader::GetID ( )
inline

◆ SetBool()

void Engine::Graphics::Shader::SetBool ( const std::string & name,
bool val )

Définit la valeur d'un uniform de type "bool".

Parameters
nameLe nom du uniform à aller chercher
valLa valeur à envoyer

◆ SetFloat()

void Engine::Graphics::Shader::SetFloat ( const std::string & name,
float val )

Définit la valeur d'un uniform de type "float".

Parameters
nameLe nom du uniform à aller chercher
valLa valeur à envoyer

◆ SetInt()

void Engine::Graphics::Shader::SetInt ( const std::string & name,
int val )

Définit la valeur d'un uniform de type "int".

Parameters
nameLe nom du uniform à aller chercher
valLa valeur à envoyer

◆ SetMat4()

void Engine::Graphics::Shader::SetMat4 ( const std::string & name,
const glm::mat4 & mat )

Définit la valeur d'un uniform de type "Mat4".

Parameters
nameLe nom du uniform à aller chercher
valLa valeur à envoyer

◆ SetVec2()

void Engine::Graphics::Shader::SetVec2 ( const std::string & name,
const glm::vec2 & vec )

Définit la valeur d'un uniform de type "Vec2".

Parameters
nameLe nom du uniform à aller chercher
valLa valeur à envoyer

◆ SetVec3()

void Engine::Graphics::Shader::SetVec3 ( const std::string & name,
const glm::vec3 & vec )

Définit la valeur d'un uniform de type "Vec3".

Parameters
nameLe nom du uniform à aller chercher
valLa valeur à envoyer

◆ SetVec4()

void Engine::Graphics::Shader::SetVec4 ( const std::string & name,
const glm::vec4 & vec )

Définit la valeur d'un uniform de type "Vec4".

Parameters
nameLe nom du uniform à aller chercher
valLa valeur à envoyer

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