- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11.实现跟随节点的相机
OSG开源教程
整理:荣明、王伟
北 京
2008年4月
序
第一次接触OSG是在2001年,当时开源社区刚刚兴起,还没有现在这么火。下载了OSG源码,但是在看了几个Demo之后,感觉没有什么特别之处。时隔七年之后,我再次将目光投向OSG,发现OSG确实有其独到之处,很多3D效果已经不弱于甚至超过商业软件,有感于开源力量的巨大。但是,与当前主流3D商业软件如Vega、VegaPrime、VTree、Performer等相比,开源软件的缺点也很明显,其中文档缺乏可谓其致命弱点之一。开发者只能从浩瀚的源码中,进行编程的学习,效率不高。
OSG组织也意识到这一点,不断推出一些官方教程,网络上有很多OSG爱好者发布的心得和教程。我收集、整理了许多学习资料,其中美国海军研究生院发布的OSG教程非常好,可作为OSG的官方教程的一个很好补充。它共有十一个专题,结合例子程序,一步步教你如何进行OSG的开发。我将其编辑成一个较为完善的教材,供大家学习。在教材整理过程中,王伟调试了源程序,对该书编辑和修订做了大量的工作;实验室的学生杨宇蒙、冯锐、章仕锋、李永川和李益强阅读了本书,并提出了宝贵的修改意见,在此一并表示感谢。
希望这本小册子能对大家学习OSG编程起到一定的帮助作用。
谢谢大家阅读本书!
荣 明
二OO八年四月于崔春园
Email:rong_ming@
(本书的资料全部来自互联网,仅供个人学习交流使用。感谢竹林小舍array翻译了Navy的教程。)
目录
1.使用Open Scene Graph几何 1
1.1背景 1
1.2代码 1
2.使用StateSet产生有纹理的几何体 4
2.1本章目标 4
2.2背景 4
2.3加载纹理,生成状态集合并将他们附加到节点上 6
3.使用Shape,改变state 8
3.1本章目标 8
3.2使用Shape类 8
3.3设置状态 9
4.更多的StateSet 10
4.1StateSet如何工作 10
4.2例子及代码 10
5.从文件中加载模型并放入到场景中 12
5.1本章目标 12
5.2加载几何模型并加入到场景中 12
6.osg Text、HUD、RenderBins 15
6.1本章目标 15
6.2摘要 15
6.3代码 15
7.有哪些信誉好的足球投注网站并控制开关和DOF(自由度)节点(Finding and Manipulating a Switch and DOF Node) 20
7.1有哪些信誉好的足球投注网站场景图形中的一个有名节点 20
7.2按照“访问器”模式有哪些信誉好的足球投注网站有名节点 22
8.使用更新回调来更改模型 26
8.1本章目标 26
8.2回调概览 26
8.3创建一个更新回调 26
9.处理键盘输入 29
9.1本章目标 29
9.2 GUI(图形用户接口)事件处理器: 29
9.3简单的键盘接口类 30
9.4使用键盘接口类 32
9.5处理键盘输入实现更新回调 32
9.5.1本节目标 32
9.5.2问题的提出 32
9.5.3解决方案 33
10.使用自定义矩阵来放置相机(Positioning a Camera with a User-Defined Matrix) 36
10.1本章目标 36
10.2设置矩阵的方向和位置 36
10.3声明一个用于设置相机的矩阵 37
10.4使用矩阵设置视口摄相机 38
11. 实现跟随节点的相机 38
11.1本章目标 38
11.2概述 39
11.3实现 39
11.4环绕(始终指向)场景中节点的相机 42
11.4.1本节目标 42
11.4.2实现 43
1.使用Open Scene Graph几何本节涵盖了生成基本几何形状的一些方法。生成几何物体的方法有这么几种:在最底层对OpenGL基本几何进行松散的包装,中级是使用Open Scene Graph的基本形状,以及更高级一些的从文件读取。这篇教程涵盖的是最低层的。这种方法弹性最大但最费力。通常在Scene Graph级别,几何形状是从文件加载的。文件加载器完成了跟踪顶点的大部分工作。背景对一下几个类的简单解释:Geode类:geode类继承自node类。在一个Scene Graph中,node(当然包含geode)可以作为叶子节点。Geode实例可以有多个相关的drawable。Drawable类层次 基类drawable是一个有六个具体子类的抽象类。geometry类可以直接有vertex和vertex数据,或者任意个primitiveSet实例。vertex和vertex属性数据(颜色、法线、纹理坐标)存放在数组中。既然多个顶点可以共享相同的颜色、
文档评论(0)