共用方式為


Direct3D 9 (壓縮紋理格式)

本章節包含了壓縮紋理格式內部組織的相關資訊。 您不需要這些詳細資料即可使用壓縮紋理,因為您可以使用 D3DX 函式來回轉換壓縮格式。 但是,若您想要對壓縮表面資料進行直接的操作,這項資訊對您將會非常有幫助。

Direct3D 使用壓縮格式,將材質貼圖分為 4 x 4 的材質區塊。 如果紋理沒有設定任何透明度 (不透明),或是其透明度由一個 1 位元的 Alpha 值所指定,一個 8 位元組的區塊將會代表材質貼圖區塊。 如果材質貼圖中包含了透明的材質,一個利用 Alpha 色板的 16 位元區塊將會代表它。

任何單一紋理都必須指定由 16 個材質組成的每個群組,資料將會以 64 位元或是 128 位元的方式儲存。 如果 64 位區塊 ,也就是將 DXT1 格式用於紋理,則可以在相同紋理內以每個區塊為基礎混合不透明和 1 位 Alpha 格式。 換句話說,會針對 16 個紋素的每個區塊,唯一執行不帶正負號整數大小的color_0和color_1比較。

使用 128 位區塊時,必須以明確 (格式 DXT2 或 DXT3) 或插補模式來指定 Alpha 色板, (整個紋理的格式 DXT4 或 DXT5) 。 至於色彩,在選取插入模式時,您可逐區塊地選擇使用 8 個 Alpha 值插入模式或 6 個 Alpha 值插入模式。 同樣地,Alpha_0和Alpha_1的大小比較會以區塊方式逐一完成。

DXTn 格式的音調與 DirectX 7.0 中傳回的內容不同。 音調現在是以位元組為單位來測量, (不是區塊) 。 例如,如果您寬度為 16,則 4 個區塊的間距會 (4*8 表示 DXT1,4*16 表示 DXT2-5) 。

壓縮紋理資源