- 私信
|
发表时间 : 2011-9-27 10:46:14
|
浏览 : 4122 评论 : 26
// 天气类型 =1,晴天 =2,阴天 =3,雾天 =4,雨天 =5,雪天- void postWeather()
- {
- //float fval, s, c;
- static float angle = 0.0f;
- char str[256], *cp = getenv("MPI_LOCATE_VEGA_PRIME");
-
- switch (m_curWeatherIdx) {
- case 1: // default settings
- m_env->setVisibilityColor(1.0f, 1.0f, 1.0f, 1.0f);
- m_env->setVisibilityRangeOpaque(60000.0f);
- m_sun->setHorizonColor(1.0f, 0.545f, 0.239f, 1.0f);
- m_skyDome->setGroundColor(0.2117f, 0.286f, 0.15f, 1.0f);
- if (vpEnvGlobals::instance()->getSkyLightEnable())
- {
- m_cloudLayer->setCoverageScale(0.26f);
- m_cloudLayer->setTextureTiling(2.0f, 2.0f);
- m_cloudLayer->setColor(0.3f, 0.3f, 0.3f, 1.0f);
- }
- else
- {
- sprintf(str, "%s/config/vegaprime/vpenv/cloud_scattered.inta", cp);
- m_cloudLayer->setTextureFile(str);
- m_cloudLayer->setTextureTiling(3.0f, 3.0f);
- m_cloudLayer->setColor(0.96f, 0.98f, 0.98f, 1.0f);
- }
- m_cloudLayer->setElevation(3000.0f, 5000.0f);
- m_cloudLayer->setTransitionRange(500.0f, 500.0f);
- m_wind->setSpeed(100.0f);
- m_snow->setEnable(false);
- m_rain->setEnable(false);
- break;
-
- case 2: // clear day, sparse clouds
- m_env->setVisibilityColor(1.0f, 1.0f, 1.0f, 1.0f);
- m_env->setVisibilityRangeOpaque(100000.0f);
- m_sun->setHorizonColor(1.0f, 0.6f, 0.29f, 1.0f);
- m_skyDome->setGroundColor(0.33f, 0.29f, 0.15f, 1.0f);
- if (vpEnvGlobals::instance()->getSkyLightEnable())
- {
- m_cloudLayer->setCoverageScale(0.1f);
- }
- else
- {
- sprintf(str, "%s/config/vegaprime/vpenv/cloud_few.inta", cp);
- m_cloudLayer->setTextureFile(str);
- m_cloudLayer->setTextureTiling(5.0f, 5.0f);
- m_cloudLayer->setColor(0.96f, 0.98f, 0.98f, 1.0f);
- }
- m_cloudLayer->setElevation(3000.0f, 5000.0f);
- m_cloudLayer->setTransitionRange(500.0f, 500.0f);
- m_wind->setSpeed(15.0f);
- m_snow->setEnable(false);
- m_rain->setEnable(false);
- break;
-
- case 3: // overcast with fog
- m_env->setVisibilityColor(0.75f, 0.75f, 0.75f, 1.0f);
- m_env->setVisibilityRangeOpaque(5000.0f);
- m_sun->setHorizonColor(1.0f, 0.6f, 0.29f, 1.0f);
- m_skyDome->setGroundColor(0.8f, 0.82f, 0.83f, 1.0f);
- if (vpEnvGlobals::instance()->getSkyLightEnable())
- {
- m_cloudLayer->setCoverageScale(0.5f);
- }
- else
- {
- sprintf(str, "%s/config/vegaprime/vpenv/cloud_overcast.inta", cp);
- m_cloudLayer->setTextureFile(str);
- m_cloudLayer->setTextureTiling(3.0f, 3.0f);
- m_cloudLayer->setColor(0.69f, 0.75f, 0.77f, 1.0f);
- }
- m_cloudLayer->setElevation(500.0f, 3000.0f);
- m_cloudLayer->setTransitionRange(500.0f, 500.0f);
- m_wind->setSpeed(0.0f);
- m_snow->setEnable(false);
- m_rain->setEnable(false);
- break;
- case 4: // stormy, high wind,rain
- m_env->setVisibilityColor(0.40f, 0.43f, 0.45f, 1.0f);
- m_env->setVisibilityRangeOpaque(50000.0f);
- m_sun->setHorizonColor(0.65f, 0.45f, 0.25f, 1.0f);
- m_skyDome->setGroundColor(0.33f, 0.29f, 0.15f, 1.0f);
- if (vpEnvGlobals::instance()->getSkyLightEnable())
- {
- m_cloudLayer->setCoverageScale(0.4f);
- }
- else
- {
- sprintf(str, "%s/config/vegaprime/vpenv/cloud_storm.inta", cp);
- m_cloudLayer->setTextureFile(str);
- m_cloudLayer->setTextureTiling(3.0f, 3.0f);
- m_cloudLayer->setColor(0.52f, 0.56f, 0.61f, 1.0f);
- }
- m_cloudLayer->setElevation(1000.0f, 4000.0f);
- m_cloudLayer->setTransitionRange(500.0f, 500.0f);
- m_wind->setSpeed(5.0f);
- m_snow->setEnable(false);
- m_rain->setEnable(true);
- break;
- case 5: // stormy, high wind,snow
- m_env->setVisibilityColor(0.40f, 0.43f, 0.45f, 1.0f);
- m_env->setVisibilityRangeOpaque(50000.0f);
- m_sun->setHorizonColor(0.65f, 0.45f, 0.25f, 1.0f);
- m_skyDome->setGroundColor(0.33f, 0.29f, 0.15f, 1.0f);
- if (vpEnvGlobals::instance()->getSkyLightEnable())
- {
- m_cloudLayer->setCoverageScale(0.4f);
- }
- else
- {
- sprintf(str, "%s/config/vegaprime/vpenv/cloud_storm.inta", cp);
- m_cloudLayer->setTextureFile(str);
- m_cloudLayer->setTextureTiling(3.0f, 3.0f);
- m_cloudLayer->setColor(0.52f, 0.56f, 0.61f, 1.0f);
- }
- m_cloudLayer->setElevation(1000.0f, 4000.0f);
- m_cloudLayer->setTransitionRange(500.0f, 500.0f);
- m_wind->setSpeed(5.0f);
- m_snow->setEnable(true);
- m_rain->setEnable(false);
- break;
-
- default:
- break;
- }
- }
复制代码 |
|