孤岛危机吧 关注:45,328贴子:1,323,274
  • 82回复贴,共1

【提问】求教SVOGI相关

只看楼主收藏回复

首先在百度贴吧全吧搜索功能输入SVOGI







贵吧果然是贴吧图形技术先驱,2012年就开始讨论虚幻4的SVOGI技术和Crytek的LPV技术对比了,还有那个作为次时代标志的《元素》虚幻4演示视频——话说还没见到可玩的游戏达到那个演示的水准,即使是战地1也不例外。
然后顺理成章地我就要问了:这个SVOGI和旧的LPV相比而言技术的优势在什么地方,当初Crytek不是还胯下海口他们(虚幻4)能做到的事情咱也能办到吗
结果3.8还是抄了SVOGI。。。
看百科已经有点云里雾里了,体素化,储存光照信息然后读取云云,还有NVIDIA的VXGI似乎又是这个玩意的一个改进版本——让我一个生物信息大二狗去看paper还是再等几年让我熟悉一下物理学比较好。。。
所以求大神给个详细些的解释,砸要求也不多,狗哥的《基于物理的渲染简明科普》这样的就行
说起来上述帖子中12年狗哥还说过类似一句话:若是使用raytracing的话整个体系都要完全改动,现在的手段都是各处去hack这样。那么问题来了:现在这些照相扫描技术,PBR,体积光这些都是光线追踪所能实现效果的局部近似咯,不过这样说起来也听吧里的大神聊天时说过用上SVOGI就能改善IBL之类的话,看来光照系统才是游戏的核心所在额
另外还想问一下,既然基于物理的渲染这个概念黑色行动时代就有了,为何到近几年才发扬光大呢
@crysis110 @shaderdog


