[樂遊網導讀]DX11在次世代環境下的遊戲建模
近日,CGDC 2010 圖像專家演講人倪天雲接受國內著名設計類雜誌《數碼設計/CGW》采訪,並針對DX 11在次世代環境下遊戲建模進行討論。
倪天雲
介紹:倪天芸博士現任NVIDIA資深圖形技術研發專家,負責向北美地區的遊戲及應用軟件開發商提供圖形技術方麵的谘詢、培訓和支持,包括參與銷量逾千萬的頂尖遊戲作品製作。在加盟NVIDIA公司之前,她在美國的弗羅裏達大學獲得博士學位並在有影響力的國際刊物上發表了多篇有關高維曲麵實時渲染以及圖形計算等方向的論文。她還經常在各種國際會議上(SIGGRAPH、GDC等)做演講和技術講解。她也是SIGGRAPH評審團成員,參與SIGGRAPH的審稿,主持報告等工作。她目前的興趣主要在於開發研究新的圖形算法,並幫助運用這些新的技術到實際的遊戲開發上。她的近期工作包括研究Direct3D 11的實時渲染技巧與技術,尤其是在硬件細分曲麵方向。
CGW:模型的細化一方麵也增加了貼圖繪製的工作量,而數字娛樂產業的效率要求很高,遊戲製作也是如此,你覺得建模人員應該如何和貼圖組一起把握精度和效率?
答:貼圖繪製最好是建立在精度盡可能低的模型上,這樣可以充分使用DX11 Tessellation 的優勢,在GPU上根據實際遊戲場景需要進行自適應細分(Adaptive Tessellation)。
對於以四邊形為主的建模,建模人員應盡量減少創建如下內容:
(1) extraordinary quads (四邊形的四個頂點中,至少有一個頂點與大於或小於4條邊相連的情況);
(2)三角形的數量;
(3)連接類型 (patch connection type)。
如此可以簡化在DX11 GPU上實施曲麵細分的複雜度,從而提高運行速度。
簡化網格
創建貼圖時, 應盡量減少材質連接線(Texture Seams)。Texture seam 會在貼圖時產生偽像(artifacts)。消除偽像需要一些額外的處理,這會降低運行速度。
減少材質連接線(Texture Seams)圖中紅線部分
CGW:多邊形的數量是實現遊戲畫麵精度的關鍵,而就你的體驗來說,你覺得當建模清晰到什麼程度的時候就足以讓玩家感覺到真實了?在我看來,遊戲的畫麵逼真程度還會發展,但是肯定是有極限的。
答:一般來說,多變形的數量越大,就可以體現出來越多的細節。當一個多邊形小到用一個像素渲染時,遊戲玩家可以體驗到極限的真實感。然而對於硬件來說,這樣小的多邊形光柵化(rasterization)效率不高。為了提高效率,一個多邊形需要產生8個以上的像素。
CGW:高精度的模型同時也會導致UV的展開變得複雜化,同時也出現了更多的貼圖之間的間隙、褶皺和邊角。可否談談您是怎樣處理這些因為貼圖出現的新問題的?
答:使用DX11 Tessellation,可以讓低精度的模型在GPU上產生高精度模型。一個低模的Primitive(線段、 三角形或四邊形)會被拆分成多個更細小的Primitives。UV的展開應是在低精度模型之上,而TESSELLATOR所產生的新的Primitive的UV 是一般通過線性內插(linear interpolation) 產生的。
DX11 Tessellation 通常用到兩種貼圖:置換貼圖 (Displacement Map)和法線貼圖(Normal Map)。 多個置換貼圖之間的間隙、褶皺和邊角會產生網格上的洞;多個Normal Map之間的間隙、褶皺和邊角會產生像素顏色的不連續性——這些問題主要是由於GPU采用大量浮點數的並行計算:由於浮點數精度的限製,加法的交換律在浮點數表達中會失效。而相鄰的兩個Patch在共享的邊上的點,必須要產生相同的頂點位置、法線和UV。一個簡單而有效的解決方法是:定義共享頂點和邊的屬性,確保在共享的點和邊的計算時采用完全相同的計算順序,從而實現精確的渲染效果。
CGW:模型的精度也會導致即時渲染難度的增加,您是如何考慮遊戲的畫麵質量和運行的效率的平衡的?
答:使用ADPATIVE TESSELLATION 來避免不必要的細分。可以通過以下標準來控製細分:
1. 物體的遠近程度:近的物體精度高些,遠的物體精度低些
2.輪廓:輪廓邊緣的精度高些,非輪廓附近的精度低些
3.置換貼圖: 分析置換貼圖裏的數據的Gradient。Gradient 大的精度高些,反之,精度低些
4.屏幕空間(screen space):控製三角形在屏幕空間的大小大致相等,以期達到最優的光柵化
倪天芸博士還將出席將於7月30日-8月1日在上海國際會議中心舉辦的第三屆中國遊戲開發者大會,並將以Direct3D 11細分曲麵技術實用教程演講。
2010年全球矚目的世博會在上海舉辦,國際盛會必將吸引來自全球的嘉賓蒞臨。中國遊戲商務大會(CGBC)、中國遊戲開發大會(CGDC)和中國遊戲外包大會(CGOC)將於世博舉辦期間的7月28日-8月1日在上海國際會議中心舉行,必將吸引全球遊戲產業人士的廣泛參與使其在溝通中外遊戲產業商務和技術活動平台的商務中心作用更加強化和提升。