vega prime天气切换
来源:互联网 发布:vscode直接调试ts代码 编辑:程序博客网 时间:2024/05/20 06:24
// 天气类型 :1,晴天;2,阴天 ;3,雾天 ;4,雨天 ;5,雪天void PublicMember::setWeather(int WeatherType){ char str[256], *cp = getenv("MPI_LOCATE_VEGA_PRIME");vpEnv* m_env= * vpEnv::begin(); vpEnvSun* m_sun=* vpEnvSun::begin(); vpEnvSkyDome* m_skyDome=* vpEnvSkyDome::begin(); vpEnvCloudLayer* m_cloudLayer=* vpEnvCloudLayer::begin(); vpEnvWind* m_wind=* vpEnvWind::begin(); vpEnvSnow* m_snow=* vpEnvSnow::begin(); vpEnvRain* m_rain=* vpEnvRain::begin(); switch (WeatherType){ case 1: // 默认值,晴天 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); 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: //阴天 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); 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: //雾天 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); 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: //雨天 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); 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);m_rain->setNumParticles( 500000 ); break; case 5: // 雪天 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); 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_snow->setNumParticles( 500000); m_rain->setEnable(false); break; default: break; }}//注意事项,雨雪的颗粒数可以控制效果,默认值的数目太小,效果不明显。
vpEnvSnow* pEnvSnow_myEnvSnow = new vpEnvSnow(); pEnvSnow_myEnvSnow->setName( "myEnvSnow" ); pEnvSnow_myEnvSnow->setEnable( false ); pEnvSnow_myEnvSnow->setColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f ); pEnvSnow_myEnvSnow->setTextureBlendColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f ); pEnvSnow_myEnvSnow->setTextureBlendMode( vpEnvFx::TEXTURE_BLEND_MODE_MODULATE ); pEnvSnow_myEnvSnow->setTextureFile( "" ); pEnvSnow_myEnvSnow->setNumParticles( 50000); //颗粒数需要设置较多,效果才明显 pEnvSnow_myEnvSnow->setEmitterBoxSize( 10 ); pEnvSnow_myEnvSnow->setInternalClipBoxEnable( false ); pEnvSnow_myEnvSnow->setInternalClipBoxSize( 2 ); PublicMember::CTS_s_pInstancesToUnref->push_back( pEnvSnow_myEnvSnow ); vpEnvRain* pEnvRain_myEnvRain = new vpEnvRain(); pEnvRain_myEnvRain->setName( "myEnvRain" ); pEnvRain_myEnvRain->setEnable( false ); pEnvRain_myEnvRain->setColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f ); pEnvRain_myEnvRain->setTextureBlendColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f ); pEnvRain_myEnvRain->setTextureBlendMode( vpEnvFx::TEXTURE_BLEND_MODE_MODULATE ); pEnvRain_myEnvRain->setTextureFile( "" ); pEnvRain_myEnvRain->setNumParticles( 50000 ); //颗粒数需要设置较多,效果才明显 pEnvRain_myEnvRain->setEmitterBoxSize( 10 ); pEnvRain_myEnvRain->setInternalClipBoxEnable( false ); pEnvRain_myEnvRain->setInternalClipBoxSize( 2 ); PublicMember::CTS_s_pInstancesToUnref->push_back( pEnvRain_myEnvRain );
//函数体
0 0
- vega prime天气切换
- vega prime 浅谈
- Vega Prime结合MFC
- Vega Prime 常见问题集
- vega prime 2.2安装问题
- vega prime 2.2安装问题
- Vega Prime 新手 入门指引
- Vega Prime自学笔记(1)基本概念
- Vega Prime 桌面教程(三)
- Vega Prime 桌面教程(四)
- Vega Prime 桌面教程(五)
- Vega Prime 桌面教程(六)
- Vega Prime实时三维虚拟现实开发技术
- VC.NET+VEGA PRIME 开发环境配置
- Vega Prime应用程序主线程函数
- 《Vega Prime实时三维虚拟现实开发技术》
- Vega Prime与OSG的比较
- Vega Prime自学笔记(2)LP界面构成
- Node.Js Stream(流)-(四)文件copy实例
- .designer.cs 和 .resx 文件是干什么用的?
- ”Android驱动人生” 的博客专栏
- busybox详解
- OC-表格的分类&下拉刷新
- vega prime天气切换
- c/c++中define用法详解及代码示例
- 基于struts2+hibernate+spring(ssh2)的登录验证码的实现
- 百度文字转语音程序
- PCL点云光滑化
- 忘记vss用户admin密码
- POJ 2752 Seek the Name, Seek the Fame【EXKMP/KMP】
- iPhone屏幕适配
- The Meta-Object System(Qt元对象系统)