回复
1楼2016-11-01 15:34
    上OpenGPU问去,某KlayGE开发者之前还是挺推崇SVOCT的。


    收起回复
    来自iPhone客户端2楼2016-11-01 20:16
      LPV GI效果感人啊再加上孤岛3的黑圈ssao,更感人了


      收起回复
      来自Android客户端3楼2016-11-01 22:39
        不,我觉得互动设计才是游戏的核心所在,你应该用游戏画质而不是游戏


        收起回复
        来自Android客户端4楼2016-11-01 23:39
          百度搜啥都会优先显示贴吧内容


          收起回复
          来自Android客户端5楼2016-11-02 08:53
            错,堆贴图、堆模型面数、卖梗、卖彩蛋、卖肉、卖情怀、卖周边才是游戏的核心,你说这些什么鬼大部分玩家都不会关心


            收起回复
            6楼2016-11-02 10:48
              PR瞎吹牛你也信……
              还有我怎么不记得我说过这话,我12年还没来呢


              收起回复
              7楼2016-11-02 22:37
                Hi,@最终over了


                你这个问题其实比较综合性,也反应一个问题,就是GI的方法和派别太多了,这些不同方法之间到底有什么联系和区别,弄清这些千丝万缕的联系,这是学习图形学比较困难的原因之一,所以这也是《游戏引擎全局光照技术》想要极力讨论的核心内容:它不是为了罗列这些GI技术,而是要告诉读者它们之间的联系,因为这些学习GI最大的绊脚石!



                要系统回答这个问题涉及的内容还是很多的,所以我觉得写一篇《全局光照技术进化石》的思路文章,来以区别于书里的内容,更通俗的方式介绍GI的各种技术之间的历史和进化,你可以注意留意本吧里的更新或者本书的网站:http://www.thegibook.com
                另外,感谢你对试读章节的转载!


                收起回复
                8楼2016-11-06 23:22
                  LPV,Light propagation volumes,是基于间接光照的低频特征(low-frequency),它仅能够处理第一次反射的间接光,即光由光源经过一个漫反射表面之后的光照,由于间接光照的频率域变化很低,所以只需要少数几个参数的球谐函数就可以表示,也由于它的低频特征,这种基于空间中更大尺寸(一个格子)的传播变得可能,因此计算很快,缺点是只能处理低频的间接光


                  Voxel-based GI的核心思想是基于前置过滤(pre-filtering),也就是现在多级纹理(Mipmap)中使用的思路:对一个更高分辨率的离散函数进行采样,其实就是求每个采样点周围一定范围内点的加权平均,这样可以提前由0级纹理计算出1级纹理,以此类推。这是一种计算机图形学中非常重要的思路,绝大部分初学者都以为只有多级纹理由这个功能,其实所有具有加和形式的公式,如果某个变量是独立于其它变量的,这个变量的加和部分都可以提前拿出来计算;Voxel-based GI就是这样按空间把较远处的颜色首先预计算出来,形成一个类似Mipmap的结构,然后计算光照时就可以根据距离直接拿出来使用。这个前置过滤项既可以加入颜色,也可以仅是空间关系,后者的情况下,这个层级结构用来做Cone tracing计算,Cone tracing是类似于ray tracing,只不过它同时求出一个范围内是否有障碍物。


                  通过建立一种数据结构来加速ray/cone tracing相交计算,这是现在很多所谓GPU ray tracing的概念,这些相交计算其实是为其它光照计算服务的,例如Distance field GI也是这样用来计算空间遮挡来实现软阴影,你可以说Distance field GI和Voxel-based GI的本质思路有很多相似的地方,但Distance field只有空间距离,没有颜色;这样所有空间中需要相交的计算都可以使用Distance field来做,例如国内有个开发者就基于UE4的Distance field用来计算间接光照的阴影。


                  使用前置过滤的最近另一个比较好的例子是用来实现反走样,参考UE4的AGAA技术,其思路就是在Deferred Shading中使用MSAA/SSAA成本太高,为了减少Deferred管道中的计算量,它直接将多个采样点的值提前计算出来,例如32个采样点前置过滤成2个光照值,然后延迟着色阶段只需要计算2个“聚合采样点”,这本质上和Voxel-based GI的思路是一样的,同样的思路,解决不同的问题


                  所以,这样去学习图形学,就会非常简单,《游戏引擎全局光照技术》就是要分析这样的联系,以及这些方法最核心的思路!


                  收起回复
                  9楼2016-11-07 16:27
                    学习下


                    回复
                    来自Android客户端10楼2016-11-07 22:13
                      我不说话,我不吵闹,我不落泪,在用心过好的每一天里,都默默的水着。


                      回复
                      来自Android客户端11楼2016-11-10 06:12
                        只有我发现了未来日记了吗


                        回复
                        12楼2016-11-27 00:53
                          上面一群大牛在探讨


                          回复
                          13楼2016-11-27 15:17
                            @牛大发发
                            分页太多,我单独开一楼讨论吧:"我想如果读你的书,能不能马上实现点啥,其实我还有一点不明,以前在一个图形学板块,为啥学习实时渲染 而有人推荐学习PBRT?PBRT不是离线渲染?“


                            这本书相对还是偏重理论一些,所以不是像PBRT或者类似书一样可以照着练习,理论和实例类书籍的定位是不一样的,实例类书籍涉及的内容范围一定会相对小写,尽管PBRT看起来范围很大,其实仍旧只是实现离线渲染最核心的框架,并且使用的是最基础方法,并不涉及目前行业很多优化改进的方法,很多人推荐阅读PBRT的原因是因为它非常系统全面地阐述了基本的渲染所涉及的大部分基础概念,以及这些概念怎样通过代码实现。


                            但是这本书和同类理论书籍如RTR有区别的是,后面的全部全局光照技术都是围绕当前一些主流游戏引擎来讨论的,所以你虽然不能像PBRT那样直接对照练习,但是你能对照书里的内容去理解那些引擎中全局光照的实现思路,从而更好地理解和运用它们。


                            关于对实时渲染推荐离线渲染的内容,一方面就是上面说的PBRT阐述了一般渲染中非常重要和核心的一些概念,当然也有各个答者自己的一些其它想法。但是从我的角度,如果你仅仅是希望学习游戏引擎怎么使用,你可以只需要了解实时渲染,但是如果是想真正了解渲染(不管是实时还是离线)的原理,离线渲染都是必不可少的重要基础知识,这有很多原因,首先实时渲染引擎内部使用了大量的离线渲染技术,其次是很多实时技术都是离线渲染领域演变过来的,理解了离线渲染,理解了光照方程式怎样被计算的(而不是实时渲染里一些近似的方法),才能透彻理解各种各样看似复杂的实时技术背后的原理,所以这就是为什么这本书同时讨论离线和实时渲染,而市面上大多数图形学类书籍都是区分离线和实时的。


                            回复
                            14楼2016-11-29 10:46

                              扫二维码下载贴吧客户端

                              下载贴吧APP
                              看高清直播、视频!