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

تنسيق DDS: الدليل الكامل لضغط نسيج DirectX

18 دقيقة قراءة

DDS (DirectDraw Surface) هو تنسيق حاوية النسيج الأول من Microsoft، وهو مصمم خصيصًا لتطبيقات DirectX ويتم اعتماده على نطاق واسع في جميع أنحاء صناعة ألعاب الكمبيوتر. باعتباره المعيار الفعلي لتطبيقات الرسومات المستندة إلى Windows، يدعم DDS نطاقًا شاملاً من تنسيقات ضغط الكتلة (BCn) والأنسجة غير المضغوطة والميزات المتقدمة مثل mipmaps وcubmaps ومصفوفات النسيج. إن دعم أجهزة GPU الأصلية والأداء الأمثل يجعلها تنسيقًا أساسيًا لتطوير ألعاب سطح المكتب ووحدة التحكم.

ما هو تنسيق DDS؟

DDS هو تنسيق حاوية تم تطويره بواسطة Microsoft لتخزين الأنسجة المضغوطة وغير المضغوطة، وقد تم إنشاؤه في الأصل لـ DirectX ولكنه الآن مدعوم على نطاق واسع عبر أطر الرسومات. يوفر التنسيق طريقة موحدة لحزم بيانات النسيج مع البيانات الوصفية الضرورية لاستهلاك وحدة معالجة الرسومات، مما يضمن الأداء الأمثل والتوافق عبر منصات الأجهزة المختلفة.

في جوهره، يعمل DDS بمثابة غلاف حول تنسيقات ضغط النسيج المختلفة، وأبرزها عائلة BCn (ضغط الكتلة) (BC1-BC7)، والتي توفر ضغطًا فعالاً لتسريع الأجهزة لأنواع مختلفة من النسيج. يسمح هذا التصميم للمطورين بتخزين الأنسجة بتنسيق يمكن تحميله مباشرة بواسطة وحدة معالجة الرسومات دون معالجة إضافية، مما يقلل من عرض النطاق الترددي للذاكرة ويزيد من أداء العرض.

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

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

دعم الأجهزة الأصلية

تسريع مباشر لأجهزة GPU لتنسيقات BCn دون زيادة الضغط على وحدة المعالجة المركزية

دعم BCn الكامل

دعم جميع تنسيقات BCn (BC1-BC7) مما يوفر ضغطًا مثاليًا لأنواع الأنسجة المختلفة

المدمج في دعم Mipmap

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

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

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

شرح تنسيقات ضغط BCn

يدعم DDS مجموعة كاملة من تنسيقات BCn (ضغط الكتلة)، كل منها محسّن لأنواع مختلفة من محتوى النسيج:

BC1 (DXT1)

ضغط RGB بألفا 1 بت أو بدون ألفا. يوفر ضغطًا بنسبة 6:1 بجودة جيدة للأنسجة المنتشرة دون متطلبات الشفافية.

الأفضل لـ: الخرائط المنتشرة، وأنسجة البياض، والخرائط الملونة بدون قناة ألفا

BC2 (DXT2)

ضغط RGB مع ألفا 4 بت صريح. يوفر ضغطًا بنسبة 4:1 مع انتقالات ألفا حادة.

الأفضل لـ: الأنسجة ذات حواف ألفا الحادة، وعناصر واجهة المستخدم ذات الشفافية القوية

BC3 (DXT5)

ضغط RGB مع ألفا 4 بت محرف. يوفر ضغطًا بنسبة 4:1 مع تدرجات ألفا ناعمة.

الأفضل لـ: أنسجة الشخصيات، وتأثيرات الجسيمات، والتدرجات، وانتقالات ألفا الناعمة

BC4

ضغط أحادي القناة (تدرج الرمادي). يوفر ضغطًا بنسبة 2:1 للقنوات الزرقاء العادية للخريطة أو خرائط الارتفاع.

الأفضل لـ: خرائط الارتفاع، والخرائط اللامعة، والقنوات الفردية للخريطة العادية

BC5

ضغط ثنائي القناة (الخريطة العادية XY عادةً). يوفر ضغطًا بنسبة 2:1 لبيانات الخريطة العادية.

الأفضل لـ: الخرائط العادية، وخرائط التدفق، وبيانات النسيج ثنائية القناة

BC6H

ضغط HDR RGB للمحتوى عالي النطاق الديناميكي. يوفر ضغطًا بنسبة 6:1 لأنسجة HDR.

الأفضل لـ: بيئات الإضاءة ذات النطاق الديناميكي العالي (HDR)، وصناديق السماء ذات النطاق الديناميكي العالي (HDR)، وخرائط الانعكاس ذات النطاق الديناميكي العالي (HDR).

BC7

ضغط RGB عالي الجودة مع ألفا اختياري. يوفر ضغطًا بنسبة 3:1 بجودة ممتازة.

الأفضل لـ: أنسجة الشخصيات عالية الجودة، والخرائط المرآوية، والأنسجة السطحية التفصيلية

هيكل ملف DDS

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

رأس DDS (124 بايت)

