- // hard coded ground light state
- ssgSimpleState *gnd_lights = new ssgSimpleState;
- gnd_lights->disable( GL_TEXTURE_2D );
- gnd_lights->enable( GL_CULL_FACE );
- gnd_lights->enable( GL_COLOR_MATERIAL );
- gnd_lights->setColourMaterial( GL_AMBIENT_AND_DIFFUSE );
- gnd_lights->setMaterial( GL_EMISSION, 0, 0, 0, 1 );
- gnd_lights->setMaterial( GL_SPECULAR, 0, 0, 0, 1 );
- gnd_lights->enable( GL_BLEND );
- gnd_lights->disable( GL_ALPHA_TEST );
- gnd_lights->disable( GL_LIGHTING );
- m = new SGMaterial( gnd_lights );
- m->add_name("GROUND_LIGHTS");
- matlib["GROUND_LIGHTS"] = m;
-
- GLuint tex_name;
-
- // hard coded runway white light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 235, 195, 255 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 235, 195, 255 );
- }
- ssgSimpleState *rwy_white_lights = new ssgSimpleState();
- rwy_white_lights->disable( GL_LIGHTING );
- rwy_white_lights->enable ( GL_CULL_FACE ) ;
- rwy_white_lights->enable( GL_TEXTURE_2D );
- rwy_white_lights->enable( GL_BLEND );
- rwy_white_lights->enable( GL_ALPHA_TEST );
- rwy_white_lights->enable( GL_COLOR_MATERIAL );
- rwy_white_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_white_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_white_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_white_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_white_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_white_lights );
- m->add_name("RWY_WHITE_LIGHTS");
- matlib["RWY_WHITE_LIGHTS"] = m;
- // For backwards compatibility ... remove someday
- m->add_name("RUNWAY_LIGHTS");
- matlib["RUNWAY_LIGHTS"] = m;
- m->add_name("RWY_LIGHTS");
- matlib["RWY_LIGHTS"] = m;
- // end of backwards compatitibilty
-
- // hard coded runway medium intensity white light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 235, 195, 205 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 235, 195, 205 );
- }
- ssgSimpleState *rwy_white_medium_lights = new ssgSimpleState();
- rwy_white_medium_lights->disable( GL_LIGHTING );
- rwy_white_medium_lights->enable ( GL_CULL_FACE ) ;
- rwy_white_medium_lights->enable( GL_TEXTURE_2D );
- rwy_white_medium_lights->enable( GL_BLEND );
- rwy_white_medium_lights->enable( GL_ALPHA_TEST );
- rwy_white_medium_lights->enable( GL_COLOR_MATERIAL );
- rwy_white_medium_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_white_medium_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_white_medium_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_white_medium_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_white_medium_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_white_medium_lights );
- m->add_name("RWY_WHITE_MEDIUM_LIGHTS");
- matlib["RWY_WHITE_MEDIUM_LIGHTS"] = m;
-
- // hard coded runway low intensity white light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 235, 195, 155 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 235, 195, 155 );
- }
- ssgSimpleState *rwy_white_low_lights = new ssgSimpleState();
- rwy_white_low_lights->disable( GL_LIGHTING );
- rwy_white_low_lights->enable ( GL_CULL_FACE ) ;
- rwy_white_low_lights->enable( GL_TEXTURE_2D );
- rwy_white_low_lights->enable( GL_BLEND );
- rwy_white_low_lights->enable( GL_ALPHA_TEST );
- rwy_white_low_lights->enable( GL_COLOR_MATERIAL );
- rwy_white_low_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_white_low_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_white_low_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_white_low_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_white_low_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_white_low_lights );
- m->add_name("RWY_WHITE_LOW_LIGHTS");
- matlib["RWY_WHITE_LOW_LIGHTS"] = m;
-
- // hard coded runway yellow light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 215, 20, 255 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 215, 20, 255 );
- }
- ssgSimpleState *rwy_yellow_lights = new ssgSimpleState();
- rwy_yellow_lights->disable( GL_LIGHTING );
- rwy_yellow_lights->enable ( GL_CULL_FACE ) ;
- rwy_yellow_lights->enable( GL_TEXTURE_2D );
- rwy_yellow_lights->enable( GL_BLEND );
- rwy_yellow_lights->enable( GL_ALPHA_TEST );
- rwy_yellow_lights->enable( GL_COLOR_MATERIAL );
- rwy_yellow_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_yellow_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_yellow_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_yellow_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_yellow_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_yellow_lights );
- m->add_name("RWY_YELLOW_LIGHTS");
- matlib["RWY_YELLOW_LIGHTS"] = m;
-
- // hard coded runway medium intensity yellow light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 215, 20, 205 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 215, 20, 205 );
- }
- ssgSimpleState *rwy_yellow_medium_lights = new ssgSimpleState();
- rwy_yellow_medium_lights->disable( GL_LIGHTING );
- rwy_yellow_medium_lights->enable ( GL_CULL_FACE ) ;
- rwy_yellow_medium_lights->enable( GL_TEXTURE_2D );
- rwy_yellow_medium_lights->enable( GL_BLEND );
- rwy_yellow_medium_lights->enable( GL_ALPHA_TEST );
- rwy_yellow_medium_lights->enable( GL_COLOR_MATERIAL );
- rwy_yellow_medium_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_yellow_medium_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_yellow_medium_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_yellow_medium_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_yellow_medium_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_yellow_medium_lights );
- m->add_name("RWY_YELLOW_MEDIUM_LIGHTS");
- matlib["RWY_YELLOW_MEDIUM_LIGHTS"] = m;
-
- // hard coded runway low intensity yellow light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 215, 20, 155 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 215, 20, 155 );
- }
- ssgSimpleState *rwy_yellow_low_lights = new ssgSimpleState();
- rwy_yellow_low_lights->disable( GL_LIGHTING );
- rwy_yellow_low_lights->enable ( GL_CULL_FACE ) ;
- rwy_yellow_low_lights->enable( GL_TEXTURE_2D );
- rwy_yellow_low_lights->enable( GL_BLEND );
- rwy_yellow_low_lights->enable( GL_ALPHA_TEST );
- rwy_yellow_low_lights->enable( GL_COLOR_MATERIAL );
- rwy_yellow_low_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_yellow_low_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_yellow_low_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_yellow_low_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_yellow_low_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_yellow_low_lights );
- m->add_name("RWY_YELLOW_LOW_LIGHTS");
- matlib["RWY_YELLOW_LOW_LIGHTS"] = m;
-
- // hard coded runway red light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 90, 90, 255 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 90, 90, 255 );
- }
- ssgSimpleState *rwy_red_lights = new ssgSimpleState();
- rwy_red_lights->disable( GL_LIGHTING );
- rwy_red_lights->enable ( GL_CULL_FACE ) ;
- rwy_red_lights->enable( GL_TEXTURE_2D );
- rwy_red_lights->enable( GL_BLEND );
- rwy_red_lights->enable( GL_ALPHA_TEST );
- rwy_red_lights->enable( GL_COLOR_MATERIAL );
- rwy_red_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_red_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_red_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_red_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_red_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_red_lights );
- m->add_name("RWY_RED_LIGHTS");
- matlib["RWY_RED_LIGHTS"] = m;
-
- // hard coded medium intensity runway red light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 90, 90, 205 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 90, 90, 205 );
- }
- ssgSimpleState *rwy_red_medium_lights = new ssgSimpleState();
- rwy_red_medium_lights->disable( GL_LIGHTING );
- rwy_red_medium_lights->enable ( GL_CULL_FACE ) ;
- rwy_red_medium_lights->enable( GL_TEXTURE_2D );
- rwy_red_medium_lights->enable( GL_BLEND );
- rwy_red_medium_lights->enable( GL_ALPHA_TEST );
- rwy_red_medium_lights->enable( GL_COLOR_MATERIAL );
- rwy_red_medium_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_red_medium_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_red_medium_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_red_medium_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_red_medium_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_red_medium_lights );
- m->add_name("RWY_RED_MEDIUM_LIGHTS");
- matlib["RWY_RED_MEDIUM_LIGHTS"] = m;
-
- // hard coded low intensity runway red light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 90, 90, 155 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 90, 90, 155 );
- }
- ssgSimpleState *rwy_red_low_lights = new ssgSimpleState();
- rwy_red_low_lights->disable( GL_LIGHTING );
- rwy_red_low_lights->enable ( GL_CULL_FACE ) ;
- rwy_red_low_lights->enable( GL_TEXTURE_2D );
- rwy_red_low_lights->enable( GL_BLEND );
- rwy_red_low_lights->enable( GL_ALPHA_TEST );
- rwy_red_low_lights->enable( GL_COLOR_MATERIAL );
- rwy_red_low_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_red_low_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_red_low_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_red_low_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_red_low_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_red_low_lights );
- m->add_name("RWY_RED_LOW_LIGHTS");
- matlib["RWY_RED_LOW_LIGHTS"] = m;
-
- // hard coded runway green light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 20, 235, 20, 255 );
- } else {
- tex_name = gen_standard_dir_light_map( 20, 235, 20, 255 );
- }
- ssgSimpleState *rwy_green_lights = new ssgSimpleState();
- rwy_green_lights->disable( GL_LIGHTING );
- rwy_green_lights->enable ( GL_CULL_FACE ) ;
- rwy_green_lights->enable( GL_TEXTURE_2D );
- rwy_green_lights->enable( GL_BLEND );
- rwy_green_lights->enable( GL_ALPHA_TEST );
- rwy_green_lights->enable( GL_COLOR_MATERIAL );
- rwy_green_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_green_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_green_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_green_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_green_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_green_lights );
- m->add_name("RWY_GREEN_LIGHTS");
- matlib["RWY_GREEN_LIGHTS"] = m;
-
- // hard coded medium intensity runway green light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 20, 235, 20, 205 );
- } else {
- tex_name = gen_standard_dir_light_map( 20, 235, 20, 205 );
- }
- ssgSimpleState *rwy_green_medium_lights = new ssgSimpleState();
- rwy_green_medium_lights->disable( GL_LIGHTING );
- rwy_green_medium_lights->enable ( GL_CULL_FACE ) ;
- rwy_green_medium_lights->enable( GL_TEXTURE_2D );
- rwy_green_medium_lights->enable( GL_BLEND );
- rwy_green_medium_lights->enable( GL_ALPHA_TEST );
- rwy_green_medium_lights->enable( GL_COLOR_MATERIAL );
- rwy_green_medium_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_green_medium_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_green_medium_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_green_medium_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_green_medium_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_green_medium_lights );
- m->add_name("RWY_GREEN_MEDIUM_LIGHTS");
- matlib["RWY_GREEN_MEDIUM_LIGHTS"] = m;
-
- // hard coded low intensity runway green light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 20, 235, 20, 155 );
- } else {
- tex_name = gen_standard_dir_light_map( 20, 235, 20, 155 );
- }
- ssgSimpleState *rwy_green_low_lights = new ssgSimpleState();
- rwy_green_low_lights->disable( GL_LIGHTING );
- rwy_green_low_lights->enable ( GL_CULL_FACE ) ;
- rwy_green_low_lights->enable( GL_TEXTURE_2D );
- rwy_green_low_lights->enable( GL_BLEND );
- rwy_green_low_lights->enable( GL_ALPHA_TEST );
- rwy_green_low_lights->enable( GL_COLOR_MATERIAL );
- rwy_green_low_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_green_low_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_green_low_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_green_low_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- rwy_green_low_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_green_low_lights );
- m->add_name("RWY_GREEN_LOW_LIGHTS");
- matlib["RWY_GREEN_LOW_LIGHTS"] = m;
- m->add_name("RWY_GREEN_TAXIWAY_LIGHTS");
- matlib["RWY_GREEN_TAXIWAY_LIGHTS"] = m;
-
- // hard coded low intensity taxiway blue light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 90, 90, 235, 205 );
- } else {
- tex_name = gen_taxiway_dir_light_map( 90, 90, 235, 205 );
- }
- ssgSimpleState *taxiway_blue_low_lights = new ssgSimpleState();
- taxiway_blue_low_lights->disable( GL_LIGHTING );
- taxiway_blue_low_lights->enable ( GL_CULL_FACE ) ;
- taxiway_blue_low_lights->enable( GL_TEXTURE_2D );
- taxiway_blue_low_lights->enable( GL_BLEND );
- taxiway_blue_low_lights->enable( GL_ALPHA_TEST );
- taxiway_blue_low_lights->enable( GL_COLOR_MATERIAL );
- taxiway_blue_low_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- taxiway_blue_low_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- taxiway_blue_low_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- taxiway_blue_low_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- taxiway_blue_low_lights->setTexture( tex_name );
- m = new SGMaterial( taxiway_blue_low_lights );
- m->add_name("RWY_BLUE_TAXIWAY_LIGHTS");
- matlib["RWY_BLUE_TAXIWAY_LIGHTS"] = m;
-
- // hard coded runway vasi light state
- if ( sprite_lighting ) {
- tex_name = gen_standard_light_sprite( 235, 235, 195, 255 );
- } else {
- tex_name = gen_standard_dir_light_map( 235, 235, 195, 255 );
- }
- ssgSimpleState *rwy_vasi_lights = new ssgSimpleState();
- rwy_vasi_lights->disable( GL_LIGHTING );
- rwy_vasi_lights->enable ( GL_CULL_FACE ) ;
- rwy_vasi_lights->enable( GL_TEXTURE_2D );
- rwy_vasi_lights->enable( GL_BLEND );
- rwy_vasi_lights->enable( GL_ALPHA_TEST );
- rwy_vasi_lights->enable( GL_COLOR_MATERIAL );
- rwy_vasi_lights->setMaterial ( GL_AMBIENT, 1.0, 1.0, 1.0, 1.0 );
- rwy_vasi_lights->setMaterial ( GL_DIFFUSE, 1.0, 1.0, 1.0, 1.0 );
- rwy_vasi_lights->setMaterial ( GL_SPECULAR, 0.0, 0.0, 0.0, 0.0 );
- rwy_vasi_lights->setMaterial ( GL_EMISSION, 0.0, 0.0, 0.0, 0.0 );
- // rwy_vasi_lights->setTexture( gen_vasi_light_map_old() );
- rwy_vasi_lights->setTexture( tex_name );
- m = new SGMaterial( rwy_vasi_lights );
- m->add_name("RWY_VASI_LIGHTS");
- matlib["RWY_VASI_LIGHTS"] = m;
-