دايركت 3D
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( يناير 2014 ) |
| المطور(ون) | مايكروسوفت |
|---|---|
| الإصدار الأولي | 2 يونيو 1996 |
| إصدار مستقر | 12.0 Beta 3 / 13 يناير 2015 |
| نظام التشغيل | برامج نظام Microsoft Windows و Windows CE و Windows Embedded و Xbox |
| منصة | x86 ، ARM |
| يكتب | واجهة برمجة تطبيقات الرسوميات الحاسوبية ثلاثية الأبعاد |
| رخصة | الملكية |
| موقع إلكتروني | learn.microsoft.com/en-us/windows/win32/direct3d |
Direct3D هي واجهة برمجة تطبيقات رسومية (API) لنظام التشغيل Microsoft Windows . كجزء من DirectX ، يتم استخدام Direct3D لعرض الرسومات ثلاثية الأبعاد في التطبيقات حيث يكون الأداء مهمًا، مثل الألعاب. يستخدم Direct3D تسريع الأجهزة إذا كان متاحًا على بطاقة الرسومات ، مما يسمح بتسريع الأجهزة لخط أنابيب العرض ثلاثي الأبعاد بالكامل أو حتى تسريع جزئي فقط. يعرض Direct3D إمكانيات الرسومات المتقدمة لأجهزة الرسومات ثلاثية الأبعاد، بما في ذلك التخزين المؤقت Z ، [1] والتخزين المؤقت W، [2] والتخزين المؤقت للإستنسل ، والتنعيم المكاني ، ومزج ألفا ، ومزج الألوان، وتعيين mipmapping ، ومزج الملمس، [3] [4] والقص ، والحذف ، والتأثيرات الجوية، وتعيين الملمس الصحيح للمنظور ، وتظليل HLSL القابل للبرمجة [5] والتأثيرات. [6] يتيح التكامل مع تقنيات DirectX الأخرى لـ Direct3D تقديم ميزات مثل تعيين الفيديو، والرسم ثلاثي الأبعاد للأجهزة في مستويات التراكب ثنائية الأبعاد ، وحتى الصور المتحركة ، مما يوفر استخدام الرسومات ثنائية الأبعاد وثلاثية الأبعاد في روابط الوسائط التفاعلية.
يحتوي Direct3D على العديد من الأوامر الخاصة بتقديم رسومات الكمبيوتر ثلاثية الأبعاد ؛ ومع ذلك، منذ الإصدار 8، حل Direct3D محل إطار عمل DirectDraw وتولى أيضًا مسؤولية تقديم الرسومات ثنائية الأبعاد . [7] تسعى Microsoft إلى تحديث Direct3D باستمرار لدعم أحدث التقنيات المتاحة على بطاقات الرسومات ثلاثية الأبعاد. يوفر Direct3D محاكاة برمجية كاملة للرؤوس ولكن لا يوجد محاكاة برمجية للبكسل للميزات غير المتوفرة في الأجهزة. على سبيل المثال، إذا كان البرنامج المبرمج باستخدام Direct3D يتطلب برامج تظليل البكسل وكانت بطاقة الفيديو على كمبيوتر المستخدم لا تدعم هذه الميزة، فلن يحاكيها Direct3D، على الرغم من أنه سيحسب ويقدم مضلعات وقوام النماذج ثلاثية الأبعاد، وإن كان ذلك بجودة وأداء متدهورين عادةً مقارنة بما يعادله في الأجهزة. تتضمن واجهة برمجة التطبيقات أداة تحويل مرجعية (أو جهاز REF)، والتي تحاكي بطاقة رسومات عامة في البرنامج، على الرغم من أنها بطيئة للغاية بالنسبة لمعظم تطبيقات ثلاثية الأبعاد في الوقت الفعلي وعادةً ما تستخدم فقط لتصحيح الأخطاء. تم تضمين برنامج WARP الجديد الذي يعمل في الوقت الفعلي ، والذي تم تصميمه لمحاكاة مجموعة الميزات الكاملة لـ Direct3D 10.1، مع Windows 7 و Windows Vista Service Pack 2 مع Platform Update؛ ويقال إن أداءه على قدم المساواة مع بطاقات 3D الأقل تكلفة على وحدات المعالجة المركزية متعددة النواة. [8]
كجزء من DirectX ، يتوفر Direct3D لنظام التشغيل Windows 95 وما فوق، وهو الأساس لواجهة برمجة تطبيقات الرسومات المتجهة على الإصدارات المختلفة لأنظمة وحدة تحكم Xbox . تتضمن طبقة توافق Wine ، وهي إعادة تنفيذ برمجية مجانية للعديد من واجهات برمجة تطبيقات Windows، تنفيذًا لـ Direct3D.
المنافس الرئيسي لـ Direct3D هو OpenGL من Khronos وبرنامج Vulkan التابع له . كان Fahrenheit محاولة من Microsoft و SGI لتوحيد OpenGL وDirect3D في التسعينيات، ولكن تم إلغاؤه في النهاية.
ملخص
- Direct3D 6.0 – تعدد الأشكال
- Direct3D 7.0 – تحويل الأجهزة والقص والإضاءة (TCL/T&L)
- Direct3D 8.0 – Pixel Shader 1.0/1.1 & Vertex Shader 1.0/1.1 [9]
- Direct3D 8.1 – Pixel Shader 1.2/1.3/1.4 [10] [11] [12]
- Direct3D 9.0 – Shader Model 2.0 (Pixel Shader 2.0 & Vertex Shader 2.0)
- Direct3D 9.0a – نموذج Shader 2.0a (Pixel Shader 2.0a وVertex Shader 2.0a)
- Direct3D 9.0b – Pixel Shader 2.0b
- Direct3D 9.0c – آخر إصدار مدعوم لنظامي التشغيل Windows 98 / ME (الإصدارات المبكرة) [13] ونظامي التشغيل Windows 2000 / XP (جميع الإصدارات)؛ [14] Shader Model 3.0 (Pixel Shader 3.0 & Vertex Shader 3.0)
- Direct3D 9.0L – Windows Vista فقط؛ Direct3D 9.0c، Shader Model 3.0، Windows Graphics Foundation 1.0، DXVA 1.0، GPGPU
- Direct3D 10.0 – Windows Vista/Windows 7؛ Shader Model 4.0 ، Windows Graphics Foundation 2.0، DXVA 2.0
- Direct3D 10.1 – Windows Vista SP1/Windows 7؛ Shader Model 4.1، Windows Graphics Foundation 2.1، DXVA 2.1
- Direct3D 11.0 – Windows Vista SP2/ Windows 7 ؛ Shader Model 5.0، Tessellation، Multithreaded rendering، Compute shaders ، تم تنفيذه بواسطة الأجهزة والبرامج التي تعمل بنظام Direct3D 9/10/10.1
- Direct3D 11.1 – Windows 8 (مدعوم جزئيًا أيضًا على Windows 7 SP1)؛ عرض ثلاثي الأبعاد مجسم
- Direct3D 11.2 – Windows 8.1 ؛ الموارد المبلطة
- Direct3D 11.3 – ويندوز 10
- Direct3D 12.0 – Windows 10 ؛ واجهة برمجة تطبيقات العرض منخفض المستوى ، نموذج Shader 5.1 و6.0
- Direct3D 12.1 – Windows 10؛ تتبع الأشعة باستخدام DirectX
- Direct3D 12.2 – Windows 10؛ DirectX 12 Ultimate
Direct3D 2.0 و3.0
في عام 1992، بدأ سيرفان كويندجيان ودوج رابسون وكيت سيكينجز شركة تدعى RenderMorphics، والتي طورت واجهة برمجة تطبيقات رسومية ثلاثية الأبعاد تسمى Reality Lab ، والتي تم استخدامها في التصوير الطبي وبرامج التصميم بمساعدة الكمبيوتر. [15] تم إصدار نسختين من هذه الواجهة. [16] اشترت شركة Microsoft شركة RenderMorphics في فبراير 1995، وجلبت موظفيها على متنها لتنفيذ محرك رسومي ثلاثي الأبعاد لنظام التشغيل Windows 95. [17] تم شحن الإصدار الأول من Direct3D في DirectX 2.0 (2 يونيو 1996) و DirectX 3.0 (26 سبتمبر 1996).
نفذت Direct3D في البداية واجهة برمجة تطبيقات ثلاثية الأبعاد " الوضع الفوري " ووضعت فوقها واجهة برمجة تطبيقات ثلاثية الأبعاد " الوضع المحفوظ ". [18] تم تقديم كلا النوعين من واجهة برمجة التطبيقات بالفعل مع الإصدار الثاني من Reality Lab قبل إصدار Direct3D. [16] مثل واجهات برمجة تطبيقات DirectX الأخرى، مثل DirectDraw ، كان كلاهما يعتمد على COM . كانت واجهة برمجة تطبيقات الوضع المحفوظ عبارة عن واجهة برمجة تطبيقات رسم بياني للمشهد لم تحظ إلا بقدر ضئيل من التبني. طالب مطورو الألعاب بمزيد من التحكم المباشر في أنشطة الأجهزة أكثر مما يمكن أن يوفره وضع المحفوظ في Direct3D. كانت لعبتان فقط تم بيعهما بكميات كبيرة، Lego Island و Lego Rock Raiders ، تعتمدان على وضع المحفوظ في Direct3D، لذلك لم تقم Microsoft بتحديث واجهة برمجة تطبيقات الوضع المحفوظ بعد DirectX 3.0.
بالنسبة لـ DirectX 2.0 و3.0، استخدم وضع Direct3D الفوري نموذج برمجة "مخزن مؤقت للتنفيذ" الذي كانت Microsoft تأمل أن يدعمه بائعو الأجهزة بشكل مباشر. كان المقصود من مخازن التنفيذ أن يتم تخصيصها في ذاكرة الأجهزة وتحليلها بواسطة الأجهزة لأداء العرض ثلاثي الأبعاد. ومع ذلك، فقد اعتُبرت برمجتها صعبة للغاية في ذلك الوقت، مما أعاق تبني واجهة برمجة التطبيقات الجديدة ودفع إلى دعوات لتبني Microsoft لـ OpenGL كواجهة برمجة تطبيقات رسمية للعرض ثلاثي الأبعاد للألعاب بالإضافة إلى تطبيقات محطات العمل. [19] (انظر OpenGL مقابل Direct3D)
بدلاً من اعتماد OpenGL كواجهة برمجة تطبيقات للألعاب، اختارت Microsoft الاستمرار في تحسين Direct3D، ليس فقط لتكون قادرة على المنافسة مع OpenGL، ولكن للتنافس بشكل أكثر فعالية مع واجهات برمجة التطبيقات الملكية الأخرى مثل Glide من 3dfx .
منذ البداية، دعم الوضع الفوري أيضًا عرض Talisman المبلط باستخدام طرق BeginScene/EndScene لواجهة IDirect3DDevice.
دايركت 3دي 4.0
لم يتم التخطيط لإجراء تغييرات جوهرية على Direct3D لـ DirectX 4.0 ، والذي كان من المقرر طرحه في أواخر عام 1996 ثم تم إلغاؤه. [20]
دايركت 3دي 5.0
في ديسمبر 1996، تولى فريق في ريدموند تطوير وضع Direct3D Immediate، بينما واصل فريق RenderMorphics الذي يتخذ من لندن مقراً له العمل على وضع Retained Mode. أضاف فريق ريدموند واجهة برمجة التطبيقات DrawPrimitive التي ألغت الحاجة إلى قيام التطبيقات بإنشاء مخازن مؤقتة للتنفيذ، مما جعل Direct3D يشبه بشكل أوثق واجهات برمجة تطبيقات عرض الوضع الفوري الأخرى مثل Glide و OpenGL . تم شحن أول نسخة تجريبية من DrawPrimitive في فبراير 1997، [21] وتم شحن الإصدار النهائي مع DirectX 5.0 في أغسطس 1997. [22]
بالإضافة إلى تقديم واجهة برمجة تطبيقات الوضع الفوري الأسهل استخدامًا، أضاف DirectX 5.0 طريقة SetRenderTarget التي مكنت أجهزة Direct3D من كتابة مخرجاتها الرسومية على مجموعة متنوعة من أسطح DirectDraw. [23]
دايركت 3دي 6.0
قدم DirectX 6.0 (الذي تم إصداره في أغسطس 1998) العديد من الميزات لتغطية الأجهزة المعاصرة (مثل تعدد الملمس [24] ومخازن الاستنسل ) بالإضافة إلى خطوط أنابيب الهندسة المحسّنة لـ x87 و SSE و 3DNow! وإدارة الملمس الاختيارية لتبسيط البرمجة. [25] تضمن Direct3D 6.0 أيضًا دعمًا للميزات التي تم ترخيصها بواسطة Microsoft من بائعي أجهزة محددين للتضمين في واجهة برمجة التطبيقات، في مقابل ميزة وقت التسويق لبائع الترخيص. كان دعم ضغط الملمس S3 أحد هذه الميزات، والذي تمت إعادة تسميته باسم DXTC لأغراض التضمين في واجهة برمجة التطبيقات. كانت ميزة أخرى هي تقنية تعيين النتوءات الخاصة بـ TriTech . أدرجت Microsoft هذه الميزات في DirectX، ثم أضافتها إلى المتطلبات اللازمة لبرامج التشغيل للحصول على شعار Windows لتشجيع التبني الواسع للميزات في أجهزة البائعين الآخرين.
صدر تحديث بسيط لـ DirectX 6.0 في تحديث DirectX 6.1 في فبراير 1999. بالإضافة إلى إضافة دعم DirectMusic لأول مرة، عمل هذا الإصدار على تحسين الدعم لإضافات Intel Pentium III 3D. [26]
تظهر مذكرة سرية أُرسلت في عام 1997 [27] أن شركة Microsoft تخطط للإعلان عن الدعم الكامل لـ Talisman في DirectX 6.0، ولكن تم إلغاء واجهة برمجة التطبيقات في النهاية (راجع صفحة Microsoft Talisman للحصول على التفاصيل).
دايركت 3دي 7.0
قدم DirectX 7.0 (الذي تم إصداره في سبتمبر 1999) تنسيق نسيج .dds [28] ودعم تسريع الأجهزة للتحويل والإضاءة [29] (متاح لأول مرة على أجهزة الكمبيوتر الشخصية مع GeForce 256 من Nvidia )، بالإضافة إلى القدرة على تخصيص مخازن رأسية في ذاكرة الأجهزة. تمثل مخازن رأسية للأجهزة أول تحسين جوهري على OpenGL في تاريخ DirectX. كما عزز Direct3D 7.0 دعم DirectX لأجهزة تعدد النسيج، ويمثل قمة ميزات خط أنابيب تعدد النسيج ذي الوظيفة الثابتة: على الرغم من قوته، إلا أنه كان معقدًا للغاية في البرمجة لدرجة أن نموذج برمجة جديد كان مطلوبًا للكشف عن قدرات التظليل لأجهزة الرسومات. قدم Direct3D 7.0 أيضًا ميزات DXVA .
دايركت 3دي 8.0
قدم DirectX 8.0 (الذي تم إصداره في نوفمبر 2000) إمكانية البرمجة في شكل تظليل الرؤوس والبكسل ، مما مكن المطورين من كتابة التعليمات البرمجية دون القلق بشأن حالة الأجهزة الزائدة. [30] تعتمد تعقيد برامج التظليل على تعقيد المهمة، ويقوم برنامج تشغيل العرض بتجميع تلك التظليلات إلى تعليمات يمكن فهمها بواسطة الأجهزة. كان Direct3D 8.0 وقدرات التظليل القابلة للبرمجة الخاصة به أول انحراف كبير عن بنية الوظيفة الثابتة على غرار OpenGL، حيث يتم التحكم في الرسم بواسطة آلة حالة معقدة. كما قام Direct3D 8.0 بإلغاء DirectDraw كواجهة برمجة تطبيقات منفصلة. [31] [32] استوعب Direct3D جميع مكالمات واجهة برمجة تطبيقات DirectDraw المتبقية التي لا تزال مطلوبة لتطوير التطبيقات، مثل Present()، الوظيفة المستخدمة لعرض نتائج العرض.
لم يكن Direct3D يعتبر سهل الاستخدام، ولكن اعتبارًا من إصدار DirectX 8.1، تم حل العديد من مشكلات قابلية الاستخدام. احتوى Direct3D 8 على العديد من ميزات الرسومات ثلاثية الأبعاد القوية، مثل تظليل الرؤوس وتظليل البكسل والضباب وتعيين النتوءات وتعيين الملمس .
دايركت 3دي 9
أضافت Direct3D 9.0 [33] (تم إصدارها في ديسمبر 2002) إصدارًا جديدًا من دعم لغة التظليل عالية المستوى [34] [35] لتنسيقات نسيج النقطة العائمة، وأهداف العرض المتعددة (MRT)، [36] ونسيج العناصر المتعددة، [37] وعمليات البحث عن النسيج في تقنيات تظليل الرأس ومخزن الاستنسل. [38]
دايركت 3دي 9Ex
يسمح Direct3D 9Ex [39] (الذي كان يحمل الإصدار السابق 9.0L ("L" تعني Longhorn، الاسم الرمزي لنظام التشغيل Windows Vista))، وهو امتداد متوفر فقط في أنظمة التشغيل Windows Vista و7 و8 و8.1 و10 و11، باستخدام المزايا التي يوفرها نموذج برنامج تشغيل عرض Windows (WDDM) الخاص بنظام التشغيل Windows Vista ويُستخدم لنظام التشغيل Windows Aero . [40] يسمح Direct3D 9Ex، بالاقتران مع برامج تشغيل WDDM من فئة DirectX 9، بمحاكاة ذاكرة الرسومات وتقسيمها إلى ذاكرة النظام، ويسمح بمقاطعة عمليات الرسومات وجدولتها والسماح بمشاركة أسطح DirectX عبر العمليات. [41] كان Direct3D 9Ex يُعرف سابقًا باسم الإصدار 1.0 من Windows Graphics Foundation (WGF).
تحسينات Direct3D 9Ex - تطبيقات Win32
دايركت 3دي 10
يتضمن Windows Vista تحديثًا رئيسيًا لواجهة برمجة تطبيقات Direct3D. في الأصل، كان يُطلق عليه WGF 2.0 (Windows Graphics Foundation 2.0)، ثم DirectX 10 وDirectX Next، يتميز Direct3D 10 [42] بنموذج تظليل محدث 4.0 وإمكانية مقاطعة اختيارية لبرامج التظليل. [41] في هذا النموذج، لا تزال برامج التظليل تتكون من مراحل ثابتة كما في الإصدارات السابقة، لكن جميع المراحل تدعم واجهة موحدة تقريبًا، بالإضافة إلى نموذج وصول موحد للموارد مثل القوام وثوابت التظليل. تم توسيع اللغة نفسها لتصبح أكثر تعبيرًا، بما في ذلك عمليات الأعداد الصحيحة، وعدد تعليمات متزايد بشكل كبير، والمزيد من هياكل اللغة المشابهة للغة C. بالإضافة إلى مراحل تظليل الرؤوس والبكسل المتاحة سابقًا ، تتضمن واجهة برمجة التطبيقات مرحلة تظليل هندسية تكسر النموذج القديم لرأس واحد في الداخل/رأس واحد خارج، للسماح بتوليد الهندسة من داخل برنامج تظليل، وبالتالي السماح بتوليد هندسة معقدة بالكامل بواسطة أجهزة الرسومات.
لا يدعم DirectX 10.0 وما فوق نظام التشغيل Windows XP والإصدارات الأقدم. علاوة على ذلك، أسقط Direct3D 10 دعم واجهة برمجة التطبيقات للوضع المحفوظ والتي كانت جزءًا من Direct3D منذ البداية، مما جعل Windows Vista غير متوافق مع الألعاب ثلاثية الأبعاد التي استخدمت واجهة برمجة التطبيقات للوضع المحفوظ كمحرك عرض لها . [43]
على عكس الإصدارات السابقة من واجهة برمجة التطبيقات، لم يعد Direct3D 10 يستخدم "بتات القدرات" (أو "الحدود القصوى") للإشارة إلى الميزات المدعومة على جهاز رسوميات معين. بدلاً من ذلك، يحدد معيارًا أدنى لقدرات الأجهزة التي يجب دعمها حتى يكون نظام العرض "متوافقًا مع Direct3D 10". هذا يمثل انحرافًا كبيرًا، بهدف تبسيط كود التطبيق من خلال إزالة كود التحقق من القدرات والحالات الخاصة بناءً على وجود أو عدم وجود قدرات معينة.
نظرًا لأن أجهزة Direct3D 10 كانت نادرة نسبيًا بعد الإصدار الأولي لنظام التشغيل Windows Vista وبسبب قاعدة التثبيت الضخمة لبطاقات الرسومات غير المتوافقة مع Direct3D 10، فإن الألعاب الأولى المتوافقة مع Direct3D 10 لا تزال توفر مسارات عرض Direct3D 9. ومن الأمثلة على هذه العناوين الألعاب المكتوبة في الأصل لـ Direct3D 9 والتي تم نقلها إلى Direct3D 10 بعد إصدارها، مثل Company of Heroes ، أو الألعاب التي تم تطويرها في الأصل لـ Direct3D 9 مع مسار Direct3D 10 تم تعديله لاحقًا أثناء تطويرها، مثل Hellgate: London أو Crysis . أصبحت مجموعة أدوات تطوير البرامج DirectX 10 متاحة في فبراير 2007. [44]
دايركت 3دي 10.0
يجب أن تدعم أجهزة Direct3D 10.0 المستوى الميزات التالية: القدرة على معالجة العناصر الأولية بالكامل في مرحلة تظليل الهندسة الجديدة، والقدرة على إخراج بيانات الرأس المولدة من خط الأنابيب إلى الذاكرة باستخدام مرحلة إخراج الدفق، ودعم التغطية ألفا متعددة العينات، وقراءة سطح العمق/الاستنسل أو مورد متعدد العينات بمجرد عدم ربطه كهدف عرض، والتكامل الكامل مع HLSL - تتم كتابة جميع برامج تظليل Direct3D 10 في HLSL وتنفيذها باستخدام جوهر التظليل المشترك، وعمليات تظليل الأعداد الصحيحة والبتات، وتنظيم حالة خط الأنابيب في 5 كائنات حالة ثابتة، وتنظيم ثوابت التظليل في مخازن ثابتة، وزيادة عدد أهداف العرض، والقوام، والعينات، وعدم وجود حد لطول التظليل، وأنواع الموارد الجديدة وتنسيقات الموارد، [45] طبقات وقت التشغيل/واجهة برمجة التطبيقات، [46] خيار لإجراء مبادلة المواد لكل عنصر بدائي وإعدادها باستخدام تظليل الهندسة، وزيادة تعميم الوصول إلى الموارد باستخدام عرض، وإزالة بتات القدرة على الأجهزة القديمة (قبعات).
- يتم التخلص من خطوط الأنابيب الثابتة [47] لصالح خطوط الأنابيب القابلة للبرمجة بالكامل (غالبًا ما يشار إليها باسم بنية خط الأنابيب الموحدة)، والتي يمكن برمجتها لمحاكاة نفس الشيء.
- كائن حالة جديد لتمكين (في الغالب) وحدة المعالجة المركزية من تغيير الحالات بكفاءة.
- يعمل نموذج التظليل الموحد على تعزيز قابلية برمجة خط أنابيب الرسومات . فهو يضيف تعليمات للحسابات الصحيحة والبتية.
- توفر نواة التظليل المشتركة [48] مجموعة كاملة من العمليات الصحيحة والبتية المتوافقة مع IEEE ذات 32 بت. تمكن هذه العمليات فئة جديدة من الخوارزميات في أجهزة الرسومات - تشمل الأمثلة تقنيات الضغط والتعبئة، وFFTs، والتحكم في تدفق برنامج bitfield.
- تظليل الهندسة ، [49] [50] والتي تعمل على المثلثات المتجاورة التي تشكل شبكة .
- تتيح مصفوفات القوام تبديل القوام في وحدة معالجة الرسومات دون تدخل وحدة المعالجة المركزية.
- يتيح العرض المتنبأ به تجاهل مكالمات الرسم بناءً على بعض الشروط الأخرى. يتيح هذا إمكانية التخلص السريع من الانسداد ، مما يمنع عرض الكائنات إذا لم تكن مرئية أو كانت بعيدة جدًا بحيث لا يمكن رؤيتها.
- دعم المثيلات 2.0 ، مما يسمح بعرض مثيلات متعددة من الشبكات المتشابهة، مثل الجيوش، أو العشب أو الأشجار، في مكالمة رسم واحدة، مما يقلل من وقت المعالجة المطلوب للعديد من الكائنات المتشابهة إلى وقت معالجة كائن واحد. [51]
دايركت 3دي 10.1
تم الإعلان عن Direct3D 10.1 [52] بواسطة Microsoft بعد فترة وجيزة من إصدار Direct3D 10 كتحديث بسيط. تم الانتهاء من المواصفات مع إصدار DirectX SDK في نوفمبر 2007 وتم شحن وقت التشغيل مع Windows Vista SP1 ، والذي يتوفر منذ منتصف مارس 2008.
يحدد Direct3D 10.1 عددًا قليلاً من معايير جودة الصورة لموردي الرسومات، ويمنح المطورين مزيدًا من التحكم في جودة الصورة. [53] [54] تتضمن الميزات تحكمًا أدق في التنعيم (كل من أخذ العينات المتعددة وأخذ العينات الزائدة مع التظليل لكل عينة والتحكم في التطبيق في موضع العينة) والمزيد من المرونة لبعض الميزات الموجودة (مصفوفات خريطة المكعب وأوضاع المزج المستقلة). يجب أن تدعم أجهزة مستوى Direct3D 10.1 الميزات التالية: تم تحسين أخذ العينات المتعددة لتعميم الشفافية القائمة على التغطية وجعل عمل أخذ العينات المتعددة أكثر فعالية مع عرض متعدد التمريرات، وسلوك استبعاد أفضل - يتم استبعاد الوجوه ذات المنطقة الصفرية تلقائيًا؛ يؤثر هذا على عرض الإطار السلكي فقط، وأوضاع المزج المستقلة لكل هدف عرض، وتنفيذ تظليل بكسل بتردد العينة الجديد مع التجريد البدائي، وزيادة نطاق تردد مرحلة خط الأنابيب، ويمكن الآن استخدام كل من أسطح MSAA الملونة والعميقة/المستنسخة مع CopyResource إما كمصدر أو وجهة، ويؤثر MultisampleEnable فقط على التجريد الخطي (لا تتأثر النقاط والمثلثات)، ويُستخدم لاختيار خوارزمية رسم الخطوط. وهذا يعني أن بعض التجريد متعدد العينات من Direct3D 10 لم يعد مدعومًا، وتم تعريف تعليمات أخذ العينات من الملمس - sample_c وsample_c_lz للعمل مع كل من Texture2DArrays وTextureCubeArrays باستخدام عضو الموقع (المكون ألفا) لتحديد مؤشر المصفوفة، ودعم TextureCubeArrays.
- تصفية النقطة العائمة 32 بت إلزامية .
- قواعد النقطة العائمة – تستخدم نفس قواعد IEEE-754 للنقطة العائمة باستثناء أن عمليات النقطة العائمة ذات 32 بت تم تشديدها لإنتاج نتيجة ضمن 0.5 وحدة في المكان الأخير (0.5 ULP) من النتيجة الدقيقة بلا حدود. وهذا ينطبق على الجمع والطرح والضرب. (دقة تصل إلى 0.5 ULP للضرب، و1.0 ULP للعكس).
- التنسيقات – تمت زيادة دقة مزج float16 إلى 0.5 ULP. المزج مطلوب أيضًا لتنسيقات UNORM16/SNORM16/SNORM8.
- تحويل التنسيق أثناء النسخ بين موارد محددة منظمة مسبقًا ومكتوبة بحجم 32/64/128 بت وتمثيلات مضغوطة لنفس عرض البت.
- دعم إلزامي لـ 4x MSAA لجميع أهداف العرض باستثناء R32G32B32A32 وR32G32B32. [55]
- نموذج التظليل 4.1
على عكس Direct3D 10 الذي يتطلب بشكل صارم واجهات الأجهزة وبرامج التشغيل من فئة Direct3D 10، يمكن تشغيل وقت تشغيل Direct3D 10.1 على أجهزة Direct3D 10.0 باستخدام مفهوم "مستويات الميزات"، [56] [57] [58] ولكن الميزات الجديدة مدعومة حصريًا بواسطة أجهزة جديدة تعرض مستوى الميزات 10_1.
كانت الأجهزة الوحيدة المتاحة لـ Direct3D 10.1 اعتبارًا من يونيو 2008 هي سلسلة Radeon HD 3000 وسلسلة Radeon HD 4000 من ATI ؛ في عام 2009، انضمت إليهم وحدات معالجة الرسومات Chrome 430/440GT من S3 Graphics ونماذج مختارة منخفضة المستوى في سلسلة GeForce 200 من Nvidia . في عام 2011، بدأت شرائح Intel في دعم Direct3D 10.1 مع تقديم Intel HD Graphics 2000 (GMA HD).
دايركت 3دي 11
تم إصدار Direct3D 11 [59] كجزء من Windows 7. وتم تقديمه في Gamefest 2008 في 22 يوليو 2008 وتم عرضه في المؤتمر الفني Nvision 08 في 26 أغسطس 2008. [60] [61] تم تضمين المعاينة الفنية لـ Direct3D 11 في إصدار نوفمبر 2008 من DirectX SDK. [62] قامت AMD بمعاينة أجهزة DirectX11 العاملة في Computex في 3 يونيو 2009، وتشغيل بعض عينات DirectX 11 SDK. [63]
يمكن تشغيل وقت تشغيل Direct3D 11 على أجهزة وبرامج تشغيل من فئة Direct3D 9 و10.x باستخدام مفهوم "مستويات الميزات"، والتوسع في الوظائف التي تم تقديمها لأول مرة في وقت تشغيل Direct3D 10.1. [56] [64] [65] تسمح مستويات الميزات للمطورين بتوحيد خط أنابيب العرض تحت واجهة برمجة تطبيقات Direct3D 11 والاستفادة من تحسينات واجهة برمجة التطبيقات مثل إدارة الموارد بشكل أفضل والتعدد في العمليات حتى على البطاقات ذات المستوى المبتدئ، على الرغم من أن الميزات المتقدمة مثل نماذج التظليل الجديدة ومراحل العرض لن يتم الكشف عنها إلا على الأجهزة ذات المستوى الأعلى. [64] [66] هناك ثلاثة ملفات تعريف "10 Level 9" والتي تغلف قدرات مختلفة لبطاقات DirectX 9.0a الشهيرة، ولكل من Direct3D 10 و10.1 و11 مستوى ميزة منفصل؛ كل مستوى أعلى هو مجموعة فرعية صارمة من مستوى أدنى. [67]
كان التبليط في السابق موضع دراسة لـ Direct3D 10، ولكن تم التخلي عنه لاحقًا. تتميز وحدات معالجة الرسوميات مثل Radeon R600 بمحرك تبليط يمكن استخدامه مع Direct3D 9/10/10.1 [68] [69] [70] وOpenGL، [71] ولكنه غير متوافق مع Direct3D 11 (وفقًا لمايكروسوفت). كانت أجهزة الرسومات القديمة مثل Radeon 8xxx وGeForce 3/4 تدعم شكلًا آخر من التبليط (تصحيحات RT وتصحيحات N) ولكن هذه التقنيات لم تشهد استخدامًا كبيرًا. وبالتالي، تم إسقاط دعمها من الأجهزة الأحدث.
لقد أشارت شركة Microsoft أيضًا إلى ميزات أخرى مثل الشفافية المستقلة عن الطلب ، والتي لم يتم الكشف عنها مطلقًا بواسطة واجهة برمجة تطبيقات Direct3D ولكن تم دعمها بشكل شفاف تقريبًا بواسطة أجهزة Direct3D المبكرة مثل خط PowerVR من شرائح Videologic.
دايركت 3دي 11.0
تتضمن ميزات Direct3D 11.0 ما يلي: دعم نموذج Shader 5.0، وربط shader الديناميكي، والموارد القابلة للعنونة، وأنواع الموارد الإضافية، [72] البرامج الفرعية، ونسخ الهندسة، والتغطية كمدخل shader بكسل، والاستيفاء القابل للبرمجة للمدخلات، وتنسيقات ضغط الملمس الجديدة (تنسيق LDR جديد واحد وتنسيق HDR جديد واحد)، ومشابك الملمس للحد من التحميل المسبق WDDM، وتتطلب 8 بتات من الدقة الفرعية للبتكسل والدقيقة الفرعية للمتر المربع في تصفية الملمس، وحدود الملمس 16 كيلو بايت، وGather4 (دعم الملمس متعدد المكونات، ودعم الإزاحات القابلة للبرمجة)، وDrawIndirect، وoDepth المحافظ، وتحيز العمق، [73] [74] إخراج تيار قابل للعنونة، ومشابك mipmap لكل مورد، ومنافذ عرض النقطة العائمة، وتعليمات تحويل shader، وتحسين تعدد الخيوط.
- نموذج التظليل 5 [75]
- دعم Tessellation [76] وTessellation Shaders [77] لزيادة عدد المضلعات المرئية في وقت التشغيل من نموذج مضلعات منخفض التفاصيل
- العرض متعدد الخيوط — للعرض على نفس كائن جهاز Direct3D من خيوط مختلفة لوحدات المعالجة المركزية متعددة النواة
- حوسبة برامج التظليل — والتي تعرض خط أنابيب برامج التظليل للمهام غير الرسومية مثل معالجة التدفق وتسريع الفيزياء، على غرار ما تحققه OpenCL وNvidia CUDA و ATI Stream و HLSL Shader Model 5 وغيرها. [60] [61]
- دعم إلزامي لـ 4x MSAA لجميع أهداف العرض و 8x MSAA لجميع تنسيقات أهداف العرض باستثناء تنسيقات R32G32B32A32. [55]
من بين الميزات البارزة الأخرى إضافة خوارزميتين جديدتين لضغط القوام لتعبئة القوام عالية الجودة وHDR/alpha بكفاءة أكبر بالإضافة إلى ذاكرة تخزين مؤقتة متزايدة للقوام .
تم ملاحظة ذلك لأول مرة في إصدار Release Candidate ، حيث يدمج Windows 7 دعم Direct3D 11 الذي تم إصداره لأول مرة. يتضمن تحديث النظام الأساسي لنظام التشغيل Windows Vista وقت تشغيل Direct3D 11 كامل الميزات وتحديث DXGI 1.1، بالإضافة إلى مكونات أخرى ذات صلة من Windows 7 مثل WARP و Direct2D و DirectWrite و WIC . [78] [79]
دايركت 3دي 11.1
Direct3D 11.1 [80] [81] هو تحديث لواجهة برمجة التطبيقات المرفقة مع Windows 8. [ 82] [83] يتميز وقت تشغيل Direct3D في Windows 8 بـ DXGI 1.2 [84] ويتطلب برامج تشغيل أجهزة WDDM 1.2 [85] جديدة. [86] تم إصدار الإصدار الأولي من Windows SDK لمعاينة مطور Windows 8 في 13 سبتمبر 2011.
تتميز واجهة برمجة التطبيقات الجديدة بتتبع التظليل وتحسينات مُجمِّع HLSL، ودعم أنواع بيانات HLSL القياسية ذات الدقة الدنيا، [87] وUAVs (عرض الوصول غير المرتب) في كل مرحلة من مراحل خط الأنابيب، والتنقية المستقلة عن الهدف (TIR)، وخيار لتعيين SRVs للمخازن المؤقتة الديناميكية مع NO_OVERWRITE، ومعالجة التظليل لموارد الفيديو، وخيار لاستخدام العمليات المنطقية في هدف العرض، وخيار لربط نطاق فرعي من المخزن المؤقت الثابت بالتظليل واسترجاعه، وخيار لإنشاء مخازن مؤقتة ثابتة أكبر مما يمكن للتظليل الوصول إليه، وخيار لتجاهل الموارد وعروض الموارد، وخيار لتغيير الموارد الفرعية بخيارات نسخ جديدة، وخيار لإجبار عدد العينات على إنشاء حالة تنقيح، وخيار لمسح كل أو جزء من عرض الموارد، وخيار لاستخدام Direct3D في عمليات الجلسة 0، وخيار لتحديد مستويات قص المستخدم في HLSL على مستوى الميزة 9 وما فوق، ودعم المخزن المؤقت للظل على مستوى الميزة 9، ودعم تشغيل الفيديو، ودعم موسع لموارد Texture2D المشتركة، التبديل الفوري بين سياقات Direct3D 10 و11 ومستويات الميزات. يتضمن Direct3D 11.1 مستوى ميزة جديد 11_1، والذي يجلب تحديثات طفيفة للغة التظليل، مثل مخازن ثابتة أكبر وتعليمات اختيارية بدقة مزدوجة، بالإضافة إلى أوضاع مزج محسّنة ودعم إلزامي لتنسيقات الألوان 16 بت لتحسين أداء وحدات معالجة الرسومات الأساسية مثل Intel HD Graphics . [86] [88] تم تحديث WARP لدعم مستوى الميزة 11_1.
يتضمن تحديث النظام الأساسي لنظام التشغيل Windows 7 مجموعة محدودة من الميزات من Direct3D 11.1، على الرغم من أن المكونات التي تعتمد على WDDM 1.2 - مثل مستوى الميزة 11_1 وواجهات برمجة التطبيقات المرتبطة به، أو التخزين المؤقت الرباعي للرسم المجسم - غير موجودة. [89] [90]
دايركت 3دي 11.2
تم شحن Direct3D 11.2 [91] [92] [93] مع Windows 8.1 . [94] [95] تتطلب ميزات الأجهزة الجديدة DXGI 1.3 [96] مع برامج تشغيل WDDM 1.3 [97] وتتضمن تعديل وربط shader وقت التشغيل، ورسم بياني لربط الوظائف (FLG)، ومترجم HLSL الوارد ، وخيار لشرح أوامر الرسومات. [98] تقدم مستويات الميزات 11_0 و11_1 دعمًا اختياريًا للموارد المبلطة مع مشبك مستوى تفاصيل shader (Tier2). [99] توفر الميزة الأخيرة بشكل فعال التحكم في جداول صفحات الأجهزة الموجودة في العديد من وحدات معالجة الرسومات الحالية. [100] تم تحديث WARP لدعم الميزات الجديدة بشكل كامل. [94] [101] ومع ذلك، لا يوجد مستوى ميزة 11_2؛ يتم توزيع الميزات الجديدة عبر مستويات الميزات الموجودة. يمكن التحقق من تلك التي تعتمد على الأجهزة بشكل فردي عبر CheckFeatureSupport. [95] [102] في الواقع، تعرض بعض الميزات "الجديدة" في Direct3D 11.2 بعض ميزات الأجهزة القديمة بطريقة أكثر تفصيلاً؛ على سبيل المثال، D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORTتعرض الدعم الجزئي للنسخ على مستوى الميزات 9_1 و9_2 في الأجهزة، وإلا فإنها مدعومة بالكامل من مستوى الميزات 9_3 فصاعدًا. [103]
دايركت 3D 11.X
Direct3D 11.X عبارة عن مجموعة فرعية من DirectX 11.2 تعمل على Xbox One . [104] [105] وتتضمن بعض الميزات، مثل حزم السحب، التي تم الإعلان عنها لاحقًا كجزء من DirectX 12. [106]
دايركت 3دي 11.3
تم إطلاق Direct3D 11.3 [107] في يوليو 2015 مع Windows 10؛ وهو يتضمن ميزات عرض ثانوية من Direct3D 12، مع الحفاظ على الهيكل العام لواجهة برمجة تطبيقات Direct3D 11.x. [108] [109] [110] يقدم Direct3D 11.3 قيمة مرجعية اختيارية محددة بواسطة Shader، وتحميل عرض الوصول غير المرتب المكتوب، وعروض Rasterizer المرتبة (ROVs)، وSwizzle القياسي الاختياري، وتعيين الملمس الافتراضي الاختياري، والتنقيط المحافظ (من ثلاث طبقات)، [111] ودعم الوصول الموحد للذاكرة (UMA) الاختياري ، والموارد المبلطة الإضافية (الطبقة 2) (موارد البلاط الحجمي). [112]
دايركت 3دي 11.4
- Direct3D 11.4 الإصدار 1511 – تم تقديم Direct3D 11.4 مبدئيًا مع تحديث Windows 10 Threshold 2 (الإصدار 1511) لتحسين دعم محولات الرسومات الخارجية وDXGI 1.5. [113]
- إصدار Direct3D 11.4 الإصدار 1607 – يتضمن تحديث Direct3D 11.4 مع Windows 10 Anniversary Update (الإصدار 1607) دعم WDDM 2.1 وتنسيق UHDTV HDR10 ( ST 2084 ) ودعم معدلات التحديث المتغيرة لتطبيقات UWP.
دايركت 3دي 12
يسمح Direct3D 12 [114] بمستوى أقل من تجريد الأجهزة مقارنة بالإصدارات السابقة، مما يتيح للتطبيقات المستقبلية تحسين التوسع متعدد الخيوط بشكل كبير وتقليل استخدام وحدة المعالجة المركزية. يتم تحقيق ذلك من خلال مطابقة طبقة تجريد Direct3D بشكل أفضل مع الأجهزة الأساسية، من خلال ميزات جديدة مثل الرسم غير المباشر، وجداول الوصف، وكائنات حالة خط الأنابيب الموجزة، وحزم استدعاء الرسم. يعد تقليل النفقات العامة للسائق هو عامل الجذب الرئيسي لـ Direct3D 12، على غرار Mantle من AMD . [114] على حد تعبير مطورها الرئيسي ماكس ماكمولين، فإن الهدف الرئيسي لـ Direct3D 12 هو تحقيق "كفاءة على مستوى وحدة التحكم" وتحسين التوازي مع وحدة المعالجة المركزية. [115] [116] [117]
على الرغم من أن شركة Nvidia أعلنت عن دعمها الواسع لـ Direct3D 12، إلا أنها كانت أيضًا متحفظة إلى حد ما بشأن الجاذبية العالمية لواجهة برمجة التطبيقات الجديدة، مشيرة إلى أنه في حين قد يكون مطورو محركات الألعاب متحمسين لإدارة موارد وحدة معالجة الرسومات بشكل مباشر من كود التطبيق الخاص بهم، فإن "الكثير من الأشخاص [الآخرين] لن يكونوا" سعداء بالقيام بذلك. [118]
توجد أيضًا بعض ميزات الأجهزة الجديدة في Direct3D 12، [110] [119] [120] بما في ذلك نموذج Shader 5.1، [121] موارد البلاط الحجمي (المستوى 2)، [121] قيمة مرجع الاستنسل المحددة من Shader، تحميل UAV المكتوب، التنقيط المحافظ (المستوى 1)، تصادم أفضل والتخلص من خلال التنقيط المحافظ، وجهات النظر المرتبة من Rasterizer (ROVs)، Swizzles القياسية، تعيين الملمس الافتراضي، سلاسل المبادلة، الموارد المنقحة والموارد المضغوطة ، [122] أوضاع مزج إضافية ، [123] مزج قابل للبرمجة وشفافية فعالة مستقلة عن الترتيب (OIT) مع UAV مرتبة بالبكسل. [124]
تطورت كائنات حالة خط الأنابيب (PSOs) [125] من Direct3D 11، وتعني حالات خط الأنابيب الجديدة المختصرة أن العملية قد تم تبسيطها. قدم DirectX 11 مرونة في كيفية تغيير حالاته، على حساب الأداء. يؤدي تبسيط العملية وتوحيد خطوط الأنابيب (على سبيل المثال حالات تظليل البكسل) إلى عملية أكثر انسيابية، مما يقلل بشكل كبير من النفقات العامة ويسمح لبطاقة الرسومات بسحب المزيد من المكالمات لكل إطار. بمجرد إنشائها، تكون كائنات حالة خط الأنابيب غير قابلة للتغيير. [126]
تقدم التوقيعات الجذرية تكوينات لربط قوائم الأوامر بالموارد المطلوبة من قبل برامج التظليل. وهي تحدد تخطيط الموارد التي ستستخدمها برامج التظليل وتحدد الموارد التي سيتم ربطها بخط الأنابيب. تحتوي قائمة أوامر الرسومات على توقيع جذر الرسومات والحوسبة، بينما تحتوي قائمة أوامر الحوسبة على توقيع جذر الحوسبة فقط. هذه التوقيعات الجذرية مستقلة تمامًا عن بعضها البعض. في حين أن التوقيع الجذري يحدد أنواع البيانات التي يجب أن تستخدمها برامج التظليل، إلا أنه لا يحدد أو يرسم الذاكرة أو البيانات الفعلية. [127]
المعلمات الجذرية هي نوع من الإدخالات في توقيع الجذر. تسمى القيم الفعلية للمعلمات الجذرية التي يتم تعديلها في وقت التشغيل بمعلمات الجذر. هذه هي البيانات التي تقرأها برامج التظليل. [127]
في Direct3D 11، يتم إرسال الأوامر من وحدة المعالجة المركزية إلى وحدة معالجة الرسومات واحدًا تلو الآخر، وتعمل وحدة معالجة الرسومات من خلال هذه الأوامر بشكل متسلسل. وهذا يعني أن الأوامر تكون محدودة بالسرعة التي يمكن لوحدة المعالجة المركزية أن ترسل بها هذه الأوامر بشكل خطي. وفي DirectX 12، يتم إرسال هذه الأوامر كقوائم أوامر، تحتوي على جميع المعلومات المطلوبة ضمن حزمة واحدة. وبذلك تكون وحدة معالجة الرسومات قادرة على حساب وتنفيذ هذا الأمر في عملية واحدة، دون الحاجة إلى الانتظار للحصول على أي معلومات إضافية من وحدة المعالجة المركزية.
تتضمن قوائم الأوامر هذه حزمًا. وفي حين كانت الأوامر في السابق تُستخدَم فقط ثم تُنسى بواسطة وحدة معالجة الرسومات، يمكن إعادة استخدام الحزم. وهذا يقلل من عبء العمل على وحدة معالجة الرسومات ويعني أنه يمكن استخدام الأصول المتكررة بشكل أسرع كثيرًا.
في حين أن ربط الموارد ملائم إلى حد ما في Direct3D 11 للمطورين في الوقت الحالي، فإن عدم كفاءته يعني أن العديد من قدرات الأجهزة الحديثة لا يتم استخدامها بشكل كبير. عندما يحتاج محرك اللعبة إلى موارد في DX11، كان عليه سحب البيانات من الصفر في كل مرة، مما يعني تكرار العمليات والاستخدامات غير الضرورية. في Direct3D 12، تعني أكوام الوصف والجداول أنه يمكن للمطورين تخصيص الموارد الأكثر استخدامًا في الجداول، والتي يمكن لوحدة معالجة الرسومات الوصول إليها بسرعة وسهولة. يمكن أن يساهم هذا في تحقيق أداء أفضل من Direct3D 11 على الأجهزة المكافئة، ولكنه يستلزم أيضًا المزيد من العمل للمطور.
تعتبر الأكوام الديناميكية أيضًا ميزة من ميزات Direct3D 12. [128]
يتميز Direct3D 12 بدعم صريح لمحولات متعددة، مما يسمح بالتحكم الصريح في أنظمة تكوين وحدات معالجة الرسوميات المتعددة. يمكن بناء مثل هذه التكوينات باستخدام محولات رسوميات من نفس بائع الأجهزة وكذلك من بائعي أجهزة مختلفين معًا. [129]
تم إصدار دعم تجريبي لـ D3D 12 لنظام التشغيل Windows 7 SP1 بواسطة Microsoft في عام 2019 عبر حزمة NuGet مخصصة. [130] [131] [132]
- إصدار Direct3D 12 1607 – مع تحديث الذكرى السنوية لنظام التشغيل Windows 10 (الإصدار 1607)، الذي تم إصداره في 2 أغسطس 2016، تم تحديث وقت تشغيل Direct3D 12 لدعم البنيات الخاصة بالتعددية الواضحة والتواصل بين العمليات، مما يسمح للمطورين بالاستفادة من وحدات معالجة الرسومات المتوازية الحديثة. [133] تتضمن الميزات الأخرى إصدار توقيعات الجذر المحدث 1.1، بالإضافة إلى دعم تنسيق HDR10 ومعدلات التحديث المتغيرة .
- إصدار Direct3D 12 1703 – مع تحديث Windows 10 Creators Update (الإصدار 1703)، الذي تم إصداره في 11 أبريل 2017، تم تحديث وقت تشغيل Direct3D 12 لدعم Shader Model 6.0 و DXIL . ويتطلب Shader Model 6.0 تحديث Windows 10 Anniversary Update (الإصدار 1607)، وWDDM 2.1. الميزات الرسومية الجديدة هي Depth Bounds Testing وProgrammable MSAA. [134]
- Direct3D 12 الإصدار 1709 – يتضمن Direct3D في Windows 10 Fall Creators Update (الإصدار 1709)، الذي تم إصداره في 17 أكتوبر 2017، تصحيح أخطاء محسّن. [134]
- يوفر تحديث أكتوبر 2018 لنظام التشغيل Windows 10 (الإصدار 1809) دعمًا لـ DirectX Raytracing حتى تتمكن وحدات معالجة الرسومات من الاستفادة من واجهة برمجة التطبيقات الخاصة به.
- Direct3D 12 الإصدار 1903 – تحديث مايو 2019 لنظام التشغيل Windows 10 (الإصدار 1903) يوفر الدعم لـ DirectML و NPU . [135] [136]
- يوفر تحديث مايو 2020 لنظام التشغيل Windows 10 (الإصدار 2004) دعمًا لـ DirectX 12 Ultimate وMesh وAmplification Shaders، [137] و Sampler Feedback، [138] بالإضافة إلى DirectX Raytracing Tier 1.1 [139] وتحسينات تخصيص الذاكرة. [140]
- Direct3D 12 الإصدار 21H2 – يوفر نظام التشغيل Windows 10 الإصدار 21H2 ونظام التشغيل Windows 11 الإصدار 21H2 الدعم لـ DirectStorage .
بنيان
هذا القسم يحتاج إلى التحديث . ( أغسطس 2014 ) |

