• MorphOS Developer
    Posts: 508 from 2003/4/11
    I just want to give a quick update on what I've been doing so far.

    First, the good news is that in the end I'm gonna be doing more improvements to OpenGL in MorphOS than promised by the bounty. I started looking at implementing the framebuffer object support, and while adding the required changes to the MorphOS header files, I came to the conclusion that the MorphOS OpenGL header files needed an overhaul, and it was better to do it right away rather than after I had already been modifying and updating the header files.

    To update the MorphOS header files, I repurposed the code I wrote to generate the MorphOS OpenGL 2.1 overview to make it automatically generate the OpenGL headers for MorphOS. What this means is that I now have a program where I can simply input which version of OpenGL I want to target, as well as which OpenGL extensions I additionally want to support, and it automatically generates the header files to support all of it. This also means that there's no longer any possibility of errors caused by human error in the standard OpenGL parts of the header files. Furthermore this also means that it will be possible to compile any OpenGL 2.1 (or older) application on MorphOS without having to potentially disable references to things MorphOS doesn't (yet) support. Every single OpenGL 2.1 function will exist in tinygl.library no matter if it's currently supported or not.

    This work also means that I've been busy implementing all the various different variants of standard OpenGL functions that have previously not been supported due to them being rarely, if ever, used. For some existing functions, I've also fixed various bugs I've found while going through the code, and in some cases I've implemented a more standards compliant behaviour.

    All in all, this should make the lives of developers who are creating or porting OpenGL apps on MorphOS easier, which will in the end benefit every MorphOS user. Even if not all of OpenGL 2.1 will be implemented and supported, this work will still bring us a lot closer to that goal than before.

    I also did promise at least one person who contributed to the bounty that I'd implement everything needed for Doom 3, and I realised that support for cube maps had been missing from TinyGL since MorphOS 3.0. I now reimplemented the cube map functionality in TinyGL as well as the R200 driver. Adding cube map support to the R300 driver is still pending, but will be done soon.

    The first project from the actual bounty to be complete will be the framebuffer object support. I think I'll be able to release the first public beta test version of the updated TinyGL and drivers, including the framebuffer object support, in around two weeks' time, but please don't take this as an exact deadline. I will probably also try to make some simple demo application to showcase the functionality, at least if I'm not running late.

    Edit: Also just wanted to mention that I've replied to all emails I've received regarding this bounty. If you've sent me an email and haven't received a reply yet, check and see if it maybe ended up in a spam folder. If it's not there either, send me a message here on MorphZone, and I'll double check on my end :)

    Edit2: Just to avoid confusion, the public beta version I'm referring to above will not have the entire bounty implemented, but only the changes that have been completed till now.

    [ Edited by bigfoot 21.06.2022 - 16:29 ]
    I rarely log in to MorphZone which means that I often miss private messages sent on here. If you wish to contact me, please email me at [username]@asgaard.morphos-team.net, where [username] is my username here on MorphZone.
  • »21.06.22 - 08:46
    Profile Visit Website