紋理檢視
在 Direct3D 中,紋理資源會使用檢視加以存取,而檢視則為硬體用來解譯記憶體資源的機制。 檢視可讓特定管線階段使用應用程式想要的表現方式,僅存取其所需要的子資源。
檢視可支援不具類型的資源概念。 不具類型的資源為使用特定大小建立,但未使用特定資料類型建立的資源。 資料繫結至管線時,將會動態解譯。
下圖顯示透過為其建立著色器資源檢視的方式,將具有 6 個紋理的 2D 紋理陣列繫結為著色器資源的範例。 隨後,資源會定址為紋理陣列 (注意:子資源無法同時繫結為管線的輸入和輸出)。
使用 2D 紋理陣列做為轉譯目標時,資源可視為具有 Mipmap 層級 (此範例為 3 個層級) 的 2D 紋理陣列 (此範例為 6 個)。
透過呼叫 CreateRenderTargetView,為轉譯目標建立檢視物件。 接著請呼叫 OMSetRenderTargets,以將轉譯目標檢視設定為管線。 只要呼叫 Draw 並使用 RenderTargetArrayIndex 將索引編製到陣列中的適當紋理,即可轉譯為轉譯目標。 您可以使用子資源 (一個 Mipmap 層級、陣列索引組合) 來繫結至子資源的任何陣列。 因此,如果想要,您可以繫結至第二個 Mipmap 層級,且僅更新這個 Mipmap 層級,如下圖所示。
相關主題