From: James Turner Date: Wed, 5 Mar 2014 14:42:29 +0000 (+0000) Subject: Remove unused cube-map from 2D clouds. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4ea8e4774ee0179119c59c98be7a55be706fe091;p=simgear.git Remove unused cube-map from 2D clouds. --- diff --git a/simgear/scene/sky/cloud.cxx b/simgear/scene/sky/cloud.cxx index e3522dda..e41d170b 100644 --- a/simgear/scene/sky/cloud.cxx +++ b/simgear/scene/sky/cloud.cxx @@ -40,7 +40,6 @@ #include #include #include -#include #include #include @@ -62,7 +61,6 @@ using namespace osg; static osg::ref_ptr layer_states[SGCloudLayer::SG_MAX_CLOUD_COVERAGES]; static osg::ref_ptr layer_states2[SGCloudLayer::SG_MAX_CLOUD_COVERAGES]; -static osg::ref_ptr cubeMap; static bool state_initialized = false; const std::string SGCloudLayer::SG_CLOUD_OVERCAST_STRING = "overcast"; @@ -89,31 +87,8 @@ SGMakeState(const SGPath &path, const char* colorTexture, stateSet->setMode(GL_LIGHTING, osg::StateAttribute::OFF); stateSet->setAttributeAndModes(attribFactory->getStandardAlphaFunc()); stateSet->setAttributeAndModes(attribFactory->getStandardBlendFunc()); - -// osg::Material* material = new osg::Material; -// material->setColorMode(osg::Material::AMBIENT_AND_DIFFUSE); -// material->setEmission(osg::Material::FRONT_AND_BACK, -// osg::Vec4(0.05, 0.05, 0.05, 0)); -// material->setSpecular(osg::Material::FRONT_AND_BACK, -// osg::Vec4(0, 0, 0, 1)); -// stateSet->setAttribute(material); - stateSet->setMode(GL_FOG, osg::StateAttribute::OFF); - // OSGFIXME: invented by me ... -// stateSet->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF); -// stateSet->setMode(GL_LIGHTING, osg::StateAttribute::ON); - -// stateSet->setMode(GL_LIGHT0, osg::StateAttribute::OFF); - - // If the normal texture is given prepare a bumpmapping enabled state -// if (normalTexture) { -// SGPath normalPath(path); -// normalPath.append(normalTexture); -// stateSet->setTextureAttribute(2, SGLoadTexture2D(normalPath)); -// stateSet->setTextureMode(2, GL_TEXTURE_2D, osg::StateAttribute::ON); -// } - return stateSet; } @@ -367,126 +342,6 @@ SGCloudLayer::rebuild() SG_LOG(SG_ASTRO, SG_INFO, "initializing cloud layers"); - // This bump mapping code was inspired by the tutorial available at - // http://www.paulsprojects.net/tutorials/simplebump/simplebump.html - // and a NVidia white paper - // http://developer.nvidia.com/object/bumpmappingwithregistercombiners.html - // The normal map textures were generated by the normal map Gimp plugin : - // http://nifelheim.dyndns.org/~cocidius/normalmap/ - // - cubeMap = new osg::TextureCubeMap; - cubeMap->setFilter(osg::Texture::MIN_FILTER, osg::Texture::LINEAR); - cubeMap->setFilter(osg::Texture::MAG_FILTER, osg::Texture::LINEAR); - cubeMap->setWrap(osg::Texture::WRAP_S, osg::Texture::CLAMP_TO_EDGE); - cubeMap->setWrap(osg::Texture::WRAP_T, osg::Texture::CLAMP_TO_EDGE); - cubeMap->setWrap(osg::Texture::WRAP_R, osg::Texture::CLAMP_TO_EDGE); - - const int size = 32; - const float half_size = 16.0f; - const float offset = 0.5f; - osg::Vec3 zero_normal(0.5, 0.5, 0.5); - - osg::Image* image = new osg::Image; - image->allocateImage(size, size, 1, GL_RGB, GL_UNSIGNED_BYTE); - unsigned char *ptr = image->data(0, 0); - for (int j = 0; j < size; j++ ) { - for (int i = 0; i < size; i++ ) { - osg::Vec3 tmp(half_size, -( j + offset - half_size ), - -( i + offset - half_size ) ); - tmp.normalize(); - tmp = tmp*0.5 - zero_normal; - - *ptr++ = (unsigned char)( tmp[ 0 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 1 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 2 ] * 255 ); - } - } - cubeMap->setImage(osg::TextureCubeMap::POSITIVE_X, image); - - image = new osg::Image; - image->allocateImage(size, size, 1, GL_RGB, GL_UNSIGNED_BYTE); - ptr = image->data(0, 0); - for (int j = 0; j < size; j++ ) { - for (int i = 0; i < size; i++ ) { - osg::Vec3 tmp(-half_size, -( j + offset - half_size ), - ( i + offset - half_size ) ); - tmp.normalize(); - tmp = tmp*0.5 - zero_normal; - - *ptr++ = (unsigned char)( tmp[ 0 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 1 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 2 ] * 255 ); - } - } - cubeMap->setImage(osg::TextureCubeMap::NEGATIVE_X, image); - - image = new osg::Image; - image->allocateImage(size, size, 1, GL_RGB, GL_UNSIGNED_BYTE); - ptr = image->data(0, 0); - for (int j = 0; j < size; j++ ) { - for (int i = 0; i < size; i++ ) { - osg::Vec3 tmp(( i + offset - half_size ), half_size, - ( j + offset - half_size ) ); - tmp.normalize(); - tmp = tmp*0.5 - zero_normal; - - *ptr++ = (unsigned char)( tmp[ 0 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 1 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 2 ] * 255 ); - } - } - cubeMap->setImage(osg::TextureCubeMap::POSITIVE_Y, image); - - image = new osg::Image; - image->allocateImage(size, size, 1, GL_RGB, GL_UNSIGNED_BYTE); - ptr = image->data(0, 0); - for (int j = 0; j < size; j++ ) { - for (int i = 0; i < size; i++ ) { - osg::Vec3 tmp(( i + offset - half_size ), -half_size, - -( j + offset - half_size ) ); - tmp.normalize(); - tmp = tmp*0.5 - zero_normal; - - *ptr++ = (unsigned char)( tmp[ 0 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 1 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 2 ] * 255 ); - } - } - cubeMap->setImage(osg::TextureCubeMap::NEGATIVE_Y, image); - - image = new osg::Image; - image->allocateImage(size, size, 1, GL_RGB, GL_UNSIGNED_BYTE); - ptr = image->data(0, 0); - for (int j = 0; j < size; j++ ) { - for (int i = 0; i < size; i++ ) { - osg::Vec3 tmp(( i + offset - half_size ), - -( j + offset - half_size ), half_size ); - tmp.normalize(); - tmp = tmp*0.5 - zero_normal; - - *ptr++ = (unsigned char)( tmp[ 0 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 1 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 2 ] * 255 ); - } - } - cubeMap->setImage(osg::TextureCubeMap::POSITIVE_Z, image); - - image = new osg::Image; - image->allocateImage(size, size, 1, GL_RGB, GL_UNSIGNED_BYTE); - ptr = image->data(0, 0); - for (int j = 0; j < size; j++ ) { - for (int i = 0; i < size; i++ ) { - osg::Vec3 tmp(-( i + offset - half_size ), - -( j + offset - half_size ), -half_size ); - tmp.normalize(); - tmp = tmp*0.5 - zero_normal; - *ptr++ = (unsigned char)( tmp[ 0 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 1 ] * 255 ); - *ptr++ = (unsigned char)( tmp[ 2 ] * 255 ); - } - } - cubeMap->setImage(osg::TextureCubeMap::NEGATIVE_Z, image); - osg::StateSet* state; state = SGMakeState(texture_path, "overcast.png", "overcast_n.png"); layer_states[SG_CLOUD_OVERCAST] = state;