Direct3D هو أحد مكونات النظام الفرعي لواجهة برمجة تطبيقات Microsoft DirectX . والهدف من Direct3D هو تجريد الاتصال بين تطبيق الرسوميات وبرامج تشغيل أجهزة الرسوميات. ويتم تقديمه كطبقة تجريدية رقيقة على مستوى مماثل لـ GDI (انظر الرسم التخطيطي المرفق). يحتوي Direct3D على العديد من الميزات التي يفتقر إليها GDI.
Direct3D عبارة عن واجهة برمجة تطبيقات رسومية للوضع الفوري . وهي توفر واجهة منخفضة المستوى لكل وظيفة ثلاثية الأبعاد في بطاقة الفيديو ( التحويلات، والقص، والإضاءة ، والمواد ، والقوام ، وتخزين العمق وما إلى ذلك). كانت تحتوي في السابق على مكون وضع الاحتفاظ بمستوى أعلى ، والذي تم إيقافه رسميًا الآن.
يقدم الوضع الفوري Direct3D ثلاثة تجريدات رئيسية: الأجهزة والموارد وسلاسل المبادلة (انظر الرسم التخطيطي المرفق). الأجهزة مسؤولة عن عرض المشهد ثلاثي الأبعاد. وهي توفر واجهة ذات إمكانيات عرض مختلفة. على سبيل المثال، يوفر الجهاز أحادي اللون عرضًا باللونين الأبيض والأسود، بينما يقدم جهاز RGB عرضًا بالألوان. هناك أربعة أنواع من الأجهزة:
- جهاز HAL ( طبقة تجريد الأجهزة ): للأجهزة التي تدعم تسريع الأجهزة.

