|
Vesper 0.5.1
Vesper is short form for the Latin word for "Bat", as Vesper is designed to be small, lightweight, and easily handle things like particles and flocking behaviors in accordance with the nature of bats. \n It is meant to be a particle simulation, VFX editor, and CAN be used secondarily as a small game engine. GitHub | Vesper Updates | Creator |
#include <OpenGLShader.h>
Public Member Functions | |
| OpenGLShader (const std::string &filepath) | |
| OpenGLShader (const std::string &name, const std::string &vertexSrc, const std::string &fragmentSrc) | |
| ~OpenGLShader () | |
| void | Bind () const override |
| connects the shader program for use. | |
| void | Unbind () const override |
| disconnects the shader program. | |
| virtual void | SetMat4 (const std::string &name, const glm::mat4 &value) override |
| Sets a 4x4 matrix uniform in the shader. | |
| virtual void | SetFloat4 (const std::string &name, const glm::vec4 &value) override |
| Sets a 4-component float vector uniform in the shader. | |
| virtual void | SetFloat3 (const std::string &name, const glm::vec3 &value) override |
| Sets a 3-component float vector uniform in the shader. | |
| virtual void | SetFloat (const std::string &name, float value) override |
| Sets a single float uniform in the shader. | |
| virtual void | SetInt (const std::string &name, int value) override |
| Sets a single integer uniform in the shader. | |
| virtual void | SetIntArray (const std::string &name, int *values, uint32_t count) override |
| Sets an array of integers uniform in the shader. | |
| virtual const std::string & | GetName () const override |
| void | UploadUniformMat4 (const std::string &name, const glm::mat4 &matrix) |
| void | UploadUniformMat3 (const std::string &name, const glm::mat3 &matrix) |
| void | UploadUniformFloat4 (const std::string &name, const glm::vec4 &values) |
| void | UploadUniformFloat3 (const std::string &name, const glm::vec3 &values) |
| void | UploadUniformFloat2 (const std::string &name, const glm::vec2 &values) |
| void | UploadUniformFloat (const std::string &name, float value) |
| void | UploadUniformInt (const std::string &name, int value) |
| Public Member Functions inherited from Vesper::Shader | |
| virtual | ~Shader ()=default |
Private Member Functions | |
| std::string | ReadFile (const std::string &filepath) |
| std::unordered_map< GLenum, std::string > | PreProcess (const std::string &source) |
| void | Compile (std::unordered_map< GLenum, std::string > &shaderSources) |
Private Attributes | |
| unsigned int | m_RendererID |
| std::string | m_Name |
Additional Inherited Members | |
| Static Public Member Functions inherited from Vesper::Shader | |
| static Ref< Shader > | Create (const std::string &name, const std::string &vertexSrc, const std::string &fragmentSrc) |
| static Ref< Shader > | Create (const std::string &filepath) |
| Vesper::OpenGLShader::OpenGLShader | ( | const std::string & | filepath | ) |
| Vesper::OpenGLShader::OpenGLShader | ( | const std::string & | name, |
| const std::string & | vertexSrc, | ||
| const std::string & | fragmentSrc ) |
References OpenGLShader().
Referenced by OpenGLShader().
| Vesper::OpenGLShader::~OpenGLShader | ( | ) |
References m_RendererID.
|
overridevirtual |
|
private |
References m_RendererID.
|
inlineoverridevirtual |
Implements Vesper::Shader.
|
private |
|
private |
|
overridevirtual |
Sets a single float uniform in the shader.
Implements Vesper::Shader.
References UploadUniformFloat().
|
overridevirtual |
Sets a 3-component float vector uniform in the shader.
Implements Vesper::Shader.
|
overridevirtual |
Sets a 4-component float vector uniform in the shader.
Implements Vesper::Shader.
|
overridevirtual |
Sets a single integer uniform in the shader.
Implements Vesper::Shader.
References UploadUniformInt().
|
overridevirtual |
Sets an array of integers uniform in the shader.
Implements Vesper::Shader.
|
overridevirtual |
Sets a 4x4 matrix uniform in the shader.
Implements Vesper::Shader.
|
overridevirtual |
disconnects the shader program.
Implements Vesper::Shader.
| void Vesper::OpenGLShader::UploadUniformFloat | ( | const std::string & | name, |
| float | value ) |
Referenced by SetFloat().
| void Vesper::OpenGLShader::UploadUniformFloat2 | ( | const std::string & | name, |
| const glm::vec2 & | values ) |
| void Vesper::OpenGLShader::UploadUniformFloat3 | ( | const std::string & | name, |
| const glm::vec3 & | values ) |
| void Vesper::OpenGLShader::UploadUniformFloat4 | ( | const std::string & | name, |
| const glm::vec4 & | values ) |
| void Vesper::OpenGLShader::UploadUniformInt | ( | const std::string & | name, |
| int | value ) |
Referenced by SetInt().
| void Vesper::OpenGLShader::UploadUniformMat3 | ( | const std::string & | name, |
| const glm::mat3 & | matrix ) |
| void Vesper::OpenGLShader::UploadUniformMat4 | ( | const std::string & | name, |
| const glm::mat4 & | matrix ) |
|
private |
|
private |
Referenced by Bind(), Compile(), and ~OpenGLShader().