HDR rendering in BGE

Is it possible to have HDR rendering(for post process) in BGE? Thanks!:slight_smile:

No, i think currently, there’s no way.

Hm… BGE needs 32-bit float rendering mode. It would give a big graphical improvements(Would add amazing abilities for post-processing. Would also allow to render HDR reflections).

When i researched linear workflow, which blender does by default, i tested, if i could do it manually and got an awful banding. That’s when i found out the usability of this.

I was looking at this too…
The whole image need to be calculated.
The result of the calculated image will be merge/recalculated on the final image.
…maybe it can be done/ported to GPU/Blender https://git.gnome.org/browse/gimp/commit/?id=cf86aeceb3df5592ad18f572ef8675e5d54b974e

Hi! Currently I found one possible way, but it seems very complex to setup:
reducing all the lamp intensity by exact value and multiplying it by exact exprossure in filter. This way emissive objects become high-definition in actual shader. I must actually look at the exact HDR equation.

This way, you might get noticeable colour banding.(especially in the darks)

I have tested only in textured scene. And it looks fine here:)
However, I think that this needs better workflow. We need to have access to any bit depths aswell as a built-in tonemapping function.

OK! A little corrections:
I’ve found out that in scene settings you can disable color management to get the raw image. This is the first step of whole process for HDR.
Than in the scene settings you can set dynamic color range(from 0.2 to 5.0).
Than I use Reinald’s tone mapping in filter to adjust scene. As it’s commonly done, I use 2.2 gamma. The exprossure must propably match the color range(but I’m not sure about it, it can also be adjusted, however, it will be 1:1 brightness in this case).
Now there’s a problem. Current 8-bit integer(32-bit RGBA) color depth is way too low. It results in bandings and other artifacts. It’s due to low color range(24-bit range for the colors which is 16 777 216). This works well when you view the raw HDR(compressed). Of course, it’s DARK at the raw image. However, once I map it to use only specific gamma-adjusted area, it becomes low-quality and looks like a 4-bit image(especially at dark zones). In case if we could render 16-bit float(64-bit RGBA color depth), we would have(48-bit range for colors) 281 474 980 000 000 which is 16 777 216 times more colors than the 8-bit integer. This would result in perfect HDR depth accuracy and allow to do any HDR filtering(e.g. for bloom, atmospheric scattering, even AO(to not to use bright objects for shading). I am sure that it would give a huge graphical boost for BGE if 16-bit float depth was implemented as an option.:slight_smile: