Skip to main content
封存檔案格式定義於 XBTC.h 中,本主題會詳細說明。
封存格式可能會變更,並包含遞增的版本號碼。在不含選項的情況下叫用時,XBTC.exe 會顯示其目前的封存版本號碼。嘗試使用 XBTC.lib 載入不同版本的封存會失敗。
每個封存都以標頭開頭,標頭以 FOURCC 代碼 “XBTC” 起始,後面接著 1 位元組的版本號碼。(此處記載的是版本 “2”。) 標頭如下所示。
封存格式支援多個紋理,但 XBTC.exe 目前不提供合併封存或將紋理附加至封存的功能。資料位移欄位代表 TOC 的大小。它也代表從封存開頭到壓縮串流資料的搜尋距離。在 TOC 儲存於個別檔案的 (未來) 情況下,資料位移可以是 0,表示壓縮串流從其自身檔案的開頭開始。當包含在一個檔案中時,DataOffset + DataSize 應等於封存的位元組大小。 封存標頭之後會有若干個紋理描述。此數目等於 TextureCount。紋理描述之後會有相同數目的串流搜尋位移,代表每個紋理資料的起始位置。
XBTC_TEXTURE_INFO 是 D3D12_RESOURCE_DESC 的精簡表示法,可在載入時描述紋理。這些詳細資料可用來計算記憶體大小、位移和對齊。位移和索引用於判斷哪些壓縮串流對應到某個紋理,以及到串流資料開頭的 40 位元搜尋位移。這可支援 1 TB 的封存,以及多達 16M 個個別串流。串流總數由最後一個紋理的 NextIndex 表示。每個紋理資訊之後是詳細的每個串流資訊。
串流所使用的壓縮轉碼器,可以從串流資訊中包含的各種大小推斷。如果 CompressedSize 小於 InflatedSize,表示使用了 Deflate。如果 InflatedSize 小於 UncompressedSize,表示使用了 BCPack。兩者可以同時使用,也可以都不使用。 在 StreamInfo 陣列之後,可以插入填補,將壓縮串流資料對齊到 16 位元組。檔案的其餘部分由壓縮串流資料組成。

另請參閱

XBOX Texture Compressor 概觀 XBTC.exe XBOX Series X|S 圖形功能概觀
Last modified on October 6, 2026