- جهاز مرجعي : يحاكي وظائف جديدة غير متوفرة بعد في الأجهزة. من الضروري تثبيت Direct3D SDK لاستخدام هذا النوع من الأجهزة.
- جهاز مرجعي فارغ : لا يفعل شيئًا. يتم استخدام هذا الجهاز عندما لا يتم تثبيت مجموعة أدوات التطوير البرمجية (SDK) ويتم طلب جهاز مرجعي.
- جهاز برمجي قابل للتوصيل : يقوم بتنفيذ عرض برمجي. تم تقديم هذا الجهاز مع DirectX 9.0 . [141]
يحتوي كل جهاز على سلسلة تبديل واحدة على الأقل . تتكون سلسلة التبديل من سطح أو أكثر من أسطح المخزن المؤقت الخلفي . يحدث العرض في المخزن المؤقت الخلفي .
علاوة على ذلك، تحتوي الأجهزة على مجموعة من الموارد ؛ بيانات محددة مستخدمة أثناء العرض. يحتوي كل مورد على أربع سمات:
- النوع : يحدد نوع المورد: السطح، الحجم، الملمس، ملمس المكعب، ملمس الحجم، ملمس السطح، مخزن الفهرس أو مخزن الرأس.
- المجموعة : [142] تصف كيفية إدارة المورد بواسطة وقت التشغيل ومكان تخزينه. في المجموعة الافتراضية ، سيوجد المورد فقط في ذاكرة الجهاز. سيتم تخزين الموارد في المجموعة المُدارة في ذاكرة النظام، وسيتم إرسالها إلى الجهاز عند الحاجة إليها.ستوجد الموارد في مجموعة ذاكرة النظام فقط في ذاكرة النظام. أخيرًا، مجموعة التخزين المؤقت هي في الأساس نفس مجموعة ذاكرة النظام، لكن الموارد ليست مقيدة بقيود الأجهزة.
- التنسيق : يصف تخطيط بيانات الموارد في الذاكرة. على سبيل المثال، تعني قيمة تنسيق D3DFMT_R8G8B8 عمق ألوان يبلغ 24 بتًا (8 بتات للأحمر، و8 بتات للأخضر، و8 بتات للأزرق).
- الاستخدام : يصف، باستخدام مجموعة من بتات العلم ، كيفية استخدام التطبيق للمورد. تحدد هذه الأعلام الموارد التي سيتم استخدامها في أنماط الوصول الديناميكية أو الثابتة. لا تتغير قيم الموارد الثابتة بعد تحميلها، بينما يمكن تعديل قيم الموارد الديناميكية.
ينفذ Direct3D وضعين للعرض:
- وضع ملء الشاشة: يقوم تطبيق Direct3D بإنشاء كافة المخرجات الرسومية لجهاز العرض. في هذا الوضع، يقوم Direct3D تلقائيًا بالتقاط Alt-Tab وتعيين/استعادة دقة الشاشة وتنسيق البكسل دون تدخل المبرمج. كما يوفر هذا أيضًا الكثير من المشكلات المتعلقة بتصحيح الأخطاء بسبب "الوضع التعاوني الحصري". [ بحاجة لمصدر ]
- الوضع النافذة: تظهر النتيجة داخل منطقة النافذة. يتواصل Direct3D مع GDI لتوليد الناتج الرسومي في الشاشة. يمكن أن يتمتع الوضع النافذة بنفس مستوى الأداء مثل وضع ملء الشاشة، اعتمادًا على دعم برنامج التشغيل.
خط الأنابيب

