JPEG من العالم 3D. ما هو glTF؟

التعريف وتاريخ موجز


GLTF (تنسيق انتقال GL) هو تنسيق ملف لتخزين المشاهد والنماذج ثلاثية الأبعاد ، وهو سهل الفهم للغاية (تمت كتابة الهيكل في معيار JSON) ، وهو قابل للتوسيع ويتفاعل بسهولة مع تقنيات الويب الحديثة. يضغط هذا التنسيق على المشاهد ثلاثية الأبعاد جيدًا ويقلل معالجة وقت التشغيل للتطبيقات التي تستخدم WebGL وواجهات برمجة التطبيقات الأخرى. يتم الآن الترويج بنشاط لـ glTF بواسطة مجموعة Khronos كملف JPEG من العالم ثلاثي الأبعاد.


من المفترض أن يكون GlTF تنسيقًا فعالًا ومتوافقًا لتسليم الأصول يضغط على حجم المشاهد ثلاثية الأبعاد ويقلل معالجة وقت التشغيل عن طريق التطبيقات التي تستخدم WebGL وواجهات برمجة التطبيقات الأخرى. تحدد glTF أيضًا تنسيق النشر المشترك لأدوات وخدمات المحتوى ثلاثي الأبعاد.


يعود أول ذكر لـ glTF إلى عام 2012 ، ولكنه دخل حيز التنفيذ اعتبارًا من 19 أكتوبر 2015 ، إلى جانب الإعلان عن مواصفات glTF 1.0. في الوقت الحالي ، يتم استخدام الإصدار الثاني من المواصفات (glTF 2.0) ، والذي تم إصداره في 3 مارس 2017. وبعد ذلك ، سنتحدث فقط عن glTF 2.0.
يمكن العثور على وصف تفصيلي للديكورات الداخلية لهذا التنسيق في مطبوعاتي التالية: الجزء الأول والجزء الثاني


أساس glTF ومزاياها


يعتمد glTF على ملفين: JSON لوصف هيكل المشهد ثلاثي الأبعاد بأكمله والملف الثنائي ، لتخزين جميع البيانات من المشهد ، بما في ذلك خرائط النسيج التي يمكن "خياطتها" في الملف الثنائي أو تخزينها بواسطة ملفات خارجية. يوجد أيضًا إصدار ثنائي من glTF يسمى GLB ، والذي يكمن اختلافه الوحيد في أن كل شيء يتم تخزينه في ملف 1m مع امتداد GLB.
كمزايا إضافية في glTF ، يمكنك تسليط الضوء على:


  • تسلسل هرمي واضح للكائنات في بنية المشهد ثلاثي الأبعاد
  • تخزين معلومات المشهد مثل مصادر الضوء والكاميرات
  • دعم الرسوم المتحركة الهيكلية (المفاصل الرسوم المتحركة)
  • مواد أكثر موثوقية وتظليل.

إذا قارنت glTF و COLLADA ، فإن الوظائف التي تدعمها متشابهة جدًا ، ولكن تذكر أن glTF هو "تنسيق النقل" في المقام الأول ، فإن ميزته بلا شك ستكون توافقًا جيدًا مع تقنيات الويب. لإعطاء تشبيه ، يمكنني استخدام تنسيقات .PSD (Adobe Photoshop) و .JPG. الأول مفيد لتحرير المواد المصدر ، ولكن بالنسبة للتخزين والاستخدام على الإنترنت ، فإنهم يستخدمون JPG.


يأتي اليوم ثلاثي الأبعاد للعميل من مصادر مختلفة تمامًا ، ولكل منها تنسيقه الخاص. ليس كل المعلومات مطلوبة من قبل المستخدم ، ولا يمكن فتح جميع التنسيقات في تطبيقه. يجب تحليل بنية المشهد ، وتحويل بيانات الأشكال الهندسية ثلاثية الأبعاد إلى التنسيق المطلوب في واجهة برمجة تطبيقات الرسومات. يجب نقل البيانات ثلاثية الأبعاد إلى ذاكرة بطاقة الفيديو ، ثم يمكن وصف عملية العرض باستخدام مكالمات متتابعة إلى واجهة برمجة تطبيقات الرسومات. نتيجةً لذلك ، يجب على كل تطبيق قابل للتنفيذ إنشاء مستورديه أو أدوات التنزيل أو المحولات الخاصة بهم لجميع تنسيقات الملفات التي سيدعمها ، كما هو موضح في الشريحة.


الصورة


يحدد تنسيق GLTF معيارًا لتمثيل المحتوى ثلاثي الأبعاد في نموذج مناسب للاستخدام في تطبيق ما في وقت التشغيل. التنسيقات الحالية ليست مناسبة تمامًا للإرسال عبر الإنترنت: بعضها يحتوي فقط على معلومات حول الشكل الهندسي ، وبعضها يحتوي على كل شيء تمامًا ويصبح حجمه كبيرًا ويصعب تحليله ، ناهيك عن التشغيل في الوقت الفعلي (وقت التشغيل).


تم تصميم GLTF فقط لحل هذه المشكلة. هذا ليس "تنسيق ملف آخر" ، حيث يوجد بالفعل الكثير منهم ، هذا هو تعريف تنسيق نقل المشاهد ثلاثية الأبعاد!


يمكن بسهولة تحليل بنية المشهد الموصوفة بواسطة JSON ، حيث يتم تخزين البيانات ثلاثية الأبعاد في شكل يمكن قراءتها بسهولة واستخدامها مباشرةً من خلال واجهات برمجة التطبيقات الرسومية ، وبالتالي لا توجد حاجة لفك تشفير أو معالجة البيانات ثلاثية الأبعاد. وبهذه الطريقة ، يمكن لـ GLTF المساعدة في سد الفجوة بين إنشاء المحتوى وعرضه.


الصورة

Source: https://habr.com/ru/post/ar436686/


All Articles