العودة إلى المدونة
التنسيقات

تنسيق KTX: الدليل الكامل لحاوية نسيج Khronos

20 دقيقة قراءة

KTX (Khronos Texture) هو المعيار المفتوح الرسمي لتنسيقات حاوية النسيج التي تم تطويرها وصيانتها بواسطة مجموعة Khronos. باعتباره تنسيقًا خاليًا من حقوق الملكية ومحايدًا للبائعين ومصممًا خصيصًا لواجهات برمجة تطبيقات الرسومات الحديثة مثل OpenGL وOpenGL ES وVulkan، يوفر KTX طريقة موحدة لتخزين ونقل الأنسجة المضغوطة عبر منصات وتطبيقات مختلفة. مع إصدارين رئيسيين - KTX1 لتطبيقات OpenGL القديمة وKTX2 لسير العمل الحديث المستند إلى Vulkan - يعمل KTX بمثابة العمود الفقري لخطوط أنابيب أصول النسيج في تطوير الرسومات الاحترافية.

ما هو تنسيق KTX؟

KTX هو تنسيق حاوية مصمم لتخزين بيانات النسيج بطريقة يمكن أن تستهلكها أجهزة الرسومات مباشرة. على عكس تنسيقات الصور مثل PNG أو JPEG، تم تحسين KTX خصيصًا لتحميل نسيج وحدة معالجة الرسومات، ودعم تنسيقات الضغط المختلفة بما في ذلك ETC، وASTC، وBCn، وPVRTC. يتضمن التنسيق بيانات تعريف أساسية لتفسير الملمس بشكل مناسب، مما يجعله مثاليًا لتطبيقات الرسومات عبر الأنظمة الأساسية.

تم إنشاء التنسيق في الأصل لمعالجة التجزئة في تنسيقات ضغط النسيج عبر الأنظمة الأساسية وواجهات برمجة التطبيقات المختلفة. قبل KTX، كان على المطورين التعامل مع العديد من التنسيقات الخاصة مثل DDS لـ DirectX، وPVR لـ PowerVR، والعديد من التنسيقات الخاصة بالمنصة. توفر KTX حلاً موحدًا يعمل عبر OpenGL وOpenGL ES وVulkan، مع إمكانات التحميل المباشر لوحدة معالجة الرسومات.

لقد تطورت KTX بشكل ملحوظ منذ طرحها، حيث يمثل KTX2 قفزة كبيرة للأمام من حيث الميزات والقدرات. يضيف الإصدار الأحدث دعمًا لأنظمة الضغط الفائق مثل Basis Universal، وتحسين معالجة بيانات التعريف من خلال واصف تنسيق البيانات (DFD)، ودعم أفضل لميزات النسيج الحديثة مثل مصفوفات النسيج، والأنسجة ثلاثية الأبعاد، والخرائط المكعبة.

الميزات الرئيسية لتنسيق KTX

معيار خرونوس

يضمن المعيار الرسمي لمجموعة Khronos اعتماد الصناعة على نطاق واسع والتوافق عبر الأنظمة الأساسية

تنسيق ملحد

يدعم تقريبًا أي تنسيق ضغط للنسيج بما في ذلك التنسيقات ETC وASTC وBCn وPVRTC والتنسيقات غير المضغوطة

البيانات الوصفية الغنية

دعم شامل للبيانات التعريفية بما في ذلك الاتجاه ومساحة اللون وإعدادات الضغط وأزواج القيمة الرئيسية المخصصة

دعم Mipmap الكامل

دعم أصلي لسلاسل mipmap، ومصفوفات النسيج، والأنسجة ثلاثية الأبعاد، والخرائط المكعبة

أنواع الملمس المتقدمة

دعم مصفوفات النسيج، والقوام ثلاثي الأبعاد، والخرائط المكعبة، وأنواع النسيج المتقدمة الأخرى

عبر منصة

يعمل بسلاسة عبر منصات Windows وmacOS وLinux وiOS وAndroid والويب

مقارنة إصدار KTX

يعد فهم الاختلافات بين KTX1 وKTX2 أمرًا بالغ الأهمية لاختيار التنسيق المناسب لتطبيقك:

KTX1 (قديم)

تنسيق KTX الأصلي المصمم لتطبيقات OpenGL وOpenGL ES. بنية بسيطة تعتمد على معلمات نسيج OpenGL.

يستخدم KTX1 بنية رأسية مباشرة متبوعة ببيانات القيمة الرئيسية ثم بيانات الصورة. إنه متوافق مع إصدارات OpenGL الأقدم ويوفر إمكانيات تخزين أساسية للنسيج. على الرغم من أنه لا يزال مدعومًا على نطاق واسع، إلا أنه يفتقر إلى الميزات المتقدمة لـ KTX2.

