|
| Graphic3d_ShaderProgram () |
| Creates new empty program object. More...
|
|
| Graphic3d_ShaderProgram (const Graphic3d_ShaderProgram::ShaderName theName) |
| Creates program object from pre-defined shaders. Raises Standard_Failure exception if shader resources are unavailable. More...
|
|
virtual | ~Graphic3d_ShaderProgram () |
| Releases resources of program object. More...
|
|
void | Destroy () const |
| Releases resources of program object. More...
|
|
virtual Standard_Boolean | IsDone () const |
| Checks if the program object is valid or not. More...
|
|
const TCollection_AsciiString & | GetId () const |
| Returns unique ID used to manage resource in graphic driver. More...
|
|
const TCollection_AsciiString & | Header () const |
| Returns GLSL header (version code and extensions). More...
|
|
void | SetHeader (const TCollection_AsciiString &theHeader) |
| Setup GLSL header containing language version code and used extensions. Will be prepended to the very beginning of the source code. Example: More...
|
|
Standard_Boolean | AttachShader (const Handle< Graphic3d_ShaderObject > &theShader) |
| Attaches shader object to the program object. More...
|
|
Standard_Boolean | DetachShader (const Handle< Graphic3d_ShaderObject > &theShader) |
| Detaches shader object from the program object. More...
|
|
const Graphic3d_ShaderObjectList & | ShaderObjects () const |
| Returns list of attached shader objects. More...
|
|
const Graphic3d_ShaderVariableList & | Variables () const |
| The list of currently pushed but not applied custom uniform variables. This list is automatically cleared after applying to GLSL program. More...
|
|
const Graphic3d_ShaderAttributeList & | VertexAttributes () const |
| Return the list of custom vertex attributes. More...
|
|
void | SetVertexAttributes (const Graphic3d_ShaderAttributeList &theAttributes) |
| Assign the list of custom vertex attributes. Should be done before GLSL program initialization. More...
|
|
template<class T > |
Standard_Boolean | PushVariable (const TCollection_AsciiString &theName, const T &theValue) |
| Pushes custom uniform variable to the program. The list of pushed variables is automatically cleared after applying to GLSL program. Thus after program recreation even unchanged uniforms should be pushed anew. More...
|
|
void | ClearVariables () |
| Removes all custom uniform variables from the program. More...
|
|
Standard_Boolean | PushVariableFloat (const TCollection_AsciiString &theName, const float theValue) |
| Pushes float uniform. More...
|
|
Standard_Boolean | PushVariableVec2 (const TCollection_AsciiString &theName, const Graphic3d_Vec2 &theValue) |
| Pushes vec2 uniform. More...
|
|
Standard_Boolean | PushVariableVec3 (const TCollection_AsciiString &theName, const Graphic3d_Vec3 &theValue) |
| Pushes vec3 uniform. More...
|
|
Standard_Boolean | PushVariableVec4 (const TCollection_AsciiString &theName, const Graphic3d_Vec4 &theValue) |
| Pushes vec4 uniform. More...
|
|
Standard_Boolean | PushVariableInt (const TCollection_AsciiString &theName, const int theValue) |
| Pushes int uniform. More...
|
|
Standard_Boolean | PushVariableVec2i (const TCollection_AsciiString &theName, const Graphic3d_Vec2i &theValue) |
| Pushes vec2i uniform. More...
|
|
Standard_Boolean | PushVariableVec3i (const TCollection_AsciiString &theName, const Graphic3d_Vec3i &theValue) |
| Pushes vec3i uniform. More...
|
|
Standard_Boolean | PushVariableVec4i (const TCollection_AsciiString &theName, const Graphic3d_Vec4i &theValue) |
| Pushes vec4i uniform. More...
|
|
Public Member Functions inherited from Standard_Transient |
| Standard_Transient () |
| Empty constructor. More...
|
|
| Standard_Transient (const Standard_Transient &) |
| Copy constructor – does nothing. More...
|
|
Standard_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. More...
|
|
virtual | ~Standard_Transient () |
| Destructor must be virtual. More...
|
|
virtual void | Delete () const |
| Memory deallocator for transient classes. More...
|
|
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. More...
|
|
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. More...
|
|
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| Returns a true value if this is an instance of TypeName. More...
|
|
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
|
|
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
|
|
Standard_Transient * | This () const |
| Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More...
|
|
Standard_Integer | GetRefCount () const |
| Get the reference counter of this object. More...
|
|
void | IncrementRefCounter () const |
| Increments the reference counter of this object. More...
|
|
Standard_Integer | DecrementRefCounter () const |
| Decrements the reference counter of this object; returns the decremented value. More...
|
|
This class is responsible for managing shader programs.