http://go.microsoft.com/fwlink/?LinkId=248926
حقوق الطبع والنشر (ج) شركة مايكروسوفت.
28 أكتوبر 2024
تحتوي هذه الحزمة على DirectXTex، وهي مكتبة مصدر مشتركة لقراءة وكتابة ملفات .DDS
، وإجراء العديد من عمليات معالجة محتوى النسيج بما في ذلك تغيير الحجم، وتحويل التنسيق، وإنشاء خريطة mip، وضغط الكتلة لموارد نسيج وقت تشغيل Direct3D، وخريطة الارتفاع إلى الوضع الطبيعي. تحويل الخريطة. تستخدم هذه المكتبة واجهات برمجة تطبيقات Windows Image Component (WIC). ويتضمن أيضًا قارئات وكاتبات بتنسيق .TGA
و .HDR
نظرًا لأن تنسيقات ملفات الصور هذه تُستخدم بشكل شائع في خطوط أنابيب معالجة محتوى النسيج، ولكنها غير مدعومة حاليًا بواسطة برنامج ترميز WIC المدمج.
تم تصميم هذا الرمز للإنشاء باستخدام Visual Studio 2019 (16.11)، أو Visual Studio 2022، أو clang لنظام التشغيل Windows v12 أو الإصدارات الأحدث، أو MinGW 12.2. يلزم استخدام Windows 10 May 2020 Update SDK (19041) أو الإصدار الأحدث لبرنامج Visual Studio. ويمكن أيضًا تصميمه لنظام Windows الفرعي لنظام Linux باستخدام الإصدار 11 من مجلس التعاون الخليجي أو الإصدارات الأحدث.
تم تصميم هذه المكونات للعمل دون الحاجة إلى أي محتوى من DirectX SDK القديم. للحصول على تفاصيل، راجع أين توجد DirectX SDK؟.
DirectXTex
معظم ملفات الرأس هنا مخصصة للتنفيذ الداخلي للمكتبة فقط (
BC.h
،BCDirectCompute.h
،DDS.h
،DirectXTexP.h
، إلخ.). فقطDirectXTex.h
وDirectXTex.inl
مخصصان ليكونا الرأس "العام" للمكتبة.
Auxiliary
Common
Texconv
نموذج DirectXTex هذا هو تطبيق للأداة المساعدة لنسيج سطر الأوامر texconv من DirectX SDK باستخدام DirectXTex بدلاً من D3DX.
وهو يدعم نفس الوسائط مثل الأداة المساعدة Texture Conversion Tool Extended ( texconvex.exe
) القديمة DirectX SDK. الاختلافات الأساسية هي أن الوسيطتين -10
و -11
غير قابلة للتطبيق وأن أسماء عوامل التصفية ( POINT
, LINEAR
, CUBIC
, FANT
أو BOX
, TRIANGLE
, *_DITHER
, *_DITHER_DIFFUSION
). يتضمن هذا أيضًا دعمًا لتنسيق الصورة النقطية JPEG XR (HD Photo).
Texassemble
Texdiag
DDSView
DDSTextureLoader
ScreenGrab
WICTextureLoader
تعد DDSTextureLoader11 وScreenGrab11 وWICTextureLoader11 إصدارات "مستقلة" من نفس الوحدات المتوفرة في مجموعة أدوات DirectX لـ DX11
تعد DDSTextureLoader12 وScreenGrab12 وWICTextureLoader12 إصدارات "مستقلة" من نفس الوحدات المتوفرة في مجموعة أدوات DirectX لـ DX12.
build
الوثائق متاحة على جيثب ويكي.
يخضع كل المحتوى والكود المصدري لهذه الحزمة لشروط ترخيص MIT.
للحصول على أحدث إصدار من DirectXTex وتقارير الأخطاء وما إلى ذلك، يرجى زيارة موقع المشروع على GitHub.
للحصول على استشارات أمنية، راجع GitHub.
للحصول على سجل التغيير الكامل، راجع CHANGELOG.md.
بدءًا من إصدار يوليو 2022، أصبحت المعلمة bool forceSRGB
لوظيفتي CreateTextureEx وCreateShaderResourceViewEx الآن معلمة علامة قناع بت التعداد المكتوبة بواسطة CREATETEX_FLAGS
. قد يكون لهذا تأثير تغيير جذري على رمز العميل. استبدل true
بـ CREATETEX_FORCE_SRGB
و false
بـ CREATETEX_DEFAULT
.
بدءًا من إصدار يونيو 2020، تستخدم هذه المكتبة إشارات قناع البت التعدادي المكتوب وفقًا لتوصية القسم القياسي لـ C++ 17.5.2.1.3 أنواع قناع البت . يتوافق هذا مع استخدام Direct3D 12 للماكرو DEFINE_ENUM_FLAG_OPERATORS
. قد يكون لذلك تأثيرات تغيير جذرية على كود العميل:
لا يمكنك تمرير الرقم 0
كقيمة أعلامك. بدلاً من ذلك، يجب عليك الاستفادة من قيمة التعداد الافتراضية المناسبة: CP_FLAGS_NONE
أو DDS_FLAGS_NONE
أو WIC_FLAGS_NONE
أو TEX_FR_ROTATE0
أو TEX_FILTER_DEFAULT
أو TEX_FILTER_DEFAULT
أو TEX_FILTER_DEFAULT
أو CNMAP_DEFAULT
أو CNMAP_DEFAULT
.
استخدم نوع التعداد بدلاً من DWORD
في حالة إنشاء قيم العلامات محليًا باستخدام عمليات القناع النقطي. على سبيل المثال، DDS_FLAGS flags = DDS_FLAGS_NONE; if (...) flags |= DDS_FLAGS_EXPAND_LUMINANCE;
في الحالات التي تتداخل فيها بعض الأعلام، يمكنك استخدام |
لدمج الأنواع ذات الصلة: يتم دمج أوضاع التصفية TEX_FILTER_FLAGS
مع WIC_FLAGS
، ودمج أعلام TEX_FILTER_FLAGS
sRGB مع TEX_PMALPHA_FLAGS
أو TEX_COMPRESS_FLAGS
. لم يتم تعريف أي عوامل تشغيل bitwise أخرى. على سبيل المثال، WIC_FLAGS wicFlags = WIC_FLAGS_NONE | TEX_FILTER_CUBIC;
لا يمكن لـ WICTextureLoader تحميل ملفات .TGA
أو .HDR
ما لم يكن النظام مثبتًا عليه برنامج ترميز WIC تابع لجهة خارجية. يجب عليك استخدام مكتبة DirectXTex لدعم تنسيق الملفات TGA/HDR دون الاعتماد على برنامج ترميز WIC الإضافي.
تتضمن مشاريع UWP ومشروع Win10 الكلاسيكي لسطح المكتب تكوينات لمنصة ARM64. يتطلب إنشاء هذه العناصر تثبيت مجموعة أدوات ARM64.
بالنسبة لتطوير ARM64/AArch64، يوصى بشدة باستخدام مترجم VS 2022 عبر مجموعة أدوات VS 2019. Windows SDK (26100 أو الأحدث) غير متوافق مع VS 2019 لـ Win32 على تطوير ARM64. لاحظ أنه تم إهمال النظام الأساسي ARM32/AArch32 .
عند استخدام clang/LLVM للنظام الأساسي ARM64/AArch64، يلزم وجود Windows 11 SDK (22000) أو إصدار أحدث.
يجب أن يحتوي البرنامج النصي CompileShaders.cmd
على نهايات أسطر بنمط Windows (CRLF). إذا تم تغييره إلى نهايات الأسطر على نمط Linux (LF)، فقد يفشل في إنشاء جميع التظليلات المطلوبة.
اعتبارًا من إصدار أكتوبر 2024، تدعم أدوات سطر الأوامر أيضًا الخيارات الطويلة على نمط GNU باستخدام --
. تستمر جميع المفاتيح الموجودة في العمل، ولكن تم الآن إهمال بعض خيارات -
وفقًا لهذا الجدول:
com.texassemble | texconv | texdiag | |||
---|---|---|---|---|---|
-خريطة النغمات | --خريطة النغمة | -badtails | - ذيول سيئة | -badtails | - ذيول سيئة |
-bgcolor | --gif-bg-color | -إصلاحbc4x4 | --الإصلاح-قبل الميلاد-4x4 | -ignoremips | --تجاهل mips |
-أفزع | --أفزع | -ignoremips | --تجاهل mips | -مسموح | --مسموح |
-stripmips | --strip-mips | - معكوس | --عكس-y | -targetx | --الهدف-x |
-الحفاظ على التغطية | --الحفاظ على التغطية | ||||
-مسموح | --مسموح | ||||
-إعادة البناء | --إعادة البناء-z | ||||
-تدوير اللون | --تدوير اللون | ||||
-singleproc | --single-proc | ||||
-أفزع | --أفزع | ||||
-tgazeroalpha | --tga-صفر-ألفا | ||||
-توقيت | --توقيت | ||||
-خريطة النغمات | --خريطة النغمة | ||||
-Wiclossless | --wic-lossless | ||||
-wicmulti | --wic-multiframe | ||||
-x2bias | --x2-bias |
بالنسبة للأسئلة، فكر في استخدام Stack Overflow مع علامة directxtk ، أو DirectX Discord Server في قناة dx12-developers أو dx9-dx11-developers .
للحصول على تقارير الأخطاء وطلبات الميزات، يرجى استخدام مشكلات GitHub لهذا المشروع.
يرحب هذا المشروع بالمساهمات والاقتراحات. تتطلب معظم المساهمات منك الموافقة على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق في منحنا حقوق استخدام مساهمتك، بل وتفعل ذلك بالفعل. للحصول على التفاصيل، تفضل بزيارة https://cla.opensource.microsoft.com.
عند إرسال طلب سحب، سيحدد روبوت CLA تلقائيًا ما إذا كنت بحاجة إلى تقديم CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال، التحقق من الحالة، التعليق). ما عليك سوى اتباع التعليمات التي يقدمها لك الروبوت. سوف تحتاج إلى القيام بذلك مرة واحدة فقط عبر جميع اتفاقيات إعادة الشراء باستخدام CLA الخاصة بنا.
يجب أيضًا إرسال اختبارات الميزات الجديدة كتقرير علاقات عامة إلى مستودع Test Suite.
اعتمد هذا المشروع قواعد السلوك الخاصة بشركة Microsoft مفتوحة المصدر. لمزيد من المعلومات، راجع الأسئلة الشائعة حول قواعد السلوك أو اتصل بـ [email protected] لطرح أي أسئلة أو تعليقات إضافية.
قد يحتوي هذا المشروع على علامات تجارية أو شعارات للمشاريع أو المنتجات أو الخدمات. يخضع الاستخدام المصرح به للعلامات التجارية أو الشعارات الخاصة بشركة Microsoft ويجب أن يتبع إرشادات العلامة التجارية والعلامات التجارية الخاصة بشركة Microsoft. يجب ألا يتسبب استخدام العلامات التجارية أو الشعارات الخاصة بشركة Microsoft في الإصدارات المعدلة من هذا المشروع في حدوث ارتباك أو الإشارة ضمنًا إلى رعاية Microsoft. ويخضع أي استخدام لعلامات تجارية أو شعارات تابعة لجهات خارجية لسياسات تلك الجهات الخارجية.
مكتبة DirectXTex هي من عمل Chuck Walbourn، مع مساهمات من Matt Lee وXin Huang وCraig Peeper والعديد من مهندسي Microsoft الآخرين الذين طوروا مكتبة الأدوات المساعدة D3DX على مر السنين.
شكرًا لبول بينسون لمساعدته في تنفيذ MemoryStreamOnBlob
.
شكرًا لأندرو فارير وسكوت ماتلوف لمساعدتهما المستمرة في مراجعات الكود.
شكرًا لـ Park DongHa على مساهمتهم في الوظائف المساعدة لـ JPEG/PNG.