Object handle for OpenGL Shaders Objects (both vertex and fragment shaders). More...
#include <HdlShader.hpp>

Public Member Functions | |
| HdlShader (GLenum _type, const ShaderSource &src) | |
| HdlShader constructor. More... | |
| GLuint | getShaderID (void) const |
| Returns the ID of the shader for OpenGL. More... | |
| GLenum | getType (void) const |
| Returns the type of the shader for OpenGL. More... | |
Public Member Functions inherited from Glip::CoreGL::ShaderSource | |
| ShaderSource (const std::string &src, const std::string &_sourceName="", int startLine=1, const std::map< int, LineInfo > &_linesInfo=std::map< int, LineInfo >()) | |
| Constructor of ShaderSource, load from a standard string or a file. More... | |
| ShaderSource (const ShaderSource &ss) | |
| ShaderSource Construtor. More... | |
| ShaderSource & | operator= (const ShaderSource &c) |
| Copy operator. More... | |
| bool | empty (void) const |
| Test if the source is empty. More... | |
| const std::string & | getSource (void) const |
| Returns the source as a standard string. More... | |
| const std::string & | getSourceName (void) const |
| Return the name of the source : the one given with the constructor if any, the filename if it was loaded from a file or a blank string otherwise. More... | |
| const char * | getSourceCstr (void) const |
| Returns the source as a characters table. More... | |
| int | getNumLines (void) const |
| Get the number of lines in this source. More... | |
| std::string | getLine (int l, bool withNewLine=true) const |
| Get a specific line from the source. More... | |
| LineInfo | getLineInfo (int l) const |
| Get information about the line at the given index. More... | |
| Exception | errorLog (const std::string &log) const |
| Add some source code information to the output shader compilation log. More... | |
| bool | requiresCompatibility (void) const |
| Returns true if this Shader is using gl_FragColor and no out vec4 variables (e.g. Mesa <9.0 compatibility for Intel Core I7 with HD Graphics (>2nd Generation)); no call to glBindFragDataLocation is needed). If true, the input vars are indexed on their order of appearance in the shader source. More... | |
| int | getVersion (void) const |
| Returns the shader version defined in the source (with #version) as an integer. More... | |
| const std::vector< std::string > & | getInputVars (void) const |
| Return a vector containing the name of all the input textures (uniform sampler*). More... | |
| const std::vector< std::string > & | getOutputVars (void) const |
| Return a vector containing the name of all the output textures (uniform {vec2, vec3, vec4, ...}). More... | |
| const std::vector< std::string > & | getUniformVars (void) const |
| Return a vector containing the name of all the uniform variables which are not 2D samplers. More... | |
| const std::vector< GLenum > & | getUniformTypes (void) const |
| Return a vector containing the type of the uniform variables which are not 2D samplers (see http://www.opengl.org/sdk/docs/man/xhtml/glGetActiveUniform.xml for a table of possible values). More... | |
Additional Inherited Members | |
Public Attributes inherited from Glip::CoreGL::ShaderSource | |
| std::map< int, LineInfo > | linesInfo |
| Map containing information about specific lines of this source. The key represent the line number starting at 1. | |
Static Public Attributes inherited from Glip::CoreGL::ShaderSource | |
| static std::string | portNameForFragColor = "outputTexture" |
| Name for the port mapping to gl_FragColor, if used. | |
Object handle for OpenGL Shaders Objects (both vertex and fragment shaders).
| HdlShader::HdlShader | ( | GLenum | _type, |
| const ShaderSource & | src | ||
| ) |
HdlShader constructor.
| _type | The kind of shader it will be : GL_VERTEX_SHADER, GL_FRAGMENT_SHADER, GL_COMPUTE_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER. |
| src | The source code used. |
| GLuint HdlShader::getShaderID | ( | void | ) | const |
Returns the ID of the shader for OpenGL.
| GLenum HdlShader::getType | ( | void | ) | const |
Returns the type of the shader for OpenGL.
Return the type of the shader, among : GL_VERTEX_SHADER, GL_FRAGMENT_SHADER, GL_COMPUTE_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER.
1.8.8