UE5 Nanite 的反讽在于应验了Jonathan Blow关于文明崩塌的担忧

Jonathan Blow一次在莫斯科的演讲,https://www.youtube.com/watch?v=ZSRHeXYDLko

题为Preventing the Collapse of Civilization,他的point就是科技进步,但是科技本身也会消失,在承接的过程中。古代很多技术现在人都不知道了,琉璃杯、喷火枪什么的(没讲地动仪但ppt里有画)。

然后现在很多芯片的知识,年轻一代也不知道,在迭代中丢掉了,很多东西慢慢的不work了,复杂度越来越大,没人知道深层次原因,都没有意识地被束缚在各自的认知level。

 

 

图形学工程师,尤其是游戏引擎的,在某种意义站在鄙视链的顶端去批判谁谁谁代码低效,很自豪自己如何如何优化发挥了硬件效能。

在渲染中,比像素还小的三角形比较难处理,因为很多pixel shader是在2x2的小组被渲染,如果你一次就填一个像素,那剩下3个就浪费掉了。所以工程师们绞尽脑汁去优化LOD,去做culling,或者从建模上如何改良。但是你要特别精细的场景,稍微离远点那可不三角形比像素小,显示器毕竟是二维的,场景中建模的多边形那可就是大到天文数字了。

但是大家都似乎认可了现在的渲染管线,各司其职,觉得在我的步骤做好数据的layout,然后推给下一个步骤。。还不够快,那就只能再买新显卡了,三极管往上码。

直到Nanite来打脸!用虚拟几何物体,做好针对观察角度的LOD cut,加上层级z buffer,然后用软件光栅化,比硬件光栅化还快!硬件光栅来处理大三角形。细节见【1】

这种流程setup,确实多边形再多,真正的计算量只和需要被显示出的像素数挂钩。

也就是说软件和硬件的分家,让很多人丢掉大局观,觉得要按那个东西的要求给数据。而作为目的如果是为了渲染更繁复的2D画面,或许需要跳脱定式思维才能达到更好的效果。

过去的十多年大家都在追捧算力,但是也许能少搬点东西,问题解决的更漂亮。

 

【1】 https://www.youtube.com/watch?v=eviSykqSUUw&t=2567s

https://www.reddit.com/r/hardware/comments/gkcd9b/pixels_triangles_whats_the_difference_how_i_think/

https://forum.unity.com/threads/subpixel-tris-how-bad-are-they.479162/

 

posted on 2022-09-28 02:01  安泰  阅读(39)  评论(0编辑  收藏  举报

导航