Open CASCADE Technology
7.3.0
|
Wrapper for OpenGL shader object. More...
#include <OpenGl_ShaderObject.hxx>
Public Member Functions | |
OpenGl_ShaderObject (GLenum theType) | |
Creates uninitialized shader object. More... | |
virtual | ~OpenGl_ShaderObject () |
Releases resources of shader object. More... | |
Standard_Boolean | LoadSource (const Handle< OpenGl_Context > &theCtx, const TCollection_AsciiString &theSource) |
Loads shader source code. More... | |
Standard_Boolean | Compile (const Handle< OpenGl_Context > &theCtx) |
Compiles the shader object. More... | |
Standard_Boolean | FetchInfoLog (const Handle< OpenGl_Context > &theCtx, TCollection_AsciiString &theLog) |
Fetches information log of the last compile operation. More... | |
Standard_Boolean | Create (const Handle< OpenGl_Context > &theCtx) |
Creates new empty shader object of specified type. More... | |
virtual void | Release (OpenGl_Context *theCtx) override |
Destroys shader object. More... | |
virtual Standard_Size | EstimatedDataSize () const override |
Returns estimated GPU memory usage - not implemented. More... | |
GLenum | Type () const |
Returns type of shader object. More... | |
Public Member Functions inherited from OpenGl_Resource | |
OpenGl_Resource () | |
Empty constructor. More... | |
virtual | ~OpenGl_Resource () |
Destructor. Inheritors should call Clean (NULL) within it. 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... | |
Static Public Attributes | |
static const GLuint | NO_SHADER = 0 |
Non-valid shader name. More... | |
Protected Attributes | |
GLenum | myType |
Type of OpenGL shader object. More... | |
GLuint | myShaderID |
Handle of OpenGL shader object. More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Wrapper for OpenGL shader object.
OpenGl_ShaderObject::OpenGl_ShaderObject | ( | GLenum | theType | ) |
Creates uninitialized shader object.
|
virtual |
Releases resources of shader object.
Standard_Boolean OpenGl_ShaderObject::Compile | ( | const Handle< OpenGl_Context > & | theCtx | ) |
Compiles the shader object.
Standard_Boolean OpenGl_ShaderObject::Create | ( | const Handle< OpenGl_Context > & | theCtx | ) |
Creates new empty shader object of specified type.
|
inlineoverridevirtual |
Returns estimated GPU memory usage - not implemented.
Implements OpenGl_Resource.
Standard_Boolean OpenGl_ShaderObject::FetchInfoLog | ( | const Handle< OpenGl_Context > & | theCtx, |
TCollection_AsciiString & | theLog | ||
) |
Fetches information log of the last compile operation.
Standard_Boolean OpenGl_ShaderObject::LoadSource | ( | const Handle< OpenGl_Context > & | theCtx, |
const TCollection_AsciiString & | theSource | ||
) |
Loads shader source code.
|
overridevirtual |
Destroys shader object.
Implements OpenGl_Resource.
|
inline |
Returns type of shader object.
|
protected |
Handle of OpenGL shader object.
|
protected |
Type of OpenGL shader object.
|
static |
Non-valid shader name.