DX11細分的優勢和特點

2021-06-01 00:21:44 字數 521 閱讀 9433

花時間學習了下dx11下的細分,感覺細分好處還真多,不象以前想的,模型已經夠象了還需要什麼細分。現在回過頭來看看,細分用在下面有極大的優勢。

1、大地形。像《鷹擊長空》這類使用大地形的遊戲,可以充分使用細分來更好地管理地形。可有人會說,增加頂點,會使系統效能下降,的確是這樣。但其優勢是細分距離攝影機近的。現在引出乙個問題,需要程式管理哪些面需要細分,哪些不細分。這樣就使細分用在關鍵的地方,效能下降了些,但真實性和開發的便捷性得到提高。按英偉達的介紹,山脈邊緣在經過檢測後也細分,這樣看起來就更象了(比如分形模擬山脈就很拿手)。

2、某些特殊的模型。只要藝術家提供簡單的模型,使用位移貼圖就能提供相當精緻的模型。

3、下面說說細分哪些,不細分哪些。換句話說,也就是細分的優化。在微軟和英偉達的例子中提供了一些演算法。如居於位移貼圖密度的細分、居於螢幕空間的細分、居於物體距離的細分。同時還可以將在螢幕外的面不細分,背向觀察者的面不細分。這樣就有點想lod一樣了。所有以上的演算法都是提供乙個細分因子,就是哪個三角形使用多大的細分因子。

4、先說到這裡,待**完成後再來一篇。

DX11渲染管道 資料的修改 Map和Unmap

在c 與hlsl繫結cbuffer資料的時候,非常容易出錯,出錯的根本原因是c 對資料結構記憶體的分配與hlsl不同。重要 hlsl的結構體struct其實並不管你是乙個變數還是幾個變數,它就是按照一次放滿乙個float4的記憶體長度,多少變數都往乙個float4裡面塞,塞滿了再接著塞下乙個floa...

DX11渲染管道 著色器的編譯和建立

在不使用效果框架的時候,整個渲染管道其實挺簡單的,建立資源,輸入資源。編譯著色器輸入著色器,其實著色器本身也是一種資料,只不過這個資料描述的是邏輯。最後呼叫一下draw方法畫一下就ok 了。這裡說說著色器的編譯和建立,很簡單。d3dx11compilefromfile hresult d3dx11c...

DX11中渲染到紋理的資料儲存問題

以float格式儲存到紋理中時,rgba中的a值,如果儲存方式不當,可能會導致資料錯亂。問題是在體繪製實驗 現的。在渲染到紋理的ps shader中,使用如下 輸出座標值,其中output.vpos型別為float4。ps input output ps input 0 output.vpos.xy...