|
| | OpenGl_Context (const Handle< OpenGl_Caps > &theCaps=NULL) |
| | Empty constructor. You should call Init() to perform initialization with bound GL context. More...
|
| |
| virtual | ~OpenGl_Context () |
| | Destructor. More...
|
| |
| void | Share (const Handle< OpenGl_Context > &theShareCtx) |
| | Share GL context resources. theShareCtx - handle to context to retrieve handles to shared resources. More...
|
| |
| Standard_Boolean | Init () |
| | Initialize class from currently bound OpenGL context. Method should be called only once. More...
|
| |
| Standard_Boolean | IsValid () const |
| |
| Standard_Boolean | Init (const Aspect_Drawable theWindow, const Aspect_Display theDisplay, const Aspect_RenderingContext theGContext) |
| | Initialize class from specified window and rendering context. Method should be called only once. More...
|
| |
| Aspect_Drawable | Window () const |
| |
| Standard_Boolean | CheckExtension (const char *theExtName) const |
| | Check if theExtName extension is supported by active GL context. More...
|
| |
| template<typename FuncType_t > |
| Standard_Boolean | FindProc (const char *theFuncName, FuncType_t &theFuncPtr) |
| | Auxiliary template to retrieve GL function pointer. Pointer to function retrieved from library is statically casted to requested type - there no way to check real signature of exported function. The context should be bound before call. More...
|
| |
| Standard_Boolean | IsGlGreaterEqual (const Standard_Integer theVerMajor, const Standard_Integer theVerMinor) const |
| |
| void | ResetErrors () |
| | Clean up errors stack for this GL context (glGetError() in loop). More...
|
| |
| Standard_Boolean | IsCurrent () const |
| | This method uses system-dependent API to retrieve information about GL context bound to the current thread. More...
|
| |
| Standard_Boolean | MakeCurrent () |
| | Activates current context. Class should be initialized with appropriate info. More...
|
| |
| void | SwapBuffers () |
| | Swap front/back buffers for this GL context (should be activated before!). More...
|
| |
| Standard_Boolean | IsFeedback () const |
| | Return true if active mode is GL_FEEDBACK (cached state) More...
|
| |
| void | SetFeedback (const Standard_Boolean theFeedbackOn) |
| | Setup feedback mode cached state. More...
|
| |
| Standard_Size | AvailableMemory () const |
| | This function retrieves information from GL about free GPU memory that is: More...
|
| |
| TCollection_AsciiString | MemoryInfo () const |
| | This function retrieves information from GL about GPU memory and contains more vendor-specific values than AvailableMemory(). More...
|
| |
| const Handle< OpenGl_Resource > & | GetResource (const TCollection_AsciiString &theKey) const |
| | Access shared resource by its name. More...
|
| |
| template<typename TheHandleType > |
| Standard_Boolean | GetResource (const TCollection_AsciiString &theKey, TheHandleType &theValue) const |
| | Access shared resource by its name. More...
|
| |
| Standard_Boolean | ShareResource (const TCollection_AsciiString &theKey, const Handle< OpenGl_Resource > &theResource) |
| | Register shared resource. Notice that after registration caller shouldn't release it by himself - it will be automatically released on context destruction. More...
|
| |
| void | ReleaseResource (const TCollection_AsciiString &theKey, const Standard_Boolean theToDelay=Standard_False) |
| | Release shared resource. If there are more than one reference to this resource (also used by some other existing object) then call will be ignored. This means that current object itself should nullify handle before this call. Notice that this is unrecommended operation at all and should be used only in case of fat resources to release memory for other needs. More...
|
| |
| void | DelayedRelease (Handle< OpenGl_Resource > &theResource) |
| | Append resource to queue for delayed clean up. Resources in this queue will be released at next redraw call. More...
|
| |
| void | ReleaseDelayed () |
| | Clean up the delayed release queue. More...
|
| |
| OpenGl_Clipping & | ChangeClipping () |
| |
| const OpenGl_Clipping & | Clipping () const |
| |
const Handle
< OpenGl_ShaderManager > & | ShaderManager () const |
| |
| Standard_Integer | MaxDegreeOfAnisotropy () const |
| |
| Standard_Integer | MaxTextureSize () const |
| |
| Standard_Integer | MaxClipPlanes () const |
| | Get maximum number of clip planes supported by OpenGl. This value is implementation dependent. At least 6 planes should be supported by OpenGl (see specs). More...
|
| |
| const Handle_Message_Messenger & | Messenger () const |
| |
| void | PushMessage (const unsigned int theSource, const unsigned int theType, const unsigned int theId, const unsigned int theSeverity, const TCollection_ExtendedString &theMessage) |
| | Callback for GL_ARB_debug_output extension. More...
|
| |
| | DEFINE_STANDARD_RTTI (OpenGl_Context) friend class OpenGl_Window |
| |
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 void | ShallowDump (Standard_OStream &) const |
| |
virtual const
Handle_Standard_Type & | DynamicType () const |
| | Returns a type information object about this object. More...
|
| |
| Standard_Boolean | IsInstance (const 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 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...
|
| |
| virtual Handle_Standard_Transient | This () const |
| | Returns a Handle which references this object. Must never be called to objects created in stack. More...
|
| |
| Standard_Integer | GetRefCount () const |
| | Get the reference counter of this object. More...
|
| |
This class generalize access to the GL context and available extensions.
Functions are grouped into structures and accessed as fields. You should check the group for NULL before usage (if group is not NULL then all functions are available):
if (myContext->core20 != NULL)
{
myGlProgram = myContext->core20->glCreateProgram();
.. do more stuff ..
}
else
{
.. compatibility with outdated configurations ..
}
Current implementation provide access to OpenGL core functionality up to 2.0 version (core12, core13, core14, core15, fields core20). within several extensions (arbVBO, extFBO, etc.).
Simplified extensions classification:
- prefixed with NV, AMD, ATI are vendor-specific (however may be provided by other vendors in some cases);
- prefixed with EXT are accepted by 2+ vendors;
- prefixed with ARB are accepted by Architecture Review Board and are candidates for inclusion into GL core functionality. Some functionality can be represented in several extensions simultaneously. In this case developer should be careful because different specification may differ in aspects (like enumeration values and error-handling).
Notice that some systems provide mechanisms to simultaneously incorporate with GL contexts with different capabilities. Thats why OpenGl_Context should be initialized and used for each GL context individually.