Current version as of this writing is 0.9/1.0rc
See also ReleaseProcess for how to perform a release of Saffron.
Version 1.1 will mostly be focused on finishing and integrating support for OpenGL 4 and the software renderer
Version 1.2 should be focused primarily on support work needed for further platforms. The only current saffron_window implementation uses Glow, which is designed for desktop usage. This will not work well on OS X or Android where graphics are run using a delegate model. For that, an asynchronous, lambda-based windowing module will need to be written. As a baseline, this should also work with GLFW, which can be used from C or Java (using lwjgl).
Version 1.3 is intended to include the unified shader language from version 2.1, but backported to the 1.x API. Additionally, any fixes/improvements that can be taken from 2.0 and 2.1 that are not dependent on moving the GL module out of the saffron module may be backported to 1.3
API-breaking changes are being pushed out to version 2.0. Not all platforms will have full OpenGL 2 (for instance, Android/iOS which use GL ES/Vulkan/Metal, etc), or it might be undesirable to link to OpenGL at all times. Eventually a DirectX backend should also be implemented. For these reasons, the OpenGL implementation should not be a submodule of saffron itself, but work similar to the saffron_window module. This will also be the final change needed for
With OpenGL out of the core, a shared shader frontend will be even more important. We already have well-tested libraries for parsing in Mercury, and compiling to GLSL and HLSL should not be too difficult. Ideally we want a full pipeline to compile to HLSL ASM and SPIRV+GLSL, but SPIRV in particular should not be depended on to exist, and the source-to-source translators will be an easier intermediate step for prototyping the language.
[PageInfo]
LastUpdate: 2023-05-27 11:33:00, ModifiedBy: alaskanemily
[Permissions]
view:all, edit:admins, delete/config:admins