1
0
Fork 0

Enable two sided lighting calculations when specular highlight is enabled

This commit is contained in:
ehofman 2003-09-13 09:27:50 +00:00
parent dd963990dc
commit 2be37c04fe

View file

@ -333,12 +333,6 @@ void trRenderFrame( void ) {
glLightModelfv( GL_LIGHT_MODEL_AMBIENT, black );
glLightModeli( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_FALSE );
if (fgGetBool("/sim/rendering/specular-highlight")) {
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
} else {
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SINGLE_COLOR);
}
ssgGetLight( 0 ) -> setColour( GL_AMBIENT, l->scene_ambient );
// texture parameters
@ -615,13 +609,6 @@ void fgRenderFrame() {
// a completely dark scene. So, we set GL_LIGHT_MODEL_AMBIENT
// explicitely to black.
glLightModelfv( GL_LIGHT_MODEL_AMBIENT, black );
if (fgGetBool("/sim/rendering/specular-highlight")) {
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,
GL_SEPARATE_SPECULAR_COLOR);
} else {
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,
GL_SINGLE_COLOR);
}
ssgGetLight( 0 ) -> setColour( GL_AMBIENT, l->scene_ambient );
ssgGetLight( 0 ) -> setColour( GL_DIFFUSE, l->scene_diffuse );
@ -1302,6 +1289,13 @@ static void fgMainLoop( void ) {
// END Tile Manager udpates
if (fgGetBool("/sim/rendering/specular-highlight")) {
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
} else {
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SINGLE_COLOR);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_FALSE);
}
// redraw display
fgRenderFrame();