天气控制
来源:互联网 发布:网络本科入学考试难吗 编辑:程序博客网 时间:2024/05/16 17:25
// 天气类型 =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; L4 p0 m0 y) w4 f& Y7 D# [
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;
}
}
- 天气控制
- node 控制 树莓派做的天气闹钟
- node 控制 树莓派做的天气闹钟
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- 天气
- MOSFET的选型及应用概览
- include/linux/ip.h里的结构注释
- ASP.NET 设计模式(微软程序经理,MVP作序推荐)
- 非常优秀的权限管理框架 -- Spring Security
- MySQL中文参考手册
- 天气控制
- 不同系统中的通信处理以及电文信息传递
- 关于嵌入式方向(同济大学软件学院院长谈择业)
- C语言C#参数对照表
- 《DOS命令行关机命令----shutdown大全》
- 使用jsp+JavaBean简单实现计算器
- Android动画开发——Animation动画效果
- spring-security与Hibernate-Session冲突
- SVN常用命令