Blog'a geri dön
Formatlar

DDS Formatı: DirectX Doku Sıkıştırmanın Tam Kılavuzu

18 dk okuma

DDS (DirectDraw Surface), Microsoft'un önde gelen doku kapsayıcı formatıdır, özellikle DirectX uygulamaları için tasarlanmıştır ve PC oyun endüstrisinde yaygın olarak benimsenmiştir. Windows tabanlı grafik uygulamaları için fiili standart olan DDS, çok çeşitli Blok Sıkıştırma (BCn) formatlarını, sıkıştırılmamış dokuları ve mipmap'ler, küpmap'ler ve doku dizileri gibi gelişmiş özellikleri destekler. Yerel GPU donanım desteği ve optimize edilmiş performansı, onu masaüstü ve konsol oyun geliştirme için vazgeçilmez bir format haline getiriyor.

DDS Formatı Nedir?

DDS, sıkıştırılmış ve sıkıştırılmamış dokuları depolamak için Microsoft tarafından geliştirilen bir kapsayıcı biçimidir; orijinal olarak DirectX için oluşturulmuştur ancak artık grafik çerçeveleri genelinde yaygın olarak desteklenmektedir. Format, doku verilerini GPU tüketimi için gerekli meta verilerle paketlemek için standartlaştırılmış bir yol sağlayarak farklı donanım platformları arasında optimum performans ve uyumluluk sağlar.

DDS, özünde, farklı doku türleri için etkili donanım hızlandırmalı sıkıştırma sağlayan BCn (Blok Sıkıştırma) ailesi (BC1-BC7) başta olmak üzere çeşitli doku sıkıştırma formatlarını çevreleyen bir sarmalayıcı görevi görür. Bu tasarım, geliştiricilerin dokuları ek işleme gerek kalmadan doğrudan GPU tarafından yüklenebilecek bir formatta depolamasına olanak tanıyarak bellek bant genişliğini en aza indirir ve oluşturma performansını en üst düzeye çıkarır.

Formatın gücü, kapsamlı özellik kümesinde ve yaygın olarak benimsenmesinde yatmaktadır. Basit 2B dokulardan karmaşık küp haritalarına ve hacim dokularına kadar DDS, modern grafik uygulamaları için hemen hemen her doku gereksinimini karşılar. DirectX ile entegrasyonu ve OpenGL ve Vulkan gibi başlıca grafik API'lerindeki desteği, onu platformlar arası geliştirme için çok yönlü bir seçim haline getiriyor.

DDS Formatının Temel Özellikleri

Yerel Donanım Desteği

CPU açma yükü olmadan BCn formatları için doğrudan GPU donanım hızlandırması

BCn Desteğini Tamamlayın

Farklı doku türleri için optimum sıkıştırma sağlayan tüm BCn formatları (BC1-BC7) desteği

Yerleşik Mipmap Desteği

Verimli düzeyde ayrıntı oluşturma için yerel mipmap zinciri depolaması ve yönetimi

Gelişmiş Doku Özellikleri

Küp haritaları, hacim dokuları, doku dizileri ve gelişmiş piksel formatları desteği

BCn Sıkıştırma Formatlarının Açıklaması

DDS, her biri farklı doku içeriği türleri için optimize edilmiş BCn (Blok Sıkıştırma) formatlarının tamamını destekler:

BC1 (DXT1)

1 bit alfalı veya alfasız RGB sıkıştırması. Şeffaflık gereksinimi olmadan dağınık dokular için iyi kalitede 6:1 sıkıştırma sağlar.

En iyisi: Dağınık haritalar, albedo dokular, alfa kanalı olmayan renkli haritalar

BC2 (DXT2)

Açık 4 bit alfa ile RGB sıkıştırması. Keskin alfa geçişleriyle 4:1 sıkıştırma sağlar.

Şunun için en iyisi: Keskin alfa kenarlı dokular, sert şeffaflığa sahip kullanıcı arayüzü öğeleri

BC3 (DXT5)

Enterpolasyonlu 4 bit alfa ile RGB sıkıştırma. Pürüzsüz alfa gradyanlarıyla 4:1 sıkıştırma sağlar.

Şunun için en iyisi: Karakter dokuları, parçacık efektleri, degradeler, yumuşak alfa geçişleri

BC4

Tek kanallı (gri tonlamalı) sıkıştırma. Normal harita mavi kanalları veya yükseklik haritaları için 2:1 sıkıştırma sağlar.

En iyisi: Yükseklik haritaları, parlak haritalar, normal harita bireysel kanalları

BC5

İki kanallı sıkıştırma (tipik olarak normal harita XY). Normal harita verileri için 2:1 sıkıştırma sağlar.

En iyisi: Normal haritalar, akış haritaları, iki kanallı doku verileri

BC6H

Yüksek dinamik aralıklı içerik için HDR RGB sıkıştırması. HDR dokular için 6:1 sıkıştırma sağlar.

En iyisi: HDR aydınlatma ortamları, HDR gökyüzü kutuları, HDR yansıma haritaları

BC7

İsteğe bağlı alfa ile yüksek kaliteli RGB sıkıştırma. Mükemmel kalitede 3:1 sıkıştırma sağlar.

Şunun için en iyisi: Yüksek kaliteli karakter dokuları, aynasal haritalar, ayrıntılı yüzey dokuları

DDS Dosya Yapısı

DDS dosyaları üç ana bileşenden oluşan yapılandırılmış bir formatı takip eder:

DDS Başlığı (124 bayt)

Boyutlar, format bilgileri, mipmap sayısı ve sıkıştırma bayrakları gibi temel meta verileri içerir

