Blog'a geri dön
Formatlar

PKM ve ETC Formatı: Tam Kılavuz

10 dk okuma

PKM, Android ve OpenGL ES platformlarında yaygın olarak kullanılan, ETC ile sıkıştırılmış dokular için basit bir kapsayıcı formattır. Bu makale, PKM format yapısını, ETC/ETC2 sıkıştırma sürümlerini ve bunların etkili bir şekilde nasıl kullanılacağını anlamak için eksiksiz bir kılavuz sağlar.

PKM Formatı Nedir?

PKM (Ericsson tarafından adlandırılan 'PoKeMon'un kısaltması), özellikle ETC ile sıkıştırılmış doku verilerini depolamak için tasarlanmış basit bir kap formatıdır. KTX veya DDS gibi karmaşık formatlardan farklı olarak PKM, yalnızca 16 baytlık bir başlık ve ardından sıkıştırılmış görüntü verileri içeren minimal bir yapıya sahiptir.

Format, ETC ile sıkıştırılmış dokuları mobil cihazlara depolamak ve yüklemek için hafif bir yol sağlamak üzere oluşturuldu. Basitliği, sıkıştırılmış doku verilerinin ötesinde neredeyse hiçbir ek yük olmadan uygulamayı ve ayrıştırmayı kolaylaştırır.

PKM Dosya Yapısı

  • 16 baytlık başlık: Sihirli sayı (PKM), sürüm, format, boyutlar
  • Sıkıştırılmış doku verileri: Ham ETC/ETC2 blokları

ETC Sıkıştırma Versiyonları

ETC sıkıştırmanın her biri farklı yeteneklere sahip iki ana sürümü vardır:

ETC1 (Ericsson Doku Sıkıştırma 1)

Yalnızca 4:1 sabit sıkıştırma oranına sahip RGB renk kanallarını destekleyen orijinal ETC standardı. OpenGL ES 2.0'dan bu yana Android cihazlarda yaygın olarak desteklenmektedir.

Destek: Tüm OpenGL ES 2.0+ cihazları

Sıkıştırma Oranı: 4:1 sabit (piksel başına 4 bit)

ETC2 (Ericsson Doku Sıkıştırma 2)

Çoklu format seçenekleriyle RGBA desteği eklenerek ETC1'in geliştirilmiş halefi. Geriye dönük uyumluluğu korurken daha iyi kalite ve alfa kanalı desteği sağlar.

Destek: OpenGL ES 3.0+, Vulkan

Sıkıştırma Oranı: Formata bağlı olarak 4:1 ila 8:1

PKM Formatı Çeşitleri

PKM farklı ETC format türlerini içerebilir:

ETC1 RGB

Orijinal format, yalnızca RGB, alfa kanalı yok

ETC2 RGB

ETC1'den daha iyi kalitede geliştirilmiş RGB sıkıştırması

ETC2 RGBA

8:1 sıkıştırmayla tam RGBA desteği (piksel başına 8 bit)

ETC2 RGB + Geçişli Alfa

4:1 sıkıştırmayı koruyan 1 bit alfalı RGB

PKM/ETC'nin Avantajları

Evrensel Android Desteği

ETC1'in tüm Android cihazlarda destekleneceği garanti edilir ve bu da onu Android geliştirme için en taşınabilir sıkıştırma formatı yapar.

Sabit Sıkıştırma Oranı

Tutarlı 4:1 veya 8:1 sıkıştırma oranlarıyla öngörülebilir bellek kullanımı, bellek bütçesi hesaplamalarını basitleştirir.

İyi Kalite-Boyut Oranı

ETC2, çoğu doku türü için DXT/BCn gibi masaüstü formatlarıyla karşılaştırılabilecek mükemmel görsel kalite sağlar.

Donanım Kod Çözme

İşleme sırasında sıfır CPU ek yüküyle doğrudan GPU sıkıştırmasını açma, verimli doku örneklemesine olanak tanır.

Sınırlamalar ve Hususlar

ETC1 Kalite Sınırları

ETC1, yüksek frekanslı ayrıntılara veya yumuşak gradyanlara sahip dokular üzerindeki görünür eserleri gösterebilir. Daha iyi kalite için ETC2 kullanmayı düşünün.

ETC1'de Alfa Yok

ETC1 alfa kanallarını desteklemez. OpenGL ES 2.0 aygıtlarını hedefliyorsanız ETC2 RGBA kullanmanız veya alfayı ayrı olarak saklamanız gerekir.

Sınırlı Gelişmiş Özellikler

PKM mipmap'leri, küp haritalarını veya doku dizilerini desteklemez. Bu gelişmiş özellikler için KTX veya KTX2 formatlarını kullanın.

PKM Formatı Nasıl Kullanılır

Projelerinizde PKM dosyalarını kullanmak basittir:

PKM'ye kodlama

  1. PNG/JPG resminizi yükleyin (2'nin üssü veya 4'ün katı boyutlara sahip olmalıdır)
  2. İhtiyaçlarınıza göre ETC1 RGB veya ETC2 RGB/RGBA arasından seçim yapın
  3. Oluşturulan .pkm dosyasını indirin ve projenize entegre edin

PKM Dosyalarının Kodunu Çözme

  1. İçeriğini doğrulamak için .pkm dosyanızı yükleyin
  2. Sıkıştırılmış dokuyu önizleyin ve kaliteyi kontrol edin
  3. Dokuyu düzenlemeniz veya incelemeniz gerekiyorsa PNG'ye aktarın

En İyi Uygulamalar

  • Tüm Android cihazlarda maksimum uyumluluk için ETC1 RGB'yi kullanın (OpenGL ES 2.0+)
  • Alfa kanallarına ihtiyaç duyan modern cihazları (OpenGL ES 3.0+) hedeflerken ETC2 RGBA'yı tercih edin
  • En iyi kalite için doku boyutlarının 4'ün katları (ETC1) veya 2'nin katları olduğundan emin olun
  • Eski cihazlarda alfa gerektiren dokular için ayrı gri tonlamalı dokular kullanmayı düşünün
  • Sıkıştırılmış dokuları gerçek hedef cihazlarda test edin - kalite algısı içerik türüne göre değişir

Çözüm

ETC/ETC2 sıkıştırmalı PKM, Android ve mobil OpenGL ES geliştirme için standart seçimdir. Evrensel desteği, öngörülebilir performansı ve iyi kalitesi, onu mobil doku sıkıştırma için mükemmel bir varsayılan haline getirir.

Çevrimiçi PKM kodlayıcı ve kod çözücü araçlarımız, komut satırı araçları veya SDK'lar yüklemeden ETC sıkıştırılmış dokularla çalışmayı kolaylaştırır. İster yeni dokular oluşturuyor olun ister mevcut dokuları inceliyor olun, bu araçlar mobil grafik işlem hattınızı optimize etmenize yardımcı olur.

İlave Okuma ve Referanslar

ETC ve PKM formatları hakkında daha fazla bilgi edinin: