gta图文吧 关注:3,136贴子:74,379

【图不止文】这个gta玩家做出了世上画质最强的游戏引擎

只看楼主收藏回复

致力于打造最优质的gta图文刊物
——gta图文吧编辑部按
吧刊第10期


IP属地:陕西1楼2018-02-15 02:56回复
    评论区会随机抽取一名吧友赠送steam正版游戏一份,下一期吧刊中会公布获奖ID
    上期获奖吧友:
    eric200303

    请前往图文吧官方群领取steam游戏激活码
    by gta图文吧编辑部
    文案:10岁的小学生 美工:小浩aa4 校对:10岁的小学生


    IP属地:陕西2楼2018-02-15 02:59
    回复
      该楼层疑似违规已被系统折叠 查看此楼


      IP属地:陕西4楼2018-02-15 03:00
      回复
        今天的主角叫做HayssamKeilany,我用了点CG行业中的“人肉”手段大体的搜集到了一些关于他本人的一些相关信息,新西兰奥克兰人,精通英语和法语,专业精通C++、HLSL、MAYA、摄影等等,现工作于洛杉矶,早期常活跃于enb领域,提到enb,不得不让人想到Marty与他的作品MMGE系列,MMGE常被人用于图文制作、游戏摄影,流传度在gta玩家群体间较广泛,但是MMGE最致命的缺陷就是代码执行效率低下,算法bug多,兼容性差,无法完整发挥硬件性能。
        而HayssamKeilany的作品则较为小众一些,Ice系列enb就是其本人一手开发的,玩过Ice的读者我想应该都为之惊叹过其mod的画质表现力,我也可以很自信地说Ice系列是enb历史上最杰出的作品,下文会详细剖析Ice的架构,Ice发布过支持老滚5和gta4的版本,早时候作者称会发gta5版本的Ice但只发布了一个demo,并没有发布成品,具体原因在下文也会解释到。


        IP属地:陕西5楼2018-02-15 03:01
        回复(3)
          Gta5 ice早期demo截图




          IP属地:陕西6楼2018-02-15 03:01
          收起回复
            Ice系列全称iCEnhancer,与enb内核的作者鲍里斯·沃龙佐夫收入方式一样,你可以通过作者给的资助通道,为喜欢的mod捐款。虽然iCEnhancer已经多年没有更新,但到目前为止HayssamKeilany的捐款通道依然是开放的。
            HayssamKeilany的个人博客(也是多年未更新,最后一条更新是在2012年)与捐款通道,喜欢他的作品可以前去打款支持。

            博客地址:https://icelaglace.wordpress.com/
            慢着··博客头像是苍井空???23333


            IP属地:陕西7楼2018-02-15 03:03
            收起回复


              IP属地:陕西8楼2018-02-15 03:04
              回复
                除了博客外,HayssamKeilany也给iCEnhancer建设了官网,但是由于旧网站的连接问题,暂时无法访问,HayssamKeilany临时做了一个网站,想体验iCEnhancer的吧友可以前去下载enb本体和HayssamKeilany在网站里附赠的植被贴图和道路贴图

                网站链接:http://www.icelaglace.com/
                网站挂掉前的界面


                IP属地:陕西9楼2018-02-15 03:06
                收起回复
                  Ice3.0详细架构剖析,图文源于与gta4吧吧友mzczzz(原文写的太笼统,编辑部重写了文章并增加了五倍的文字量和更专业的文字)
                  先来看看根目录下的文件

                  和普通的enb没什么区别,无非是多了sweetfx和一个名叫icenhancer_config的文本文件,这个文件的作用会在后文提到,在此不做过多的解释
                  sweetfx游戏后处理插件的着色器现已被打包进reshade中


                  IP属地:陕西11楼2018-02-15 03:08
                  回复
                    然后来看enb的核心文件:dll文件
                    Enb的核心就是这个dll文件,因为它负责将所有根目录下的文件串联起来,起到驱动作用
                    下面是ICE3.0的dll

                    这个是普通的0.163内核dll文件


                    读取画面也没有出现ice的字样
                    可见,ICE3.0对于dll没做过多的手脚,大小完全相等,而且根目录的文件也没有被篡改名称


                    IP属地:陕西12楼2018-02-15 03:10
                    回复
                      Sweeetfx
                      ICE3.0中加入sweetfx是意料之中的事情
                      Sweetfx对于改善画面有很大的帮助

                      打开sweetfx的配置文件,sweetfx提供的特效ice几乎都没有使用,而仅仅使用了smaa

                      Ice3.0的说明文件中还特此鸣谢了sweetfx抗锯齿的提供人员

                      可见enb内置的抗锯齿是多么不受待见
                      如果需要用ENB的抗锯齿最好关闭硬件抗锯齿和游戏本身的抗锯齿。有些显卡驱动可能会导致ENB的AA失效。
                      enb内置的抗锯齿算法很丰富如EdgeAA、SubPixelAA、TransparencyAA、TemporalAA等。


                      IP属地:陕西13楼2018-02-15 03:12
                      回复
                        先来介绍介绍enb这几种内置抗锯齿的算法:
                        Edge AA边缘抗锯齿
                        Edge AA是Deferred Shading in S.T.A.L.K.E.R提出的方法,根据“邻居像素”的depth和normal的差异程度做一个边缘检测,每个像素可以得到一个权重,表示“像边缘的程度”:
                        根据这个权重,就可以把邻居像素的颜色拿来插值,得到AA的效果。
                        在GPU Gems 3第19章Deferred Shading in Tabula Rasa中,NCsoft对Edge AA做出了一些小改进,边缘检测不再依赖于图像分辨率,且更加稳定。
                        Directionally Edge AA
                        Edge AA开创了postprocess AA的时代,但EdgeAA暂时在质量上还无法与硬件式AA相抗衡。随后,AMD在HPG09上的论文A Directionally Adaptive EdgeAnti-Aliasing Filter改进了Edge AA,不再采用独立的edge点来决定AA混合的方式,而是根据edge点周围的状况确定出isoline(等值线),然后根据isoline的垂直方向来确定混合的方向。这样一个边界就会沿着朝向来混合,还原出更加精确的sub-pixel信息。这种方法进入了AMD的驱动,只要打开Adaptive AA就会自动启用。也就是说拥有一张a卡,你可以在游戏中随意开启这项抗锯齿使用。


                        IP属地:陕西14楼2018-02-15 03:12
                        回复
                          SubPixelAA 次像素重建抗锯齿
                          SubPixelAA全称SubpixelReconstruction Antialiasing,简称SRAA,业界知名度几乎等于0,15年我在钻研辐射系列enb的时候发现了这个抗锯齿并诧异如此冷门的抗锯齿会出现在enb中???
                          SRAAshading的变化频率一般低于几何的变化频率,所以可以在较低分辨率上shading,而用较高分辨率恢复几何。SRAA的基本流程为,在DeferredShading的框架中,渲染一个高分辨率(或者带MSAA)的G-Buffer,但在shading的时候仅在普通的分辨率(或者没有MSAA)的情况下做。累积的结果通过G-Buffer重建sub-pixel信息,来进行类似MLAA的AA计算。这种方法结合了MSAA和MLAA,优点是可以用较低的样本数做到较高的MSAA才能得到的效果,同时不增加shading的计算量。SRAA由于原理问题,只能用在Deferred框架中。
                          不建议用于图文制作,因为结合了MLAA后滤波机制,所以无法避免Nyquist Limits(奈奎斯特采样定律),即显示的频移超过Nyquist的极限时,图像色彩发生混迭的现象时,造成图像失真。



                          IP属地:陕西15楼2018-02-15 03:14
                          收起回复
                            TransparencyAA透明抗锯齿
                            一个很实用的抗锯齿,算法分两种,TSAA(Transparency AdaptiveSupersampling透明动态超采样)与TMAA(TransparencyAdaptive Multisampling透明动态多采样)。TMAA模式原理大致和TSAA相近,不同于TSAA需要超大的运算去完成一个Texel采样而需要计算外围的Pixel数值,TMAA只是Multisampling抽样而不会把所有数值都计算,减少所需要的运算时间,在质素和效能上取得一定平衡。
                            TSAA和TMAA实际上是SSAA和MSAA的改进版本,这有效地解决了之前的抗锯齿技术在Direct 3D环境下处理细长的物体如栅栏、树叶、植物等效果时缺乏Alpha混色能力的问题。TSAA和TMAA通过控制纹理的Alpha值,对细小边角使用Alpha混色,从而在画面的细节部分更完美,使得在细长物体的AA表现上有了提升。
                            透明抗锯齿与普通抗锯齿画质对比,透明抗锯齿从根本上解决了之前抗锯齿技术遗留下来的难题,对于特定物体如树叶、栅栏、草、铁丝网等边缘的效果得到了明显改善,可能很多人都会认为透明抗锯齿的应用环境有限,其实透明抗锯齿不仅是针对常见的铁丝网和草木树叶之类的物体,很多游戏中采用多边形加纹理贴图方式的物体边缘都能够得到明显改善。
                            但是透明抗锯齿早在NvidiaGeforce6xxx或ATI X800时代就集成在了驱动中,在enb中支持透明抗锯齿实在是画蛇添足。
                            如果你喜欢经常在植被丰富的地方取景,又因硬件性能不足无法使用暴力的抗锯齿消除全屏锯齿,那么TransparencyAA绝对是很划算的选择。



                            IP属地:陕西16楼2018-02-15 03:15
                            回复
                              TemporalAA时间性抗锯齿
                              我个人觉得这是最烂的抗锯齿了,没错是最烂,随便一搜相关信息都是玩家在骂这款抗锯齿,该技术集时间性过滤器、硬件抗锯齿以及定制的 CG 电影式抗锯齿解算法于一身。要过滤屏幕上任意特定的像素,TXAA 需要使用像素内部和外部的采样以及之前帧中的采样,以便提供超级高画质的过滤。这段是官方给的介绍,写得比UC还震惊,然而实际运行起来跟FXAA一个鸟样,FXAA是快速近似抗锯齿,以牺牲画面的清晰度来模糊掉锯齿,好歹FXAA是属于Postprocess AA,不会消耗显卡性能,TXAA则是属于Hybrid AA的范畴,不仅损失画面质量而且消耗显卡性能同时也消耗CPU性能,意思就差不多是老子花钱还要买罪受的感觉????
                              至于为什么会有FXAA和TXAA等杀敌一千自损八百的**算法,看一看这两项技术的老东家就明白了,损画质阉画面不正是这家公司的职业道德么?



                              IP属地:陕西17楼2018-02-15 03:16
                              回复