0
\$\begingroup\$

I've been reading a lot about HDR techniques and came across Alpha Blending compatibility. Searched even more and found this snippet from the Ogre Forums:

With source alpha blending, it sometimes looks ok provided the range differences aren't too high, but most other blend modes fail completely, particularly add. You really have to do your own separate composition in another fragment shader targetting a second texture and pulling the 'background' values in so you can do accurate blending, rather than render the transparent effects into the same original surface.

Why is alpha blending an issue when it comes to rendering HDR (values above 1.0) in 16FP FrameBuffers?

\$\endgroup\$
2
\$\begingroup\$

The source post says it all.

http://www.ogre3d.org/forums/viewtopic.php?f=5&t=41811

Blending in fake HDR is tough, because the frame buffer blend cannot cater for the exponent you're storing in the alpha channel

Fake HDR, exponent, alpha channel. It only matters for a specific HDR format where, as mentioned above, ..

"Fake" HDR, where the alpha channel is used as a scalar/exponent value to simulate high dynamic range

So alpha blending is not the issue. The issue is that a color surface is used for unintended purposes and only in that case, alpha blending fails.

\$\endgroup\$
2
  • \$\begingroup\$ I am not using the alpha channel for color multiplication, instead a factor is used only on a fragments RGB, alpha is intact. \$\endgroup\$ – Cristina Oct 2 '14 at 11:51
  • \$\begingroup\$ For alpha blending, alpha is necessary for the factor because there's no other way to multiply it to the destination color. But there's nothing to worry about with FP16 framebuffers. \$\endgroup\$ – snake5 Oct 2 '14 at 11:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.