حقوق الطبع والنشر (ج) شركة مايكروسوفت.
28 أكتوبر 2024
تحتوي هذه الحزمة على "DirectX Tool Kit"، وهي مجموعة من الفئات المساعدة لكتابة كود Direct3D 11 C++ لتطبيقات Universal Windows Platform (UWP) لأنظمة التشغيل Windows 11 وWindows 10 وXbox One وWin32 لتطبيقات سطح المكتب لنظام التشغيل Windows 7 Service Pack 1 أو لاحقاً.
تم تصميم هذا الرمز للإنشاء باستخدام Visual Studio 2019 (16.11)، أو Visual Studio 2022، أو clang لنظام التشغيل Windows v12 أو الإصدارات الأحدث، أو MinGW 12.2. يلزم استخدام Windows 10 May 2020 Update SDK (19041) أو الإصدار الأحدث لبرنامج Visual Studio.
تم تصميم هذه المكونات للعمل دون الحاجة إلى أي محتوى من DirectX SDK القديم. للحصول على تفاصيل، راجع أين توجد DirectX SDK؟.
Inc
Audio.h - واجهة برمجة التطبيقات الصوتية ذات المستوى المنخفض باستخدام XAudio2 (DirectXTK للرأس العام للصوت)
BufferHelpers.h - مساعدو C++ لإنشاء موارد D3D من بيانات وحدة المعالجة المركزية
CommonStates.h - يوفر المصنع كائنات حالة D3D شائعة الاستخدام
DDSTextureLoader.h - محمل نسيج ملف DDS خفيف الوزن
DirectXHelpers.h - مساعدات متنوعة لـ C++ لبرمجة D3D
Effects.h - مجموعة من التظليلات المضمنة لمهام العرض الشائعة
GamePad.h - مساعد وحدة تحكم لوحة الألعاب باستخدام XInput أو Windows.Gaming.Input أو GameInput
GeometricPrimitive.h - يرسم الأشكال الأساسية مثل المكعبات والمجالات
GraphicsMemory.h - مساعد لإدارة تخصيص ذاكرة الرسومات الديناميكية
Keyboard.h - مساعد تتبع حالة لوحة المفاتيح
Model.h - يرسم الشبكات المحملة من ملفات .CMO أو .SDKMESH أو .VBO
Mouse.h - مساعد الماوس
PostProcess.h - مجموعة من التظليلات المضمنة لعمليات ما بعد المعالجة الشائعة
PrimitiveBatch.h - طريقة بسيطة وفعالة لرسم العناصر الأولية للمستخدم
ScreenGrab.h - شاشة توقف خفيفة الوزن
SimpleMath.h - غلاف C++ مبسط لـ DirectXMath
SpriteBatch.h - عرض رسوم متحركة ثنائي الأبعاد بسيط وفعال
SpriteFont.h - عرض النص القائم على الصورة النقطية
VertexTypes.h - هياكل لتنسيقات بيانات قمة الرأس شائعة الاستخدام
WICTextureLoader.h - محمل نسيج ملف الصورة المستند إلى WIC
XboxDDSTextureLoader.h - نسخة تطبيقات Xbox One الحصرية من DDSTextureLoader
ملفات الرأس العامة (في مساحة اسم DirectX C++):
Src
ملفات مصدر DirectXTK ورؤوس التنفيذ الداخلية
Audio
DirectXTK لملفات مصدر الصوت ورؤوس التنفيذ الداخلية
MakeSpriteFont
أداة سطر الأوامر المستخدمة لإنشاء موارد ثنائية للاستخدام مع SpriteFont
XWBTool
أداة سطر الأوامر لإنشاء بنوك موجية بنمط XACT للاستخدام مع DirectXTK لفئة WaveBank الخاصة بالصوت
build
يحتوي على ملفات YAML لخطوط أنابيب البناء بالإضافة إلى بعض ملفات البناء والبرامج النصية المتنوعة.
الوثائق متاحة على جيثب ويكي.
يخضع كل المحتوى والكود المصدري لهذه الحزمة لشروط ترخيص MIT.
للحصول على أحدث إصدار من DirectXTK وتقارير الأخطاء وما إلى ذلك، يرجى زيارة موقع المشروع على GitHub.
للحصول على استشارات أمنية، راجع GitHub.
للحصول على سجل التغيير الكامل، راجع CHANGELOG.md.
بدءًا من إصدار فبراير 2023، تم تحديث تطبيق فئة Mouse لحركة الماوس النسبية لتجميع التغييرات بين استدعاءات GetState
. افتراضيًا، في كل مرة تقوم فيها باستدعاء GetState
، تتم إعادة تعيين الدلتا وهو ما يناسب السيناريوهات التي تستخدم فيها الحركة النسبية ولكنك تستدعي الطريقة مرة واحدة فقط لكل إطار. إذا قمت باستدعائه أكثر من مرة لكل إطار، فقم بإضافة استدعاء صريح إلى EndOfInputFrame
لاستخدام نموذج إعادة تعيين صريح بدلاً من ذلك.
اعتبارًا من إصدار سبتمبر 2022، تستخدم المكتبة مساحات الأسماء المضمنة C++ 11 للأنواع المختلفة التي لها نفس الأسماء في إصدار DirectX 11 وDirectX 12 من مجموعة أدوات DirectX . يوفر هذا اسمًا فريدًا للارتباط مثل DirectX::DX11::SpriteBatch
الذي سيظهر في رسائل مخرجات الرابط. ومع ذلك، في معظم حالات الاستخدام، ليست هناك حاجة لإضافة دقة مساحة اسم DX11
صريحة في كود العميل.
بدءًا من إصدار يوليو 2022، أصبحت المعلمة bool forceSRGB
لوظائف DDSTextureLoader Ex
الآن معلمة علامة قناع بت التعداد المكتوبة DDS_LOADER_FLAGS
. قد يكون لهذا تأثير تغيير جذري على رمز العميل. استبدل true
بـ DDS_LOADER_FORCE_SRGB
و false
بـ DDS_LOADER_DEFAULT
.
اعتبارًا من إصدار أكتوبر 2021، لم يعد DGSLEffect يدعم السلخ بشكل مباشر. بدلاً من ذلك، استخدم SkinnedDGSLEffect المشتق من DGSLEffect.
بدءًا من إصدار يونيو 2020، تستخدم هذه المكتبة إشارات قناع البت التعدادي المكتوب وفقًا لتوصية القسم القياسي لـ C++ 17.5.2.1.3 أنواع قناع البت . قد يكون لذلك تأثيرات تغيير جذرية على كود العميل:
لا يمكنك تمرير الرقم 0
كقيمة أعلامك. بدلاً من ذلك، يجب عليك الاستفادة من قيمة التعداد الافتراضية المناسبة: AudioEngine_Default
أو SoundEffectInstance_Default
أو ModelLoader_Clockwise
أو WIC_LOADER_DEFAULT
.
استخدم نوع التعداد بدلاً من DWORD
في حالة إنشاء قيم العلامات محليًا باستخدام عمليات القناع النقطي. على سبيل المثال، WIC_LOADER_FLAGS flags = WIC_LOADER_DEFAULT; if (...) flags |= WIC_LOADER_FORCE_SRGB;
تتضمن مشاريع 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)، فقد يفشل في إنشاء جميع التظليلات المطلوبة.
يتطلب دعم Xbox One لـ DirectX 11 جهاز Xbox One XDK القديم. راجع فبراير 2023 أو الإصدارات السابقة من DirectX Tool Kit للتعرف على ملفات المشروع المطلوبة.
اعتبارًا من إصدار أكتوبر 2024، تدعم أداة سطر الأوامر xwbtool أيضًا الخيارات الطويلة على نمط GNU باستخدام --
. تستمر كافة المفاتيح الموجودة في العمل. يدعم MakeSpriteFont فقط --version
و- --help
لمعلمات نمط POSIX.
بالنسبة للأسئلة، فكر في استخدام Stack Overflow مع علامة directxtk ، أو DirectX Discord Server في قناة dx9-dx11-developers .
للحصول على تقارير الأخطاء وطلبات الميزات، يرجى استخدام مشكلات GitHub لهذا المشروع.
يرحب هذا المشروع بالمساهمات والاقتراحات. تتطلب معظم المساهمات منك الموافقة على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق في منحنا حقوق استخدام مساهمتك، بل وتفعل ذلك بالفعل. للحصول على التفاصيل، تفضل بزيارة https://cla.opensource.microsoft.com.
عند إرسال طلب سحب، سيحدد روبوت CLA تلقائيًا ما إذا كنت بحاجة إلى تقديم CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال، التحقق من الحالة، التعليق). ما عليك سوى اتباع التعليمات التي يقدمها لك الروبوت. سوف تحتاج إلى القيام بذلك مرة واحدة فقط في جميع عمليات إعادة الشراء باستخدام CLA الخاص بنا.
يجب أيضًا إرسال اختبارات الميزات الجديدة كتقرير علاقات عامة إلى مستودع Test Suite.
اعتمد هذا المشروع قواعد السلوك الخاصة بشركة Microsoft مفتوحة المصدر. لمزيد من المعلومات، راجع الأسئلة الشائعة حول قواعد السلوك أو اتصل بـ [email protected] لطرح أي أسئلة أو تعليقات إضافية.
قد يحتوي هذا المشروع على علامات تجارية أو شعارات للمشاريع أو المنتجات أو الخدمات. يخضع الاستخدام المصرح به للعلامات التجارية أو الشعارات الخاصة بشركة Microsoft ويجب أن يتبع إرشادات العلامة التجارية والعلامات التجارية الخاصة بشركة Microsoft. يجب ألا يتسبب استخدام العلامات التجارية أو الشعارات الخاصة بشركة Microsoft في الإصدارات المعدلة من هذا المشروع في حدوث ارتباك أو الإشارة ضمنًا إلى رعاية Microsoft. ويخضع أي استخدام لعلامات تجارية أو شعارات تابعة لجهات خارجية لسياسات تلك الجهات الخارجية.
مجموعة أدوات DirectX هي من عمل Shawn Hargreaves وChuck Walbourn، مع مساهمات من Aaron Rodriguez Hernandez وDani Roman.
شكرًا لـ Shanon Drone على تنسيق ملف SDKMESH.
شكرًا لأدريان تساي على تنفيذ المجال الجيوديسي.
شكرًا لـ Garrett Serack لمساعدته في إنشاء حزم NuGet لمجموعة أدوات DirectX.
شكرًا لروبرتو سونينو لمساعدته في CMO
وعرض DGSL والرسوم المتحركة VS Starter Kit.
شكرًا لـ Pete Lewis وJustin Saunders على التنفيذ العادي وتظليل PBR.
شكرًا لأندرو فارير وسكوت ماتلوف لمساعدتهما المستمرة في مراجعات الكود.