《GTA》系列自1997年公开以来就受到叻广大玩家的喜爱,在2年前R星公开了《GTA5》,游戏非常成功在短短24小时内就出货了1100万份,销量可怕
游戏的PS3/XBOX 360版本可以说做的非常成功,PS3僅有256M RAM以及256M显存竟然能够运行如此出色的画面渲染模式哪个好而不奔溃,这不得不让人感叹R星技术的强大
当然,今天我们要谈论的是游戲PC(DirectX 11)版本,就是占用了几个GB内存和显存的那个版本让我们一起来揭秘游戏图像的秘密吧,看看一帧3D游戏画面渲染模式哪个好是如何诞生的
第一部分:解剖帧数框架
我们用麦克的这张图作为例子,他站在一辆Rapid GT前身后是美丽的洛圣都。
《GTA5》使用的是延迟性管道渲染通过大量的HDR缓冲区运行,当然这些缓冲区无法在同一个显示器中全部呈现因此我们将其***,将画面渲染模式哪个好调用至Reinhard模型通过这样将畫面渲染模式哪个好回归到每条线路8-Bit。
第一步截取图像的环境块图,这个块图每一帧都是事实运算连续执行后就得到了后期逼真的环境效果,这也是Nvidia的3D画面渲染模式哪个好实现技术——Forward-Rendered
那么如何实现这些块图的呈现,对于不熟悉游戏技术的人你可以想象你在拍摄一副全景图片,设定自己站在一个立方体中间六面环绕,每转过90度进行拍摄一面连接一面。
游戏中图像就是这么呈现的每一面换算到128X128 HDR圖像,第一面的元素就包括以下内容:
同样的内容使用到剩下的五个面最终获得完整的块图:
每一面差不多呈现出30次画面渲染模式哪个恏调用,基地的多边形网格呈现的内容仅仅是环境(天空、山脉、主题建筑)角色以及车辆不予以呈现。
这也是为何在游戏中你的车辆囷环境互相反应非常好而其他的车辆却没有造成反应角色也是如此。
块图到抛物面图的转换:
完成了环境块图的设计之后就需要把它转囮为双边抛物面图
方块图展开后显示了不同区域,而转化之后就类似于半球形状的图片(包含俯视和仰视双视角)
为何要进行这一步轉换,很关键的一点在于优化!通过块图着色器需要捕捉到6个面上128X128的图像而转换为双边抛物面图之后,着色器需要捕捉的仅仅是2个全面嘚128X128图像更重要的是,一般情况下玩家的视角都是从上方往下看,因此完善俯视视角就能够进一步地达到优化目的
此外,块图6个面的邊缘都是独立链接如果说两个边缘上存在统一图案对于老一代的显卡来说将无法识别,就算是新一代的显卡也需要耗费更多性能去过滤而转换为双边抛物面图将大大减轻显卡处理的压力。
修缮细节等级(LOD):
这一步需要计算着色器来完成根据物体距离镜头的远近,用鈈同精细的网格进行着色有的物体甚至不需要着色过程,例如一些超过可见距离的花和草是不会呈现在屏幕上的就不需要进行修缮。
這一方面PS3和PS4/PC版本之间存在着很大的差异(PS3版本没有计算着色器支持)因此在PS3版本中,这些内容都通过Cell多核处理器或是SPU解决
画面渲染模式哪个好革新的关键就在这里,所有可见网格一个接一个着色但不会同时进行阴影计算,着色器会将一些简单的相关阴影输出到G-缓冲区《GTA5》采用的是MRT技术,因此每个着色器单位可以同时渲染五个单位
随后,这些在G-缓冲区的阴影将会合计到一起进行像素着色因此得名遞延,在这一步中绘制的内容只有那些不透明的物体,像玻璃这一类物体需要采用其他递延管道进行处理
这些渲染的最终目的是为了LDR緩冲(RGBA,8-BITS每个管道)能够更快地计算出最终有效阴影的数值。
其中涉及到的渲染内容包括:
漫反射贴图缓冲区:它的作用是储存“内在颜色”的网格代表了物体本身的材质,理论上不受光照影响但你可以注意到汽车引擎盖上的泛白区域,R星在定向输出漫反射贴图之前计算叻太阳光的阴影效果
法线贴图缓冲区:用于储存每一个像素的法线向量(R/G/B)。
镜面贴图缓冲区:里面包括了物体的高光/反射信息:
-Green:光泽喥(平滑性)
-Blue:菲涅尔强度(判断所有像素是否属于同一材质)
发光贴图缓冲区:红色通道包括受太阳光照影响的所有独立像素所反射的光照蓝色通道则是包括物体受到第二光源的反射,绿色通道则是处理物体本身具有的发光反射(霓虹灯、灯泡)在这里大多数阿尔法通噵是不使用的,除非需要标记对应字符的皮肤或是植被的像素单位
深度贴图缓冲区:用于储存镜头里每个像素之间的距离。
▲左为深度緩冲右为模板缓冲
上述所有缓冲区最终形成需要大约1900左右的draw calls(draw call是openGL的描绘次数,数值越低越好对于GTA5来说,1900这个数值是非常低了)注意,在场景渲染中从前到后的顺序是最明智的,剔除更多不需要渲染的内容这样一来可以进一步减少显卡压力。
maps一种比较新的实时阴影渲染技术专门用于渲染大型场景,效果很好但是有一个缺点就是场景需要多次渲染,它的中心思想是将屏幕像素分散到多个ShadowMap中因为菦处的东西细节较高,远处的东西细节较低因此将视椎体分割,并将光源摄像机聚焦到对应的小视锥上)贴图像素为,用此技术是为叻确保玩家附近的阴影拥有更高的像素而远处物体的阴影细节则适当减弱。
这一步有很高的性价比虽然说要进行4倍渲染次数,但其间鈳以避免大量不必要的多边形裁剪使得draw calls数值维持在1000左右。
通过深度信息计算出每个像素的阴影,进而进行分类太阳方向的光反射阴影处于红色通道中,而在大气中透过云投射将会分别储存在红色和绿色通道中
▲绿色部分为太阳阴影,灰色部分为云朵阴影
同时阴影将采用抖动模糊效果处理如果你仔细观察下面的贴图,红色管道所呈现出的是类似棋盘状的效果这是为了边缘更加平滑。(模糊效果处悝是非常繁杂的过程因为它需要处理大量问题贴图,但最终获得的效果能够让阴影更加真实)
▲模糊处理后得到的阴影图
这属于后期检測的一项步骤因此在这里不多赘述,简而言之就是还原反射所对应的贴图在一个240X120的图案中(约650draw calls)从而呈现一个面上所反射包含的内容。
线性版本的缓冲计算结束后就开始建立SSAO画面渲染模式哪个好。
首先建立多噪点版本通过depth-aware模糊技术进行双向排除(横向和纵向)去除畫面渲染模式哪个好中的噪点。上述工作都是在原图一半的分辨率下进行的为了扩展后得到更好的画面渲染模式哪个好表现效果。
▲SA模糊技术后效果图
是时候把各个缓冲区之间的内容结合了一个着色器同时获取五个缓冲区的内容,形成最终的HDR图片
▲将缓冲区的图片融匼,得到初步效果图
这样子最终图片的雏形已经完成但我们依旧缺少天空,海洋以及一系列透明物体在此之前,至少我们的麦克还不夠完美
麦克皮肤上存在许多不连续的黑点,让他看起来像是用塑料做的而不是人肉
这时候就轮到SSS技术登场了,模拟皮肤内的光传输通过SSS后我们可以看到麦克的肌肤内似乎有了血液流淌的痕迹。而SSS技术只会应用在皮肤上而不会衍生到衣服等其他物品上是由于缓冲区计算絀麦克皮肤的像素值为0x89符合这一区域的物体才会收到SSS效果影响,而这个效果将会作用于游戏中主角以及NPC的皮肤上
在这张例图中虽然没囿大面积水域,但还是有一些游泳池等东西《GTA5》中的水是通过折射和反射两个层面呈现。
通过Z缓冲区导出两个版本的图像分散出不同嘚水面内容:
水体扩散图像:展示了水的内在颜色。
水体不透明图像:其中红色管道储存水中的不透明属性绿色管道区分水的深浅。
注意在这里所有水都呈现出来了,包括隐藏在物体后面的都会在红色管道中出现,在这里绿色管道的作用就是剔除那些隐藏的水面保留视觉可以看到的。随后我们就可以得到下面的水面反射图片
▲再结合上面的缓冲区图片内容,我们就可以获得一张带水的画面渲染模式哪个好图
创建光过滤贴图,这也被称为体积阴影实现光是透过大气层或是雾等气候后的照射效果,而不是太阳直射这样之后的图潒也存在许多噪点,需要进行模糊效果处理在此之后,添加雾面层随后是天空,最后加入云彩
▲基础+雾效果+天空+云
天空的构建采用浗形单点draw call,参考下图大规模网状覆盖整个区域。云渲染也采用相似的方式用前面提到过的法线贴图和密度贴图来渲染体积云,尺寸为无缝连接。
添加画面渲染模式哪个好中的透明物体比如玻璃,挡风镜车窗,以及飞行的尘埃粒子等这个过程仅仅占用11draw calls,就能够完荿大量粒子实体化
远景像素点由于渲染程度有限,在放大后像素化叫严重这时利用着色器进行后期处理,读取原始颜色缓冲区数据并通过阿尔法管道进行扩散得到像素化严重的色区数值,进行共同抖动处理PC版本和PS3/版本这方面处理的并不好,抖动过滤器并没有完善使鼡
曝光度永远不能够过快的转换,相邻两帧之间的差别不能够有过高的变化平缓地转换非常重要,例如你在《GTA5》中驱车从一个山洞驶絀暗到亮的变化需要多点曝光来适应玩家眼球对于视觉差变化的适应程度,暗到亮的曝光速度要比亮到暗的曝光速度更快这是根据人眼习惯所得出的结论。
▲左为低曝光度中间为中等,右为高曝光度
如果游戏的抗锯齿方式采用的是FXAA那么需要紧致网格来达到边缘平滑嘚效果,随后模拟真实世界的镜头通过小着色器进行光学畸变,这不仅仅会扭曲整体画面渲染模式哪个好也会减少边缘纹理的色差。
這里提到的UI仅仅只是改帧画面渲染模式哪个好在左下角地图上的变化整个地图区域被划分为不同方块区域,通过引擎划分出显示在同一屏幕的区域得到更好的变化效果图。最后将小地图载入主要缓冲区添加上小的图标,我们的最终作品就诞生了
可以看出制作一帧画媔渲染模式哪个好,如果厂商用心优化的话是需要非常麻烦的步骤,一步步改良减少显卡压力最终让更多玩家的PC能够顺利运行,这方媔本次R星的《GTA5》无疑做的相当出色,期待今后能够为我们带来更加完美的作品
R星日前举办了一场《GTA5》游戏PS4蝂闭门演示活动受邀的GameStop部门经理在活动后表达了自己的主观感受,在长达45分钟的演示里PS4版应该达到了1080P高分辨率水平同时我们在开发者那里得到一些全新细节。
同样NeoGaf用户The Shogun也参与了闭门活动,并感叹PS4版《GTA5》在1080P状态下几乎没有任何锯齿感、画面渲染模式哪个好高保真
R星向参与本次活动的玩家展示了《GTA5》中很多当地居民、城市、水下区域、乡下以及很多其它地域样貌。开发团队甚至还重新设计了陆哋上植物叶子、树皮、野草、野生花卉等;水下则涉及珊瑚礁、水生植物修改
除此之外,动物纹理、流水、江河湖海以及降雨效果嘟进行了重新渲染直逼现实。
最后R星游戏开发人员证实次世代版《GTA5》将迎来新内容并重新制作电台音乐。
友情提示:支持键盘左祐键“← →”翻页