Products · Product
OpenGL
Raised as a usability problem by 44 people on Hacker News over 16 years (2011–2026), in 44 threads.
No issue was raised by at least 3 people in 3 threads this year.
Every issue, all time, most people first
Beginners struggle to debug OpenGL without knowing the right toolsUnreviewed
20112026- Debugging OpenGL programs is very frustrating for beginners without better tooling knowledge2026-07-23
- OpenGL 3 and 4 were disasters, not user-friendly or intuitive to use2025-09-12
- OpenGL API became messy and harder to use after version 2.02025-07-16
Implicit global state makes multithreaded use error-proneUnreviewed
20112026- Uses ancient paradigms confusing for newcomers and hard to multithread2021-11-22
- Implicit global state makes multithreaded use difficult and error-prone for developers2020-09-09
- Internal state model becomes painful once multithreading is involved2011-11-07
Must work around driver bugs and check extensions per GPU and platformUnreviewed
20112026- Cross-platform graphics APIs need driver-specific workarounds, so code paths differ per device2020-01-03
- Developers must work around driver bugs and check extensions across every platform and GPU combination2016-02-16
- Can't trust code works across hardware; extensions cause whack-a-mole bugs2014-05-31
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Hidden global state makes the older API convoluted to understand and teach2026-10-27
- Debugging OpenGL programs is very frustrating for beginners without better tooling knowledge2026-07-23
- Confusing API with many redundant ways to do the same thing2026-07-23
- Binding-based API is very confusing for beginners to learn2026-07-23
- Confusing legacy function names that are easy to mix up, causing mistakes2025-10-11
- Confusing API with hidden pitfalls, like vertex buffer binding captured implicitly by glVertexAttribPointer2025-10-11
- OpenGL 3 and 4 were disasters, not user-friendly or intuitive to use2025-09-12
- OpenGL API became messy and harder to use after version 2.02025-07-16
- Confusing, poorly designed GL features like VAOs feel counterintuitive to newcomers from other 3D APIs2025-07-16
- Page is extremely slow to respond on a powerful desktop2025-03-01
- Managing VAOs and FBOs is confusing, and the stateful model gets hard fast2024-02-15
- API is confusing and gives no error reporting when things go wrong2023-10-11
- Hard to use and harder to debug; performance requires knowing which calls are slow2023-10-10
- Common operations are slow, and optimizing requires undocumented hardware knowledge2023-07-07
- Confusing transform call order, so users guess permutations until things work2023-03-15
- Antiquated API needs many driver workarounds, hurting performance2022-08-22
- Implicit state makes the API harder to reason about than Vulkan2022-03-07
- Never built a mental model, so VAO vs VBO difference was incomprehensible2021-11-24
- Uses ancient paradigms confusing for newcomers and hard to multithread2021-11-22
- Stateful architecture makes it nearly impossible to use correctly2021-10-03
- Forgetting to unbind buffers or shaders from global state causes bugs2021-07-21
- Implicit global mutable state like the matrix stack is deeply confusing to use2021-07-21
- No way to query the command buffer size, so the limit can't be detected and the driver crashes2020-12-26
- Beginners find it monumentally frustrating to get even a simple rectangle drawn2020-12-01
- Implicit global state makes multithreaded use difficult and error-prone for developers2020-09-09
- Extension system is a huge mess and horrible for developers to work with2020-07-18
- Many ways to do the same task, some slow, with weird function names2020-05-06
- Cross-platform graphics APIs need driver-specific workarounds, so code paths differ per device2020-01-03
- Hard to figure out the correct, modern way to do things2018-06-09
- Impossible to figure out the correct modern way to do things2018-06-09
- Writing a basic textured triangle with non-deprecated OpenGL is very hard to get started with2018-06-05
- Docs are hard for beginners; function names like 'bind' go unexplained2018-06-02
- Too many ways to do simple things, forcing engines to support many methods2018-03-08
- Implicit global state makes code hard to work with, since you must always track current state2017-07-26
- Implicit state and defaults make OpenGL error-prone and hard to build on beyond hello world2017-07-26
- Hidden global state makes the API hard to understand2017-07-16
- OpenGL's state machine logic is hard for developers to debug2017-02-07
- Silent failures with no errors; hard to debug missing state bindings2016-05-03
- Developers must work around driver bugs and check extensions across every platform and GPU combination2016-02-16
- Dark theme resets to light on each page load, then flashes to dark2015-06-19
- Reader is left wondering when and why to use glBindTexture2015-06-19
- Lots of tedious state management and shader boilerplate code slows getting to working results2015-03-13
- OpenGL debugging on Windows is a horror show compared to DirectX tools2015-03-12
- Very low-level, hard for newcomers to get started2015-01-15
- Silently ignores bad parameters, so errors surface far away and error messages don't say what failed2014-09-21
- Fast paths are not obvious; binding state and overloaded parameters cause subtle errors2014-08-11
- Can't trust code works across hardware; extensions cause whack-a-mole bugs2014-05-31
- Simple tasks need many API calls, with little abstraction2014-05-14
- Steep, worsening learning curve for beginners learning the API2014-05-14
- Each new OpenGL version makes beginner Hello World much harder to learn2014-05-14