|
jGL
|
An OpenGL implementation of Shader. More...
#include <glShader.h>


Public Member Functions | |
| glShader (const char *v, const char *f) | |
| Construct a glShader from a vertex and fragment source. | |
| glShader () | |
| Construct an empty glShader. | |
| glShader (std::string path, std::string name) | |
| Construct a glShader from source given by paths. | |
| ~glShader () | |
| void | create () |
| Create the shader program. | |
| void | release () |
| Destroy the shader program. | |
| void | compile () |
| Compile the shader program. | |
| void | use () |
| Use the shader program (and compile if required). | |
| bool | isCompiled () |
| Checks if the glShader is compiled. | |
| bool | isProgram () |
| Checks if an OpenGL program is created. | |
Public Member Functions inherited from jGL::Shader | |
| Shader (const char *v, const char *f) | |
| Construct a Shader from a vertex and fragment source. | |
| Shader () | |
| Construct an empty Shader. | |
| Shader (std::string path, std::string name) | |
| Construct a Shader from source given by paths. | |
| virtual | ~Shader ()=default |
| bool | operator== (const Shader &s) |
| bool | lint () |
| Check for common shader errors. | |
| template<class T > | |
| void | setUniform (std::string name, T value) |
| Set a Uniform to a value. | |
| const std::string & | getVertex () const |
| const std::string & | getFragment () const |
| template<class T > | |
| jGLUniform< T > | getUniform (std::string name) |
| Get a Uniform by name. | |
| std::vector< std::string > | getUniformNames () |
| Get all the parsed uniforms in the Shader. | |
| std::string | displayVertexSource () const |
| Display the vertex shader with line numbers. | |
| std::string | displayFragmentSource () const |
| Display the fragment shader with line numbers. | |
Additional Inherited Members | |
Protected Member Functions inherited from jGL::Shader | |
| std::string | parseShaderSource (std::ifstream &file) |
| bool | parseUniforms () |
| std::string | formatWithLineNumbers (std::string shader) const |
| template<class T > | |
| void | detectUniformsAndCreate (std::string code) |
Protected Attributes inherited from jGL::Shader | |
| std::string | vertex |
| std::string | fragment |
| std::unordered_map< std::string, std::shared_ptr< AbstractjGLUniform > > | uniforms |
An OpenGL implementation of Shader.
|
inline |
Construct a glShader from a vertex and fragment source.
| v | vertex shader source. |
| f | fragment shader source. |
|
inline |
Construct an empty glShader.
|
inline |
Construct a glShader from source given by paths.
| path | path the .vs and .fs shader sources. |
| name | name of sources in path: name.vs and name.fs |
|
inline |
|
virtual |
| void jGL::GL::glShader::create | ( | ) |
Create the shader program.
|
inline |
Checks if the glShader is compiled.
|
inline |
Checks if an OpenGL program is created.
| void jGL::GL::glShader::release | ( | ) |
Destroy the shader program.
|
virtual |
Use the shader program (and compile if required).
Implements jGL::Shader.