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/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章