三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx

上传人:b****5 文档编号:27893436 上传时间:2023-07-06 格式:DOCX 页数:63 大小:1,010.09KB
下载 相关 举报
三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx_第1页
第1页 / 共63页
三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx_第2页
第2页 / 共63页
三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx_第3页
第3页 / 共63页
三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx_第4页
第4页 / 共63页
三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx

《三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx》由会员分享,可在线阅读,更多相关《三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx(63页珍藏版)》请在冰豆网上搜索。

三D游戏引擎中的室外大场景渲染技术研究与实现样本.docx

三D游戏引擎中的室外大场景渲染技术研究与实现样本

3D游戏引擎中室外大场景渲染技术研究与实现

核心字:

室外场景渲染 LOD技术 GeoMipMap 场景管理 多纹理混合

3D游戏特别是网络在线游戏中,室外大场景渲染是一块非常重要内容,它也是3D图形引擎核心。

它是图形学和图像解决理论最直接应用,其涉及技术还可以应用于其他领域,例如虚拟现实、3DGIS、数据可视化等,其重要性不容置疑。

随着硬件不断发展,行业对渲染场景规模和真实感提出了更高规定。

第一章绪论

  1.1概述

  众所周知,近几年以电子游戏为主计算机互动娱乐产业迅猛发展,已成为国民经济重要构成某些。

然而,由于国内软件业起步较晚,3D游戏核心技术被欧美、日韩等牢牢占据。

如何掌握有关核心技术已成为中华人民共和国电子娱乐产业当务之急。

  室外场景渲染是指对户外所有景物真实绘制,相对于室内场景渲染,它更为复杂。

在3D游戏特别是网络在线游戏中,室外大场景渲染是一块非常重要内容,它也是3D图形引擎核心(见图1.1)。

游戏引擎中大场景渲染技术是图形学和图像解决理论最直接应用,其涉及技术还可以应用于其他领域,例如虚拟现实、3DGIS、数据可视化等,其重要性不容置疑。

  1.1.1室外场景渲染研究内容和难点

  真实感室外场景除涉及地表基本几何形状绘制,还涉及地表上生物如:

草、岩石、树等渲染以及对光影效果体现。

其中难点重要在大规模地表数据解决和真实感仿真。

地形场景中模型图元数量是以场景大小平方速度增长。

一种8193×8193维数地形,如果不考虑减低细节限度和裁剪,绘制一帧将要渲染128M个三角形,这样三角形量在PC级别机器上当前还是远不能实现交互式帧率。

因此,如何减少渲染地形图元数目一度成为室外场景实时渲染核心问题。

随着硬件技术发展,每秒钟解决上亿个三角形已不再困难。

诸多计算如几何变换和光栅解决都可以交给GPU去计算。

在GPU数据吞吐量很大状况下,如果~个算法在剔除渲染图元过程中占用了太多CPU资源,浮现GPU等待CPU状况,那么虽然算法在剔除多余顶点方面做得较好,总体绘制效率也不是高效。

因此在当前显卡硬件架构下,能充分发挥CPU与GPU性能,消除局部效率瓶颈算法才是最佳算法。

  在真实感仿真上,例如对草丛模仿,如果所有用细节三角形面片,那虽然一片草地需要渲染三角形个数也是难以想像。

当前对物体细节体现还重要是运用纹理贴图方式来实现。

光影效果体现涉及局部光照模型、全局光照模型、光照贴图、阴影生成等有关算法和技术。

  1.1.2国内外技术发展历程和现状

  在国外,3D游戏中场景渲染技术发展大体可以分为三个阶段:

  三维真实感场景渲染领域研究在国外起步很早,诸多有关算法在80—90年代就已提出,并建立了非常严密理论体系。

例如对场景渲染非常重要多边形LOD算法,场景空间管理BSP、四叉树、八叉树等算法,光照模型,阴影算法等。

但是这些算法在资源有限微机上受到各方面限制。

当时这些算法还仅限于在大型机和图形工作站上实现。

  92年,随着IDSoft公司一款游戏Quake(雷神之锤)发布,标志着第一款支持多边形模型、动画、粒子系统全三维游戏在个人计算机上正式诞生。

在随后发布QuakeII、Unreal、HalfLife等游戏中,场景渲染有关LOD技术、BSP空间管理技术、光照贴图、凹凸贴图、多重贴图等相继应用在3D游戏中。

随后浮现Quake、Unrea]游戏引擎,更是标志着3D游戏引擎技术走向成熟。

  现阶段,随着显卡技术发展,GPU不但支持原则(固定)变换与光照(T&L)管道线,还支持顶点着色(vertexshader)和像素着色(pixelshader)方式,开发人员因而有了更大自主空间,可以实现更真实绘制功能。

在此环境下,各大公司都着手开发新一代3D游戏引擎。

其中商业引擎以QuakeIII、UnrealII最为出名。

此外,软件开源社区不断壮大,也诞生出某些比较好开源3D引擎,例如OGRE等。

运用这些引擎中场景渲染技术能生成真实感更强水波、天气系统、茂密森林、流熔岩火山等效果,场景规模也更大,顶点动态光照技术也开始在室外场景中应用。

  3D游戏趋势是往超大规模场景,真实感体现虚拟世界发展。

大规模场景体现和游戏虚拟仿真,自然也成为了世界上3D游戏行业非常热门和前沿研究领域与方向。

例如美国暴雪公司“魔兽世界"和韩国NCSOFT公司“天堂2"已经在这两个方而获得了相称突破和进展。

暴雪“魔兽世界"按人比例来计算,世界地图已达到35km×35km。

  随着电子娱乐业迅猛发展,国内当前从事3D引擎研究和开发公司也多了起来。

例如目的软件GFX3D引擎,隆重公司3D引擎,网易公司3D引擎,锦大科技AURORA引擎等,尚有某些游戏工作组3D引擎,例如WIN3D系列,Origo系列,TUAM9系列引擎等。

但总体上来说,国内还处在使用和模仿先进引擎阶段,诸多都是在国外先进引擎上做某些延伸。

真正严格意义上自主开发产品还几乎没有,或者说自主开发产品质量和欧美日韩尚有一定差距。

这种差距在一定限度上反映在3D大场景渲染技术方面,因而进一步展开这方面研究十分必要。

  1.2课题研究目

  本课题但愿通过剖析多款成熟3D游戏、引擎,对3D引擎核心某些一室外场景渲染技术进行探讨,并设计和实现自己某些方案,给国内商业游戏引擎开发带来某些启示。

  1.3论文篇章构造

  本文本着注重实际应用前提,通过剖析开源3D引擎并运用推测验证办法,对室外场景渲染重要技术进行了研究和实现,在诸多章节也提出了自己方案和优化办法。

如下对各章内容进行简要描述。

  第一章绪论。

简介3D室外场景渲染基本概念,简介国内外在这一领域研究现状,阐述课题意义和研究内容。

  第二章简介3D图形渲染基本知识,涉及图形渲染原理、流程以及实现图形渲染可以应用类库OpenGL。

  第三章研究室外超大场景地形网格生成与简化算法,比较各种基于LOD思想网格简化算法优劣,提出基于几何多重映射(GeoMipMap)地形绘制优化方案,并得以实现。

研究也涉及到地形空间管理算法、可见性剔除算法、超大场景数据加载方式研究等。

  第四章研究场景真实感渲染技术。

重要涉及应用多层纹理混合贴图模仿融合性地表技术,室外场景光影效果解决技术,天空、树、草、雾等渲染方案和技术。

  第五章描述本设计实现室外渲染软件DemoOSRender,以及程序编写过程中可用优化技术。

  第六章对全文进行总结,简介开题论文完毕状况,客观评价长处和局限性,并给出改进方向。

第二章3D游戏场景渲染基本知识

  室外场景渲染从基本原理上来说可以分为两类:

基于体素渲染办法和基于多边形渲染办法。

初期3D游戏,如三角洲特种部队就是采用体素渲染法。

体素法类似光线跟踪渲染,它从屏幕空间出发,找到地形与屏幕像素发出射线交点,然后拟定该像素颜色。

这种办法不依赖详细图形硬件,整个渲染过程完全使用CPU解决,因而它不能使用图形卡硬件来加速,并且对于一种场景来说,往往不只是地形,尚有其她使用多边形描述物体,体素法渲染图像很难与硬件渲染多边形进行混合,因而这种办法当前用得很少,而多边形渲染办法则成为一种主流。

选取多边形来描述和渲染地形有诸多长处,最重要是它可以较好地使用硬件加速,并且可以和其她多边形对象一起统一管理。

