Skip to content

Complete rewrite of libGL, now called GLdc

Luke Benstead requested to merge experimental into master

This merge contains a complete rewrite of libGL. It is missing a number of features from the original that still remain to be implemented:

  • Multitexturing
  • Near-Z clipping
  • GL_EXT_framebuffer_object
  • Spotlights
  • Mipmapping

These will be implemented soon, but the library is now at a state that it works for the most part.

The advantages of this version over libGL:

  • Much smaller codebase. Writing some base containers allowed me to remove a lot of code, also immediate mode is implemented entirely on top of glDrawArrays (this needs work) and so there is only one path for vertex submission.
  • Closer to the spec. The gl.h shipped in this library is much closer to a clean gl.h, eventually I hope to replace it entirely with an OpenGL 1.1 header and move everything else out into kosgl.h. Vertex pointers now work as defined in the spec.
  • Better texture format support. There were a large number of bugs in the texture handling of libGL, but also now things work closer to true GL when it come to specifying texture formats.
  • Many bug fixes. Lots and lots of bugs have been fixed during the rewrite, although I'm sure I've introduced more!

Merge request reports