X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fscene%2Fmaterial%2Fmatlib.cxx;h=5ce238b5355da1c6f0407c8102a34e777579547c;hb=21c64dd60fbecf31eb2ccbf99b8fcbfde8892d14;hp=2165153d584d1c9ba625ab1a191fdd2678ada42f;hpb=8361069344a6c304765df8a7545c01364fe4897f;p=simgear.git diff --git a/simgear/scene/material/matlib.cxx b/simgear/scene/material/matlib.cxx index 2165153d..5ce238b5 100644 --- a/simgear/scene/material/matlib.cxx +++ b/simgear/scene/material/matlib.cxx @@ -2,7 +2,7 @@ // // Written by Curtis Olson, started May 1998. // -// Copyright (C) 1998 Curtis L. Olson - curt@me.umn.edu +// Copyright (C) 1998 Curtis L. Olson - http://www.flightgear.org/~curt // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License as @@ -33,12 +33,12 @@ # include #endif -#include - #include #include #include +#include SG_GL_H + #include #include STL_STRING @@ -174,58 +174,8 @@ static int gen_taxiway_dir_light_map( int r, int g, int b, int alpha ) { } -// generate the directional vasi light environment texture map -static int gen_vasi_light_map_old() { - const int env_tex_res = 256; - int half_res = env_tex_res / 2; - - static unsigned char env_map[env_tex_res][env_tex_res][4]; - GLuint tex_name; - - for ( int i = 0; i < env_tex_res; ++i ) { - for ( int j = 0; j < env_tex_res; ++j ) { - double x = (i - half_res) / (double)half_res; - double y = (j - half_res) / (double)half_res; - double dist = sqrt(x*x + y*y); - if ( dist > 1.0 ) { dist = 1.0; } - double bright = cos( dist * SGD_PI_2 ); - - // top half white, bottom half red - env_map[i][j][0] = 255; - if ( i > half_res ) { - // white - env_map[i][j][1] = 255; - env_map[i][j][2] = 255; - } else if ( i == half_res - 1 || i == half_res ) { - // pink - env_map[i][j][1] = 127; - env_map[i][j][2] = 127; - } else { - // red - env_map[i][j][1] = 0; - env_map[i][j][2] = 0; - } - env_map[i][j][3] = (int)(bright * 255); - } - } - - glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); - glGenTextures( 1, &tex_name ); - glBindTexture( GL_TEXTURE_2D, tex_name ); - - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP ); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP ); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); - glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, env_tex_res, env_tex_res, 0, - GL_RGBA, GL_UNSIGNED_BYTE, env_map); - - return tex_name; -} - - // Load a library of material properties -bool SGMaterialLib::load( const string &fg_root, const string& mpath ) { +bool SGMaterialLib::load( const string &fg_root, const string& mpath, const char *season ) { SGPropertyNode materials; @@ -242,7 +192,7 @@ bool SGMaterialLib::load( const string &fg_root, const string& mpath ) { for (int i = 0; i < nMaterials; i++) { const SGPropertyNode * node = materials.getChild(i); if (!strcmp(node->getName(), "material")) { - SGMaterial *m = new SGMaterial( fg_root, node ); + SGMaterial *m = new SGMaterial( fg_root, node, season ); vectornames = node->getChildren("name"); for ( unsigned int j = 0; j < names.size(); j++ ) {