- 27
- 0
- 约5.99千字
- 约 14页
- 2020-08-03 发布于河北
- 举报
西安科技大学
《OpenSceneGraph庄园场景漫游》
实验报告
院. 系(部) 计算机科学与技术学院
专业及班级 信息与计算科学1202班
姓 名 王 涛
学 号 1 2 0 8 0 6 0 2 2 5
日 期 2014/12/18
实验目的:
掌握OSG引擎的基本场景构建,并在完整的三位模型场景下实现基本的场景漫游,碰撞检测,光照模型等功能
实验要求:
基本功能要求
完整的三维场景(模型格式不限)
室内:宿舍、教室、礼堂、家里… 【附加】窗户玻璃
室外:广场、操场、树林、喷泉…. 【附加】天空
综合应用各功能节点、回调功能
开关节点、空间变换节点(自动变换)、LOD
【附加】回调功能实现场景中的小动画:风扇转动、显示器
简单文字信息显示
标题、场景信息、抒情…
自定义漫游器
合理的初始视点位置:场景中心地面
键盘按键(如:ADWS)控制视点“左右上下” 移动
【附加】鼠标控制(如:左键拖拽)视点“左右旋转”
【附加*】视点位置信息实时更新显示
【附加**】简单漫游碰撞检测
开始详细设计:
开始
结束将模型添加到场景并优化读取地形模型文件读取其他模型文件读取天空模型文件将漫游器加入场景创建状态事件创建Viewer对象
结束
将模型添加到场景并优化
读取地形模型文件
读取其他模型文件
读取天空模型文件
将漫游器加入场景
创建状态事件
创建Viewer对象
【1】.实验平台:
Windows 8.1 64位专业版
运行内存8GB
OSG版本3.0.1(OpenSceneGraph-3.0.1-VS10.0.30319-x86-release-12741)
VS版本:VS2010
3dmax版本:3dmax2010
【2】.实验步骤及关键代码:
模型修改部分:
利用3dmax将已有的模型进行对象合并,减少对象个数
减少模型文件的顶点数目
对模型进行贴图整理使部分(丢失了桶跟数目的贴图)
程序实现部分:
// 把漫游器添加到场景中
TravelManipulator *TravelManipulator::TravelToScence(osg::ref_ptrosgViewer::Viewer viewer)
{
TravelManipulator* camera = new TravelManipulator;
viewer-setCameraManipulator(camera);
camera-m_pHostViewer = viewer;
return camera;
}
// 得到矩阵
osg::Matrixd TravelManipulator::getMatrix(void)const
{
osg::Matrixd mat;
mat.makeRotate(m_vRotation._v[0], osg::Vec3(1.0f, 0.0f, 0.0f),
m_vRotation._v[1], osg::Vec3(0.0f, 1.0f, 0.0f),
m_vRotation._v[2], osg::Vec3(0.0f, 0.0f, 1.0f));
return mat * osg::Matrixd::translate(m_vPosition);
}
// 得到逆矩阵
osg::Matrixd TravelManipulator::getInverseMatrix(void) const
{
osg::Matrixd mat;
mat.makeRotate(m_vRotation._v[0], osg::Vec3(1.0f, 0.0f, 0.0f),
m_vRotation._v[1], osg::Vec3(0.0f, 1.0f, 0.0f),
m_vRotation._v[2], osg::Vec3(0.0f, 0.0f, 1.0f));
return osg::Matrixd::inverse(mat * osg::Matrixd::translate(m_vPosition));
}
// 事件处理函数
bool TravelManipulator::handle(const osgGA::GUIEventAdapter ea, osgGA::GUIActionAdapter us)
{
// 获取鼠标位置
float mouseX = ea.getX();
float mouseY = ea
您可能关注的文档
- (一)区域地质调查.pdf
- #1变压器避雷器交接试验报告.doc
- (住建局)关于乡镇污水处理设施PPP项目的自查报告.doc
- (成品)检验不良报告.doc
- (康世斌)学习杨善洲同志先进事心得体会.doc
- (打印)常见的天气系统知识点总结.doc
- (范文)营养餐申请.doc
- (项目经理)工程项目管理目标责任书.doc
- [健康的重要性演讲稿]健康讲座幽默开场白.doc
- [作文范文]缺陷中创造机会.doc
- 2026年导游资格证考试模拟试卷及答案(共三套).docx
- 2026年省委党校在职研究生考试全真模拟试卷及答案(共三套).docx
- 2026年党校在职研究生专业基础理论知识考试全真模拟试卷及答案(共三套).docx
- 2026年党校在职研究生考试全真模拟试卷及答案(共三套).docx
- 2026年高考英语百校联考冲刺考试卷及答案(共四套).docx
- 2026年省委党校在职研究生考试全真模拟试卷及答案(共四套).docx
- 2026年党校在职研究生考试全真模拟试卷及答案(共四套).docx
- 2026年党校在职研究生专业基础理论知识考试全真模拟试卷及答案(共四套).docx
- 2026年导游资格证考试模拟试卷及答案(共四套).docx
- 2026年高考语文十校联考全真模拟试卷及答案(共四套).docx
最近下载
- 2025年江苏城乡建设职业学院单招职业技能测试题库(含答案).docx VIP
- 防治大气污染课件.pptx VIP
- 门德尔松《无词歌》艺术特征与演奏技巧研究--以Op.67为例.pdf
- 第1课《我们的生活越来越幸福》教案-2025-2026学年第二学期三年级道德与法治统编版下册.docx
- 广西珊瑚钨锡矿床矿化特征及钨矿物研究.pdf VIP
- HGT 3268-2002 工业用三乙醇胺化工标准.PDF VIP
- (高清版)B 15763.4-2009 建筑用安全玻璃 第4部分:均质钢化玻璃.pdf VIP
- 某人民法院审判大楼暖通及空调设计.pdf VIP
- 最新!《中华人民共和国噪声污染防治法》全文来了 .pdf VIP
- 小学生疾病预防安全教育教案.pptx VIP
原创力文档

文档评论(0)