since 2 months ago
5 of 5
Tip Reveddit Real-Time can notify you when your content is removed.
your account history
Tip Check if your account has any removed comments.
view my removed comments you are viewing a single comment's thread.
view all comments


OpenGL ES is nominally just a subset of a OpenGL version, plus a few specific extensions for mobile/embedded. OpenGL 3.2 and higher is for all intents and purposes "ES 2.0", just that ES 2.0 came out two-ish years sooner as a collected standard of the extensions.
For multithreaded minecraft rendering specifically, I was most involved around the ~2012-2014 era, where there were multiple attempts to replace or rework Optifine. A few of those projects were specifically about moving MC forward to use GL 4.2+ and multiple contexts for async chunk buffer prep. To my understanding they never completed for a combination of reasons:
So outside of some prototype mods I got to use, I am not familiar with any wide releases, but I know much of the efforts didn't quite go to waste and became the Sodium/Modrinth stuff today.
How can Minecraft use OpenGL 4.4? Genuine question. Minecraft runs on MacOS which is stuck on OpenGL 4.1 (due to metal shenanigans). Are they using a translation layer like ANGLE (ANGLE is only OpenGL ES but you get the point)?
I actually have no idea, they updated the OpenGL version a bit ago and I didn't think about it since then
OpenGL since ~1.2? is basically a list of features/extensions in a trench coat.
So you can have a 3.2 GLContext, 4.1, etc, but use optional features. These optional features are what become required in higher versions, such as 4.4
From my understanding, MacOS supports most of 4.4+, but there is a key few extensions they refuse to support (and refuse to add any further new ones) that were mandated in 4.2+.
Minecraft likely just doesn't use those unsupported extensions (yet?) or have them supported/bypassed in software.