ode游戏引擎在3d游戏中的应用研究.doc
约43页DOC格式手机打开展开
ode游戏引擎在3d游戏中的应用研究,ode游戏引擎在3d游戏中的应用研究页数 43字数16394摘 要ode是一个免费的具有工业品质的刚体动力学的库,一款优秀的开源物理引擎,它为主程序员russell smith和几位开源社区贡献者共同努力下开发的。它能很好地仿真现实环境中的可移动物体,它是快速,强健和 可移植的。而且它有内建的碰撞检测系统。本人的主要工...
内容介绍
此文档由会员 猛龙 发布
ODE游戏引擎在3D游戏中的应用研究
页数 43 字数 16394
摘 要
ODE是一个免费的具有工业品质的刚体动力学的库,一款优秀的开源物理引擎,它为主程序员Russell Smith和几位开源社区贡献者共同努力下开发的。它能很好地仿真现实环境中的可移动物体,它是快速,强健和 可移植的。而且它有内建的碰撞检测系统。本人的主要工作是研究 ODE物理引擎在3D游戏中的应用。研究主要是通过学习ODE的用户手册、阅读和理解ODE的代码然后掌握ODE的编程接口从而使用ODE刚体游戏引擎编写3D游戏场景来体现ODE的应用。3D游戏场景的编写主要使用了3D图形API-OpenGL 和ODE引擎等游戏仿真技术。总共实现了以下基本的刚体物理运动游戏场景:
(1)单摆运动:主要体现了球连接的具体使用。
(2)撞球:主要体现了碰撞的处理。
(3)汽车:主要体现了Hinge-2连接的使用。
(4)抛物线运动:主要体现了刚体方向和速度具体处理方法。
文章介绍现在物理引擎的最新动态—物理引擎的硬件支持和分别详细解释三种不同的技术:Havok FX、ATI通用方案、physX,提出了ODE应用的前景和可能的发展途径。
关键字:游戏引擎,OpenGL,ODE,仿真技术
目 录
摘 要 II
Abstract III
1 引言 1
1.1 背景 1
1.2 应用研究 1
1.2.1 ODE User Guide V0.5 1
1.2.2 3D 游戏场景 1
1.3 论文安排 2
2 什么是游戏引擎 3
2.1 光影效果 3
2.2 动画 3
2.3 渲染 3
2.4 交互 4
2.5 物理系统 4
3 OpenGL 5
3.1 简介 5
3.2 OpenGL特点及功能 5
3.2.1 建模 6
3.2.2 变换 6
3.2.3 颜色模式设置 6
3.2.4 光照和材质设置 6
3.2.5 纹理映射(Texture Mapping) 6
3.2.6 位图显示和图象增强 6
3.2.7 双缓存(Double Buffering)动画 6
4 ODE(Open Dynamics Engine) 8
4.1 刚体 8
4.2 综合 8
4.3 力综合器 8
4.4 关节和约束 8
4.5 关节组 9
4.6 关节误差和误差恢复参数(ERP) 9
4.7 碰撞处理 9
4.8 典型的模拟过程 10
4.9 基本数据类型和对象 10
4.9.1 基本数据类型 10
4.9.2 对象和标识 11
4.9.3 World 11
4.9.4 Body 12
4.9.5 Joint 12
4.9.6 Geometry 12
4.9.7 Space 13
4.10 碰撞检测 13
4.10.1 检测函数 13
4.10.2 为什么有三个碰撞函数 14
4.10.3 典型的碰撞处理—callback函数 14
4.10.4 基于AABB的碰撞检测 15
5 ODE demo 17
5.1 Demo 的主体框架 17
5.2 单摆(pendulum) 17
5.2.1 单摆原理图和坐标参数 18
5.2.2 编程要点 18
5.2.3 仿真效果图 20
5.3 撞球(billiards) 20
5.3.1 用户控制 21
5.3.2 仿真主循环 21
5.3.3 仿真效果图 23
5.4 汽车(CAR) 23
5.4.1 Hinge-2基本知识 23
5.4.2 编程要点 24
5.4.3 运行效果图 25
5.5 抛物线运动(parabola) 26
5.5.1 编程要点 26
5.5.2 效果图 26
6 物理引擎的现在与未来 28
6.1 Nvidia的SLI Physics 28
6.2 ATI的通用解决方案 30
6.3 Ageia的新硬件PhysX 32
6.4 物理API大战 33
6.5 ODE的生存和发展之道 35
6.5.1 低成本 35
6.5.2 开源 35
6.5.3 硬件支持?-奇思异想 35
总结 36
致谢 37
参考文献 38
参考文献
1. Russell Smith. Open Dynamics Engine v0.5 User Guide,
2. 唐泽圣,周嘉玉,李新友. 计算机图形学基础. 清华大学出版社. 2000年10月
3. Jackie Neider, Tom Davis, Mason Woo. OpenGL Programming Guide.
4. Jeff Molofee ( NeHe ). NeHe OpenGL Lessons.
5. hardspell. 3D渲染再加速!物理加速技术深度解析.
页数 43 字数 16394
摘 要
ODE是一个免费的具有工业品质的刚体动力学的库,一款优秀的开源物理引擎,它为主程序员Russell Smith和几位开源社区贡献者共同努力下开发的。它能很好地仿真现实环境中的可移动物体,它是快速,强健和 可移植的。而且它有内建的碰撞检测系统。本人的主要工作是研究 ODE物理引擎在3D游戏中的应用。研究主要是通过学习ODE的用户手册、阅读和理解ODE的代码然后掌握ODE的编程接口从而使用ODE刚体游戏引擎编写3D游戏场景来体现ODE的应用。3D游戏场景的编写主要使用了3D图形API-OpenGL 和ODE引擎等游戏仿真技术。总共实现了以下基本的刚体物理运动游戏场景:
(1)单摆运动:主要体现了球连接的具体使用。
(2)撞球:主要体现了碰撞的处理。
(3)汽车:主要体现了Hinge-2连接的使用。
(4)抛物线运动:主要体现了刚体方向和速度具体处理方法。
文章介绍现在物理引擎的最新动态—物理引擎的硬件支持和分别详细解释三种不同的技术:Havok FX、ATI通用方案、physX,提出了ODE应用的前景和可能的发展途径。
关键字:游戏引擎,OpenGL,ODE,仿真技术
目 录
摘 要 II
Abstract III
1 引言 1
1.1 背景 1
1.2 应用研究 1
1.2.1 ODE User Guide V0.5 1
1.2.2 3D 游戏场景 1
1.3 论文安排 2
2 什么是游戏引擎 3
2.1 光影效果 3
2.2 动画 3
2.3 渲染 3
2.4 交互 4
2.5 物理系统 4
3 OpenGL 5
3.1 简介 5
3.2 OpenGL特点及功能 5
3.2.1 建模 6
3.2.2 变换 6
3.2.3 颜色模式设置 6
3.2.4 光照和材质设置 6
3.2.5 纹理映射(Texture Mapping) 6
3.2.6 位图显示和图象增强 6
3.2.7 双缓存(Double Buffering)动画 6
4 ODE(Open Dynamics Engine) 8
4.1 刚体 8
4.2 综合 8
4.3 力综合器 8
4.4 关节和约束 8
4.5 关节组 9
4.6 关节误差和误差恢复参数(ERP) 9
4.7 碰撞处理 9
4.8 典型的模拟过程 10
4.9 基本数据类型和对象 10
4.9.1 基本数据类型 10
4.9.2 对象和标识 11
4.9.3 World 11
4.9.4 Body 12
4.9.5 Joint 12
4.9.6 Geometry 12
4.9.7 Space 13
4.10 碰撞检测 13
4.10.1 检测函数 13
4.10.2 为什么有三个碰撞函数 14
4.10.3 典型的碰撞处理—callback函数 14
4.10.4 基于AABB的碰撞检测 15
5 ODE demo 17
5.1 Demo 的主体框架 17
5.2 单摆(pendulum) 17
5.2.1 单摆原理图和坐标参数 18
5.2.2 编程要点 18
5.2.3 仿真效果图 20
5.3 撞球(billiards) 20
5.3.1 用户控制 21
5.3.2 仿真主循环 21
5.3.3 仿真效果图 23
5.4 汽车(CAR) 23
5.4.1 Hinge-2基本知识 23
5.4.2 编程要点 24
5.4.3 运行效果图 25
5.5 抛物线运动(parabola) 26
5.5.1 编程要点 26
5.5.2 效果图 26
6 物理引擎的现在与未来 28
6.1 Nvidia的SLI Physics 28
6.2 ATI的通用解决方案 30
6.3 Ageia的新硬件PhysX 32
6.4 物理API大战 33
6.5 ODE的生存和发展之道 35
6.5.1 低成本 35
6.5.2 开源 35
6.5.3 硬件支持?-奇思异想 35
总结 36
致谢 37
参考文献 38
参考文献
1. Russell Smith. Open Dynamics Engine v0.5 User Guide,
2. 唐泽圣,周嘉玉,李新友. 计算机图形学基础. 清华大学出版社. 2000年10月
3. Jackie Neider, Tom Davis, Mason Woo. OpenGL Programming Guide.
4. Jeff Molofee ( NeHe ). NeHe OpenGL Lessons.
5. hardspell. 3D渲染再加速!物理加速技术深度解析.