1
\$\begingroup\$

I have finally managed to get on screen multiple lights with a deferred renderer, but the result is somehow disappointing. In particular I have severe banding problem

enter image description here

Other than having clear banding for a single light, the seam of overlapping light volumes are in some case disturbing.

Currently my bounding sphere scale is calculated solving the quadratic equation with a min light intensity of 0.01 and using the attenuation terms of each light source (in the screen above, every light have an equivalent volume).

The attenuation in the shader is simply 1 / (const + linear * dist + quadr * dist * dist) . The position is reconstructed from a 32bit depth buffer and the lighting is in view space.

The light passes are blended together with simply

glEnable(GL_BLEND);
glBlendEquation(GL_FUNC_ADD);
glBlendFunc(GL_ONE,GL_ONE);

Is there a way to fix this issue easily?

Thank you!

\$\endgroup\$

Your Answer

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

Browse other questions tagged or ask your own question.