主页 >  生活>正文
环球关注:由于平铺延迟着色Riftbreaker获得了免费的性能提升
时间 : 2023-04-09 10:02:45   来源 : 万能网

波兰开发商EXORStudios在Steam上发表的一篇博文中宣布,Riftbreaker是一款于2021年底在PC和游戏机上发布的动作策略游戏,很快将获得免费的性能提升。

这个小型开发工作室最初使用开放源代码软件开发其引擎,例如OGRE(面向对象的图形渲染引擎,至今在MIT许可下可用)。随着时间的推移,EXOR对其进行了足够的修改,使其成为自己的东西:Schmetterling引擎。

对于工作室的第一款游戏,即自上而下的赛车游戏ZombieDriver(2012),EXOR使用了前向渲染。然而,正向渲染本质上将开发人员限制在单个动态光上,因为添加更多的光会非常复杂。


【资料图】

在双摇杆射击/塔防游戏X-Morph:Defense(2019)和TheRiftbreaker中,开发人员转向了延迟着色。这种屏幕空间技术与前向渲染相比有一个主要优势,即场景的几何形状和光照是分开渲染的,并且每个光只针对那些实际受光影响的像素进行计算。延迟着色允许更多的动态光进入游戏场景,从2010年开始变得非常流行,尽管它有其自身的局限性。

当场景中有大量动态光时,延迟着色不能很好地缩放,而且它也不能在其G-Buffer中存储透明对象信息,这意味着非不透明对象不能被考虑用于照明。

这就是为什么EXOR为TheRiftbreaker:TiledDeferredShading引入了渲染升级。使用这种算法,屏幕被分成16x16像素的小块,每个小块存储影响它的灯光信息。然后将其用于计算透明和非透明物体的光照。

以下是TiledDeferredShading的概述,分步说明:

G-bufferpass-绘制所有不透明的几何体。

计算平截头体-根据缓冲区的最小/最大深度,为每个平铺单独准备平截头体。

剔除灯光通过-使用截锥体检查灯光是否与瓷砖重叠并将其索引插入灯光索引列表。

计算不透明物体的光影-使用G-Buffer和准备好的光列表进行单通道屏幕空间光计算。

计算非不透明对象的光着色-绘制每个非不透明对象并仅为属于图块的光计算每个像素的光着色。

根据EXORStudios的说法,TiledDeferredShading只允许对所有光源读取G-Buffer一次。这允许使用大量活跃的动态光源更好地缩放,使用202个光源可获得接近100%的性能增益。

当然,这不是一般的用例场景。EXOR使用以CPU为中心的基准测试Riftbreaker,发现RTX3080的帧数提高了17%,而6800XT每秒仅增加了11.6%的帧数。

就是说,您不应该在嘴里看礼物马,这里确实如此。除了性能提升之外,EXOR还计划使用TiledDeferredShading来进一步扩展其Schmetterling引擎,支持体积雾。

当免费的WorldExpansion2更新发布时,Riftbreaker玩家将能够自己检查TiledDeferredShading。EXOR还致力于为游戏添加合作多人游戏;请继续关注,我们会在这些更新上线后通知您。

标签:

相关文章

X 关闭

X 关闭