DDSFMT Yapısı (32 bayt)

Piksel biçimi ayrıntılarını, sıkıştırma türünü ve bit derinliği bilgilerini belirtir

Doku Verileri

Belirtilen format ve boyutlara göre düzenlenmiş sıkıştırılmış veya sıkıştırılmamış piksel verileri

DDS İş Akışı

Tipik DDS dokusu iş akışı birkaç aşamadan oluşur:

1

1. Doku Oluşturma

Uygun boyutlarda (tercihen 2'nin katları) yüksek kaliteli doku dosyaları (PNG, TGA, PSD, vb.) oluşturun veya kaynaklayın

2

2. BCn Sıkıştırma

İçerik türüne ve gereksinimlere göre uygun BCn formatını kullanarak kaynak dokuları sıkıştırın

3

3. Mip Haritası Oluşturma

3D uygulamalarda verimli düzeyde ayrıntı oluşturma için mipmap zincirleri oluşturun

4

4. Oyun Motoru Entegrasyonu

Anında GPU kullanımı için DDS dosyalarını oyun motorlarına veya grafik uygulamalarına aktarın

DDS Formatının Avantajları

Optimum Performans

Doğrudan GPU donanım hızlandırması CPU açma darboğazlarını ortadan kaldırır

Geniş Endüstri Desteği

DirectX, OpenGL, Vulkan ve başlıca oyun motorlarında desteklenen standart format

Kapsamlı Özellik Seti

Küp haritaları, hacim dokuları ve HDR içeriği gibi gelişmiş özellikler desteği

Olgun Takım Ekosistemi

DirectX SDK, texconv, Compressonator ve motora özel araçları içeren kapsamlı araç desteği

İdeal Kullanım Durumları

PC Oyun Geliştirme

Masaüstü ortamlarını hedefleyen Windows tabanlı oyunlar ve platformlar arası oyunlar için mükemmel

Oyun Motoru Dokuları

Unity, Unreal Engine, CryEngine ve diğer büyük oyun motorları için idealdir

3D Grafik Uygulamaları

Görselleştirme yazılımı, CAD uygulamaları ve 3D modelleme araçları için uygundur

VR/AR Uygulamaları

Windows tabanlı donanımı hedefleyen VR/AR deneyimleri için mükemmel

DDS ve Diğer Formatlar

DDS'nin diğer popüler doku formatlarıyla karşılaştırılması:

DDS ve Mobil Formatlar (ETC/ASTC)

DDS, masaüstü ortamlarında üstünlük sağlarken, mobil formatlar mobil GPU kısıtlamaları ve bant genişliği için optimize edilir

DDS ve Sıkıştırılmamış Dokular

DDS, tam bant genişliği gerektiren sıkıştırılmamış dokulara kıyasla donanım hızlandırmalı 4:1 ila 8:1 sıkıştırma sağlar

DDS ve KTX

DDS Windows/DirectX odaklıdır, KTX ise platformlar arası OpenGL/Vulkan uyumluluğu sağlar

DDS ve Web Formatları

DDS masaüstü optimizasyonu sağlarken Basis Universal gibi web formatları web öncelikli sıkıştırma ve dağıtım sunar

DDS Araçları ve Kaynakları

Microsoft DirectX SDK'sı

DDS dönüşümü ve manipülasyonu için texconv ​​komut satırı aracını içeren resmi SDK

AMD Kompresör

Gerçek zamanlı önizleme ve kalite ayarıyla BCn sıkıştırması için gelişmiş GUI aracı

NVIDIA Doku Araçları

Üstün BC7 sıkıştırma özelliğine sahip yüksek kaliteli sıkıştırma kitaplıkları ve araçları

Birlik Dokusu İthalatçısı

DDS içe aktarma ve sıkıştırma ayarları için yerleşik Unity araçları

Unreal Engine Doku Düzenleyicisi

DDS desteği ve sıkıştırma ön ayarlarıyla kapsamlı doku yönetimi

DDS En İyi Uygulamaları

İçerik türüne göre doğru BCn formatını seçin - yaygın için BC1, alfa için BC3, normaller için BC5, yüksek kalite için BC7

Performansı artırmak için her zaman 3B ortamlarda kullanılan dokular için mipmap'ler oluşturun

Optimum GPU bellek hizalaması için mümkün olduğunda 2 boyutun gücü kullanın

Dosya boyutu ile görsel kalite arasındaki dengeyi bulmak için sıkıştırma kalitesini farklı ayarlarla test edin

Sıkıştırma formatlarını seçerken hedef platformun yeteneklerini göz önünde bulundurun

Farklı doku türleri için uygun sıkıştırma ayarlarını kullanın (yaygın, aynasal ve normal haritalar)

Çözüm

DDS, grafik endüstrisinde, özellikle Windows tabanlı uygulamalar ve oyun geliştirmede temel bir format olmaya devam ediyor. Donanımla hızlandırılmış BCn sıkıştırması, kapsamlı özellik seti ve gelişmiş araç ekosistemi, onu masaüstü ve konsol platformlarını hedefleyen geliştiriciler için mükemmel bir seçim haline getiriyor.

ASTC ve Basis Universal gibi daha yeni formatlar belirli kullanım durumları için avantajlar sunarken, DDS geleneksel PC oyun uygulamaları için en iyi performansı ve uyumluluğu sağlamaya devam ediyor. Güçlü yönlerini ve sınırlamalarını anlamak, geliştiricilerin kendi projeleri ve hedef platformları için doku formatı seçimi konusunda bilinçli kararlar almasına yardımcı olur.

İlave Okumalar ve Kaynaklar

Bu güvenilir kaynaklarla bilginizi genişletin: