Bagikan melalui


Contoh Tekstur DDS

Untuk tekstur yang tidak dikompresi, gunakan bendera DDSD_PITCH dan DDPF_RGB; untuk tekstur terkompresi, gunakan bendera DDSD_LINEARSIZE dan DDPF_FOURCC. Untuk tekstur mipmapped, gunakan bendera DDSD_MIPMAPCOUNT, DDSCAPS_MIPMAP, dan DDSCAPS_COMPLEX juga serta anggota jumlah mipmap. Jika mipmap dihasilkan, semua tingkat hingga 1 per 1 biasanya ditulis.

Untuk tekstur terkompresi, ukuran setiap gambar tingkat mipmap biasanya seperempat ukuran sebelumnya, dengan minimal 8 (DXT1) atau 16 (DXT2-5) byte (untuk tekstur persegi). Gunakan rumus berikut untuk menghitung ukuran setiap tingkat untuk tekstur non-persegi:

max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)

Tabel ini mencantumkan jumlah ruang yang diambil oleh setiap lapisan untuk tekstur 256-by-256 R8G8B8, tanpa menggunakan kompresi.

Komponen DDS # Byte
header 128
Gambar utama 256-by-256 196608
Gambar 128-by-128 mipmap 49152
Gambar 64-by-64 mipmap 12288
Gambar 32-by-32 mipmap 3072
Gambar 16-by-16 mipmap 768
Gambar 8-by-8 mipmap 192
Gambar 4-by-4 mipmap 48
Gambar 2-by-2 mipmap 12
Gambar mipmap 1 demi 1 3

 

Tabel ini mencantumkan jumlah ruang yang diambil oleh setiap lapisan untuk tekstur yang sama menggunakan kompresi (DXT1).

Komponen DDS # Byte
header 128
Gambar utama 256-by-64 8192
Gambar 128-demi-32 mipmap 2048
Gambar 64-by-16 mipmap 512
Gambar 32-by-8 mipmap 128
Gambar 16-by-4 mipmap 32
Gambar 8-by-2 mipmap 16
Gambar 4-by-1 mipmap 8
Gambar mipmap 2 demi 1 8
Gambar mipmap 1 demi 1 8

 

Tabel ini mencantumkan jumlah ruang yang diambil oleh setiap lapisan untuk tekstur yang sama menggunakan format kompresi DXGI (dalam hal ini BC3_UNORM) yang oleh karena itu memerlukan header yang diperluas:

Komponen DDS # Byte
header (FourCC diatur ke "DX10") 128
header yang diperluas (format DXGI diatur ke DXGI_FORMAT_BC3_UNORM) 20
Gambar utama 256-by-64 16384
Gambar 128-demi-32 mipmap 4096
Gambar 64-by-16 mipmap 1024
Gambar 32-by-8 mipmap 256
Gambar 16-by-4 mipmap 64
Gambar 8-by-2 mipmap 32
Gambar 4-by-1 mipmap 16
Gambar mipmap 2 demi 1 16
Gambar mipmap 1 demi 1 16

 

Panduan Pemrograman untuk DDS