Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualTom KQT

Posted 23 May 2013 - 01:29 AM

It's quite weird, but even if you combine full while (0xFFFFFFFF) ambient color with as many directional lights shining at the surface from the same direction as you want, you will never get anything brighter than the original texture color.

 

That's because the operation is a modulation, which is just a multiply. So multiply original color by 1 and you get the original color, anything less and you get a darker color. if you use an additive operation instead, you can exceed the original color, but not exceed 1.0f.

 

If you want to go beyond that you can look at high dynamic range lighting and/or SRGB correction.

Modulation between diffuse color of the light and diffuse color of the material, similarly for ambient etc. Yes, that will never go above 1.

But then the lights are summed together (Ambient Light + Diffuse Light + Specular Light + Emissive Light) and there really must be addition, because with modulation you would get complete black look for any material without emissive color, which is not how it really works. And also - what about multiple lights? Their results also cannot be modulated, they must be added together.

It just seems that FFP is adding the lights together, while never going above 1 (clipping the result to 1). So if one light was enough to get to 1, then all other light sources have no effect.


#1Tom KQT

Posted 23 May 2013 - 01:28 AM

It's quite weird, but even if you combine full while (0xFFFFFFFF) ambient color with as many directional lights shining at the surface from the same direction as you want, you will never get anything brighter than the original texture color.

 

That's because the operation is a modulation, which is just a multiply. So multiply original color by 1 and you get the original color, anything less and you get a darker color. if you use an additive operation instead, you can exceed the original color, but not exceed 1.0f.

 

If you want to go beyond that you can look at high dynamic range lighting and/or SRGB correction.

Modulation between diffuse color of the light and diffuse color of the material, similarly for ambient etc. Yes, that will never go above 1.

But then the lights are summed together (Ambient Light + Diffuse Light + Specular Light + Emissive Light) and there really must be addition, because with modulation you would get complete black look for any material without emissive color, which is not how it really works. And also - what about multiple lights? Their results also cannot be modulated, they must be added together.

It just seems that FFP is adding the light together, while never going above 1. So if one light was enough to get to 1, then all other light sources have no effect.


PARTNERS