因而本课题仅对基于这种多边形面片场景渲染技术进行研究。

  2.1基于多边形面片3D渲染原理

  2.1.1基于多边形面片图形绘制流程

  用多边形面片来建立物体三维模型有容易表达、计算简朴、容易绘制几种方面好处,因而在游戏三维图形渲染中被广泛采用(普通是三角形面片)。

从模型顶点送入渲染管道到最后形成二维图像过程如下图2.1所示:

  2.1.2变换

  渲染管道中大某些工作是把对象模型顶点在一种坐标系中表达转化为另一坐标系中表达,普通需要通过模型变换和相机变换两个过程。

  普通,几何模型被保存在自身建模空间,即每个模型拥有单独局部坐标系统。

为了建立场景几何关系,模型将统一放置到世界坐标系中,从建模坐标系变换到世界坐标系叫模型变换。

几何模型最后成像是在摄像机坐标下,将场景物体从世界坐标系变换到摄像机坐标系叫相机变换。

相机外部参数决定了相机坐标系,因而场景在屏幕上成像位置与形状和相机外部参数关于。

模型和相机变换采用4×4齐次矩阵表达,其形式如下:

  例如平移变换可表达如下:

  点(x,y,z)平移(tx,ty,tz)后坐标为(x",y",z")。

此外尚有旋转、缩放变换,这三种基本变换可以合成任意几何变换。

  普通把模型变换和相机变换矩阵复合成一种矩阵解决,便于提高效率。

在所有图形绘制库中,都提供了程序接口供应用程序设立模型和相机变换相应矩阵。

其中,模型变换由场景物体平移和旋转、缩放变换构成,相机变换则通过设立相机位置、相机方向和向上向量来决定。

  2.1.3裁剪

  相机参数涉及投影方式、近平面、远平面、视野和屏幕长宽比率,它们决定了物体从相机坐标系投影变换到屏幕坐标系位置。

这些参数事实上定义了一种视域四棱锥,也叫做视锥体。

  位于视锥体之外场景某些不需要送入后续阶段解决。

因而,对完全位于规一化设备空间之外几何元素,可简朴地舍弃。

而某些位于规一化设备空间之外几何元素则需要进行裁剪操作。

由于裁剪面就是立方体6个表面,实现起来非常简便。

应用程序也可以定义额外平面对场景进行裁剪。

视域裁剪普通由底层图形AP]自动完毕。

注意这里所说裁剪是比背面章节要简介视锥体剔除更底层裁剪。

2.1.4投影

  把三维物体变为二维图形表达过程称为投影,其又分为平行投影和透视投影。

透视投影是所有投影线交于投影中心;而平行投影是投影线平行,投影中心在无穷远。

在游戏虚拟场景模仿中重要应用透视投影。

透视投影可分为一点透视、二点透视和三点透视。

  针对一点透视投影如下图:

  从上图P点在观测平面上投影咱们可以得到描述尸点参数方程:

  2.1.5光栅化

  从顶点构成几何模型变换到像素过程称为光栅化(Rasterization)。

它机理与得名来源于CRT显示屏电子枪发射方式。

光栅化可分为四个子阶段,即消隐、逐像素光照明计算、纹理映射和颜色融合。

  

(1)消隐

  消隐目是解决场景可见性问题。

所谓可见性计算,是指计算物体投射到投影平面如果有交叠,观测者应当看到哪个投影点。

图形学中典型解决方案是物体空间Z一缓冲器算法和图像空间光线跟踪算法。

由于Z-缓冲器算法易于在图形硬件中实现,逐渐演化称原则图形硬件消隐技术。

在深度缓冲器中,每个像素上始终保存最接近视点深度。

当光栅化产生新像素后,该像素深度和保存在深度缓冲器像素深度进行比较,如果不大于已有像素深度,则用像素颜色和深度替代分别保存在颜色缓冲器像素颜色和深度缓冲器中像素深度,反之保持不变。

在绘制之前,深度缓冲器必要初始化为最远深度,以保证可见性计算对的性。

  

(2)光照计算

  光照计算影响物体外观。

进行光照计算几种要素涉及光源位置、光源属性、光照模型、物体表面材质属性、纹理和物体表面几何属性(涉及法向、微几何构造)等。

最简朴光照明计算技术是在物体建模时指定每个顶点颜色和纹理坐标,在绘制时直接运用颜色和纹理映射融合为最后颜色。

