1
0
Fork 0

Minor fiddling with material properties *trying* to chase down a visual bug

where the scene get's brighter or dimmer depending on whether or not the sun
or moon is in the field of view.
This commit is contained in:
curt 2000-06-01 21:14:06 +00:00
parent 6cb91111d8
commit a371fe4e6d
2 changed files with 14 additions and 9 deletions

View file

@ -200,11 +200,13 @@ void fgBuildRenderStates( void ) {
default_state = new ssgSimpleState; default_state = new ssgSimpleState;
default_state->disable( GL_TEXTURE_2D ); default_state->disable( GL_TEXTURE_2D );
default_state->enable( GL_CULL_FACE ); default_state->enable( GL_CULL_FACE );
default_state->disable( GL_COLOR_MATERIAL ); default_state->enable( GL_COLOR_MATERIAL );
default_state->setColourMaterial( GL_AMBIENT_AND_DIFFUSE );
default_state->setMaterial( GL_EMISSION, 0, 0, 0, 1 );
default_state->setMaterial( GL_SPECULAR, 0, 0, 0, 1 );
default_state->disable( GL_BLEND ); default_state->disable( GL_BLEND );
default_state->disable( GL_ALPHA_TEST ); default_state->disable( GL_ALPHA_TEST );
default_state->disable( GL_LIGHTING ); default_state->disable( GL_LIGHTING );
default_state->setMaterial( GL_AMBIENT_AND_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
hud_and_panel = new ssgSimpleState; hud_and_panel = new ssgSimpleState;
hud_and_panel->disable( GL_CULL_FACE ); hud_and_panel->disable( GL_CULL_FACE );
@ -620,12 +622,14 @@ void fgRenderFrame( void ) {
global_tile_mgr.prep_ssg_nodes(); global_tile_mgr.prep_ssg_nodes();
// force the default state so ssg can get back on track if // force the default state so ssg can get back on track if
// we've changed things elsewhere // we've changed things elsewhere (this is now handled
FGMaterialSlot m_slot; // differently)
FGMaterialSlot *m_ptr = &m_slot; //
if ( material_mgr.find( "Default", m_ptr ) ) { // FGMaterialSlot m_slot;
m_ptr->get_state()->force(); // FGMaterialSlot *m_ptr = &m_slot;
} // if ( material_mgr.find( "Default", m_ptr ) ) {
// m_ptr->get_state()->force();
// }
// draw the ssg scene // draw the ssg scene
ssgCullAndDraw( scene ); ssgCullAndDraw( scene );

View file

@ -204,7 +204,8 @@ fgMATERIAL_MGR::load_lib ( void )
textured->setTexture( (char *)tex_file.c_str() ); textured->setTexture( (char *)tex_file.c_str() );
textured->enable( GL_COLOR_MATERIAL ); textured->enable( GL_COLOR_MATERIAL );
textured->setColourMaterial( GL_AMBIENT_AND_DIFFUSE ); textured->setColourMaterial( GL_AMBIENT_AND_DIFFUSE );
textured->setMaterial( GL_SPECULAR, 0.0, 0.0, 0.0, 1.0 ); textured->setMaterial( GL_EMISSION, 0, 0, 0, 1 );
textured->setMaterial( GL_SPECULAR, 0, 0, 0, 1 );
// Set up the coloured state // Set up the coloured state
nontextured->enable( GL_LIGHTING ); nontextured->enable( GL_LIGHTING );