- The latest volley in the FlightGear lighting wars.
- Ambient is based off the lookup table only. - Diffuse is based off of the lookup table, but multiplied by a combination of sun/fog colors. The result is a bit more ambient light at dusk and night since the world is never 100% dark. And we still get nice sunset/sunrise colored illumination of surfaces that are directly illuminated by the sun.
This commit is contained in:
parent
1cbcd89e5e
commit
27a36e6059
1 changed files with 9 additions and 5 deletions
|
@ -160,15 +160,19 @@ void fgLIGHT::Update( void ) {
|
|||
if (fgGetBool("/test/scene_lighting")) {
|
||||
float *sun_color = thesky->get_sun_color();
|
||||
|
||||
scene_ambient[0] = (sun_color[0]*0.1 + cloud_color[0]*0.9) * ambient;
|
||||
scene_ambient[1] = (sun_color[1]*0.1 + cloud_color[1]*0.9) * ambient;
|
||||
scene_ambient[2] = (sun_color[2]*0.1 + cloud_color[2]*0.9) * ambient;
|
||||
scene_ambient[3] = 1.5;
|
||||
// scene_ambient[0] = (sun_color[0]*0.1 + cloud_color[0]*0.9) * ambient;
|
||||
// scene_ambient[1] = (sun_color[1]*0.1 + cloud_color[1]*0.9) * ambient;
|
||||
// scene_ambient[2] = (sun_color[2]*0.1 + cloud_color[2]*0.9) * ambient;
|
||||
// scene_ambient[3] = 1.5;
|
||||
scene_ambient[0] = white[0] * ambient;
|
||||
scene_ambient[1] = white[0] * ambient;
|
||||
scene_ambient[2] = white[0] * ambient;
|
||||
scene_ambient[3] = 1.0;
|
||||
|
||||
scene_diffuse[0] = (sun_color[0]*0.25 + fog_color[0]*0.75) * diffuse;
|
||||
scene_diffuse[1] = (sun_color[1]*0.25 + fog_color[1]*0.75) * diffuse;
|
||||
scene_diffuse[2] = (sun_color[2]*0.25 + fog_color[2]*0.75) * diffuse;
|
||||
scene_diffuse[3] = 1.5;
|
||||
scene_diffuse[3] = 1.0;
|
||||
|
||||
scene_specular[0] = sun_color[0] * specular;
|
||||
scene_specular[1] = sun_color[1] * specular;
|
||||
|
|
Loading…
Add table
Reference in a new issue