磚資源區域如何並排
當您建立磚化資源時,如果適用) 判斷整個介面區所需的磚數目,則維度、格式化元素大小和/或陣列配量的數目 (。 磚內像素/位元組的配置是由實作決定。 可放入磚的像素數目取決於格式項目大小,而且無論您是否使用標準 swizzle 都一樣。
特定表面大小和格式項目寬度所使用的磚數目會妥善定義,並且可根據下列區段中的表格預測。 對於包含 mipmap 的資源或表面維度未填滿磚的情況,某些條件約束存在,並在 Mipmap 封裝中討論。
只要應用程式不依賴以一種格式寫入記憶體的結果,並使用另一種格式讀取,不同的磚資源就可以指向相同的記憶體。 但是,在受限的情況下,應用程式可以依賴以一種格式寫入記憶體的結果,並使用另一種格式讀取,如果格式是相同的格式系列 (,則它們具有相同的無類型父格式) 。 例如,DXGI_FORMAT_R8G8B8A8_UNORM和DXGI_FORMAT_R8G8B8A8_UINT彼此相容,但與DXGI_FORMAT_R16G16_UNORM不相容。 應用程式必須以保守方式比對所有資源屬性,才能在兩個紋理之間重新解譯資料,因為磚模式非常保守地未定義。 不過,很明顯地,格式更寬鬆。 格式只需要相容,如上所示。 有一個例外是已妥善定義洩出資料從一種格式更名為另一種:如果磚的所有位元都只包含 0,該磚就可以搭配將這些記憶體內容解譯為 0 的任何格式使用 (無論記憶體配置為何)。 因此,可以使用格式DXGI_FORMAT_R8_UNORM來清除磚0x00,然後搭配DXGI_FORMAT_R32G32_FLOAT等格式使用,而且內容仍會 (0.0f,0.0f) 。
磚內資料的版面配置可能取決於資源屬性、其所在的子資源,以及子資源內的磚位置。 上述主要例外狀況說明:與其他資源屬性相等的相容格式,以及當所有材質都是相同的模式時。
本節內容
主題 | 描述 |
---|---|
Texture2D 和 Texture2DArray 子資源拼貼 |
這些表格顯示 Texture2D 和 Texture2DArray 子資源如何並排顯示。 |
Texture3D 子資源拼貼 |
下表顯示 Texture3D 子資源如何並排顯示。 |
緩衝區拼貼 |
緩衝區資源分成 64KB 磚,如果大小不是 64KB 的倍數,則最後一個磚中有一些空白空間。 |
Mipmap 封裝 |
視磚資源支援 層 而定,具有特定維度的 mipmap 不會遵循標準磚圖形,而且會視為以不透明方式彼此封裝。 |