这种办法称为平坦渲染(Flatshading)模式,它速度快,但效果欠佳,是初期游戏中最惯用技术。

  真正意义上光照计算必要指定每个光源自身属性,涉及光源类型(点、线、面光源)、位置和光源漫反射/镜面反射颜色,然后依照光照模型(分局部光照明模型和全局光照明模型,前面所述直接指定顶点颜色办法可看作最简朴局部光照明模型)在物体每个顶点计算每个光源对该顶点光亮度贡献,最后在光栅化层插值顶点上颜色。

这种解决模式称为Gouraud渲染模式,知名游戏guakeEi就使用了Gouraud渲染模式。

  逐顶点光照计算相应于Gouraud渲染模式,而逐像素光照计算则相应于法向渲染模式(也称为Phong渲染模式)。

Phong模式在游戏场景渲染中也被广泛采用。

在游戏三维引擎设计中,必要依照图形硬件配备和场景复杂度选取适当光照渲染模式。

  (3)纹理映射

  纹理映射是增强场景真实感一种简朴有效技术。

它将预生成图像直接贴在物体表面,模仿物体表面外观,因而也叫贴图法。

纹理映射扩展技术有诸多,涉及环境映射、光照图、球面映射、立方体映射、凹凸映射、位移映射等,是图形渲染加速中最重要手段。

在真实感渲染章节会有更详细讨论。

  (4)颜色融合

  对于每一种像素,前面环节也许产生光照计算和纹理映射两类颜色值。

不但如此,光照明计算成果也许来自各种光源,而每个光源可导致漫反射和镜面反射光亮度。

此外,同一像素也也许采集来自各种纹理值,如多通道纹理映射和单通道多重纹理映射。

所有这些颜色值将依照各自不透明度融合出最后成果。

颜色融合不但能加强场景真实感,还能产生半透明绘制、景深、基于alpha缓冲器反走样、软阴影等特效。

2.2图形绘制库OpenGL

  2.2.1OpenGL基本理解

  图形渲染引擎中最底层可以自己实现,但是没有显卡硬件厂商支持,自己实现往往不能得到硬件加速特性。

因此游戏中图形渲染普通需要运用0penGL和DirectX等成熟图形库。

当前诸多游戏引擎对两个库都提供支持,作为学术研究OpenGL是更好选取,因此本设计在实现算法时选用了OpenGL。

  OpenGL是一种封装了硬件图形加速器软件接口口7|,几乎所有显卡对它都提够良好支持。

它也是图形库业界原则。

OpenGL涉及了100各种图形操作函数,开发者可以运用这些函数来构造景物模型、进行三维图形交互软件开发。

也可以说,OpenGL是一种高性能图形软件开发包。

OpenGL支持网络,在网络系统中顾客可以在不同图形终端上运营程序显示图形。

OpenGL作为一种与硬件独立图形接口,它不提供与硬件密切有关设备操作函数,同步,它也不提供描述类似于飞机、汽车、分子形状等复杂形体图形操作函数。

顾客必要从点、线、面等最基本图形单元开始构造自己三维模型。

固然,象3DSMax那样更高一级基于OpenGL三维图形建模开发软件包将提供以便建模工具。

因此,OpenGL图形操作函数十分基本和灵活。

例如OpenGL中模型绘制过程就涉及网格线绘图方式、反走样网格线绘图方式、平面消隐绘图方式、光滑消隐绘图方式、加阴影和纹理绘图方式等。

总说来,OpenGL功能涉及如下几种层面:

  

(1)模型绘制

  OpenGL可以绘制点、线和多边形。

应用这些基本形体,可以构造出几乎所有三维模型。

  

(2)模型观测

  在建立了三维景物模型后,需要用OpenGL描述如何观测所建立三维模型。

  (3)颜色模式指定

  OpenGL应用了某些专门函数来指定三维模型颜色。

  (4)光照应用

  用OpenGL绘制三维模型必要加上光照才干与客观物体更加相似。

OpenGL提供了管理四种光(辐射光、环境光、镜面光和漫反射光)办法,此外还可以指定模型表面反射特性。

  (5)图象效果增强

  通过反走样、混合和雾化等函数来增强图象效果。

  (6)位图和图象解决

  OpenGL还提供了专门对位图和图象进行操作函数。

  (7)纹理映射

  OpenGL提供一系列纹理映射函数使得开发者可以十分以便地把真实图象贴到景物多边形上,从而可以绘制逼真三维景观。

  (8)实时动画

  为了获得平滑动画效果,需要先在内存中生成下一幅图象,然后把已经生成图象从内存拷贝到屏幕上,这就是OpenGL双缓存技术(doublebuffer)。

OpenGL提供了双缓存技术一系列函数。

  (9)交互技术

  OpenGL提供了以便三维图形人机交互接口,顾客可以选取修改三维景观中物体。

2.2.2OpenGL工作流程

  整个OpenGL基本工作流程如2.4图:

  其中几何顶点数据涉及模型顶点集、线集、多边形集,这些数据通过流程图上部,涉及运算器、逐个顶点操作等;图像数据涉及象素集、影像集、位图集等,图像象素数据解决方式与几何顶点数据解决方式是不同,但它们都通过光栅化、逐个片元(Fragment)解决直至把最后光栅数据写入帧缓冲器。

在OpenGL中所有数据涉及几何顶点数据和象素数据都可以被存储在显示列表中或者及时可以得到解决。

OpenGL中,显示列表技术是一项重要技术。

  OpenGL规定把所有几何图形单元都用顶点来描述,这样运算器和逐个顶点计算操作都可以针对每个顶点进行计算和操作,然后进行光栅化形成图形碎片;对于象素数据,象素操作成果被存储在纹理组装用内存中,再像几何顶点操作同样光栅化形成图形片元。

  在整个流程操作最后,对图形片元进行一系列逐个片元操作,最后象素值送入帧缓冲器实现图形显示。

  2.2.3OpenGL程序构造

  第一某些是初始化某些。

重要是设立某些OpenGL状态开关,如颜色模式(RGBA或ALPHA)选取,与否作光照解决(若有话,还需设立光源特性),深度检查,裁剪等等。

  第二某些设立观测坐标系下取景模式和取景框位置大小。

重要运用了三个函数:

函数voidglViewport(1eft,top,right,bottom):

设立在屏幕上窗口大小,四个参数描述屏幕窗口四个角上坐标(以象素表达);函数voidglOrtho(1eft,right,bottom,top,near,far):

设立投影方式为正交投影(平行投影),其取景体积是一种各面均为矩形六面体;函数voidgluPerspective(fovy,aspect,zNear,zFar):

设立投影方式为透视投影,其取景体积是一种平截头体(frustum)。

  第三某些是OpenGL重要某些,使用OpenGL库函数构造几何物体对象数学描述,涉及点线面位置和拓扑关系、几何变换、光照解决等等。

  如下是第三某些一种简朴例程:

  2.3本章小结

  场景渲染总来说分为基于多边形面片和基于体素两种办法。

由于基于体素办法不适应当代硬件渲染流程,故本设计重要研究是基于多边形面片场景渲染。

本章从图形学原理出发,讨论了基于多边形面片3D渲染基本流程以及其中涉及数学模型。

此外,还简介了应用广泛图形库OpenGL,为下面章节详细算法讨论和软件实现做基本铺垫。

第三章室外场景地形实时绘制技术

  地形绘制是指读取虚拟世界地图信息,绘制出场景地表,并实现角色在场景中实时漫游。

它是室外场景实时绘制中最重要某些,也始终是计算机图形学中一种重要研究领域。

尽管地形绘制在不同游戏中所采用技术会有所不同,但是她们总体上还是遵从一定流程,如图3.1所示:

  如下章节会逐渐分析有关技术。

需要阐明是本章探讨“绘制”还不涉及真实感体现,可以理解为线框模式下绘制。

  3.1地形绘制所需数据

  地形绘制所涉及数据重要有:

地形高度图、缩放标尺、地表纹理图、地表纹理索引等。

在游戏设计中,体现一种场景所需要一系列数据往往打包放在一起。

  3.1.1高度图

  对基于三角形面片渲染3D场景来说,地形顶点信息就是指构成地形所有三角形面片每个顶点三维坐标。

最简朴最有效地形顶点表达办法是使用高度图(heightmap)u利。

  普通高度图是一张灰度图,它长宽普通满足(2^n+1)。

每个像素灰度值表达地形相应位置高度值,用持续三角形面片来连接这些三维空间中顶点就构成了地形面片。

高度值值域范畴0--255足以体现游戏中场景地形起伏,如果需要也可以使用双字节,四字节或更高来描述高度值。

在设计中诸多游戏由于封装数据需要,普通自定义高度图格式,而不采用灰度图,但是其存储数据本质上是同样。

  3.1.2缩放标尺

  地形信息还应涉及缩放标尺,用来表达在绘制时高度图中相邻两个灰度值之间相隔X,Z方向上距离值。