KTX2 (حديث)

تنسيق KTX الحديث المصمم لتطبيقات رسومات Vulkan والجيل القادم. الميزات المحسنة ودعم الضغط الفائق.

يقدم KTX2 تحسينات كبيرة بما في ذلك الضغط الفائق Basis Universal، واصفات تنسيق البيانات (DFD)، ومؤشر المستوى للوصول الفعال إلى البيانات، ودعم أفضل لمصفوفات النسيج والأنسجة ثلاثية الأبعاد. إنه الخيار الموصى به للمشاريع الجديدة.

تنسيقات الضغط المدعومة

يعمل KTX بمثابة حاوية لتنسيقات الضغط المختلفة، مما يجعله متعدد الاستخدامات بشكل لا يصدق:

ETC (ضغط نسيج إريكسون)

ضغط قياسي للأجهزة المحمولة، مع ETC1 لضغط RGB وETC2 لضغط RGBA

ASTC (ضغط النسيج القابل للتكيف)

ضغط حديث وعالي الجودة يدعم أحجام الكتل المختلفة من 4 × 4 إلى 12 × 12 بكسل

BCN (ضغط الكتلة)

تنسيقات ضغط DirectX بما في ذلك BC1-BC7 لألعاب سطح المكتب وتطبيقات Windows

PVRTC (ضغط نسيج PowerVR)

ضغط خاص بـ PowerVR لنظام التشغيل iOS والأنظمة المدمجة مع متغيرات 2bpp و4bpp

تنسيقات غير مضغوطة

التنسيقات القياسية غير المضغوطة مثل RGB8 وRGBA8 وتنسيقات HDR المتنوعة

هيكل ملف KTX

تتبع ملفات KTX تنسيقًا منظمًا يتكون من ثلاثة مكونات رئيسية:

رأس الملف

يحتوي على تعريف التنسيق ومعلومات الإصدار وبيانات تعريف النسيج الأساسية مثل الأبعاد والتنسيق

بيانات القيمة الرئيسية

قسم البيانات التعريفية الذي يحتوي على أزواج قيمة مفتاحية مخصصة للحصول على معلومات نسيج إضافية

بيانات الصورة

بيانات النسيج الفعلية المضغوطة أو غير المضغوطة والتي يتم تنظيمها حسب مستويات mipmap وطبقات المصفوفة

هيكل رأس KTX1

يستخدم KTX1 رأسًا بحجم 64 بايت استنادًا إلى معلمات نسيج OpenGL:

المعرف (12 بايت)

"««KTX 11»\r\n\x1A\n" - معرف تنسيق الملف للتحقق من صحته

Endianness (4 بايت)

تحديد ترتيب البايت: 0x04030201 للنهاية الصغيرة، 0x01020304 للنهاية الكبيرة

نوع gl (4 بايت)

نوع بيانات OpenGL (على سبيل المثال، GL_UNSIGNED_BYTE) - 0 للتنسيقات المضغوطة

تنسيق gl (4 بايت)

تنسيق OpenGL (على سبيل المثال، GL_RGB) - 0 للتنسيقات المضغوطة

glInternalFormat (4 بايت)

تنسيق OpenGL الداخلي (على سبيل المثال، GL_COMPRESSED_RGB8_ETC2)

glBaseInternalFormat (4 بايت)

تنسيق OpenGL الأساسي للتوافق مع إصدارات OpenGL الأقدم

عرض البكسل (4 بايت)

عرض الملمس بالبكسل

ارتفاع البكسل (4 بايت)

ارتفاع المادة بالبكسل (0 للأنسجة أحادية الأبعاد)

عمق البكسل (4 بايت)

عمق النسيج بالبكسل (0 للأنسجة ثنائية الأبعاد)

numberOfArrayElements (4 بايت)

عدد عناصر المصفوفة (0 للأنسجة غير المصفوفة)

عدد الوجوه (4 بايت)

عدد الوجوه (6 للخرائط المكعبة، و1 للأنسجة العادية)

numberOfMipmapLevels (4 بايت)

عدد مستويات mipmap (1 في حالة عدم وجود mipmaps)

bytesOfKeyValueData (4 بايت)

حجم قسم بيانات القيمة الرئيسية بالبايت

تحسينات هيكل KTX2

يقدم KTX2 العديد من المكونات الهيكلية الجديدة لتعزيز الوظائف:

رأس محسّن

تحسين بنية الرأس مع معلومات الإصدار ومعرفات التنسيق ومؤشرات حجم البيانات

مؤشر المستوى

نظام فهرسة فعال للوصول السريع إلى مستويات mipmap وبيانات النسيج المحددة

واصف تنسيق البيانات (DFD)