تحدد واجهة برمجة تطبيقات Microsoft Direct3D 11 عملية لتحويل مجموعة من الرؤوس والأنسجة والمخازن المؤقتة والحالة إلى صورة على الشاشة. يتم وصف هذه العملية على أنها خط أنابيب عرض به عدة مراحل مميزة. المراحل المختلفة لخط أنابيب Direct3D 11 هي: [143]
- Input-Assembler : [144] يقرأ بيانات الرأس من مخزن الرأس الذي يوفره التطبيق وينقلها إلى خط الأنابيب.
- Vertex Shader : [145] يقوم بإجراء عمليات على رأس واحد في كل مرة، مثل التحويلات أو التصميم أو الإضاءة.
- Hull-Shader : [146] يقوم بإجراء العمليات على مجموعات من نقاط التحكم في التصحيح، ويولد بيانات إضافية تعرف باسم ثوابت التصحيح.
- Tessellator : [147] يقسم الهندسة لإنشاء تمثيلات ذات مرتبة أعلى للهيكل.
- Domain-Shader : [148] يقوم بإجراء العمليات على الرؤوس الناتجة عن مرحلة التبليط، بنفس الطريقة التي يقوم بها shader الرأسي.
- Geometry Shader : [149] معالجة العناصر الأولية بالكامل مثل المثلثات أو النقاط أو الخطوط. عند إعطاء عنصر أولي، تتخلص هذه المرحلة منه أو تولد عنصرًا أوليًا جديدًا أو أكثر.
- إخراج التدفق : [150] يمكن كتابة نتائج المرحلة السابقة في الذاكرة. وهذا مفيد لإعادة توزيع البيانات إلى خط الأنابيب.
- برنامج Rasterizer : [151] [152] يحول العناصر الأولية إلى وحدات بكسل، ويغذي هذه الوحدات في برنامج تظليل وحدات البكسل. قد يقوم برنامج Rasterizer أيضًا بأداء مهام أخرى مثل قص ما هو غير مرئي، أو استيفاء بيانات الرؤوس إلى بيانات لكل وحدة بكسل.
- Pixel Shader : [153] يحدد لون البكسل النهائي الذي سيتم كتابته في هدف العرض ويمكنه أيضًا حساب قيمة العمق التي سيتم كتابتها في مخزن العمق.
- دمج الإخراج : [154] يدمج أنواعًا مختلفة من بيانات الإخراج ( قيم تظليل البكسل ، ومزج ألفا، والعمق/الاستنسل...) لبناء النتيجة النهائية.
المراحل التي يتم رسمها في خط الأنابيب باستخدام صندوق دائري قابلة للبرمجة بالكامل. يوفر التطبيق برنامج تظليل يصف العمليات الدقيقة التي يجب إكمالها في هذه المرحلة. العديد من المراحل اختيارية ويمكن تعطيلها تمامًا.
مستويات المميزات
في إصدارات Direct3D 5 إلى 9، عندما قدمت الإصدارات الجديدة من واجهة برمجة التطبيقات دعمًا لإمكانات الأجهزة الجديدة، كانت معظمها اختيارية - احتفظ كل بائع رسوميات بمجموعة خاصة به من الميزات المدعومة بالإضافة إلى الوظائف الأساسية المطلوبة. كان لابد من تحديد الدعم للميزات الفردية باستخدام "بتات الإمكانات" أو "الحدود"، مما يجعل برمجة الرسوميات بين البائعين مهمة معقدة.
قدم Direct3D 10 مجموعة مبسطة للغاية من متطلبات الأجهزة الإلزامية استنادًا إلى معظم إمكانيات Direct3D 9 الشائعة والتي كان يتعين على جميع بطاقات الرسومات الداعمة الالتزام بها، مع وجود عدد قليل فقط من الإمكانات الاختيارية لتنسيقات الملمس والعمليات المدعومة.
أضافت Direct3D 10.1 بعض متطلبات الأجهزة الإلزامية الجديدة، وللحفاظ على التوافق مع الأجهزة وبرامج التشغيل الخاصة بإصدار 10.0، تم تغليف هذه الميزات في مجموعتين تسمى "مستويات الميزات"، حيث يشكل المستوى 10.1 مجموعة فرعية من المستوى 10.0. ومع إضافة Direct3D 11.0 و11.1 و12 لدعم الأجهزة الجديدة، تم تجميع القدرات الإلزامية الجديدة بشكل أكبر في مستويات الميزات العليا. [56]
قدم Direct3D 11 أيضًا "10level9"، وهي مجموعة فرعية من واجهة برمجة التطبيقات Direct3D 10 مع ثلاثة مستويات من الميزات التي تغلف بطاقات Direct3D 9 المختلفة مع برامج تشغيل WDDM ، كما أعاد Direct3D 11.1 تقديم بعض الميزات الاختيارية لجميع المستويات، [155] والتي تم توسيعها في Direct3D 11.2 والإصدارات الأحدث.
يتيح هذا النهج للمطورين توحيد خط أنابيب العرض واستخدام إصدار واحد من واجهة برمجة التطبيقات على كل من الأجهزة الأحدث والأقدم، والاستفادة من تحسينات الأداء وسهولة الاستخدام في وقت التشغيل الأحدث. [60]
يتم تقديم مستويات الميزات الجديدة مع الإصدارات المحدثة من واجهة برمجة التطبيقات وعادةً ما تتضمن:
- الميزات الإلزامية الرئيسية – (Direct3D 11.0، 12)،
- بعض الميزات البسيطة (Direct3D 10.1، 11.1)، أو
- مجموعة مشتركة من الميزات الاختيارية سابقًا (Direct3D 11.0 "10 المستوى 9").
كل مستوى أعلى هو مجموعة فرعية صارمة من مستوى أدنى، مع عدد قليل فقط من الميزات الجديدة أو الاختيارية سابقًا والتي تنتقل إلى الوظائف الأساسية على مستوى أعلى. [67] يتم عرض الميزات الأكثر تقدمًا في المراجعة الرئيسية لواجهة برمجة تطبيقات Direct3D مثل نماذج التظليل الجديدة ومراحل العرض فقط على الأجهزة ذات المستوى الأعلى. [65] [66]
توجد قدرات منفصلة للإشارة إلى دعم عمليات نسيج محددة وتنسيقات موارد؛ يتم تحديدها لكل تنسيق نسيج باستخدام مجموعة من علامات القدرات. [156] [157]
تستخدم مستويات الميزات الشرطة السفلية كفاصل (على سبيل المثال "12_1")، بينما تستخدم إصدارات واجهة برمجة التطبيقات/وقت التشغيل النقطة (على سبيل المثال "Direct3D 11.4").
Direct3D 11 مستوى
في Direct3D 11.4 لنظام التشغيل Windows 10، هناك تسعة مستويات للميزات مقدمة حسب D3D_FEATURE_LEVELالبنية؛ المستويات 9_1 و9_2 و9_3 (المعروفة بشكل جماعي باسم Direct3D 10 Level 9 ) تعيد تغليف ميزات مختلفة لبطاقات Direct3D 9 الشهيرة، يشير المستويان 10_0 و10_1 إلى الإصدارات القديمة ذات الصلة من Direct3D 10، [65] يعكس 11_0 و11_1 الميزة المقدمة مع واجهات برمجة التطبيقات وأوقات التشغيل Direct3D 11 وDirect3D 11.1، بينما يتوافق المستويان 12_0 و12_1 مع مستويات الميزات الجديدة المقدمة مع واجهة برمجة التطبيقات Direct3D 12.
| مستوى الميزة | ميزات الأجهزة الإلزامية | الميزات الاختيارية |
|---|---|---|
| 9_1 | نموذج Shader 2.0 ( vs_2_0/ ps_2_0)، 2K من القوام، وقوام الحجم، واستعلامات الأحداث، وBC1-3 (المعروف أيضًا باسم DXTn)، وبعض القدرات المحددة الأخرى.
|
— |
| 9_2 | استعلامات الانسداد، تنسيقات الفاصلة العائمة (بدون مزج)، الأحرف الكبيرة الممتدة، جميع ميزات 9_1. | |
| 9_3 | vs_2_a/ ps_2_xمع حالات المثيلات وحدود التظليل الإضافية، وقوام 4K، وأهداف عرض متعددة (4 MRTs)، ومزج الفاصلة العائمة (محدود)، وكل ميزات 9_2.
| |
| 10_0 | Shader Model 4.0، برنامج تظليل الهندسة، تدفق خارجي، تغطية ألفا، قوام 8K، قوام MSAA، استنسل ثنائي الجانب، عروض هدف العرض العام، مصفوفات القوام، BC4/BC5، دعم كامل لتنسيق الفاصلة العائمة، كل ميزات 9_3. | عمليات المزج المنطقي، DirectCompute (CS 4.0/4.1)، تنسيقات البكسل الممتدة. [155] |
| 10_1 | Shader Model 4.1، ومصفوفات cubemap، وMSAA الموسعة، وجميع ميزات 10_0. | |
| 11_0 | نموذج Shader 5.0/5.1، تظليل الهيكل والنطاق، DirectCompute (CS 5.0/5.1)، 16K نسيج، BC6H/BC7، تنسيقات بكسل ممتدة، جميع ميزات 10_1. | |
| 11_1 | عمليات المزج المنطقي، والتقطيع المستقل عن الهدف، والطائرات بدون طيار في كل مرحلة من مراحل خط الأنابيب مع زيادة عدد الفتحات، وعرض الطائرات بدون طيار فقط مع عدد العينات القسرية، وتعويض المخزن المؤقت الثابت والتحديثات الجزئية، كل ميزات 11_0. | |
| 12_0 | موارد البلاط المستوى 2 (Texture2D)، أحمال UAV المكتوبة (تنسيقات إضافية). | |
| 12_1 | المستوى 1 من التنقيح المحافظ، وجهات النظر المنظمة للتنقيح. |
Direct3D 12 مستوى
يتطلب Direct3D 12 لنظام التشغيل Windows 10 أجهزة رسومية تتوافق مع مستويات الميزات 11_0 و11_1 والتي تدعم ترجمات عناوين الذاكرة الافتراضية وتتطلب برامج تشغيل WDDM 2.0. هناك مستويان جديدان للميزات، 12_0 و12_1، يتضمنان بعض الميزات الجديدة التي كشف عنها Direct3D 12 والتي تعد اختيارية في المستويين 11_0 و11_1. [158] تمت إعادة محاذاة بعض الميزات الاختيارية سابقًا كخط أساسي في المستويين 11_0 و11_1. تم إصدار Shader Model 6.0 مع Windows 10 Creators Update ويتطلب Windows 10 Anniversary Update وبرامج تشغيل WDDM 2.1.
| مستوى | الميزات الإلزامية | الميزات الاختيارية |
|---|---|---|
| 11_0 | جميع ميزات 11_0 الإلزامية من Direct3D 11، وShader Model 5.1، وربط الموارد Tier 1. | عمليات المزج المنطقي، وعمليات النقطة العائمة ذات الدقة المزدوجة (64 بت)، ودقة النقطة العائمة الدنيا (10 بت أو 16 بت).
ربط الموارد (ثلاث طبقات)، الموارد المبلطة (أربع طبقات)، التجريد المحافظ (ثلاث طبقات)، قيمة مرجعية الاستنسل من Pixel Shader، وجهات نظر مرتبة للتجريد، أحمال UAV المكتوبة للتنسيقات الإضافية، مثيلات العرض. نموذج التظليل 6.0–6.7 الأوامر الوصفية، معدل التظليل المتغير، تتبع الأشعة، برامج تظليل الشبكة، ردود الفعل للعينة. ميزات اختيارية أخرى. [159] |
| 11_1 | ||
| 12_0 | ربط الموارد من المستوى 2، والموارد المبلطة من المستوى 2 (Texture2D)، وأحمال UAV المكتوبة (تنسيقات إضافية)، ونموذج Shader 6.0. | |
| 12_1 | المستوى 1 من التنقيح المحافظ، وجهات النظر المنظمة للتنقيح. | |
| 12_2 | DirectX 12 Ultimate : Shader Model 6.5، Raytracing Tier 1.1، Mesh Shaders، Variable-Rate Shading، Sampler Feedback، Resource Binding Tier 3، Tiled Resources Tier 3 (Texture3D)، Conservative Rasterization Tier 3، مساحة عنوان افتراضية 40 بت. |
يقدم Direct3D 12 نموذج ربط موارد محدث يسمح بالتحكم الصريح في الذاكرة. يتم الآن تمثيل كائنات "عرض الموارد" المجردة [160] باستخدام أوصاف الموارد، والتي يتم تخصيصها باستخدام أكوام الذاكرة والجداول. [161] تحدد طبقات ربط الموارد العدد الأقصى للموارد التي يمكن معالجتها باستخدام CBV (عرض المخزن المؤقت الثابت)، وSRV (عرض موارد التظليل) وUAV (عرض الوصول غير المنظم)، بالإضافة إلى وحدات أخذ العينات النسيجية. تسمح أجهزة المستوى 3 بموارد خالية تمامًا من الارتباطات مقيدة بحجم كومة الوصف فقط، بينما تفرض أجهزة المستوى 1 والمستوى 2 بعض القيود على عدد الأوصاف ("العروض") التي يمكن استخدامها في وقت واحد. [162] [163]
| حدود الموارد | المستوى 1 | المستوى الثاني | المستوى 3 |
|---|---|---|---|
| الوصافات في كومة CBV/SRV/UAV | 1 مليون | 1 مليون | >1 مليون |
| CBVs لكل مرحلة تظليل | 14 | 14 | كومة كاملة |
| SRVs لكل مرحلة تظليل | 128 | كومة كاملة | |
| طائرات بدون طيار في جميع المراحل | 8، 64 † | 64 | كومة كاملة |
| العينات لكل مرحلة تظليل | 16 | كومة كاملة | |
| † 64 فتحة على مستوى الميزة 11_1 الأجهزة | |||
تعدد الخيوط
يدعم نموذج برنامج تشغيل WDDM في Windows Vista والإصدارات الأحدث عددًا كبيرًا من سياقات التنفيذ (أو الخيوط) في الأجهزة أو البرامج. يدعم Windows XP فقط الوصول المتعدد المهام إلى Direct3D، حيث يمكن تنفيذ التطبيقات المنفصلة في نوافذ مختلفة وتسريعها بالأجهزة، وكان لدى نظام التشغيل تحكم محدود فيما يمكن لوحدة معالجة الرسومات القيام به ويمكن لبرنامج التشغيل تبديل خيوط التنفيذ بشكل عشوائي.
تم تقديم القدرة على تنفيذ وقت التشغيل في وضع متعدد الخيوط مع وقت تشغيل Direct3D 11. يتم تقديم كل سياق تنفيذ مع عرض موارد وحدة معالجة الرسومات. يتم حماية سياقات التنفيذ من بعضها البعض، ومع ذلك، يمكن لتطبيق مارق أو مكتوب بشكل سيئ أن يتحكم في التنفيذ في برنامج تشغيل وضع المستخدم وقد يتمكن من الوصول إلى البيانات من عملية أخرى داخل ذاكرة وحدة معالجة الرسومات عن طريق إرسال أوامر معدلة. على الرغم من حمايته من الوصول بواسطة تطبيق آخر، إلا أن التطبيق المكتوب جيدًا لا يزال بحاجة إلى حماية نفسه من الأعطال وفقدان الجهاز الناجم عن تطبيقات أخرى.
يتولى نظام التشغيل إدارة الخيوط بالكامل بنفسه، مما يسمح للأجهزة بالتبديل من خيط إلى آخر عند الحاجة، ويتولى أيضًا إدارة الذاكرة والتجزئة (إلى ذاكرة النظام وإلى القرص) عبر إدارة ذاكرة نواة نظام التشغيل المتكاملة.
تم تقديم التبديل الدقيق للسياق، أي القدرة على تبديل خيطي تنفيذ على مستوى تعليمات التظليل بدلاً من مستوى الأمر الفردي أو حتى مجموعة الأوامر، في WDDM/DXGI 1.2 الذي تم شحنه مع Windows 8. [86] يتغلب هذا على مشكلة الجدولة المحتملة عندما يكون لدى التطبيق تنفيذ طويل جدًا لأمر واحد/مجموعة أوامر وسيتعين إنهاؤه بواسطة مؤقت مراقبة نظام التشغيل. [164]
تم إعادة تصميم WDDM 2.0 وDirectX 12 للسماح باستدعاءات سحب متعددة الخيوط بالكامل. وقد تم تحقيق ذلك من خلال جعل جميع الموارد غير قابلة للتغيير (أي للقراءة فقط)، وتسلسل حالات العرض واستخدام حزم استدعاءات السحب. وهذا يتجنب إدارة الموارد المعقدة في برنامج تشغيل وضع النواة، مما يجعل من الممكن إجراء استدعاءات متعددة لإعادة الدخول إلى برنامج تشغيل وضع المستخدم عبر سياقات التنفيذ المتزامنة التي توفرها خيوط عرض منفصلة في نفس التطبيق.
دايركت 3دي موبايل
تم اشتقاق Direct3D Mobile من Direct3D ولكنه يحتوي على مساحة ذاكرة أصغر . يوفر Windows CE دعم Direct3D Mobile. [165]
التنفيذات البديلة
توجد التطبيقات البديلة التالية لواجهة برمجة التطبيقات Direct3D. وهي مفيدة للأنظمة الأساسية غير العاملة بنظام Windows وللأجهزة التي لا تدعم بعض إصدارات DX:
- WineD3D – يحتوي مشروع Wine مفتوح المصدر على تنفيذات عاملة لواجهات برمجة التطبيقات Direct3D عبر الترجمة إلى OpenGL . [166] يمكن أيضًا تشغيل تنفيذ Wine على Windows في ظل ظروف معينة. [167]
- vkd3d – vkd3d هي مكتبة رسوميات ثلاثية الأبعاد مفتوحة المصدر مبنية على Vulkan والتي تسمح بتشغيل تطبيقات Direct3D 12 على Vulkan . [168] يتم استخدامها بشكل أساسي بواسطة مشروع Wine ، [169] [170] وهي الآن مضمنة في مشروع Proton التابع لشركة Valve المضمن مع Steam على Linux.
- DXVK – طبقة ترجمة مفتوحة المصدر تعتمد على Vulkan لـ Direct3D 9/10/11 والتي تسمح بتشغيل تطبيقات ثلاثية الأبعاد على Linux باستخدام Wine. [171] [172] يتم استخدامها بواسطة Proton / Steam [173] لنظام Linux. DXVK قادر على تشغيل عدد كبير من ألعاب Windows الحديثة تحت Linux.
- D9VK – شوكة قديمة من DXVK لإضافة دعم Direct3D 9، [174] متضمنة مع Steam/Proton على Linux. [175] في 16 ديسمبر 2019، تم دمج D9VK في DXVK. [176]
- D8VK – شوكة قديمة من DXVK لإضافة دعم Direct3D 8 على Linux. [177] تم دمجها مع إصدار DXVK 2.4 الذي تم إصداره في 10 يوليو 2024.
- Gallium Nine – يجعل Gallium Nine من الممكن تشغيل تطبيقات Direct3D 9 على Linux بشكل أصلي، أي بدون أي ترجمة للمكالمات مما يسمح بسرعة قريبة من السرعة الأصلية. يعتمد الأمر على Wine و Mesa . [178] [179]
الأدوات ذات الصلة
دي ثري دي اكس
يأتي Direct3D مع D3DX، وهي مكتبة من الأدوات مصممة لأداء الحسابات الرياضية الشائعة على المتجهات والمصفوفات والألوان ، وحساب مصفوفات النظر والإسقاط ، وعمليات استيفاء الخطوط المنحنية ، والعديد من المهام الأكثر تعقيدًا، مثل تجميع أو تجميع برامج التظليل المستخدمة في برمجة الرسوميات ثلاثية الأبعاد، وتخزين الرسوم المتحركة الهيكلية المضغوطة ومكدسات المصفوفات. هناك العديد من الوظائف التي توفر عمليات معقدة على الشبكات ثلاثية الأبعاد مثل حساب مساحة الظل، وتبسيط الشبكة، ونقل الإشعاع المحسوب مسبقًا ، وتحسين سهولة تخزين ذاكرة التخزين المؤقت للرؤوس والتجزئة، ومولدات الشبكات النصية ثلاثية الأبعاد. تتضمن الميزات ثنائية الأبعاد فئات لرسم خطوط مساحة الشاشة، وأنظمة الجسيمات القائمة على النص والرسوم المتحركة . تتضمن الوظائف المكانية روتينات تقاطع مختلفة، والتحويل من/إلى إحداثيات مركز الثقل ومولدات المربعات /المجالات المحددة. يتم توفير D3DX كمكتبة ارتباط ديناميكي (DLL). تم إيقاف استخدام D3DX اعتبارًا من Windows 8 وما بعده ولا يمكن استخدامه في تطبيقات Windows Store. [180]
تمت إزالة بعض الميزات الموجودة في الإصدارات السابقة من D3DX في Direct3D 11 وتم توفيرها الآن كمصدر منفصل: [181]
- مجموعة أدوات تطوير البرامج لنظام Windows وVisual Studio [182]
- لقد تم إزالة جزء كبير من مكتبة الرياضيات. توصي شركة Microsoft باستخدام مكتبة DirectX Math بدلاً من ذلك.
- تم إزالة رياضيات التوافقيات الكروية وتم توزيعها الآن كمصدر. [183]
- تم إزالة إطار العمل Effect ويتم توزيعه الآن كمصدر عبر CodePlex. [184]
- تم إزالة واجهة Mesh ووظائف الهندسة ويتم توزيعها الآن كمصدر عبر CodePlex ضمن مكتبة معالجة الهندسة DirectXMesh. [185]
- تم إزالة وظائف الملمس ويتم توزيعها الآن كمصدر عبر CodePlex ضمن مكتبة معالجة الملمس DirectXTex. [186]
- تم إزالة المساعدات العامة ويتم توزيعها الآن كمصدر عبر CodePlex ضمن مشروع DirectX Tool Kit (DirectXTK). [187]
- تم إزالة أطلس نسيج الرسم البياني المتساوي ويتم توزيعه الآن كمصدر عبر CodePlex ضمن مشروع UVAtlas. [188]
دكسوت
DXUT (يُطلق عليه أيضًا إطار العمل النموذجي) عبارة عن طبقة مبنية على واجهة برمجة التطبيقات Direct3D. تم تصميم الإطار لمساعدة المبرمج على قضاء وقت أقل في المهام العادية، مثل إنشاء نافذة، وإنشاء جهاز، ومعالجة رسائل Windows، والتعامل مع أحداث الجهاز. تمت إزالة DXUT مع Windows SDK 8.0 وتم توزيعه الآن كمصدر عبر CodePlex. [189]
انظر أيضا
- قائمة واجهات برمجة التطبيقات للعرض ثلاثي الأبعاد
- قائمة مكتبات الرسومات ثلاثية الأبعاد
- لغة التظليل عالية المستوى
- تظليل
- DirectX – مجموعة من واجهات برمجة التطبيقات التي يتم فيها تنفيذ Direct3D
- دايركت درو
- رسومات الحاسوب ثلاثية الأبعاد
مراجع
- ^ "تكوين وظيفة Depth-Stencil". Microsoft. 19 أغسطس (آب) 2020.
- ^ "RenderStateManager.UseWBuffer". مايكروسوفت. 6 نوفمبر 2009.
- ^ "دمج الملمس (Direct3D 9)". مايكروسوفت. 6 يناير 2021.
- ^ "Geometry Blending (Direct3D 9)". مايكروسوفت. 6 يناير 2021.
- ^ "HLSL". مايكروسوفت. 4 أغسطس 2021.
- ^ "التأثيرات (Direct3D 11)". مايكروسوفت. 11 يونيو 2021.
- ^ "DirectX Software Development Kit, October 2006". Microsoft. مؤرشف من الأصل في 2 نوفمبر 2011.
- ^ "دليل Windows Advanced Rasterization Platform (WARP) – هندسة WARP والأداء". MSDN. 11 أكتوبر 2022.
- ^ "DirectX 8: رفع الرهان على الواقعية في الرسومات" (PDF) . evga.com . تم الاسترجاع في 6 سبتمبر 2023 .
- ^ "الصفحة الرئيسية> وحدات معالجة الرسوميات ATI SMARTSHADER Technology - Powering the next generation Radeon". anandtech.com . تم الاسترجاع في 6 سبتمبر 2023 .
- ^ "Vertex Shaders and Pixel Shaders". thg.ru/ . تم الاسترجاع في 6 سبتمبر 2023 .
- ^ "Vertex Shaders and Pixel Shaders". مؤرشف من الأصل في 16 أغسطس 2004. تم الاسترجاع في 6 سبتمبر 2023 .
{{cite web}}:CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( الرابط ) - ^ "تنزيلات Microsoft DirectX لنظام Windows (Win95، Win98، Win98SE، WinME، Win2000، WinXP)". www.falconfly.de . مؤرشف من الأصل في 10 نوفمبر 2006 . تم الاسترجاع في 11 يناير 2022 .
- ^ "تنزيل DirectX 9.0c End-User Runtime من مركز التنزيل الرسمي لـ Microsoft". www.microsoft.com . مؤرشف من الأصل في 29 يوليو 2015 . تم الاسترجاع في 11 يناير 2022 .
- ^ "فريق إدارة Qube Soft". qubesoft.com. 4 أبريل 2017. مؤرشف من الأصل في 6 أبريل 2017. تم الاسترجاع 5 أبريل 2017 .
- ^ ab Claro, Nicole (April 1995). "Further Rendering" (PDF) . مجلة مطوري الألعاب . مؤرشف من الأصل (PDF) في 26 يناير 2021 . تم الاسترجاع في 21 أغسطس 2022 .
- ^ Prosise, Jeff (16 مايو 1995). "الانضمام إلى حزب الوسائط المتعددة". مجلة PC . تم الاسترجاع في 20 أغسطس 2022 .
- ^ تومسون، نايجل (أغسطس 1996). "بناء مشهد باستخدام وضع الحفظ Direct3D" (PDF) . مجلة مطوري الألعاب . مؤرشف (PDF) من الأصل في 26 يناير 2021. تم الاسترجاع في 20 أغسطس 2022 .
- ^ بيركس، أوتو (12 أبريل 2015). "DirectX". مدونة أوتو بيركس . تم الاسترجاع في 22 أغسطس 2022 .
- ^ تشن، رايموند (22 يناير 2004). "ماذا حدث لـ DirectX 4؟". الشيء القديم الجديد . مايكروسوفت . تم الاسترجاع في 28 أغسطس 2022 .
- ^ "بيان صحفي - انهيار مايكروسوفت (فبراير 1997)". شركة مايكروسوفت. 18 فبراير 1997.
- ^ "بيان صحفي - انهيار مايكروسوفت (يوليو 1997)". شركة مايكروسوفت. 22 يوليو 1997.
- ^ رون فوسنر. "احصل على عرض ثلاثي الأبعاد سريع وبسيط باستخدام DrawPrimitive وDirectX 5.0". مجلة أنظمة مايكروسوفت.
- ^ "Direct3D 7 Immediate Mode Framework Programming 3: Multitexturing". gamedev.net. 29 مايو 2000. مؤرشف من الأصل في 5 أغسطس 2011. تم الاسترجاع في 17 سبتمبر 2011 .
- ^ "Microsoft Ships Final Release of DirectX 6.0". Microsoft. 7 أغسطس 1998.
- ^ "Microsoft Ships DirectX 6.1". Microsoft. 3 فبراير 1999.
- ^ "تحديث بيل جيتس لشهر أبريل 1997 عن تعويذة" (PDF) . مايكروسوفت. 5 مايو 1997. مؤرشف من الأصل (PDF) في 8 ديسمبر 2015. تم الاسترجاع في 31 أكتوبر 2015 .
- ^ "DDS (تنسيق DirectDraw Surface)". MSDN. 19 أغسطس (آب) 2020.
- ^ "DirectX 7: [due] July 99". GameSpot . المملكة المتحدة. مارس 1999. مؤرشف من الأصل في 8 مايو 1999. تم الاسترجاع في 20 يوليو 2019 .
- ^ "Microsoft Announces Release of DirectX 8.0". Microsoft. 9 نوفمبر 2000. تم الاسترجاع في 7 يناير 2015 .
- ^ "Direct Action Feature: DirectX 8.0". GameSpot . المملكة المتحدة. مؤرشف من الأصل في 23 فبراير 2001. تم الاسترجاع في 20 يوليو 2019 .
- ^ "DirectX 8 Graphics and Video: A Fresh Start". gamedev.net. 30 نوفمبر 2000. مؤرشف من الأصل في 4 يونيو 2007. تم الاسترجاع في 18 فبراير 2007 .
- ^ "Direct3D 9 Graphics". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "كتابة تظليلات HLSL في Direct3D 9". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "HLSL في Direct3D 9.0". Microsoft . مؤرشف من الأصل في 27 أغسطس 2010.
- ^ "أهداف عرض متعددة (Direct3D 9)". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "Multiple-element Textures (Direct3D 9)". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "تقنيات تخزين الاستنسل (Direct3D 9)". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "تحسينات Direct3D 9Ex". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "واجهات برمجة التطبيقات الرسومية في Windows". MSDN. أغسطس 2009.
- ^ "دور نموذج برنامج تشغيل العرض الخاص بنظام Windows في DWM". 2 أبريل 2006.
- ^ "ميزات واجهة برمجة التطبيقات (Direct3D 10)". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ دعم مايكروسوفت (17 مارس 2009). "إزالة وضع الاحتفاظ بـ Direct3D من Windows Vista". مؤرشف من الأصل في 1 يونيو 2013.
{{cite web}}:CS1 maint: عنوان URL غير مناسب ( الرابط ) - ^ "DirectX Software Development Kit, February 2007". Microsoft. مؤرشف من الأصل في 3 سبتمبر 2012.
- ^ "أنواع الموارد (Direct3D 10)". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "API Layers (Direct3D 10)". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "CNet News" . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "Common-Shader Core". مايكروسوفت. 30 يونيو 2021.
- ^ "Geometry Shader Features". مايكروسوفت. 23 أغسطس 2019.
- ^ "Shader Stages". مايكروسوفت. 11 أكتوبر 2016.
- ^ "ما يتعلق بـ Direct3D 10 – تحسينات إضافية". Tom's Hardware. 8 نوفمبر 2006.
- ^ "مميزات Direct3D 10.1". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "Microsoft Presents DirectX 10.1 Details at SIGGRAPH". ExtremeTech. 7 أغسطس (آب) 2007.
- ^ "مميزات Direct3D 10.1". MSDN. 6 يناير 2021.
- ^ ab "طريقة ID3D11Device::CheckMultisampleQualityLevels". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ abc Chuck Walbourn (20 يونيو 2012). "مستويات ميزات Direct3D". مدونة الألعاب لنظام Windows وحزمة أدوات DirectX .
- ^ "D3D10_FEATURE_LEVEL1 enumeration". MSDN . تم الاسترجاع في 22 نوفمبر 2009 .
- ^ "مستويات ميزة Direct3D". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "ميزات Direct3D 11". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ abc "Gamefest 2008 Presentations". Microsoft. مؤرشف من الأصل في 13 نوفمبر 2013.
- ^ "Nvision 08 Tech Presentations". Nvidia . تم الاسترجاع في 16 سبتمبر 2011 .
- ^ "DirectX Software Development Kit, November 2008". مايكروسوفت. 7 نوفمبر 2008.
- ^ "AMD تعرض أول وحدة معالجة رسومية تدعم DirectX 11 في العالم". Engadget. 3 يونيو 2009.
- ^ "GameFest 2008: Introduction to the Direct3D 11 Graphics Pipeline". Microsoft. Slide 56. مؤرشف من الأصل في 28 يناير 2013.
- ^ abc "Direct3D 11 on Downlevel Hardware". MSDN . تم الاسترجاع في 18 نوفمبر 2012 .
- ^ ab "Windows Driver Kit – Supporting Direct3D 11". MSDN . تم الاسترجاع في 13 يونيو 2009 .
- ^ ab "مستويات ميزة Direct3D". MSDN . تم الاسترجاع في 2 يوليو 2012 .
- ^ "استخدام فسيفساء الأجهزة ATI في DX9". 14 يوليو 2008.
- ^ "AMD DX9 Tessellation SDK". مؤرشف من الأصل في 8 نوفمبر 2010.
- ^ "برمجة التبليط في الوقت الحقيقي على وحدة معالجة الرسوميات" (PDF) . مؤرشف من الأصل (PDF) في 27 يوليو 2011.
- ^ "عينات فسيفساء OpenGL". مؤرشف من الأصل في 9 أبريل 2010.
- ^ "أنواع الموارد الجديدة". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "انحياز العمق". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "D3D11_RASTERIZER_DESC1 structure". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "Shader Model 5". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "نظرة عامة على التبليط". مايكروسوفت. 16 سبتمبر 2020.
- ^ "نظرة عامة على التبليط". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "وصف تحديث النظام الأساسي لنظام التشغيل Windows Server 2008 وتحديث النظام الأساسي لنظام التشغيل Windows Vista". Support.microsoft.com. 2 أكتوبر 2012. تم الاسترجاع في 15 يونيو 2013 .
- ^ "تحديث النظام الأساسي لنظام التشغيل Windows Vista – مدونة مطوري DirectX – الصفحة الرئيسية للموقع – مدونات MSDN". Blogs.msdn.com. 10 سبتمبر 2009. مؤرشف من الأصل في 8 أبريل 2014. تم الاسترجاع في 15 يونيو 2013 .
- ^ "مميزات Direct3D 11.1". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "D3D11_FEATURE_DATA_D3D11_OPTIONS structure". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "تحسينات ميزة DirectX في Windows 8". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "مميزات Direct3D 11.1". MSDN . تم الاسترجاع في 13 سبتمبر 2009 .
- ^ "تحسينات DXGI 1.2". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "ميزات WDDM 1.2". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ abc "تحسينات نموذج برنامج تشغيل العرض في Windows في Windows Developer Preview". MSDN. 13 سبتمبر 2011.
- ^ "أنواع قياسية" . تم الاسترجاع في 2 أكتوبر 2014 .
- ^ "معالج Intel Haswell IGP سيدعم DirectX 11.1، مما يزيد من دعم التطبيقات الاحترافية". AnandTech. 5 أغسطس 2011.
- ^ "تحديث منصة DirectX Graphics لنظام التشغيل Windows 7". MSDN. 14 نوفمبر 2012.
- ^ "DirectX 11.1 وWindows 7". مدونة الألعاب لنظام Windows ومجموعة أدوات DirectX . 13 نوفمبر 2012.
- ^ "برمجة DirectX". MSDN. مؤرشف من الأصل في 31 أكتوبر 2013. تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "مميزات Direct3D 11.2". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "دليل ميزات Windows 8.1 – برمجة DirectX". مكتبة MSDN . 26 يونيو 2013. مؤرشف من الأصل في 27 أغسطس 2015. تم الاسترجاع في 27 يونيو 2013 .
- ^ بواسطة Bennett Sorbo (26 يونيو 2013). "ما الجديد في Direct3D 11.2". Channel9 – BUILD 2013 .
- ^ "تحسينات DXGI 1.3". مكتبة MSDN . 26 يونيو 2013.
- ^ "ما الجديد في برامج تشغيل العرض لنظام التشغيل Windows 8.1 Preview (WDDM 1.3)". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "تم نقل المحتوى (ويندوز)". مؤرشف من الأصل في 4 مارس 2016. اطلع عليه بتاريخ 6 مارس 2015 .
- ^ "D3D11_TILED_RESOURCES_TIER enumeration". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ تشارلز هوليميرش، مات ساندي (26 يونيو 2013). "القوام الافتراضية الضخمة للألعاب: موارد بلاط Direct3D". Channel9 – BUILD 2013 .
- ^ "مميزات Direct3D 11.2". مكتبة MSDN . 26 يونيو 2013.
- ^ "مدونات MSDN". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT structure". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "Raising the Bar with Direct3D". إنشاء تطبيقات لنظام Windows . 14 أكتوبر 2013. تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "Microsoftofficially refuses down Mantle". 16 أكتوبر 2013. تم الاسترجاع في 30 سبتمبر 2014 .
- ^ مقطع كريس تيكتور من http://channel9.msdn.com/Blogs/DirectX-Developer-Blog/DirectX-Evolving-Microsoft-s-Graphics-Platform (يبدأ بعد حوالي 18 دقيقة).
- ^ "العرض (رسومات Direct3D 12) - تطبيقات Win32". 30 ديسمبر 2021.
- ^ رايان سميث. "AnandTech – Microsoft Details Direct3D 11.3 & 12 New Rendering Features" . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ رايان سميث. "AnandTech – مراجعة NVIDIA GeForce GTX 980: Maxwell Mark 2" . تم الاسترجاع في 30 سبتمبر 2014.
أول وأهم ميزات Maxwell 2 الجديدة هو تضمين التوافق الكامل مع Direct3D 11.2/11.3.
- ^ "DirectX 11.3 New Features Outline – Tiled Resources – Typed UAV Loads". 19 سبتمبر 2014. تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "D3D11_CONSERVATIVE_RASTERIZATION_TIER enumeration". مكتبة MSDN . 22 فبراير 2015. تم الاسترجاع في 22 فبراير 2015 .
- ^ "مميزات Direct3D 11.3". مكتبة MSDN . 28 مارس 2015. تم الاسترجاع في 28 مارس 2015 .
- ^ "مدونة الألعاب لنظام Windows وDirectX SDK".
- ^ من موقع رايان سميث. "AnandTech – Microsoft Announces DirectX 12: Low-Level Graphics Programming Comes To DirectX" . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "Intel Developer Zone". Intel . تم الاسترجاع في 21 ديسمبر 2022 .
- ^ "نظرة عامة على Direct3D 12 الجزء 1: "Closer To The Metal"" . تم الاسترجاع في 2 أكتوبر 2014 .
- ^ الدقيقتان الأوليتان من https://channel9.msdn.com/Events/Build/2014/3-564
- ^ "نظرة أقرب على DirectX 12 – التقرير التقني – الصفحة 3". 31 مارس 2014. تم الاسترجاع في 30 سبتمبر 2014 .
- ^ رايان سميث. "AnandTech – Microsoft Details Direct3D 11.3 & 12 New Rendering Features" . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "نسخة مؤرشفة". مؤرشفة من الأصل في 30 أبريل 2018. تم استرجاعها في 19 سبتمبر 2014 .
{{cite web}}: CS1 maint: archived copy as title (link) - ^ "Shader Model 5.1 - Win32 apps". 20 نوفمبر 2019.
- ^ "تعرف على مستقبل رسومات الكمبيوتر الشخصي: مايكروسوفت تكشف عن DirectX 12 أسرع وأشبه بأجهزة الألعاب". PCWorld . 20 مارس 2014 . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "DirectX 12 سيضيف أيضًا ميزات جديدة لوحدات معالجة الرسوميات من الجيل التالي". 21 مارس 2014. تم الاسترجاع في 30 سبتمبر 2014 .
- ^ Kowaliski, Cyril (21 مارس 2014). "DirectX 12 will also add new features for next-gen GPUs". The Tech Report . تم الاسترجاع في 1 أبريل 2014 .
- ^ "المكتبة التقنية". Intel . تم الاسترجاع في 21 ديسمبر 2022 .
- ^ stevewhims (30 ديسمبر 2021). "خطوط الأنابيب وبرامج التظليل باستخدام Direct3D 12 - تطبيقات Win32". learn.microsoft.com . تم الاسترجاع في 19 ديسمبر 2023 .
- ^ ab stevewhims (6 فبراير 2023). "نظرة عامة على توقيعات الجذر - تطبيقات Win32". learn.microsoft.com . تم الاسترجاع في 19 ديسمبر 2023 .
- ^ "نظرة عامة على Direct3D 12 الجزء 7: أكوام ديناميكية" . تم الاسترجاع في 2 أكتوبر 2014 .
- ^ "Multi-Adapter". مؤرشف من الأصل في 14 سبتمبر 2016. تم الاسترجاع 3 أغسطس 2016 .
- ^ "نقل ألعاب DirectX 12 إلى Windows 7". 21 أغسطس 2019.
- ^ "مواصفات DirectX".
- ^ “Microsoft.Direct3D.D3D12On7 1.1.0”.
- ^ نموذج Shader HLSL 6.0
- ^ "الإعلان عن ميزات جديدة لـ DirectX 12". مدونة مطوري DirectX . تم الاسترجاع في 24 فبراير 2018 .
- ^ "التعلم الآلي المباشر (DirectML)". Microsoft Docs . تم الاسترجاع في 28 يونيو 2020 .
- ^ "DirectML". مستندات Microsoft.
- ^ "قادم إلى DirectX 12 - تظليل الشبكة وتظليل التضخيم: إعادة اختراع خط أنابيب الهندسة". مدونة مطوري DirectX . تم الاسترجاع في 28 يونيو 2020 .
- ^ "قادم إلى DirectX 12 - ملاحظات حول العينة: بعض البيانات المفيدة التي كانت مخفية في السابق، أصبحت متاحة للجميع". مدونة مطوري DirectX . تم الاسترجاع في 4 نوفمبر 2019 .
- ^ "DirectX Raytracing (DXR) Tier 1.1". مدونة مطوري DirectX . تم الاسترجاع في 6 نوفمبر 2019 .
- ^ "قادم إلى DirectX 12: مزيد من التحكم في تخصيص الذاكرة". مدونة مطوري DirectX . تم الاسترجاع في 11 نوفمبر 2019 .
- ^ "Software Rasterizer for DirectX 9.0 SDK". Microsoft. 1 أغسطس 2005. مؤرشف من الأصل في 4 سبتمبر 2012.
- ^ "موارد Direct3D – مجموعة الذاكرة". مؤرشف من الأصل في 9 مايو 2008.
- ^ "Graphics Pipeline". رسومات Direct3D 11. Microsoft Docs . تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "مرحلة تجميع الإدخال". رسومات Direct3D 11. Microsoft Docs . 4 نوفمبر 2020. تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "Vertex Shader Stage". رسومات Direct3D 11. Microsoft Docs . تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "مراحل التبليط". رسومات Direct3D 11. Microsoft Docs . 16 سبتمبر 2020. مرحلة Hull-Shader . تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "مراحل التبليط". رسومات Direct3D 11. مستندات Microsoft . 16 سبتمبر 2020. مرحلة التبليط . تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "مراحل التبليط". رسومات Direct3D 11. مستندات Microsoft . 16 سبتمبر 2020. مرحلة تظليل المجال . تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "Geometry Shader Stage". رسومات Direct3D 11. Microsoft Docs . 24 مايو 2021. تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "Stream-Output Stage". رسومات Direct3D 11. Microsoft Docs . 4 نوفمبر 2020. تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "RenderStates". DirectX 9.0 for Managed Code. Microsoft Docs . 6 نوفمبر 2009 . تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "مرحلة التنقيط". رسومات Direct3D 11. Microsoft Docs . 4 نوفمبر 2020. تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "Pixel Shader Stage". رسومات Direct3D 11. Microsoft Docs . 19 أغسطس (آب) 2020. تم الاسترجاع في 19 أكتوبر (تشرين الأول) 2021 .
- ^ "مرحلة دمج الإخراج". رسومات Direct3D 11. Microsoft Docs . 24 مايو 2021. تم الاسترجاع في 19 أكتوبر 2021 .
- ^ "ميزات Direct3D 11.1 - تطبيقات Win32". 19 أغسطس 2020.
- ^ "D3D11_FORMAT_SUPPORT enumeration". MSDN . تم الاسترجاع في 16 يونيو 2015 .
- ^ "D3D11_FORMAT_SUPPORT2 enumeration". MSDN . تم الاسترجاع في 16 يونيو 2015 .
- ^ "Hardware Tiers - Win32 apps". learn.microsoft.com . 30 ديسمبر 2021 . تم الاسترجاع في 21 ديسمبر 2022 .
- ^ "D3D12_FEATURE - تطبيقات Win32". 14 فبراير 2023.
- ^ "مقدمة إلى أحد الموارد في Direct3D 11 - تطبيقات Win32". 6 أكتوبر 2021.
- ^ ولفجانج إنجل . "مقدمة حول ربط الموارد في Microsoft DirectX 12".
- ^ GVCS005 - Microsoft Direct3D 12: تفاصيل واجهة برمجة التطبيقات الجديدة وتحسينات Intel محفوظ في 4 أبريل 2015، على موقع Wayback Machine
- ^ "العروض". learn.microsoft.com . تم الاسترجاع في 21 ديسمبر 2022 .
- ^ "اكتشاف مهلة الاسترداد (TDR) - برامج تشغيل Windows". Microsoft .
- ^ Direct3D موبايل، مايكروسوفت، 6 يناير 2010.
- ^ "يفخر فريق Wine بالإعلان عن إطلاق الإصدار المستقر Wine 4.0". WineHQ . تم الاسترجاع في 3 أبريل 2019 .
- ^ "WineD3DOnWindows – The Official Wine Wiki". Wiki.winehq.org. 2 يونيو 2013. مؤرشف من الأصل في 17 يناير 2009. تم الاسترجاع في 15 يونيو 2013 .
- ^ WineHQ - vkd3d، Direct3D 12، 3 أبريل 2019 ، تم الاسترجاع في 30 يونيو 2020
- ^ "إصدار Vkd3d 1.0". WineHQ . تم الاسترجاع في 3 أبريل 2019 .
- ^ مايكل لارابيل (23 أغسطس 2019). "تقدم شركة بروتون التابعة لشركة فالف فرعًا مع VKD3D لـ Direct3D 12 بدلاً من Vulkan". Phoronix . تم الاسترجاع في 7 أكتوبر 2019 .
- ^ جيسون إيفانجيليو (1 مارس 2019). "Windows 10 Versus Linux: 6 Steam Games Benchmarked On Intel's Hades Canyon NUC". فوربس . تم الاسترجاع في 7 أكتوبر 2019 .
- ^ Rebohle, Philip (3 أبريل 2019)، تنفيذ D3D11 وD3D10 المستند إلى Vulkan لنظام Linux / Wine: doitsujin/dxvk ، تم الاسترجاع في 3 أبريل 2019
- ^ أداة التوافق لـ Steam Play المستندة إلى Wine والمكونات الإضافية: ValveSoftware/Proton، Valve ، 3 أبريل 2019 ، تم الاسترجاع في 3 أبريل 2019
- ^ "مستودع D9VK على GitHub". GitHub . تم الاسترجاع في 6 أكتوبر 2019 .
- ^ مايكل لارابيل (30 يوليو 2019). "Proton Re-Based To Wine 4.11, Adds D9VK Direct3D 9, Better CPU Utilization & DXVK 1.3". Phoronix . تم الاسترجاع في 7 أكتوبر 2019 .
- ^ "تنفيذ واجهة Direct3D9 بواسطة Joshua-Ashton · طلب سحب #1275 · doitsujin/dxvk". GitHub . تم الاسترجاع في 17 ديسمبر 2019 .
- ^ "مستودع D8VK على GitHub". GitHub . تم الاسترجاع في 2 فبراير 2024 .
- ^ قم ببناء دعم Gallium Nine فوق تثبيت WINE الحالي: iXit/wine-nine-standalone، iXit Group، 3 أبريل 2019 ، تم الاسترجاع في 3 أبريل 2019
- ^ Joey Sneddon (10 أكتوبر 2018). "Ubuntu 18.10 يضيف دعم Gallium Nine، أحدث إصدار من Mesa 18.2.2". يا إلهي! Ubuntu! . تم الاسترجاع في 7 أكتوبر 2019 .
- ^ "مرجع D3DX 11". MSDN . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "العيش بدون D3DX". MSDN.
- ^ "أداة تجميع التأثيرات". مايكروسوفت. 19 أغسطس 2020.
- ^ "Spherical Harmonics Math". msdn.com . تم الاسترجاع في 23 نوفمبر 2014 .
- ^ "Effects 11". CodePlex . مؤرشف من الأصل في 24 سبتمبر 2014 . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "مكتبة معالجة هندسة DirectXMesh". CodePlex . مؤرشف من الأصل في 29 سبتمبر 2014 . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "مكتبة معالجة نسيج DirectXTex". CodePlex . مؤرشف من الأصل في 25 سبتمبر 2014 . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "DirectX Tool Kit". CodePlex . مؤرشف من الأصل في 29 سبتمبر 2014 . تم الاسترجاع في 30 سبتمبر 2014 .
- ^ "UVAtrlas". CodePlex . مؤرشف من الأصل في 27 يونيو 2015. تم الاسترجاع في 23 نوفمبر 2014 .
- ^ "تحديث DXUT لسطح مكتب Win32". MSDN.
روابط خارجية
- موقع دايركت اكس
- MSDN: رسومات DirectX والألعاب
- DirectX 10: مستقبل ألعاب الكمبيوتر، مقالة تقنية تناقش الميزات الجديدة لـ DirectX 10 وتأثيرها على ألعاب الكمبيوتر
