glTF İkili (.glb)
ISO/IEC Standartİkili glTF (GLB), web tabanlı 3D grafikler, Artırılmış Gerçeklik (AR) ve gerçek zamanlı oyun motorları için “3D'nin JPEG'i” olarak anılan glTF 2.0 standardının kendi kendine yeterli, tek dosyalık ikili paketleme biçimidir.
GLTF biçimini GLB biçimine dönüştür
Tarayıcında GLTF biçimini GLB biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.
İncele ve Meta Veriler
İşletim sistemleri ve dosya çözümleyicileri, GLB dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:
Bayt düzeyinde başlık imzası (sihirli baytlar)
İşletim sistemleri ve dosya çözümleyicileri, GLB dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:
HEX İMZASI (OFSET 0):
67 6C 54 46ASCII GÖSTERİMİ: glTF
Standartlaştırma: ISO/IEC 12113:2022 / Khronos Open Standard
Teknik Özellikler
| Kapsayıcı mimarisi | Ardından JSON parçası (CHUNK 0) ve ikili arabellek parçası (CHUNK 1) gelen 12 baytlık ikili üstbilgi ('glTF', sürüm, uzunluk) |
| Sıkıştırma | DRACO ağ geometrisi sıkıştırması, KHR_texture_basisu (KTX2/Basis Universal GPU dokuları) ve ExtMeshopt |
| Bayt Düzeni (Endianness) | Little-Endian (Intel x86 / WebGL standard) |
| Renk Uzayları | sRGB textures, Doğrusal PBR pürüzlülük/metaliklik kanalları |
| Kanallar ve Yapı | PBR malzemeleri (Metallic-Roughness), iskeletli ağlar, şekil değiştirme hedefleri, animasyonlar, kameralar ve ışıklar |
| Maksimum Boyutlar | Sınırsız köşe ve üçgen sayısı (çok gigabaytlı modelleri destekler) |
| Şeffaflık | Alfa kapsamı (MASK), alfa karıştırma (BLEND) ve hacimsel geçirgenlik |
| Akış ve Aşamalı İşleme | Doğrudan GPU VBO yüklemesi için ikili uzaklık tablolarına sahip, kendi kendine yeterli tek dosya |
Teknik karşılaştırma matrisi: GLB ve rakipleri
| Teknik Nitelik | GLB (Güncel) | GLTF | USDZ | FBX |
|---|---|---|---|---|
| Paketleme Modeli | Tek, kendine yeterli ikili dosya | JSON + harici .bin ve doku dosyaları | USD şemaları ve dokularının ZIP arşivi | Tescilli Autodesk ikili/ASCII formatı |
| Web ve AR Standardı | Destek, yazılıma göre değişir. | Destek, yazılıma göre değişir. | Apple iOS Quick Look AR standardı | Masaüstü oyun motoru içe aktarım standardı |
| Malzeme Modeli | Standartlaştırılmış glTF PBR Metalik-Pürüzlülük modeli | Standartlaştırılmış glTF PBR | Destek, yazılıma göre değişir. | Tescilli Phong/Lambert/PBR gölgelendiricileri |
| GPU Okuma Performansı | Anlık (doğrudan bellek eşleme) | Hızlı (birden fazla ağ isteği) | Hızlı (sıkıştırılmamış ZIP girdileri) | Yavaş (karmaşık ayrıştırma gerektirir) |
Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu
3D model, eksik dokularla veya tamamen siyah yüzeylerle oluşturuluyor (render ediliyor).
Kök Neden: Bozulmuş gömülü doku parçası veya eksik PBR metalik-pürüzlülük doku referansı.
Kurtarma: File2File.app 3D Converter veya glTF-Transform ile parça ofsetlerini incele ve onar.
Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri
GLB ayrıştırıcıları, arabellek uzunlukları uyuşmadığında arabellek taşmalarını (buffer overflow) tetikleyebilen, rastgele içerikli ikili arabelleklerle birleştirilmiş JSON metin parçalarını işler.
Bilinen Saldırı Vektörleri
- bufferView byteOffset + byteLength değeri, ikili parça uzunluğunu aştığında meydana gelen arabellek okuma aşımı (buffer over-read).
- WebGL drawElements yürütülmesi sırasında sınır dışı tepe noktası indeksi okuması.
- Patolojik Draco sıkıştırma açma döngüleri yoluyla hizmet reddi (DoS).
Savunmaya yönelik en iyi uygulamalar: Tüm accessor ve bufferView bayt aralıklarının bildirilen ikili parça sınırları içinde kaldığını doğrula.
Tarihsel kökenler ve önemli dönüm noktaları
Temel Avantajlar ve Artılar
- Tamamen kendine yeterli: 3D geometrisini, PBR malzemelerini, dokuları (PNG/JPEG/KTX2) ve iskelet animasyonlarını tek bir dosyada paketler.
- Doğrudan GPU yüklemesi: İkili geometri arabellekleri, sıfır CPU ayrıştırma ek yüküyle WebGL / Vulkan bellek düzenleriyle eşleşir.
- WebGL, WebGPU, e-ticaret 3D ürün önizlemeleri ve mobil Artırılmış Gerçeklik için tartışmasız standarttır.
Teknik Kısıtlamalar ve Eksiler
- İkili yapısı, özel 3D araçları olmadan manuel metin incelemesini veya düzenlemesini zorlaştırır.
- Gelişmiş sıkıştırma uzantıları kullanılırken Draco veya Basis Universal sıkıştırma açma kitaplıkları gerektirir.
- Apple platformları, yerel iOS Quick Look AR için USDZ'yi tercih eder ve GLB'den format dönüştürülmesi gerekir.
İlginç Teknik Bilgiler
- Her GLB dosyasının ilk 4 baytı, ASCII olarak 'glTF' kelimesini oluşturan 0x67 0x6C 0x54 0x46 baytlarıdır.
- Akıllı telefonundaki web tarayıcısında 3D bir spor ayakkabı görüntülüyorsan, büyük olasılıkla etkileşimli bir GLB modeline bakıyorsundur.
- GLB, grafik donanımının tepe noktası (vertex) arabelleklerini diskten doğrudan VRAM'e sıfır dönüşümle okuyabilmesi için özellikle tasarlanmıştır.
Sıkça Sorulan Teknik Sorular
glTF ve GLB arasındaki fark nedir?
glTF, harici .bin geometrisini ve ayrı görüntü dokusu dosyalarını referans alan bir JSON dosyasıdır. GLB ise tüm bu paketi alır ve tek, kompakt bir ikili (binary) dosyada paketler.
Apple AR için GLB'yi USDZ formatına nasıl dönüştürebilirim?
GLB modellerini doğrudan web tarayıcında File2File.app kullanarak tek tıkla Apple uyumlu USDZ dosyalarına dönüştürebilirsin.
Blender'da GLB dosyalarını açabilir miyim?
Blender'da yerleşik, yüksek performanslı glTF/GLB içe ve dışa aktarma desteği vardır.
İlgili GLB Dönüşüm Çiftleri
glTF JSON varlıklarını glTF Binary kapsayıcılarına dönüştürmek, ayrı metin bildirim dosyalarını, ikili arabellekleri ve dokuları daha hızlı web teslimatı için tek bir dosyada paketler.
GLB formatını glTF formatına dönüştürmek, tek bir ikili (binary) konteyneri ayrı metin ve varlık dosyalarına ayırarak geliştiricilerin dokuları ve 3D geometri kodunu kolayca düzenlemesini sağlar.