|
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 |
An abstraction for a shader program. More...
#include <Shader.h>
Public Member Functions | |
| virtual | ~Shader ()=default |
| virtual void | Bind () const =0 |
| connects the shader program for use. | |
| virtual void | Unbind () const =0 |
| disconnects the shader program. | |
| virtual void | SetMat4 (const std::string &name, const glm::mat4 &value)=0 |
| Sets a 4x4 matrix uniform in the shader. | |
| virtual void | SetFloat4 (const std::string &name, const glm::vec4 &value)=0 |
| Sets a 4-component float vector uniform in the shader. | |
| virtual void | SetFloat3 (const std::string &name, const glm::vec3 &value)=0 |
| Sets a 3-component float vector uniform in the shader. | |
| virtual void | SetFloat (const std::string &name, float value)=0 |
| Sets a single float uniform in the shader. | |
| virtual void | SetInt (const std::string &name, int value)=0 |
| Sets a single integer uniform in the shader. | |
| virtual void | SetIntArray (const std::string &name, int *values, uint32_t count)=0 |
| Sets an array of integers uniform in the shader. | |
| virtual const std::string & | GetName () const =0 |
Static Public Member Functions | |
| static Ref< Shader > | Create (const std::string &name, const std::string &vertexSrc, const std::string &fragmentSrc) |
| static Ref< Shader > | Create (const std::string &filepath) |
An abstraction for a shader program.
|
virtualdefault |
|
pure virtual |
connects the shader program for use.
Implemented in Vesper::OpenGLShader.
References Vesper::Renderer::GetAPI(), Vesper::RendererAPI::None, and Vesper::RendererAPI::OpenGL.
|
static |
References Vesper::Renderer::GetAPI(), Vesper::RendererAPI::None, and Vesper::RendererAPI::OpenGL.
|
pure virtual |
Implemented in Vesper::OpenGLShader.
|
pure virtual |
Sets a single float uniform in the shader.
Implemented in Vesper::OpenGLShader.
|
pure virtual |
Sets a 3-component float vector uniform in the shader.
Implemented in Vesper::OpenGLShader.
|
pure virtual |
Sets a 4-component float vector uniform in the shader.
Implemented in Vesper::OpenGLShader.
|
pure virtual |
Sets a single integer uniform in the shader.
Implemented in Vesper::OpenGLShader.
|
pure virtual |
Sets an array of integers uniform in the shader.
Implemented in Vesper::OpenGLShader.
|
pure virtual |
Sets a 4x4 matrix uniform in the shader.
Implemented in Vesper::OpenGLShader.
|
pure virtual |
disconnects the shader program.
Implemented in Vesper::OpenGLShader.