Well, I can honestly say that this might be my favourite PR that I've ever seen on GitHub. Well done everyone!
I've been struggling to see the bloom, although to be fair, I struggled to see it on the screenshots in this thread too. But it is indeed there - I eventually managed to wrangle an external camera into a position where I could see a difference toggling bloom on or off.
I'm also super pleased that you've separated out rendering the HUD and the universe into different passes. I think in an ideal world we'd end up with something like
Code: Select all
Render universe -> Iterate through a set of specified PPFX for the universe in a specified order -> Add HUD+GUI -> Iterate through a set of specified PPFX for the final display in a specified order
where the user can apply multiple post-processing effects in a chosen order at both stages, and they can be added by oxp. However, I think that's beyond the scope of this fantastic initial PR, much more complicated, and something that can be investigated later. What we have here is ideal for the moment.
I notice that the addition of the
key_bloom_toggle
in
PlayerEntityKeyMapper.m
is commented out. Presumably it'll be added in when this is merged?
Playing devil's advocate, it might be possible (I have not tested) to add this all without raising the minimum GL version all the way to 3.3, if one uses the older style syntax for MRT, i.e.
Code: Select all
glFragData[0] = out_color
glFragData[1] = bright_color
And then coupling that with only rendering to frame buffers if the user has the valid extension available i.e.
GL_EXT_framebuffer_object
or
GL_ARB_framebuffer_object
. But of course this would lead to multiple code paths, not doing the gamma stuff properly, and generally being more complicated and ugly. I think it's obvious though that I am personally definitely in favour of bringing up the minimum version, and if it
does get raised then there's the opportunity to work through and gradually attempt to bring the rest of the codebase up to the same level.
Anyway, once more, congratulations! It sets up the capability for some very exciting changes in the future!