Enable two sided lighting calculations when specular highlight is enabled
This commit is contained in:
parent
dd963990dc
commit
2be37c04fe
1 changed files with 7 additions and 13 deletions
|
@ -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();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue