3D引擎原理ppt课件

上传人:29 文档编号:240628769 上传时间:2024-04-26 格式:PPT 页数:48 大小:13.11MB
收藏 版权申诉 举报 下载
3D引擎原理ppt课件_第1页
第1页 / 共48页
3D引擎原理ppt课件_第2页
第2页 / 共48页
3D引擎原理ppt课件_第3页
第3页 / 共48页
资源描述:

《3D引擎原理ppt课件》由会员分享,可在线阅读,更多相关《3D引擎原理ppt课件(48页珍藏版)》请在装配图网上搜索。

1、3D引擎原理conanshao3D引擎原理conanshao1目录什么是3D引擎?引擎的二次开发,以及最近的技术趋势。怎样开始你的引擎学习?目录什么是3D引擎?2什么是3D引擎?帮助开发人员合成一个3D的世界,并且把这个世界显示到桌面上。场景文件3D引擎桌面显示什么是3D引擎?帮助开发人员合成一个3D的世界,并且把这个世3解剖3D引擎从一个简单的模型的显示开始。3D图形中表示模型的最普遍模式。模型=网格+材质。=+解剖3D引擎从一个简单的模型的显示开始。=+43D图形管线应用程序顶点处理几何处理光栅化片元处理帧缓存3D图形管线应用程序顶点处理几何处理光栅化片元处理帧缓存53D图形管线3D图形管

