Contoh Peta Kubus DDS
Untuk peta lingkungan kubik, satu atau beberapa wajah kubus ditulis ke file, menggunakan format yang tidak dikompresi atau terkompresi, dan semua wajah harus berukuran sama. Setiap wajah dapat memiliki mipmap yang ditentukan, meskipun semua wajah harus memiliki jumlah tingkat mipmap yang sama. Jika file berisi peta kubus, DDSCAPS_COMPLEX, DDSCAPS2_CUBEMAP, dan satu atau beberapa DSCAPS2_CUBEMAP_POSITIVEX/Y/Z dan/atau DDSCAPS2_CUBEMAP_NEGATIVEX/Y/Z harus diatur. Wajah ditulis dalam urutan: positif x, negatif x, positif y, negatif y, positif z, negatif z, dengan wajah yang hilang dihilangkan. Setiap wajah ditulis dengan gambar utamanya, diikuti oleh tingkat mipmap apa pun.
Misalnya, peta kubus 256-by-256 dengan wajah x, negatif y, dan z positif, format piksel DXT1, dan semua tingkat mipmap akan berisi yang berikut:
Komponen DDS | # Byte |
---|---|
header | 128 |
Gambar utama x positif 256-by-256 | 32768 |
Gambar x mipmap positif 128-by-128 | 8192 |
Gambar x mipmap positif 64-by-64 | 2048 |
Gambar x mipmap positif 32-by-32 | 512 |
Gambar x mipmap positif 16 demi 16 | 128 |
Gambar x mipmap positif 8-by-8 | 32 |
Gambar x mipmap positif 4-by-4 | 8 |
Gambar x mipmap positif 2-demi-2 | 8 |
Gambar x mipmap positif 1 demi 1 | 8 |
ulangi 9 lapisan sebelumnya untuk gambar y mipmap | 43704 |
ulangi 9 lapisan sebelumnya untuk gambar z mipmap | 43704 |
Dimulai dengan DirectX 8, peta kubus disimpan dengan semua wajah yang ditentukan.
Peta Kubus DXGI
Peta lingkungan kubik di Direct3D 10.x dan Direct3D 11 setara dengan array tekstur 2D dengan 6 gambar, dan dapat disimpan dalam file DDS seperti itu. Dengan Direct3D 10.1 dan Direct3D 11, perangkat keras juga dapat mendukung array kubus yang merupakan array tekstur 2D dengan kelipatan 6 gambar (6, 12, 18, 24, dll.).
Misalnya, berikut adalah cubemap 256-by-256 dengan tingkat mipmap yang disimpan dalam format BC6H sebagai array tekstur 2D:
Komponen DDS | # Byte |
---|---|
header (FourCC dari "DX10") | 128 |
header yang diperluas (format DXGI diatur ke 95 [DXGI_FORMAT_BC6H_UF16], nilai dimensi 3 [D3Dxx_RESOURCE_DIMENSION_TEXTURE2D], ukuran array 6, bendera misc 0x4 [D3Dxx_RESOURCE_MISC_TEXTURECUBE]) | 20 |
256-by-256 array entri 0 (positif x) gambar utama | 65536 |
128-by-128 array entri 0 (positif x) gambar mipmap | 16384 |
64-by-64 array entri 0 (positif x) gambar mipmap | 4096 |
32-by-32 array entri 0 (positif x) gambar mipmap | 1024 |
16-by-16 array entri 0 (positif x) gambar mipmap | 256 |
8-by-8 entri array 0 (positif x) gambar mipmap | 64 |
Gambar mipmap entri array 4-by-4 0 (positif x) | 16 |
Gambar mipmap entri array 2-by-2 0 (positif x) | 16 |
1-by-1 entri array 0 (positif x) gambar mipmap | 16 |
ulangi 9 lapisan sebelumnya untuk entri array 1 (negatif x) gambar mipmap | 87408 |
ulangi 9 lapisan sebelumnya untuk entri array 2 (positif y) gambar mipmap | 87408 |
ulangi 9 lapisan sebelumnya untuk entri array 3 (negatif y) gambar mipmap | 87408 |
ulangi 9 lapisan sebelumnya untuk entri array 4 (positif z) gambar mipmap | 87408 |
ulangi 9 lapisan sebelumnya untuk entri array 5 (negatif z) gambar mipmap | 87408 |
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk