OSGEarth新手学习随笔 — 星空的显示

过程中发现的问题:
1.地球上没有变天和夜晚的明暗变化(图1)
2.地球上的黑夜部分太黑,看不到任何东西(图2)
3.设置时间后发现和实际不对应
//---------------------------------------------

osgEarth::DateTime dateTime(2020, 11, 11, 3);sky_node = osgEarth::Util::SkyNode::create(mapNode);sky_node->setName("sky");sky_node->setDateTime(dateTime);sky_node->setLighting(true);sky_node->attach(viewer, 0);mRoot->addChild(sky_node);

在某处找了添加星空的代码(如上),运行后发现没有白天黑夜的明暗变化。(效果如下图)

上面的代码中直接将skyNode添加到了根节点中,查找资料发现有人说与mapNode和SkyNode添加到节点中有先后顺序有关,经测试发现不管用。后边发现使用insertGroup 方法可以解决该问题,修改如下:

osgEarth::DateTime dateTime(2020, 11, 11, 3);
sky_node = osgEarth::Util::SkyNode::create(mapNode);
sky_node->setName("sky");
sky_node->setDateTime(dateTime);
sky_node->setLighting(true);
sky_node->attach(viewer, 0);
osgEarth::insertGroup(sky_node,mapNode->getParent(0));
//mRoot->addChild(sky_node);

这样修改完后可以显示明暗(具体原因不清楚),但是夜间部分特别的黑 如下图:

经过查找发现skyNode创建时有一个参数,通过他可以控制夜间部分黑暗的程度,修改如下:

osgEarth::DateTime dateTime(2020, 11, 11, 3);//格林尼治时间
osgEarth::Util::SkyOptions skyOptions;
skyOptions.ambient()=0.4;//控制黑夜部分明暗程度
sky_node = osgEarth::Util::SkyNode::create(skyOptions,mapNode);
sky_node->setName("sky");
sky_node->setDateTime(dateTime);
sky_node->setLighting(true);
sky_node->attach(viewer, 0);
osgEarth::insertGroup(sky_node,mapNode->getParent(0));


至于问题3,时间不对应问题,经测试发现skyNode中使用的时间是格林尼治时间,与中国的东八区相差8个小时。转换一下即可。

OSGEarth新手学习随笔 --- 星空的显示相关推荐

  1. Delphi面向对象学习随笔一:类与对象的关系

    Delphi面向对象学习随笔一:类与对象的关系 作者:巴哈姆特 http://www.cnpack.org (转载请注明出处并保持完整) 工作几年了,总想做点总结,于是有了这篇东西,叫随笔吧呵     ...

  2. Java新手学习路线

    ------Java新手学习路线------ 第一阶段:J2SE(java基础部分) java开发前奏; . ①计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量 ...

  3. Vue学习随笔+商城项目【上】

    更新日期:2021-02-10 晚 [新年快乐] 附:Vue学习随笔+商城项目[下] 目录(部分) (一)ES6补充 1.1块级作用域 1.1.1 什么是变量作用域 1.1.2 没有块级作用域造成的问 ...

  4. Markdown标记语法Typora编辑器零基础入门新手学习使用总结教程

    Markdown标记语法Typora编辑器零基础入门新手学习使用总结教程 下载链接 官方网址:https://typora.io Typora快捷键整合 快捷键 作用 Ctrl+1 一阶标题 Ctrl ...

  5. PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性

    accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt D ...

  6. typeScript学习随笔(一)

    TypeScript学习随笔(一) 这么久了还不没好好学习哈这么火的ts,边学边练边记吧! 啥子是TypeScript  TypeScript 是 JavaScript 的一个超集,支持 es6 标准 ...

  7. 新手学习常见问题总结回答

    新手学习常见问题总结回答 www.sandflee.net  2002-9-3  灰色轨迹 很早就想总结一下新手常见的问题和回答了.但一直没有空出时间来做.在论坛久了,发现一个不得不解决的问题,就是重 ...

  8. Vue 新手学习笔记:vue-element-admin 之入门开发教程(v4.0.0 之前)

    说实话都是逼出来的,对于前端没干过ES6都不会的人,vue视频也就看了基础的一些 但没办法,接下来做微服务架构,前端就用 vue,这块你负责....说多了都是泪,脚手架框架布了都没看过 干就完事,不过 ...

  9. JavaSwing仿QQ登录界面,注释完善,适合新手学习

    使用说明: 这是一个java做的仿制QQ登录界面,界面仅使用一个类, JDK版本为jdk-11 素材包的名字为:素材(下载)请在项目中新建一个名字为"素材"的文件夹. 素材: ht ...

最新文章

  1. shell中break的使用案例
  2. 【Linux部署】Greenplum数据库6.13.0单机版【重启实录】(5次报错问题及解决的避坑指南+日志文件查看方法)
  3. 蓝桥杯之貌似化学(g背包)
  4. 理解总结篇—List、Set、Map
  5. 前端学习(2764):v-bind和v-for
  6. python中变量名后的逗号_Python中逗号的三种作用实例分析
  7. 入门级XML学习(三)
  8. ViBe算法原理详解
  9. 计算机右键 管理,鼠标右键菜单管理方法?
  10. 毕业两年,工作三年Java程序员的一点点体会与建议
  11. mongodb关联表查询
  12. 经常性无法访问某些国内网站的问题(by quqi99)
  13. 网络游戏数据同步的实现 一:状态同步、帧同步的基本原理概述
  14. matlab语言帮助系统题目,西电 matlab语言考试题2009年
  15. 统计 Git 代码行数
  16. 中国武术高手要在郑州开比武大会?还请了马云做裁判?
  17. chromium 14 chromium命令行
  18. 考研 英语一 大作文-图画作文 (一)----第一段描述图画写作攻略
  19. 实时更新:TIOBE世界编程语言排行榜(2021年11月份)
  20. OpenCV进阶(3)基于OpenCV的贪吃蛇游戏

热门文章

  1. Python爬虫-某懂车平台之汽车销量排行榜
  2. swagger依赖配置
  3. 集合论—笛卡尔积与二元关系
  4. python十进制小数转二进制_Python实现的十进制小数与二进制小数相互转换功能
  5. 002-webBuilder的HelloWorld应用与表格应用
  6. XLua Coroutine协程
  7. 单片机移频防啸叫_麦克风防啸叫的方法
  8. Cocos2dx中Scrollview控件滑动与其子控件监听冲突的解决方案(不改底层、最优)
  9. 头歌实践平台——一维数组与二维数组练习
  10. java线程怎么重启_如何在Java中启动/停止/重启线程?