例如一张33×33高度图缩放标尺是l米,则在游戏中咱们可以看到一种32MX32M大小场景。

此外,在Y方向上也有一种缩放标尺,负责地形高度缩放。

  3.1.3顶点法向量

  地形网格上各点都需要一种表面法向量。

它可以用来计算光照,进行背面剔除,检测与表面碰撞等。

一种三角形法向量可以通过三角形上两向量叉乘办法轻松获得,而顶点级法向量可以通过共享此顶点所有三角形法向量求平均值来模仿,在诸多状况下,这样效果已经可以达到规定了。

顶点处其实是没有法向量定义,由于此处网格表面不持续。

  3.1.4各种地表纹理及光照贴图

  为了体现地形真实感,当前游戏中做法是通过多重纹理混合贴图来实现。

其中用到贴图普通以各种图片格式保存。

关于这种技术讨论在真实感渲染章节会详细简介。

  3.1.5单个场景地形数据构造

  由以上分析咱们就可以得到单个场景地形数据构造,如下所示:

  3.1.6面片构成

  任何多边形模型都可以转换成三角形集合,因此地形网格也是三角形集合。

如果三角形被各自独立地送至图形硬件进行绘制,共享顶点数据就需要执行重复冗余运算,并且相似数据还被传送至少两次以上。

减少这些额外开销一种办法就是把彼此相邻三角形构建成三角带(strip)。

一方面,把第一种三角形三个顶点放至strip之中,然后将别的三角形顶点依照相邻顺序依次放至strip中,每个三角形只需要加入二个顶点。

缺省条件下,在strip中彼此相邻顶点都构成了连接两个相邻三角形公共边。

如果连接规则(顺时针或者逆时针顺序)需要发生变化,则可以使用swap命令互换顶点顺序,或者重新将某一种顶点放入strip之中。

扇形三角形带(Trianglefans)可以看作是三角带一种退化形式,只是其中所有三角形都共享一种公共顶点。

图3.2是三角形带表达办法:

  V0,V1,V2,V3,V4五个顶点构成了表达三个三角形三角形带。

注意描述三角形带时,顶点顺序很重要,由于是遵循一定连接规则(顺时针或逆时针)。

在OpenGL中生成最右方三角形带代码如下:

  3.2LOD地形网格简化算法基本思想及意义

  所谓地形网格简化是指通过算法减少提交到显卡顶点,以减少每帧同屏渲染三角形数量,借以提高渲染速度。

  细节层次(LOD,levelsofDetails)技术是一种符合人视觉特性网格简化技术。

咱们懂得,当场景中物体离观测者很远时候,它们通过观测、投影变换后在屏幕上往往只是几种像素甚至是一种象素。

咱们完全没有必要为这样物体去绘制它所有细节,可以恰当合并某些三角形而不损失画面视觉效果。

对于普通应用,咱们普通会为同一种物体建立几种不同细节层度模型。

这样技术应用在地形渲染中,也称之为多辨别率地形(Multi—ResolutionTerrain)。

下图就是一种多辨别率地形网格:

  在开发3D游戏时也有不采用基于LOD地形网格简化算法做法。

典型游戏有韩国游戏公司开发知名3D网游《奇迹》,每个Tile场景地形它用257×257高度图构成,采用静态载入场景数据方案同样产生出了美妙场景。

对于这样小场景,固然没有必要做地形网格简化,当前普通显卡足以可以应付。

之因此她能成功应用这种方式,是由于在设计场景时限制了地形高低起伏,使地形趋于简朴,缩放标尺获得很大,同步用纹理和光照贴图来弥补地形本质上单调。

此外,如果运用基于外存动态数据载入算法,理论上也可以不用基于LOD地形网格简化算法。

  随着3D游戏成熟,玩家需要有更真实体验,因而地形变得更加复杂,场景变得更加巨大,地形绘制需要诸多数据参加,对系统资源消耗巨大。

如果一点也不进行地形网格简化,试想一种1025X1025场景就将生成2M个三角形,渲染大场景时显卡解决能力很难跟上。

在显卡数据吞吐能力有限状况下,游戏场景渲染中普遍基于LOD思想,减小绘制多边形数目。

它能在牺牲适量CPU资源前提下大大减轻图形卡数据负载,使CPU与GPU之间没有明显瓶颈,从而达到实时渲染大地形目。

  基于LOD地形网格简化算法分为动态LOD和静态LOD算法。

动态LOD算法是在每帧渲染之

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1