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 );
|
glLightModelfv( GL_LIGHT_MODEL_AMBIENT, black );
|
||||||
glLightModeli( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_FALSE );
|
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 );
|
ssgGetLight( 0 ) -> setColour( GL_AMBIENT, l->scene_ambient );
|
||||||
|
|
||||||
// texture parameters
|
// texture parameters
|
||||||
|
@ -615,13 +609,6 @@ void fgRenderFrame() {
|
||||||
// a completely dark scene. So, we set GL_LIGHT_MODEL_AMBIENT
|
// a completely dark scene. So, we set GL_LIGHT_MODEL_AMBIENT
|
||||||
// explicitely to black.
|
// explicitely to black.
|
||||||
glLightModelfv( GL_LIGHT_MODEL_AMBIENT, 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_AMBIENT, l->scene_ambient );
|
||||||
ssgGetLight( 0 ) -> setColour( GL_DIFFUSE, l->scene_diffuse );
|
ssgGetLight( 0 ) -> setColour( GL_DIFFUSE, l->scene_diffuse );
|
||||||
|
@ -1302,6 +1289,13 @@ static void fgMainLoop( void ) {
|
||||||
|
|
||||||
// END Tile Manager udpates
|
// 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
|
// redraw display
|
||||||
fgRenderFrame();
|
fgRenderFrame();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue