OpenGL: Mesh shaders in the current year

Minecraft and Why Mesh Shaders Matter for OpenGL

  • Minecraft is repeatedly mentioned because a popular mod uses GL_NV_mesh_shader on NVIDIA; the new cross‑vendor GL_EXT_mesh_shader would let AMD/others run similar mods.
  • Minecraft is cited as one of the few large real‑world apps still using desktop OpenGL heavily, making new GL extensions practically relevant there.
  • The mod in question does GPU‑driven culling and generates terrain triangles via mesh shaders, significantly cutting vertex size and draw overhead versus vanilla.

State of OpenGL vs Vulkan/Metal/WebGPU

  • Many assume OpenGL is “dead,” but comments note:
    • No new core spec since 4.6 (2017), yet implementations (e.g., Mesa) are still actively maintained.
    • It remains widely deployed for legacy CAD, older games, and as WebGL in browsers.
  • Vulkan is viewed as the official successor in spirit (“OpenGL Next”), but its verbosity and complexity are a recurring complaint, especially from hobbyists.
  • Some argue Vulkan 1.3/1.4 plus newer extensions have reduced boilerplate and are now “lean and mean”; others say it still forces “maximum complexity” and effectively ties you to vendor quirks and extension hell.
  • Metal is praised for offering both a simple “default device” path and more advanced control, but also criticized for heavy OO overhead.
  • WebGPU is seen as conceptually cleaner than WebGL but feature‑poor and lagging hardware capabilities, with little incentive for existing WebGL apps to port.

Mesh Shaders and Related Techniques

  • Mesh shaders are framed as a more flexible, compute‑like replacement for the traditional vertex/geometry/tessellation stages, operating on “meshlets” for better culling and generation.
  • Current main benefit: fine‑grained GPU culling and bandwidth savings, especially for dense or voxel/voxel‑like scenes.
  • Discussion touches on older OpenGL features like NV_shader_buffer_load/buffer device addresses, which enable pointer‑style access to vertex data and very large single‑draw workflows; some lament lack of cross‑vendor support.

OpenGL API Ergonomics and Longevity

  • One camp calls OpenGL a pleasant, medium‑level, cross‑platform API; another highlights decades of “sediment layers” and footguns (global state, confusing functions like glVertexAttribPointer).
  • There is cautious optimism that GL will persist (often implemented over Vulkan via projects like Zink), even if no major new core versions appear.