نظام وصف التنسيق الشامل يحل محل ثوابت تنسيق OpenGL

بيانات القيمة الرئيسية

نظام محسّن للبيانات الوصفية مع دعم التدويل وأنواع البيانات المعقدة

البيانات العالمية ذات الضغط الفائق

بيانات عالمية لأنظمة الضغط الفائق مثل Basis Universal

البيانات الوصفية وبيانات القيمة الرئيسية

يمكن أن تحتوي ملفات KTX على بيانات تعريف شاملة من خلال قسم بيانات القيمة الرئيسية:

اتجاه الملمس

يحدد اتجاه المادة (أعلى اليسار، أسفل اليمين، وما إلى ذلك) للعرض الصحيح

معلومات التنسيق

تفاصيل حول تنسيق الضغط وإعدادات الجودة ومعلمات التشفير

معلومات الكاتب

معلومات حول الأداة أو التطبيق الذي أنشأ ملف KTX

إعدادات الضغط

يتم استخدام معلمات ضغط محددة وإعدادات الجودة

مساحة اللون

معلومات مساحة اللون بما في ذلك ملفات تعريف الألوان sRGB، والخطية، وHDR

سير عمل تطوير KTX

يتضمن إنشاء وإدارة مواد KTX هذه المراحل الأساسية:

1

إعداد الأصول المصدر

قم بإعداد صور مصدر عالية الجودة ذات الأبعاد المناسبة وملفات تعريف الألوان

2

اختيار التنسيق

اختر تنسيق الضغط المناسب بناءً على الأنظمة الأساسية المستهدفة ومتطلبات الجودة

3

ضغط الملمس

استخدم أدوات مثل toktx أو خطوط أنابيب الأصول لضغط الصور المصدر إلى تنسيق KTX

4

إضافة البيانات الوصفية

أضف بيانات التعريف المناسبة بما في ذلك الاتجاه ومساحة اللون والخصائص المخصصة

5

التحقق من صحة الملف

التحقق من صحة ملفات KTX للتأكد من توافقها وصحتها مع الأنظمة الأساسية المستهدفة

6

تكامل التطبيق

قم بدمج تحميل KTX والتعامل معه في تطبيق الرسومات الخاص بك

المزايا الرئيسية لتنسيق KTX

معيار الصناعة

يضمن معيار مجموعة Khronos الدعم طويل الأمد واعتماد الصناعة على نطاق واسع

مرونة التنسيق

يدعم تقريبًا أي تنسيق ضغط مما يجعله مقاومًا للمستقبل ومتعدد الاستخدامات

البيانات الوصفية الغنية

نظام شامل للبيانات الوصفية لتفسير وإدارة الملمس بشكل سليم

الميزات المتقدمة

دعم ميزات النسيج الحديثة مثل المصفوفات والأنسجة ثلاثية الأبعاد والضغط الفائق

عبر منصة

يعمل عبر جميع المنصات الرئيسية دون تعديل أو تحويل

جاهز للمستقبل

يضمن دعم KTX2 والضغط الفائق التوافق مع تقنيات الرسومات المستقبلية

حالات الاستخدام الشائعة

تطبيقات فولكان

التنسيق الأساسي لتطبيقات Vulkan الحديثة مع إمكانيات التحميل المباشر لوحدة معالجة الرسومات

تطبيقات برنامج OpenGL

تنسيق نسيج عبر الأنظمة الأساسية لتطبيقات OpenGL وOpenGL ES

تطبيقات ويب جي إل

تطبيقات الرسومات المستندة إلى الويب من خلال أدوات تحميل نسيج KTX وWebGL

تطوير اللعبة

تطوير احترافي للألعاب باستخدام خطوط أنابيب أصول النسيج عبر الأنظمة الأساسية

تطبيقات الواقع الافتراضي/الواقع المعزز

تتطلب تطبيقات الواقع الافتراضي والواقع المعزز تحميلًا فعالاً للنسيج

تطوير المحمول

تطبيقات iOS وAndroid مع تنسيقات ضغط نسيج محسنة

KTX مقابل التنسيقات الأخرى

فهم كيفية مقارنة KTX بتنسيقات النسيج الأخرى:

KTX مقابل DDS

KTX عبارة عن منصة مشتركة وحيادية لواجهة برمجة التطبيقات (API) بينما DDS خاص بـ DirectX ويركز على Windows

KTX مقابل PVR

يدعم KTX تنسيقات ضغط متعددة بينما تم تحسين PVR لوحدات معالجة الرسومات PowerVR وiOS

KTX1 مقابل KTX2

يوفر KTX2 ضغطًا فائقًا وبيانات وصفية أفضل وميزات حديثة مقارنة بـ KTX1 القديم

KTX vs Basis Universal