يحتوي على بيانات التعريف الأساسية بما في ذلك الأبعاد ومعلومات التنسيق وعدد mipmap وعلامات الضغط

هيكل DDSFMT (32 بايت)

يحدد تفاصيل تنسيق البكسل ونوع الضغط ومعلومات عمق البت

بيانات الملمس

بيانات البكسل المضغوطة أو غير المضغوطة مرتبة حسب التنسيق والأبعاد المحددة

سير عمل DDS

يتضمن سير عمل نسيج DDS النموذجي عدة مراحل:

1

1. خلق الملمس

إنشاء أو الحصول على ملفات نسيج عالية الجودة (PNG، TGA، PSD، وما إلى ذلك) بأبعاد مناسبة (يفضل أن تكون صلاحيات 2)

2

2. ضغط BCn

ضغط مواد المصدر باستخدام تنسيق BCn المناسب بناءً على نوع المحتوى والمتطلبات

3

3. جيل Mipmap

قم بإنشاء سلاسل mipmap لعرض مستوى التفاصيل بكفاءة في التطبيقات ثلاثية الأبعاد

4

4. تكامل محرك اللعبة

قم باستيراد ملفات DDS إلى محركات الألعاب أو تطبيقات الرسومات لاستخدام GPU الفوري

مزايا تنسيق DDS

الأداء الأمثل

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

دعم الصناعة على نطاق واسع

التنسيق القياسي مدعوم عبر DirectX وOpenGL وVulkan ومحركات الألعاب الرئيسية

مجموعة الميزات الشاملة

دعم الميزات المتقدمة مثل خرائط المكعبات وأنسجة الحجم ومحتوى HDR

النظام البيئي للأدوات الناضجة

دعم شامل للأدوات بما في ذلك DirectX SDK وtexconv ​​وCompressonator والأدوات الخاصة بالمحرك

حالات الاستخدام المثالي

تطوير ألعاب الكمبيوتر

مثالي للألعاب المستندة إلى Windows والعناوين عبر الأنظمة الأساسية التي تستهدف بيئات سطح المكتب

لعبة محرك القوام

مثالية لمحركات Unity وUnreal Engine وCryEngine ومحركات الألعاب الرئيسية الأخرى

تطبيقات الرسومات ثلاثية الأبعاد

مناسب لبرامج التصور وتطبيقات CAD وأدوات النمذجة ثلاثية الأبعاد

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

ممتاز لتجارب الواقع الافتراضي/الواقع المعزز التي تستهدف الأجهزة التي تعمل بنظام التشغيل Windows

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

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

DDS مقابل تنسيقات الجوال (ETC/ASTC)

تتفوق DDS في بيئات سطح المكتب بينما تعمل تنسيقات الأجهزة المحمولة على تحسين قيود GPU المحمولة وعرض النطاق الترددي

DDS مقابل القوام غير المضغوط

يوفر DDS ضغطًا بنسبة 4:1 إلى 8:1 مع تسريع الأجهزة مقابل الأنسجة غير المضغوطة التي تتطلب نطاقًا تردديًا كاملاً

DDS مقابل KTX

يركز DDS على Windows/DirectX بينما يوفر KTX التوافق بين OpenGL/Vulkan عبر الأنظمة الأساسية

DDS مقابل تنسيقات الويب

يوفر DDS تحسينًا لسطح المكتب بينما توفر تنسيقات الويب مثل Basis Universal الضغط والتسليم على الويب أولاً

أدوات وموارد DDS

مايكروسوفت دايركت اكس SDK

SDK الرسمي مع أداة سطر الأوامر texconv ​​لتحويل DDS ومعالجته

ضاغط AMD

أداة واجهة المستخدم الرسومية المتقدمة لضغط BCn مع معاينة في الوقت الفعلي وتعديل الجودة

أدوات نسيج نفيديا

مكتبات وأدوات ضغط عالية الجودة مع ضغط BC7 الفائق

مستورد نسيج الوحدة

أدوات Unity المضمنة لإعدادات استيراد وضغط DDS

محرر نسيج المحرك غير الواقعي

إدارة شاملة للنسيج مع دعم DDS وإعدادات الضغط المسبقة

أفضل ممارسات DDS

اختر تنسيق BCn المناسب استنادًا إلى نوع المحتوى - BC1 للنشر، وBC3 للألفا، وBC5 للعادي، وBC7 للجودة العالية

قم دائمًا بإنشاء خرائط mipmap للأنسجة المستخدمة في البيئات ثلاثية الأبعاد لتحسين الأداء

استخدم أبعاد قوة 2 عندما يكون ذلك ممكنًا لمحاذاة ذاكرة وحدة معالجة الرسومات (GPU) بشكل مثالي

اختبر جودة الضغط باستخدام إعدادات مختلفة للعثور على التوازن بين حجم الملف وجودة الصورة

ضع في اعتبارك إمكانيات النظام الأساسي المستهدف عند تحديد تنسيقات الضغط

استخدم إعدادات الضغط المناسبة لأنواع مختلفة من الأنسجة (الخرائط المنتشرة مقابل الخرائط المرآوية مقابل الخرائط العادية)

خاتمة

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

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

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

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