Shader Object. More...
#include <shader_object.h>
Public Member Functions | |
Attributes | |
| unsigned int | get_handle () const |
| Returns the OpenGL shader handle. More... | |
| ShaderType | get_shader_type () const |
| Gets the shader type. More... | |
| std::string | get_info_log () const |
| Get shader object's info log. More... | |
| std::string | get_shader_source () const |
| Get shader source code. More... | |
| bool | is_null () const |
| Returns true if this object is invalid. More... | |
| void | throw_if_null () const |
| Throw an exception if this object is invalid. More... | |
| ShaderObjectProvider * | get_provider () const |
| Get Provider. More... | |
Operations | |
| bool | operator== (const ShaderObject &other) const |
| Handle comparison operator. More... | |
| bool | compile () |
| Compile program. More... | |
Construction | |
| ShaderObject () | |
| Constructs a null instance. More... | |
| ShaderObject (GraphicContext &gc, ShaderType type, const std::string &source) | |
| Constructs an OpenGL shader. More... | |
| ShaderObject (GraphicContext &gc, ShaderType type, const void *source, int source_size) | |
| Constructs a ShaderObject. More... | |
| ShaderObject (GraphicContext &gc, ShaderType type, const std::vector< std::string > &sources) | |
| Constructs a ShaderObject. More... | |
| ShaderObject (GraphicContextProvider *gc_provider, ShaderType type, const std::string &source) | |
| Constructs a ShaderObject. More... | |
| ShaderObject (GraphicContextProvider *gc_provider, ShaderType type, const std::vector< std::string > &sources) | |
| Constructs a ShaderObject. More... | |
| virtual | ~ShaderObject () |
| static ShaderObject | load (GraphicContext &gc, const std::string &resource_id, const XMLResourceDocument &resources) |
| Load. More... | |
| static ShaderObject | load (GraphicContext &gc, ShaderType type, const std::string &filename, const FileSystem &fs) |
| Load. More... | |
| static ShaderObject | load (GraphicContext &gc, ShaderType type, const std::string &fullname) |
| Load. More... | |
| static ShaderObject | load (GraphicContext &gc, ShaderType type, IODevice &file) |
| Load. More... | |
| static ShaderObject | load_and_compile (GraphicContext &gc, ShaderType type, const std::string &filename, const FileSystem &fs) |
| Load and compile. More... | |
| static ShaderObject | load_and_compile (GraphicContext &gc, ShaderType type, const std::string &filename) |
| Load and compile. More... | |
| static ShaderObject | load_and_compile (GraphicContext &gc, ShaderType type, IODevice &file) |
| Load and compile. More... | |
Shader Object.
The source code that makes up a program that gets executed by one of the programmable stages is encapsulated in one or more shader objects. Shader objects are attached to a program objects to form a programmable setup. ShaderObject is ClanLib's C++ interface to OpenGL shader objects.