Releases: rswinkle/PortableGL
0.99.0
Once again it's been well over a year (and 66 commits) since the last official PortableGL release. There's no particular reason for me to create this release now other than that. There have been a few important changes since 0.98.0, but hopefully most people have already been using the latest version rather than the last tagged release.
In rough order of most noteworthy to least, here are some changes that I noticed glancing over the log:
- Add PGL_UNSAFE macro that removes all error checking if defined (portablegl_unsafe.h removed as no longer necessary).
- Add glDebugMessageCallback(). Default messages output by default when PGL_UNSAFE is not defined; basically PGL is in a "debug context" by default.
- Add glColorMask() along with disabling macro PGL_DISABLE_COLOR_MASK
- Added a few other gl functions
- Add PGLDEF macro to allow for user defined prototype attributes (static, extern, __declspec(dllexport) etc)
- Remove a bunch of compiler warnings
- Use GL types more consistently in public APIs
- Add more stub functions
- Minor fixes/typos
- Added documentation
This should also help people using clib/homebrew who probably default to grabbing the latest release rather than the HEAD. I also wanted to get this out now because I want to make some more serious changes later and wanted a good cut off point. As always, let me know if you run into any bugs or problems, thanks.
0.98.0
Well it's been over 14 months since 0.97.1 and a lot has happened with PortableGL in that time. Out of 177 commits, here are the highlights of changes/improvements:
- New standard shader library for convenience in common use cases. See ex1_std_shaders.c and ex2_std_shaders.c
- Support other texture formats (besides RGBA) by automatically converting them (configurable
- Support other vertex attribute types besides float (everything but double currently).
- New and improved wide line algorithm (AA lines aka GL_LINE_SMOOTH is still a TODO though)
- Early Z and Stencil testing when the fragment shader doesn't modify Z or discard any pixels
- Several API and quality of life improvements/conveniences
- Improved documentation (always more to do of course)
- Many more OpenGL functions and features supported including many OpenGL ES 2/3 features.
- Many many more regression tests, as well as new performance tests.
- Many many bug fixes and minor improvements/code cleanup (always more to do)
Thanks to Aeronix for sponsoring a huge chunk of those changes in Sep-Oct '23.