2、线6相机的概念相机的概念7渲染器将场景管理器提交的几何数据,着色数据,状态数据,环境数据渲染到渲染目标上。渲染器将场景管理器提交的几何数据,着色数据,状态数据,环境数8渲染器几何数据的组织:实时图形学里面用一堆三角形面片(Mesh)来表达几何形状。Mesh由一系列顶点(顶点缓冲区)以及索引(索引缓冲)组成。顶点格式,至少有顶点位置,还可能包含法线、切线、副法线、纹理坐标等。渲染器几何数据的组织:实时图形学里面用一堆三角形面片(Mes9渲染器材质:描述物体表面着色特性的属性,在实时图形学中,通常用着色器,以及一组参数、渲染状态来描述材质。着色器是用来描述着色过程(顶点处理、几何处理、像素处理)的

3、程序。渲染器材质:描述物体表面着色特性的属性,在实时图形学中,通常10材质系统材质系统11材质系统材质系统12材质系统材质系统13材质系统材质系统14材质系统材质系统进一步的思考1.材质系统如何与环境信息的交互?2.如何重复利用shader程序,管理好渲染状态?3.如何给美术人员提供一个灵活高效的可编辑的材质工具?材质系统材质系统进一步的思考15另一个问题的产生,场景管理有了渲染器,准备渲染整个世界。新问题产生,世界太复杂了!如果每个东西都要渲染,不可能实时。We need a cull.另一个问题的产生,场景管理有了渲染器,准备渲染整个世界。16裁剪,物体的包围盒同视锥体比较。如果有交集,则

4、物体可见,反之则不可见。但是问题仍然没有解决,成千上万的物体,比较视锥会占去大量的CPU资源。需要一个空间数据结构,来组织裁剪。场景管理裁剪,物体的包围盒同视锥体比较。如果有交集,则物体可见,反之17八叉树八叉树18场景管理高效组织和管理虚拟场景中实体(相机,物体,灯光等),处理实体之间的关系。实体的关系有包含,碰撞,层次关系等。例如:相机视锥是否包含一个实体,灯光的包围盒是否包含一个物体。场景管理高效组织和管理虚拟场景中实体(相机,物体,灯光等),19场景图用于场景管理的具有层次性,空间性,状态性的结构称为场景图(Scene Graph).场景图主要包含下面三部分:一个层次结构的场景树,用于

5、处理层次动画,例如一个怪物在场景中走动,另外一个光球绕着这个怪物转动。一个用于裁减的空间结构。一个组织Renderstate的rendergraph。场景图用于场景管理的具有层次性,空间性,状态性的结构称为场景203D引擎原理ppt课件21场景图以上图战争机器中一个场景为例,场景图如下:监狱室外室内房间石墩马库斯马库斯场景图以上图战争机器中一个场景为例,场景图如下:监狱室外室内22资源管理渲染资源管理:仍以GOF为例,一个场景的贴图和模型:3Dmmog中,大量的贴图,模型,动画等资源。资源需要重用,解决创建,引用,销毁的问题。而对于另外一些无缝大场景,需要进行资源动态加载,资源回收的机制。图

6、1场景中使用的纹理资源管理渲染资源管理:图 1场景中使用的纹理23渲染器渲染状态的管理:图形流水线中有多组渲染状态,切换渲染状态是一个较大开销,因此对渲染状态进行一个有效的管理,才能保证渲染效率和渲染结果的正确性。渲染器渲染状态的管理:图形流水线中有多组渲染状态,切换渲染状24渲染器光照和阴影保证了场景的真实性。渲染器光照和阴影保证了场景的真实性。25渲染器静态光源对静态物体可以渲染到lightmap或者vertexcolor上。判定每盏动态光源影响那些物体,注意空间的变换。实时阴影算法:1.Shadow map2.Shadow Volume3.Project Shadow渲染器静态光源对静态

7、物体可以渲染到lightmap或者ver26动画系统让场景中的角色动起来。动画:物体的属性随时间变化。关键帧动画:记录某些时刻物体的属性,例如A,B时刻的位置属性。A,B之间的时刻的属性通过差值得到。动画系统让场景中的角色动起来。27骨骼动画骨骼动画:骨架(skeleton)是由一系列具有层次性的骨骼(bone)组成,通过关键帧动画来描述骨骼的运动。骨骼动画骨骼动画:骨架(skeleton)是由一系列具有层次28蒙皮蒙皮:把人物模型(mesh),蒙到骨骼上面,就是确定每个mesh顶点会受到哪些骨骼的影响。蒙皮蒙皮:把人物模型(mesh),蒙到骨骼上面,就是确定每个29动画系统粒子系统:用大量的

8、,具有一定规则的微小物质来模拟图形学中火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹 等效果。几种常用的基础粒子效果有粒子发射器,条带,波带,公告板。动画系统粒子系统:用大量的,具有一定规则的微小物质来模拟图形30物理引擎要创造出真实的交互环境,仅模拟图像表现是不够的,还需要游戏中物体满足物理定理。例如可破坏的游戏环境带来的感受是不同的。物理引擎要创造出真实的交互环境,仅模拟图像表现是不够的,还需31物理引擎基础需求:角色和场景之间的相交检测,角色之间的检测(单机游戏)。高级需求:可破坏的环境,布料系统,毛发效果等,最好使用一个物理引擎来解决这些。Nvidia的PhyX,Intel的

9、Havok。物理引擎基础需求:角色和场景之间的相交检测,角色之间的检测(32物理物理33高级渲染效果高级渲染效果,比拼引擎的技术实力。后期处理效果:Bloom,Tone Mapping,景深,动态模糊等。复杂的光影效果,实时阴影,镜面反射等效果水面效果。大规模植被效果。高级渲染效果高级渲染效果,比拼引擎的技术实力。343D引擎的基础模块场景管理资源管理渲染器动画和粒子高级渲染物理引擎3D引擎的基础模块场景管理353D引擎的二次开发3D引擎的外围:1.场景编辑器,特效编辑器,材质编辑器,UI编辑器,模型max/maya导出插件。2.环境系统。3.换装系统和技能系统。4.音乐音效系统。3D引擎的二

10、次开发3D引擎的外围:363D引擎的二次开发为什么需要一个对3D引擎的二次开发:购买的3D引擎缺少游戏所需的引擎基本功能和外围功能以GameBryo2.1为例:没有适用的场景编辑器,特效编辑器.没有适用的资源管理器(贴图管理都没有).没有适用的高级渲染模块,虽然有一些sample code,但是需要做一个组织和封装.场景管理也需要重写部分.换装系统和技能系统3D引擎的二次开发为什么需要一个对3D引擎的二次开发:购买的37引擎的分类,代表作品高层,魔兽争霸地图编辑器。快速、简单易用。只适用于某个游戏,用来做新关卡、资料片。中层,unreal、lithtech。相对快速、简单易用,对开发人员要求较

11、低。(三个月学习期)。灵活性中等,适合某一类游戏(第一人称射击、即时战略)底层,gamebryo、ogre。需要二次开发,对开发人员要求高。灵活性大,适合各种游戏。引擎的分类,代表作品高层,魔兽争霸地图编辑器。快速、简单易用38国内技术现状天龙八部ogre引擎的成功,完美自主研发引擎的成功使国内游戏开发界认识到3D游戏引擎的威力。目前多采用基于对Gamebryo,Ogre的二次开发,或者是自主引擎的研发。国内整体引擎开发能力较低,经常会犯严重的错误。国内技术现状天龙八部ogre引擎的成功,完美自主研发引擎的成39近期技术路线趋势may引擎架构图近期技术路线趋势may引擎架构图40近期技术趋势支

12、持多核,渲染线程化。任务从CPU到GPU的转移。可编程渲染管线的支持。近期技术趋势支持多核,渲染线程化。41100人测试场景(单线程)100人测试场景(单线程)42100人测试场景(多线程)100人测试场景(多线程)43100粒子反射器测试场景(单线程)100粒子反射器测试场景(单线程)44100粒子反射器测试场景(多线程)100粒子反射器测试场景(多线程)45怎样开始你的3D引擎学习门槛:cc+,3D图形数学基础,超强的耐心,英文基础。1.选择一个图形API(D3D OpenGL,连Carmark都放弃了OpenGL,所以还是D3D吧)2.D3D的学习,最好的参考文档还是DXSDK的帮助文档

13、。从DXSDK最简单的Tutorial程序开始,逐渐的研习其中复杂的例子,并且同时开始实时图形学的学习。3.当比较精通D3D,和图形学时,可以开始看一些引擎设计的书籍,研习一两个商业引擎的代码(推荐Gamebryo,结构清晰,不推荐unreal3)。4.开始写自己的引擎,或者参与到一个引擎的项目中去。怎样开始你的3D引擎学习门槛:cc+,3D图形数学基础,46怎样开始你的3D引擎学习重要的资料1.DXSDK帮助文档2.Realtime Rendering3.3D.Game.Engine.Architecture.Engineering.Real-Time.Applications.with.Wild.M6.The Cg Tutorial 7.Real-time.Rendering.Tricks.and.Techniques.in.DirectX8.Microsoft.DirectX.9.Programmable.Graphics.Pipeline 怎样开始你的3D引擎学习重要的资料47Thank you!Any Question?Thank you!Any Question?48

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!