Allolib
1.0
C++ Components For Interactive Multimedia
|
Public Types | |
enum | Type { VERTEX , GEOMETRY , FRAGMENT } |
Public Member Functions | |
Shader (const std::string &source="", Shader::Type type=FRAGMENT) | |
virtual | ~Shader () |
Shader & | source (const std::string &v) |
Shader & | source (const std::string &v, Shader::Type type) |
Shader & | compile () |
bool | compiled () const |
Shader::Type | type () const |
const char * | log () const |
Returns info log or 0 if none. | |
void | printLog () const |
Prints info log, if any. | |
bool | created () const |
Returns whether object has been created. | |
void | create () |
Creates object on GPU. | |
void | destroy () |
Destroys object on GPU. | |
unsigned long | id () const |
Returns the assigned object id. | |
void | id (unsigned long v) |
void | validate () |
Ensure that the GPUObject is ready to use. More... | |
void | invalidate () |
Triggers re-creation of object safely. | |
Protected Attributes | |
unsigned int | mID |
bool | mResubmit |
Shader object.
A shader object represents your source code. You are able to pass your source code to a shader object and compile the shader object.
Definition at line 83 of file al_Shader.hpp.
|
inlinevirtual |
This will automatically delete the shader object when it is no longer attached to any program object.
Definition at line 91 of file al_Shader.hpp.
|
inherited |
Ensure that the GPUObject is ready to use.
This is typically placed before any rendering implementation. If the object has been invalidated, the object will be destroyed and then created again. Otherwise, the object will simply be created if not already created.