OSG学习笔记10-简单的操作器设置(漫游小区基础)

本文介绍了使用OpenSceneGraph创建简单漫游器的过程,通过设置相机位置和观察方向实现场景的平滑导航。结合《OpenSceneGraph三维渲染引擎设计与实践》和《OpenSceneGraph3.0三维视景仿真技术开发详解》的实例,阐述了漫游器的工作原理,强调了操作器在更新场景中的作用,并提供了程序的三个主要组成部分:South.h、South.cpp和main.cpp。
摘要由CSDN通过智能技术生成

终于看到《OpenSceneGraph三维渲染引擎设计与实践》第八章啦,结合另一本书《OpenSceneGraph3.0三维视景仿真技术开发详解》上的例子,还有有的一个小区的.ive二进制模型。做了一个简单的漫游器。

三维场景中的漫游器改变的是观察者(也就是相机)的位置和观察方向,以实时修正场景相机(Camera类)的观察矩阵的方式实现平滑的导航浏览。

相机在世界中的位置姿态矩阵,等于相机观察矩阵的逆矩阵。

设计场景漫游器实际就是要设置合适的相机位置姿态矩阵。《OpenSceneGraph3.0三维视景仿真技术开发详解》书中的一幅OSG操作器更新场景流程图一下就让我理解到了漫游器是如何实现的。


(我真的不知道如何把这个图变小一点!)

和上一个键盘事件响应笔记中我自己画的理解图相类似.

方框1:在主函数中使用Viewer场景核心管理器,setSceneData设置场景要显示的内容,setCameraManipulator设置一个自定义的漫游器(操作器)CSouth

方框2:Viewer在帧绘制时读取操作器控制的矩阵,然后更新相机,这里其实就是在获取要改变的相机的位置姿态矩阵。

方框3:当有事件发生时,这个例子中是键盘事件,就会调用South中的handle方法,在其中改变矩阵,矩阵改变后,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值