KTX هو تنسيق حاوية بينما Basis Universal هو تنسيق ضغط يمكن تخزينه في KTX2

أدوات وموارد التطوير

أداة توتككس

أداة سطر الأوامر الرسمية لإنشاء ملفات KTX وتحويلها من تنسيقات صور مختلفة

حزمة أدوات KTX

مجموعة كاملة من الأدوات بما في ذلك toktx وktxinfo وktxcheck وغيرها من الأدوات المساعدة

فولكان SDK

يتضمن Vulkan SDK الرسمي دعم KTX وأدوات التحميل المساعدة

مكتبات OpenGL

مكتبات وأطر عمل OpenGL متنوعة مع دعم KTX مدمج

دعم الوحدة KTX

يدعم محرك Unity تحميل نسيج KTX من خلال المكونات الإضافية وخطوط أنابيب الأصول

محرك غير واقعي KTX

يوفر Unreal Engine دعم نسيج KTX من خلال إعدادات ضغط النسيج

أفضل الممارسات لتطوير KTX

استخدم KTX2 للمشاريع الجديدة للاستفادة من الميزات الحديثة وقدرات الضغط الفائق

اختر تنسيق الضغط المناسب بناءً على الأنظمة الأساسية المستهدفة: ETC للجوال، وBCn لسطح المكتب

قم بتضمين بيانات تعريف شاملة لضمان التفسير المناسب للنسيج عبر الأنظمة الأساسية

التحقق من صحة ملفات KTX على الأجهزة المستهدفة في مرحلة مبكرة من التطوير لتجنب مشكلات التوافق

استخدم إعدادات mipmap المناسبة لتحسين أداء العرض على مسافات عرض مختلفة

فكر في استخدام الضغط الفائق Basis Universal للنشر عبر الأنظمة الأساسية بأحجام ملفات مثالية

اختبار أداء تحميل النسيج مع الأجهزة المستهدفة الفعلية وظروف الشبكة

تنفيذ المعالجة المناسبة للأخطاء والآليات الاحتياطية للتنسيقات أو الميزات غير المدعومة

مسارات الهجرة والترقية

إرشادات الترحيل إلى KTX أو الترقية بين الإصدارات:

الهجرة من KTX1 إلى KTX2

استخدم toktx مع علامة --ktx2 لتحويل ملفات KTX1 القديمة إلى تنسيق KTX2 الحديث

التحويل من DDS إلى KTX

استخدم أدوات تحويل toktx أو النسيج لترحيل مواد DirectX إلى تنسيق KTX عبر الأنظمة الأساسية

التحويل من PVR إلى KTX

قم بتحويل أنسجة PVR الخاصة بنظام iOS إلى KTX للتوافق عبر الأنظمة الأساسية

إضافة أساس الضغط العالمي

استخدم toktx مع خيارات Basis Universal لإضافة ضغط فائق إلى ملفات KTX2

لماذا تختار KTX2؟

يوفر KTX2 مزايا كبيرة مقارنة بـ KTX1 والتنسيقات الأخرى:

الدعم العالمي الأساسي

دعم أصلي للضغط الفائق Basis Universal مما يتيح نشر النسيج العالمي

ضغط محسن

تحسين نسب الضغط والجودة من خلال أنظمة الضغط الحديثة

مخططات الضغط الفائق

دعم العديد من تنسيقات الضغط الفائق التي تتجاوز Basis Universal

واصفات تنسيق البيانات

نظام وصف التنسيق الشامل يحل محل ثوابت OpenGL القديمة

تصميم مقاوم للمستقبل

مصمم لواجهات برمجة تطبيقات الرسومات الحديثة والمستقبلية وتقنيات الضغط

خاتمة

يمثل تنسيق KTX معيار الصناعة لإدارة النسيج عبر الأنظمة الأساسية، مما يوفر للمطورين حلاً قويًا ومرنًا ومقاومًا للمستقبل لخطوط أنابيب أصول النسيج. سواء كنت تستخدم KTX1 القديم لتطبيقات OpenGL أو KTX2 الحديث للتطوير المستند إلى Vulkan، فإن KTX يقدم الأدوات والميزات اللازمة لتطوير الرسومات الاحترافية.

مع استمرار تطور صناعة الرسومات نحو التطوير عبر الأنظمة الأساسية وتقنيات الضغط الأكثر تقدمًا، فإن KTX2 بدعمها للضغط الفائق Basis Universal والميزات الحديثة تضع نفسها كخيار رئيسي لإدارة النسيج. يعد فهم تنسيق KTX وإمكانياته أمرًا ضروريًا لأي مطور يعمل مع تطبيقات الرسومات الحديثة.

مزيد من القراءة والموارد

قم بتوسيع معرفتك باستخدام هذه الموارد الموثوقة: