On 22-Jul-05, at 3:47 AM, Lo Saeteurn wrote:
Do anyone know how find how bright a point light is from a certain
distance (both linear and squared)?
Quesa (quite reasonably) uses a simplified GL light model, so the
attenuation factor in Quesa will always be:
LinearAttenuationFactor = 1.0 / Distance
QuadraticAttenuationFactor = 1.0 / Distance^2
The attenuation factor is applied to the RGB component (which is used
for both the diffuse and specular term, simplifying things again).
The RGB component is also scaled by a brightness value, but you also
have to take into account the luminance of the light's colour. To get
a normalized luminance value from an RB Color type, you can use the
following:
Luminance = (R/255)*0.30 + (G/255)*0.59 + (B/255)*0.11
So if my head's screwed on right the brightness at a given distance
from a light should be:
Brightness = (Luminance*(light.Brightness/100)) * AttenuationFactor
You'll have to add the contribution for every light that reaches that
point, and you might also need to consider constant luminance from
directional lights, and the global ambient term.
Frank.
–––––––––––––––––––––––––––––––––
Open Source RB Goodies and Shareware
<http://developer.chaoticbox.com/>
<http://www.chaoticbox.com/>
–––––––––––––––––––––––––––––––––
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
|