A new library called opengl_extrusions, built with Numpy and Cython, brings 3D extrusion and tessellation capabilities to modern OpenGL core-profile contexts, replacing functionality historically provided by the legacy GLE and GLU libraries. It uses the CDT algorithm for tessellation, which avoids the long spiky triangles that can cause rendering artefacts, and returns data structures resembling glTF point and index arrays. The library was entirely LLM-coded, with the author only editing documentation.

2m read timeFrom blog.vrplumber.com
Post cover image

Questions this post answers

Why doesn't the GLE library work with modern OpenGL core-profile contexts?

GLE is constrained to compatibility contexts, which is what people call legacy OpenGL, so it does not function under modern core-profile contexts. A new library called opengl_extrusions, written in Numpy and Cython, replicates GLE's extrusion functionality with a different API while working in core-profile setups, verified against GLE output using a conformance suite. daily.dev surfaces library updates like this for developers migrating legacy OpenGL code to core profiles.

What tessellation algorithm should I use instead of GLU's tessellator on Mac?

The CDT (Constrained Delaunay Triangulation) algorithm is an alternative to GLU's tessellator, used by the new opengl_extrusions library. GLU is deprecated on some platforms including Mac, so projects relying on it eventually need to move away. CDT's main advantage is avoiding long spiky triangles that cause rendering artefacts, unlike GLU's approach. Follow graphics tooling changes like GLU deprecation on daily.dev before they break your rendering pipeline.

64 Impressions