It's been 6 months and over 100 commits since the last release, which is
definitely an improvement over prior releases. There are several major changes
and additions since the last release both to PortableGL itself and the project
more broadly. I'll try to summarize them below.
PortableGL Library Changes
- Change from runtime to compile time pixel format selection (like TinyGL) which
- ...means PGL supports arbitrary 32- and 16-bit color buffer formats
- Add PGL_D24S8, a combined 24-bit depth/8-stencil format (default)
- Add PGL_D16, which gives separate 16-bit depth and 8-bit stencil
- Add PGL_NO_STENCIL to turn stencil off entirely with PGL_D16
- Add PGL_NO_DEPTH_NO_STENCIL to get have only the color buffer
- Add predefined memory configurations
- Add/Fix default textures (0) so there's one per target
- Add test suites for new configurations
- Add a few new individual tests as well as some fixes to existing tests
- Add some new GL functions, mostly to do with texture parameters
- Add GLSL texelFetch[1-3]D() functions
- Add several pgl extension functions, including some for making rendering to a texture slightly more convenient
- Major refactoring of crsw_math (included in PGL)
- Add a couple more stubs
- Fix many, many bugs and minor issues
PortableGL Project Changes
- Ported the 16 LearningWebGL.com lessons as a nice complete example set
- Completely reorganized the examples folder and rewrote the README to be worthy of the effort involved in the webgl ports, ha
- Many upgrades/changes/fixes to glcommon libraries including...
- ...the aforementioned major rework and refactoring of crsw_math (it is a library on its own, not just part of PGL)
- Update GLM and IMGUI
- Add non-SDL2 sample/starter programs in backends/
- currently 2 variants using x11's xlib
- 2 for win32
Probably more things that I'm forgetting but hopefully that's most of it.
If you'd like to help support PortableGL development or just like shader art, I'm developing a PortableGL based shadertoy application and am launching a crowdfunding campaign next week. Many fixes and additions in this release were made during and for that project which is always fun and rewarding. You can see a video of its current state as of now here
As always, let me know if you run into any bugs or have any other problems or suggestions