-
-
Notifications
You must be signed in to change notification settings - Fork 8
Dropping OpenGL support. #81
Description
Why isn't OpenGL supported?
-
Inefficient Global State Management
OpenGL relies heavily on global state, which makes it difficult to manage efficiently. This design leads to significant performance bottlenecks compared to modern APIs like Vulkan or D3D12, which use explicit state control. -
Lack of True Multi-Threading Support
OpenGL's architecture does not natively support multi-threaded rendering. While there are workarounds (e.g., context sharing), they are cumbersome, error-prone, and often fail to fully utilize modern multi-core CPUs. -
No Native Command Buffer/List Support
Unlike Vulkan or D3D12, OpenGL does not provide a way to record and reuse command buffers or lists. This limitation results in higher CPU overhead and reduced efficiency, especially in scenarios requiring repeated draw calls.