在导入飞机模型时,发现模型是黑咕隆咚一片,然后翻阅资料,找到三个可能性。

(一)几何模型没有法线导致

利用osgUtil::SmoothingVisitor自动生成法线

 #include <osgUtil/SmoothingVisitor>
 osg::ref_ptr<osg::Geometry> houseRoof = new osg::Geometry;osgUtil::SmoothingVisitor smv;smv.smooth(model);

(二)模型放大缩小导致

放大缩小后,法线不会跟着变化,因此需要进行设置,如下:

    //添加模型osg::Node* model = osgDB::readNodeFile("cessna.osg");osg::MatrixTransform* mtFlySelf = new osg::MatrixTransform;//用于调整模型本身的姿态mtFlySelf->addChild(model);mtFlySelf->getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL, osg::StateAttribute::ON);

(三)没有给模型添加光源导致

之前我一直以为模型的光源是跟着地表的灯光,默认添加的,现在发现并不是。可以添加八个光源,我添加了两个。

    mtFlySelf->getOrCreateStateSet()->setMode(GL_LIGHTING,osg::StateAttribute::ON);mtFlySelf->getOrCreateStateSet()->setMode(GL_LIGHT0,osg::StateAttribute::ON);mtFlySelf->getOrCreateStateSet()->setMode(GL_LIGHT1,osg::StateAttribute::ON);

osg导入模型时,模型全黑的原因及解决方法分析相关推荐

  1. 使用IDEA时快捷键无效的原因和解决方法

    使用IDEA时快捷键无效的原因和解决方法 今天尝试用IDEA全局搜索时(Ctrl+Shift+F),发现无效. 浏览了一些博客,然后发现大家的回答出奇的一致.所以肯定是了: IDEA快捷键失效的原因, ...

  2. Word2007不显示文档结构图的原因及解决方法分析

    概述:  原因:分节符插入位置在标题自动生成的编号后所致  解决方法:逐个删除分当中的分节符,尤其是在标题之前(显示不完全的)分节符. 最近写一篇技术方案书,发现文档结构图不显示,具体如图所示: ...

  3. 画图时屏幕闪烁的原因和解决方法

    显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题.而且多数人认 为MFC的绘图函数效率很低,总是想寻求其它的解决方案. MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用 ...

  4. 用execSQL语句建表时提示“syntax error”原因及解决方法

    如下图,sCreateTableCommand为String类型.通过该变量,使用db.execSQL(sCreateTableCommand)执行SQL语句,创建一个名为DB_TABLE的表. 但是 ...

  5. 0xC0000005: 读取位置 0x6C6C6568 时发生访问冲突的原因及解决方法

    程序很简单,就想打印字符串数组中的每一个字符串 void test(char** s, int size) { for (int i = 0; i < size; i++) printf(&qu ...

  6. 人人围网站宕机原因及解决方法分析

    首先打个广告,我们的网站人人围,一个社交.新闻分发平台:http://www.renrenwei.com/ 服务器架构:nginx+mysql+mongodb+php,用户登录信息session存在m ...

  7. 宝塔搭建php站点打不开,宝塔面板绑定站点域名不能打开的原因及解决方法分析...

    我们很多站长在建站的时候,甭管我们是不是有运维技术能力,但是有些时候由于懒惰或者依赖性会选择傻瓜式的一键安装包.包括我们以前使用一键脚本LNMP/LAMP安装WEB环境的,如今有很多人也会选择小皮或者 ...

  8. 3d缺少html文件,3dmax打开时显示缺少外部文件的原因及解决方法

    为什么每次打开3DMAX都显示缺少外部文件?在做3dmax模型贴图或者下载模型之后,经常会出现缺少外部文件的情况,这是怎么回事?遇到这一情况又该如何解决呢?接下来小编就给大家整理了用3dmax打开模型 ...

  9. xp系统运行php,window_Xp系统安装或运行软件时提示“EXE不是有效Win32应用程序”的故障原因及解决方法,部分Xp系统用户在双击安装某 - phpStudy...

    Xp系统安装或运行软件时提示"EXE不是有效Win32应用程序"的故障原因及解决方法 部分Xp系统用户在双击安装某个软件时,会遇到"EXE不是有效Win32应用程序&qu ...

最新文章

  1. ProgressDialog的使用-------------范例(学习笔记)
  2. zabbix—安装agent客户端(linux版)
  3. Redis - Redis command timed out nested exception is io.lettuce.core.RedisCommandTimeoutException
  4. 启动redis闪退/失败
  5. luogu P1220 关路灯
  6. c语言程序算法思想,C语言实现科学计算器(算法思想)
  7. 使用firefox44版本,弃用chrome
  8. wps 甘特图_【WPS神技能】在Excel表格中用图表阶梯式的展示任务进程?找甘特图呀...
  9. Java列表removeAll(Collection)示例
  10. 剩余方差matlab,用matlab的var函数求方差
  11. 自己开发的一套实用故障报修管理系统【分享推荐大家】
  12. 转置矩阵,矩阵的行列式,伴随矩阵,逆矩阵的概念及C#求解
  13. 戴尔服务器bios修改风扇,BIOS风扇调整
  14. spark学习之SparkSQL
  15. 深度学习 —— 偏差与方差
  16. 鞋长度和欧美的标准宽度换算表
  17. 因果分析系列6--相关,回归与因果
  18. Linaro Ubuntu for Arndale Octa Broad Exynos 5420开发板,启动系统sd卡的制作。
  19. 线上Mysql数据库崩溃事故的原因和处理
  20. Java数字转换为人民币的大写

热门文章

  1. 【计蒜客】蒜头君的旅游计划
  2. lambda表达式demo笔记
  3. Corolado软件峰会关于Geronimo的介绍
  4. 全闪存助攻:数据存储迎来又一个“新元年”
  5. Office 远程代码执行漏洞复现过程
  6. 一般纳税人有限公司可以享受的税收优惠政策有哪些?
  7. 主流数据库书籍电子版下载汇总贴(84本)
  8. Hive面试题(一)
  9. 【Python】多图形混合排版,如何在Matplotlib/Seaborn中实现?
  10. 上面两点下面一个三角形_解三角形的新视野——定角对定边~