Inheritance diagram for osgGL2::ShaderObject:
Public Types | |
enum | Type { VERTEX = GL_VERTEX_SHADER_ARB, FRAGMENT = GL_FRAGMENT_SHADER_ARB, UNKNOWN = -1 } |
Public Member Functions | |
ShaderObject () | |
ShaderObject (Type type) | |
ShaderObject (Type type, const char *sourceText) | |
ShaderObject (const ShaderObject &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Object (osgGL2, ShaderObject) | |
int | compare (const ShaderObject &sa) const |
void | setShaderSource (const char *sourceText) |
const std::string & | getShaderSource () const |
bool | loadShaderSourceFromFile (const char *fileName) |
Type | getType () const |
const char * | getTypename () const |
void | dirtyShaderObject () |
void | build (unsigned int contextID) const |
void | attach (unsigned int contextID, GLhandleARB progObj) const |
Protected Member Functions | |
virtual | ~ShaderObject () |
PerContextShaderObj * | getPCSO (unsigned int contextID) const |
void | addProgObjRef (ProgramObject *progObj) |
Protected Attributes | |
Type | _type |
std::string | _shaderSource |
std::vector< ProgramObjectPtr > | _programObjectList |
osg::buffered_value< osg::ref_ptr< PerContextShaderObj > > | _pcsoList |
Friends | |
void | ProgramObject::addShader (ShaderObject *shadObj) |
Classes | |
class | PerContextShaderObj |
|
|
|
|
|
|
|
|
|
Copy constructor using CopyOp to manage deep vs shallow copy. |
|
|
|
|
|
For a given GL context, attach a glShaderObject to a glProgramObject |
|
Perform a recompilation of all our PCSOs |
|
|
|
Mark us as "dirty" and in need of recompilation |
|
|
|
Retreive the source code text |
|
Get the ShaderObject type as an enum. |
|
Get the ShaderObject type as a descriptive string. |
|
Load the ShaderObject's source code text from a file. |
|
|
|
Load the ShaderObject's source code text from a string. |
|
|
|
|
|
|
|
|
|
|