Aracılığıyla paylaş


DDS Küp Haritası Örneği

Küp ortam haritaları için, bir küpünün bir veya daha fazla yüzü sıkıştırılmamış veya sıkıştırılmış biçimler kullanılarak dosyaya yazılır ve tüm yüzlerin aynı boyutta olması gerekir. Her yüzün tanımlı mipmap'leri olabilir, ancak tüm yüzlerin aynı sayıda mipmap düzeyi olmalıdır. Bir dosya küp eşlemesi içeriyorsa DDSCAPS_COMPLEX, DDSCAPS2_CUBEMAP ve bir veya daha fazla DSCAPS2_CUBEMAP_POSITIVEX/Y/Z ve/veya DDSCAPS2_CUBEMAP_NEGATIVEX/Y/Z ayarlanmalıdır. Yüzler şu sırayla yazılır: eksik yüzlerin atlanmasıyla pozitif x, negatif x, pozitif y, negatif y, pozitif z, negatif z. Her yüz, ana görüntüsüyle ve ardından herhangi bir mipmap düzeyiyle yazılır.

Örneğin, pozitif x, negatif y ve pozitif z yüzlerine sahip 256 x 256 küp eşlemesi, DXT1 piksel biçimi ve tüm mipmap düzeyleri aşağıdakileri içerebilir:

DDS Bileşenleri # Bayt
üstbilgi 128
256'ya 256 pozitif x ana görüntü 32768
128 x 128 pozitif x mipmap görüntüsü 8192
64 x 64 pozitif x mipmap görüntüsü 2048
32 x 32 pozitif x mipmap görüntüsü 512
16 x 16 pozitif x mipmap görüntüsü 128
8 x 8 pozitif x mipmap görüntüsü 32
4 x 4 pozitif x mipmap görüntüsü 8
2'ye 2 pozitif x mipmap görüntüsü 8
1'e 1 pozitif x mipmap görüntüsü 8
y mipmap görüntüsü için önceki 9 katmanı yineleme 43704
z mipmap görüntüsü için önceki 9 katmanı yineleme 43704

 

DirectX 8'den başlayarak, tüm yüzlerin tanımlandığı bir küp haritası depolanır.

DXGI Küp Haritaları

Direct3D 10.x ve Direct3D 11'deki kübik ortam haritaları, 6 görüntü içeren 2B doku dizisine eşdeğerdir ve DDS dosyalarında bu şekilde depolanabilir. Direct3D 10.1 ve Direct3D 11 ile donanım, 6 görüntünün katları (6, 12, 18, 24 vb.) olacak şekilde 2B doku dizileri olan kübemap dizilerini de destekleyebilir.

Örneğin, 2B doku dizisi olarak BC6H biçiminde depolanan mipmap düzeylerine sahip 256'ya 256 küp haritası aşağıda verilmiştir:

DDS Bileşenleri # Bayt
başlık (FourCC of "DX10") 128
genişletilmiş üst bilgi (DXGI biçimi 95 [DXGI_FORMAT_BC6H_UF16] olarak ayarlandı, boyut değeri 3 [D3Dxx_RESOURCE_DIMENSION_TEXTURE2D], dizi boyutu 1, 0x4 çeşitli bayrakları [D3Dxx_RESOURCE_MISC_TEXTURECUBE]) 20
256 x 256 dizi girişi 0 (pozitif x) ana görüntüsü 65536
128 x 128 dizi girişi 0 (pozitif x) mipmap görüntüsü 16384
64 x 64 dizi girişi 0 (pozitif x) mipmap görüntüsü 4096
32 x 32 dizi girişi 0 (pozitif x) mipmap görüntüsü 1024
16 x 16 dizi girişi 0 (pozitif x) mipmap görüntüsü 256
8'e 8 dizi girişi 0 (pozitif x) mipmap görüntüsü 64
4'e 4'lük dizi girişi 0 (x pozitif) mipmap görüntüsü 16
2'ye 2 dizi girişi 0 (pozitif x) mipmap görüntüsü 16
1x1 dizi girdisi 0 (pozitif x) mipmap görüntüsü 16
dizi girişi 1 (negatif x) mipmap görüntüsü için önceki 9 katmanı yineleme 87408
dizinin 2. girişi (pozitif y) için mipmap görüntüsünün önceki 9 katmanını tekrarlayın 87408
dizi girişi 3 (negatif y) mipmap görüntüsü için önceki 9 katmanı tekrar et 87408
Dizi girişi 4 (pozitif z) için mipmap görüntüsünün önceki 9 katmanını tekrarla. 87408
dizi öğesi 5 (negatif z) mipmap resmi için önceki 9 katmanı tekrarlayın 87408

 

DDS için Programlama Kılavuzu