From: curt Date: Wed, 11 Aug 1999 16:52:15 +0000 (+0000) Subject: Updates to material properties so --disable-textures now works, although X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=afe8cc4d269445b7c9763f06b46a7493d222ef4a;p=flightgear.git Updates to material properties so --disable-textures now works, although textures still cannot be toggled on and off with F9 while the sim is running. --- diff --git a/src/Objects/fragment.hxx b/src/Objects/fragment.hxx index cd631420f..14809a393 100644 --- a/src/Objects/fragment.hxx +++ b/src/Objects/fragment.hxx @@ -45,7 +45,6 @@ #include #include -#include #include FG_USING_STD(vector); diff --git a/src/Objects/materialmgr.cxx b/src/Objects/materialmgr.cxx index 30495b8f2..90b007636 100644 --- a/src/Objects/materialmgr.cxx +++ b/src/Objects/materialmgr.cxx @@ -178,12 +178,28 @@ fgMATERIAL_MGR::load_lib ( void ) tex_file.concat( ".rgb" ); ssgSimpleState *state = new ssgSimpleState; - state->setTexture( tex_file.c_str() ); - state->enable( GL_TEXTURE_2D ); state->enable( GL_LIGHTING ); state->setShadeModel( GL_SMOOTH ); state->enable ( GL_CULL_FACE ) ; - state->setMaterial ( GL_AMBIENT_AND_DIFFUSE, 1, 1, 1, 1 ) ; + if ( current_options.get_textures() ) { + state->enable( GL_TEXTURE_2D ); + state->setTexture( tex_file.c_str() ); + state->setMaterial ( GL_AMBIENT_AND_DIFFUSE, 1, 1, 1, 1 ) ; + } else { + state->disable( GL_TEXTURE_2D ); + state->disable( GL_COLOR_MATERIAL ); + GLfloat *ambient, *diffuse; + ambient = m.get_ambient(); + diffuse = m.get_diffuse(); + /* cout << "ambient = " << ambient[0] << "," << ambient[1] + << "," << ambient[2] << endl; */ + state->setMaterial ( GL_AMBIENT, + ambient[0], ambient[1], + ambient[2], ambient[3] ) ; + state->setMaterial ( GL_DIFFUSE, + diffuse[0], diffuse[1], + diffuse[2], diffuse[3] ) ; + } m_slot.set_state( state ); material_mgr.material_map[material_name] = m_slot;