![]() |
ImFusion SDK 4.3
|
Interfaces and wrapper classes for managing OpenGL contexts. More...
Collaboration diagram for Context management:Interfaces and wrapper classes for managing OpenGL contexts.
Use can the GL::Context interface and its concrete platform-dependent specializations such as GL::ContextWindows or GL::ContextGLX to perform manual OpenGL context management.
The GL::ContextManager singleton class provides you with a more high-level interface to access, and create OpenGL contexts and have them managed by the ImFusion SDK. This interface is particularly useful if you are working in a multithreaded environment and/or need to use OpenGL context sharing.
The GL::InstanceManager interface enables you transparently manage a single instance of a class for each OpenGL context. This is a powerful feature to avoid constant reallocation of your class while at the same time avoiding race conditions (given that there is a 1-to-1 mapping between OpenGL contexts and threads) or issues if an OpenGL object is not shareable between contexts (such as VAOs).
Classes | |
| class | OpenGLNotFoundException |
| Specialization of std::runtime_error indicating that OpenGL was not able to initialize correctly. More... | |
| class | Context |
| Base class for low-level OpenGL context handling within the ImFusion SDK. More... | |
| class | ContextManager |
| Singleton class to manage access to OpenGL contexts. More... | |
| class | ContextWindows |
| OpenGL context using WGL as backend. More... | |
| class | InstanceManagerBase |
| Base class for context-aware caching of OpenGL object instances. More... | |
| class | InstanceManager< T > |
| Concrete CRTP class for context-aware caching of OpenGL object instances. More... | |
| class | ContextGLX |
| OpenGL context using GLX as backend. More... | |