2013-04-06 73 views
0

我試圖把所有我能到這個問題,但這裏是它的肉,在延期渲染中,用材質和UV緩衝區替換紋理緩衝區是否可行?

難道是實際作出延期渲染器,而不是具有漫/高光緩衝它有一個材質/ UV緩衝區,材料將被類似於平鋪光剔除來處理,着色器將被傳遞所需的紋理(高光,漫反射,發光,貼花等等),並使用UV緩衝區中的UV進行採樣。

我只是試圖想到一種方法來獲得延遲渲染的好處和向前渲染的靈活性,我想不出爲什麼這會得到最差的兩個,但我不能找到任何類似的信息,所以我不知道它的優點和缺點在實際中。

回答

0

我不能如何這種方法將是對正常延遲渲染的改進。延遲渲染的主要缺點是傳遞大量緩衝區,複雜的光照模型,透明度和抗鋸齒。

您提出的方法需要巨大的緩衝區來存儲所有模型的所有不同紋理,這會佔用比漫反射和鏡面反射緩衝區更多的空間。

您的方法不會改進照明模型,因爲它仍然需要材質ID緩衝區和用於照明的複雜着色器。

你的方法不會解決透明度或抗鋸齒。

總的來說,一個材質和uv緩衝區可以很容易地被一個擴散緩衝區所替代,該緩衝區在uv座標處包含材質上的顏色,就像正常的延遲渲染一樣。

編輯:在你描述的情況下,使用多個(例如輝光,漫反射,光澤,鏡面等)緩衝區來將它們用作紋理,並且僅爲每種材質加載一組可能是實用的。但是它只會節省少量的帶寬,因爲與您建議的材質紋理相比,正常設置只需要屏幕大小的紋理。由於每種材料都可以切換多種紋理,因此性能可能會有所下降。

+0

巨大的紋理緩衝區?沒有紋理會根據需要傳入,海盜材質?傳入海盜紋理。恐龍材料?傳入恐龍紋理。他們不會一次全部塞滿。 – user1175522 2013-04-06 16:53:06

+0

我不確定你的建議。是否要將UV座標和材質ID渲染到緩衝區中,然後重複執行以下操作:**每種材質**都具有必要的紋理?我不太明白這種方法是一種改進。 – wombat 2013-04-06 16:58:53

+0

在延期莊園中處理的像素剔除的正常計算和像素,與正向莊園相比處理的幾何圖形更少,通過識別包含材料的小區域以進一步優化以避免透支。 – user1175522 2013-04-06 17:03:33