دايركت ثري ديدايركت ثري دي
دايركت ثري دي (بالإنجليزية: Direct3D) أحد مكونات المكتبة البرمجية دايركت إكس من شركة مايكروسوفت. والذي يقدم أساساً خدمات تخريج رسوميات ثلاثية الأبعاد بشكل فوري لمبرمجي التطبيقات على نظم تشغيل ويندوز وإكس بوكس وإكس بوكس 360. كما هو الحال مع العديد من مكونات دايركت إكس الأخرى، يشكل دايركت ثري دي واجهة مزدوجة تتخذ موقعها بين مبرمج التطبيقات وكاتب برنامج تشغيل بطاقة العرض، مما يبسط مهمة التخاطب مع معالج بطاقة العرض بشكل كبير، حيث أن مبرمج التطبيقات لن يحتاج إلا أن يتعامل مع دايركت ثري دي كي يدعم كافة بطاقات العرض المتوافقة. ومن الجهة الأخرى لن يحتاج كاتب برنامج تشغيل بطاقة العرض سوى أن يستقبل أوامر دايركت ثري دي وأن يتعامل معها بشكل صحيح كي تعمل كافة التطبيقات على بطاقة العرض.
إمكانياتتشمل إمكانيات دايركت ثري دي الأمور الآتية:
تاريخفي عام 1992 افتتح سيرفان كوينديان شركة باسم ريندر مورفيكس (بالإنجليزية: RenderMorphics) قامت بتطوير مكتبة برمجة رسوميات ثلاثية الأبعاد تدعى رياليتي لاب Reality Lab بهدف تخديم احتياجات قطاعي الطب والرسم الهندسي. بعد الإصدار الثاني من المكتبة وفي فبراير 1995 تقدمت مايكروسوفت لشرائها وتوظيف سيرفان لتطوير مكتبة برمجة رسوميات ثلاثية الأبعاد لنظام تشغيل ويندوز 95، لتكون بذلك الإصدار الأول من دايركت ثري دي، والذي طُرح في الإصدار الثاني والثالث من دايركت إكس.[1] عبر إصداراته الأولى، قدم دايركت ثري دي واجهتـَيْ برمجة فيما يدعى بالبرمجة بالنمط المُصان (بالإنجليزية: Retained Mode)، والنمط المباشر (بالإنجليزية: Immediate Mode). حيث يعتبر النمط الأول الطريقة المبسطة لبرمجة دايركت ثري دي ويعمل وفقاً لمخطط مشهد مبنياً بالاعتماد على تقنية كوم COM، إلا أنه لم يلقَ رواجاً بين المبرمجين الذين طمحوا لمزيد من التحكم، فابتعدت مايكروسوفت عن تحديثه بُعَيْد الإصدار الثالث من دايركت إكس. أما النمط المباشر فقد اعتمد على مبدأ ملء ما يدعى بمخزن التنفيذ (بالإنجليزية: Execute Buffer) بتعليمات الرسم التي يريدها المبرمج. حيث طمحت مايكروسوفت أن يقوم كُتـَّاب برامج تشغيل بطاقات العرض بدعم وتفسير التعليمات في مخزن التنفيذ مباشرة للحصول على أسرع أداء. إلا أن التعامل مع مخازن التنفيذ كان مربكاً للعديد من المبرمجين، مما منع من اعتناق دايركت ثري دي، ليقود الوضع لمطالبة مايكروسوفت لاعتماد أوبن جي إل كمكتبة رئيسة للتعامل مع الرسوميات ثلاثية الأبعاد لكل من الحاسبات الشخصية ومحطات العمل. إلا أن مايكروسوفت استمرت في تحسين دايركت ثري دي ليكون بذلك منافساً لأوبن جي إل ومكتبة جلايد الخاصة بشركة ثري دي إف إكس. تم تسليم العمل على النمط المباشر من دايركت ثري دي لفريق من المبرمجين في ريدموند، بينما استمر فريق سيرفان في تطوير النمط المصان. إصداراتيبقى رقم إصدار دايركت ثري دي مرتبطاً برقم إصدار مكتبة دايركت إكس الشاملة، لذلك فإن أرقام الإصدارات المذكورة هنا هي أرقام إصدار مكتبة دايركت إكس والتي حَوَت دايركت ثري دي من الإصدار الثاني (دايركت إكس 2.0): الثاني والثالثظهر دايركت ثري دي لأول مرة مع الإصدار الثاني من دايركت إكس في 2 يونيو 1996، وطرأت عليه تغييرات طفيفة في الإصدار الثالث في نفس العام. حوى الإصدار واجهتي البرمجة بالنمط المباشر والنمط المصان. يتطابق النمط المصان مع ما يدعى اليوم بمحرك رسوميات ثلاثية الأبعاد، حيث أنه حوى وظائف تحميل المشاهد والإكساءات والتحريك والإضاءة والظلال وإدارة المشهد بمستوى عالي.[2][3] في هذا الإصدار ظهرت هيئة ملفات دايركت ثري دي والتي سُميت فيما بعد بملفات إكس بسبب كونها تحمل الامتداد (.x). كما اقترنت مع مجموعة أدوات مساعدة في عدة التطوير تسمح للمبرمجين بتحويل ملفات ثري دي ستوديو (.3ds) إلى هيئة ملفات إكس. بُني النمط المصان كطبقة فوق النمط المباشر، والذي يعمل من خلال دايركت درو لإظهار الصورة بشكل نهائي على الشاشة ضمن الأنماط التي يدعمها دايركت درو. من الجدير بالذكر أن هذا الإصدار من دايركت ثري دي لا يدعم معالجات الرسوميات وذلك لانعدامها من سوق المستهلك آنذاك؛ لذا كافة حسابات الرسم كانت تتم على المعالج المركزي. دعم دايركت ثري دي الرسم بعمق لوني 8-بت (باستخدام لوح لوني، أو تدريجات الأبيض والأسود)، وعمق 16-بت وَ 24-بت. من أشهر أمثلة دايركت ثري دي التي طُرحت مع عدة تطوير دايركت إكس هو مثال روكيم (Rockem)، وهو لعبة قتال ثلاثية الأبعاد بين ربوتين خصمين في حلبة دائرية تحمل شعار دايركت إكس النووي. استمر هذا المثال في مرافقة عدة التطوير حتى آخر ظهور له في الإصدار 5.2، وقد بُرمج باستخدام النمط المصان من دايركت ثري دي، ليظهر كيفية الاستفادة من خدمات التحريك والإضاءة والكاميرا.[4] المجسمات يتم تحميلها من ملفات بهيئة دايركت ثري دي (.x) وتحوي المجسمات وحركاتها. تستخدم اللعبة موسيقى ميدي وأصوات بهيئة ويف (.wav)، وتعتمد على دايركت درو لإعداد النافذة في نمط عرض ملء الشاشة. من الجدير بالذكر أن الإكساءات في اللعبة محفوظة بدقة لونية 8-بت بالاعتماد على لوح ألوان، وهو ما لم يعد مدعوماً في معالجات الرسوميات الحديثة. الخامسإصدار يوليو 1997. تم استبدال مخازن التنفيذ بأوامر رسم مباشرة (DrawPrimitive) في نمط الرسم المباشر، مما يعتبر نقلة نوعية عن أسلوب الرسم السابق والذي كان مصدر إزعاج للعديد من المبرمجين. كما استقدَمَ نمطُ الرسم المصان إمكانية دمج الألوان وتحريك الأجسام بسلاسة من موقع لآخر وتحوير المجسمات إضافة إلى تحويلات أخرى. استقدم النمط المصان أيضاً ميزة المجسمات التدريجية (بالإنجليزية: progressive meshes) التي تتيح للمبرمج زيادة دقة وعدد السطوح في المجسم وفقاً لبعده عن عين الناظر أو زيادة التفاصيل تدريجياً بينما يتم تحميل المجسم عبر الإنترنت.[4] السادسإصدار أغسطس 1998. تم استقدام مزايا عديدة لدعم معالجات الرسوميات المعاصرة، كالإكساء المتعدد ومخزن الرؤوس ومخزن ستنسل وتخزين دبليو (بالإنجليزية: W Buffering)، وحسابات تحويل مسرعة بالاستفادة من تعليمات المعالجات المتقدمة مثل إس إس إي SSE وثري دي ناو 3DNow!، إضافة إلى مدير ذاكرة إكساءات اختياري لتبسيط البرمجة واستقدام هيئة ملفات دي دي إس (.dds). كما أن هذا الإصدار احتوى على مزايا حصلت مايكروسوفت على ترخيصها من شركات العتاد مقابل طرح هذه المزايا على العموم من خلال دايركت ثري دي. من أبرز هذه المزايا ضغط الإكساءات الذي طورته شركة إس3 S3 والذي أُطلق عليه اسم دي إكس تي سي (بالإنجليزية: DXTC) ليتماشى مع تسمية دايركت إكس. من المزايا المرخصة الأخرى ميزة إظهار النتوءات من شركة ترايتيك (بالإنجليزية: TriTech). بهذا الأسلوب ضمنت مايكروسوفت أن تدعم شركات العتاد كافة مزايا دايركت ثري دي في أقرب فرصة، مما قدّم الصناعة بسرعة لم تكن ممكنة بحضور هيئة مراجعة مواصفات أوبن جي إل. احتوى الإصدار السادس أيضاً على مصيّر مرجعي يستخدم لمقارنة حسابات معالج الرسوميات مع حسابات دايركت ثري دي كما يجب أن تكون، وذلك لمساعدة المبرمجين على كشف أخطاء برامج تشغيل بطاقات العرض. بالنسبة للنمط المصان، فإن التطويرات انحصرت في تحسين الواجهات البرمجية وإعطاء المبرمج المزيد من الوصولية لمعلومات الرسم والتحريك، إضافة إلى اعتماد المزيد من خصائص النمط المباشر في برمجة النمط المصان. في هذا الإصدار أيضاً تمت إزالة هذا النمط من مكتبة دايركت إكس الأساسية (بالإنجليزية: DirectX Foundation) ونُقِل إلى مكتبة وسائط دايركت إكس (بالإنجليزية: DirectX Media) إلى جانب دايركت شو ودايركت ميوزيك.[5] السابعإصدار سبتمبر 1999. في هذا الإصدار أضيفت مزايا جديدة عديدة[6]، منها:
الثامنإصدار نوفمبر 2000. تميز باستقدام برمجة المظللات لكل من الرؤوس والبكسلات باستخدام لغة تجميع المظللات التي طورتها مايكروسوفت، وقد احتوت عدة التطوير على مترجم خاص لتحويل نص المظلل إلى تعليمات رمزية يستقبلها برنامج تشغيل بطاقة العرض وينفذها على رؤوس المجسمات أو البكسلات. بالرغم من مرونة مجموعة تعليمات مظلل البكسلات في دايركت ثري دي 8، إلا أن الاعتماد على بعض إعدادات خط المعالجة الثابت بقي ضرورياً مما سبب بعض الإرباك للمبرمجين. يعتبر استقدام المظللات نقلة نوعية عن أسلوب أوبن جي إل في ضبط الرسم عن طريق الكم الهائل من الإعدادات. دَعَم دايركت ثري دي 8 وَ 8.1 الجيل الأول من المظللات للإصدار 1.1 من مظلل الرؤوس و 1.4 من مظلل البكسلات. في هذا الإصدار أيضاً أزيل الارتباط مع دايركت درو تماماً، ونُقلت بعض العمليات إلى دايركت ثري دي 8.0 (كنسخ البكسلات بين سطوح الرسم المختلفة) وطُرحت تسهيلات لإنجاز مهام الرسم ثنائي البعد من خلال دايركت ثري دي (باستخدام وحدة ID3DXSprite من مكتبة امتدادات دايركت ثري دي). بجانب التطويرات أعلاه، أضيفت إمكانية الرسم على سطوح متعددة العينات (بالإنجليزية: multisampling)، ورسم الأشكال الشبحية النقطية، واستخدام الإكساءات الحجمية.[7] التاسعإصدار ديسمبر 2002. في هذا الإصدار دُعِمت مزايا عديدة[8]، منها:
يعتبر الإصدار التاسع من أكثر الإصدارات ثباتاً وانتشاراً، حيث أن مايكروسوفت التزمَتْ بطرح تحديثات عدة التطوير بتوقيت ثنائي-شهري لتحسين مترجم المظللات كسبب رئيس (تطويرات لمكتبة الامتدادات بدلاً من المكتبة الأساسية).[9] التاسع إلطُرح هذا الامتداد على ويندوز فيستا برقم 9L لمعاونة تطبيقات دايركت ثري دي 9 للعمل على نظام ويندوز لبرامج تشغيل العرض (بالإنجليزية: Windows Display Driver Model) أو WDDM، والمستخدم في رسم سطح مكتب آيرو (بالإنجليزية: Windows Aero).[10] كما أن هذا الامتداد استـُخدم كوسيط لتحويل أوامر أوبن جي إل إلى أوامر دايركت ثري دي ورسمها عن طريق دايركت ثري دي في النهاية دون الحاجة لوجود برنامج تشغيل أوبن جي إل.[11] دُعيت هذه الامتدادات بـقاعدة رسوميات ويندوز 1.0. التاسع إكسإصدار خاص من دايركت ثري دي 9.0 على ويندوز 7 برقم 9.0Ex. يتيح هذا النظام إمكانية استخدام ذاكرة عرض افتراضية مدعومة بذاكرة الحاسوب الرئيسية، وتوقيت ومقاطعة أوامر الرسم، ومشاركة سطوح الرسم عبر عدة تطبيقات مستقلة.[12] التاسع المُدارنشرت مايكروسوفت طبقة إضافية مُدارة من دايركت ثري دي 9 ضمن حزمة دايركت إكس المدار (بالإنجليزية: Managed DirectX) تتيح لمستخدمي لغات دوت نت الاستفادة من خدمات دايركت ثري دي في برامجهم. الإصدار الأول من هذه الطبقة (برقم MDX 1.1) عمل بنسبة 40% من الأداء الكامل لدايركت ثري دي[13]، والممكن تحقيقه عن طريق استخدام دايركت ثري دي من خلال سي بلس بلس. في الإصدارات اللاحقة من عدة التطوير، طرح الإصدار الثاني من الطبقة المدارة بنسخة بيتا (MDX 2.0 Beta). صرّح فريق تطوير دايركت إكس آنذاك أن هذا الإصدار يحقق أداء لا يقل عن 98% منه في برامج السي والسي بلس بلس الاعتيادية.[8] يُعتبر توم ميلر من أبرز أسماء العاملين في الطبقة المدارة من دايركت إكس.[14] توقف تطوير دايركت إكس المدار عند الإصدار الثاني بيتا، واستُبدل بإطار عمل إكس إن إيه. العاشرإصدار نوفمبر 2006. طُرح مع ويندوز فيستا تحت مسمى قاعدة رسوميات ويندوز 2.0، وهو غير متوافق مع إصدارات ويندوز السابقة لويندوز فيستا؛ دُعِي أيضاً باسم دايركت إكس نيكست (بالإنجليزية: DirectX Next) أثناء فترة تطويره.[15] من أهم مزايا هذا الإصدار استقدام الجيل الرابع من المظللات (4.0 وَ 4.1). تتميز المظللات في الجيل الرابع بأنها تتشارك في إمكانيات البرمجة إلى حد بعيد (كمعاينة الإكساءات وقراءة ثوابت المظلل)؛ ودعم رياضيات الأعداد الصحيحة والعمليات على البتات والإسناد الشرطي. أضاف الإصدار العاشر مظلل المجسمات إلى جانب مظلل الرؤوس ومظلل البكسلات. يتيح مظلل المجسمات إمكانية توليد مجسمات كاملة على معالج الرسوميات، دون الحاجة للالتزام بنموذج مظلل الرؤوس الذي ينحصر عمله في أخذ رأس المضلع ومعالجته وتخريجه دون أن يستطيع إضافة رؤوس جديدة أو حذف رؤوس موجودة. تخلص الإصدار العاشر من قائمة الإمكانيات الاختيارية التي أتاحتها الإصدارات السابقة من دايركت ثري دي. بدلاً من ذلك، يشترط دايركت ثري دي 10 على كل بطاقة عرض أن تدعم كامل الإمكانيات دون نقصان. بهذا يتحرر المبرمج من عناء اختبار إمكانيات بطاقة عرض المستخدم وتوليف برنامجه للعمل وفقاً للمواصفات المتاحة. فيما يلي قائمة بالمزايا الأخرى التي جاء بها الإصدار العاشر:[16]
أُتبع الإصدار العاشر بتحديث طفيف 10.1 أضاف مجموعة صغيرة من اشتراطات الجودة على بطاقات العرض، كدعم ترشيح الإكساءات العشرية حتى دقة 32-بت، ودعم تنعيم الحواف حتى الدرجة الرابعة، والإصدار 4.1 من المظللات. فُتحت أيضاً معايرات صغيرة للمبرمجين لزيادة جودة الرسم، كالتحكم بتفاصيل تنعيم الحواف في كل أنظمته (المعاينة المتعددة أو الفوق-معاينة) وتغيير نسق المعاينة. كما وُسعت مصفوفات الإكساء لتدعم الإكساءات المكعبة. من الجدير بالذكر أن 10.1 يعمل على بطاقات عرض 10.0، مع فرض تطبيق اشتراطات 10.1 على كافة بطاقات العرض الجديدة. أغلب الألعاب التي دعمت دايركت ثري دي 10 في مطلعه دعمَت أيضاً الرسم بدايركت ثري دي 9، وذلك بسبب عدم توافق الإصدار العاشر مع نسخ ويندوز السابقة وندرة بطاقات العرض المتوافقة معه، مما يحد من انتشار اللعبة بشكل كبير. الحادي عشرإصدار أكتوبر 2009. طُرح مع ويندوز 7، وهو متوافق مع ويندوز فيستا مع وجود بعض التحديثات. احتوى هذا الإصدار على أنواع جديدة من المظللات وتفرعت منه واجهات برمجية جديدة كدايركت رايت ودايركت تو دي. يحافظ الإصدار الحادي عشر على فلسفة المزايا الموحدة عبر كافة بطاقات العرض. إلا أنه وفي سبيل أن يعمل على بطاقات العرض المتوافقة مع الإصدار التاسع فقط أو العاشر فقط، فإنه يقدم للمبرمج إمكانية اختيار نمط العمل ليتوافق مع بطاقة عرض من جيل الإصدار التاسع أو العاشر؛ حيث يستطيع المبرمج تلافي استخدام المزايا المتقدمة من دايركت ثري دي 11. فيما يلي قائمة ببعض المزايا الجديدة في الإصدار الحادي عشر:[17][18]
الثاني عشرإصدار 29 يوليوز 2015 طرح مع ويندوز 10 المعماريةيعمل دايركت ثري دي كطبقة وسيطة بين التطبيق وبرنامج تشغيل بطاقة العرض. حيث يتعامل مبرمج التطبيق مع واجهة موحدة عبر كافة أنواع بطاقات العرض المختلفة، ومن جهة أخرى يقوم كاتب برنامج التشغيل بالتعامل مع واجهة مقابلة من دايركت ثري دي لاستقبال أوامره وتفسيرها لأوامر ينفذها معالج الرسوميات.[19] كما يظهر في الشكل المقابل، يتألف دايركت ثري دي من عدة مكونات: الواجهة البرمجية لمبرمجي التطبيقاتتمثلها عدة التطوير البرمجية التي تـُنشر للمبرمجين مجاناً. تتألف عدة التطوير من الملفات اللازمة للمبرمج كي يحقق نداءات لدايركت ثري دي ويستخدم مكوناته، هذه الملفات هي ملفات الترويسة (h.) والمكتبات المترجمة (lib.) لكتابة التطبيقات بلغة سي بلس بلس. إضافة إلى ذلك تشمل عدة التطوير وثائق تعليمية ومرجعية وعدد كبير من الأمثلة التطبيقية. الواجهة البرمجية لمبرمجي برامج تشغيل بطاقات العرضتمثلها عدة تطوير برامج التشغيل (DDK) التي تـُنشر لمبرمجي برامج التشغيل للتعامل مع أوامر دايركت ثري دي.[20] يتأثر هذا الجزء كثيراً باختلاف إصدارات ويندوز. وقد تعرض لتطويرات جذرية مع استقدام نموذج ويندوز لبرامج تشغيل العرض WDDM الذي طُرح مع ويندوز فيستا وويندوز 7؛ أهم التطويرات أن برنامج التشغيل أصبح يعمل في مستوى المستخدم بدلاً من مستوى النواة كما كان الحال سابقاً في ويندوز إكس بي وما قبله. بهذه الطريقة فإن أخطاء برنامج التشغيل لم تعُد قاتلة أو تتسبب بشاشة الموت الزرقاء كما كان الوضع سابقاً، مما يعني مزيداً من الثبات لنظام التشغيل ككل. خط المعالجة البرمجييقدم بديلاً لمبرمجي التطبيقات لإنجاز الحسابات حتى وإن لم تكن مدعومة على معالج الرسوميات، وذلك عن طريق إنجازها على المعالج المركزي. يشمل خط المعالجة البرمجي في دايركت ثري دي على كافة حسابات تحويل الرؤوس وإضاءتها ومظللات الرؤوس وحسابات رؤوس خط المعالجة الثابت. للمبرمج حرية اختيار أي الحسابات تنفذ على معالج الرسوميات، وأيها ينفذ على خط المعالجة البرمجي. إضافة لذلك، يحوي خط المعالجة البرمجي عدد من المصيـّرات البرمجية أيضاً. بعضها مقبول الأداء (كمصير درجات الرمادي ومصير وارب الذي أضيف في الإصدار الحادي عشر) وبعضها الآخر فقط للمرجعية والتحقق من صحة البرنامج (المصير المرجعي (بالإنجليزية: Reference Rasterizer)). في أغلب الحالات يلاحظ أن أداء خط المعالجة البرمجي أبطأ من معالج الرسوميات، إلا أن مايكروسوفت تستمر في تحسين أداء خط المعالجة البرمجي عن طريق الاستفادة القصوى من قدرات المعالج المركزي وتعليماته المتقدمة (مثل SSE و 3DNow!). مكتبة امتدادات دايركت ثري ديلا تعتبر جزءاً أساسياً من دايركت ثري دي، بل يستطيع مبرمجو التطبيقات إنجاز كافة مهام الرسم دون الاستعانة بهذه المكتبة، إلا أنها قد اكتسبت أهمية كبيرة في دايركت ثري دي بسبب احتوائها على مترجم المظللات للغة التظليل عالية المستوى، والذي تصعب كتابته أو الاستعاضة عنه بكود مكتوب يدوياً. باستخدام مكتبة امتدادات دايركت ثري دي يستطيع المبرمج إنجاز العديد من المهام الروتينية بسهولة، كتحميل الإكساءات من صيغ الملفات المشهورة وترجمة المظللات وتحميل المجسمات بصيغة ملفات دايركت ثري دي (x.) ورسمها بموادها؛ إضافة إلى مجموعة واسعة من الوظائف الرياضية كتحويل المصفوفات والمتجهات والألوان. يتبع دايركت ثري دي خط معالجة عام يتشابه مع خطوط المعالجة الموجودة في الأنظمة الأخرى كأوبن جي إل والمصيرات المسحيّة (بالإنجليزية: Scan-line Renderers). لم تختلف الخطوات كثيراً بين الإصدارات المختلفة، إلا أنها توسعت وتفرعت في أغلب الأحيان. كافة الخطوات المذكورة أدناه تتشارك في إمكانيتها للوصول إلى الموارد المختلفة على بطاقة العرض أو الذاكرة الرئيسية في الحاسوب. عموماً، يتبع دايركت ثري دي خط معالجة بالخطوات المتسلسلة التالية:[19] تجميع المدخلاتتحمل رؤوس المثلثات معلومات مختلفة إضافة إلى الموقع الفراغي، كإحداثيات الإكساء واللون والنواظم. يسمح دايركت ثري دي بأن تـُحفظ كل من هذه المعلومات في سلسلة مستقلة أو أن تجمع في سلسلة واحدة بترتيب ورود محدد. في خطوة تجميع المدخلات يتم جمع معلومات الرأس من كافة المخازن وترتيبها في بنية محددة وصريحة تُرسل للخطوة التالية في خط المعالجة. معالجة الرؤوس والمجسمتقوم هذه الخطوة بتحويل مواقع الرؤوس لتصبح في ما يدعى بنظام إحداثيات القص (بالإنجليزية: clip space) حيث تتراوح إحداثيات الرؤوس في المجال [1,1-]، وأي إحداثيات خارجة عن هذا المجال تقع خارج سطح الرسم ويتم قصها في الخطوة التالية في خط المعالجة (لذلك يدعى بنظام إحداثيات القص). بدءاً من الإصدار الثامن، أصبحت هذه الخطوة قابلة للبرمجة المباشرة باستخدام مظلل الرؤوس، على أن يقوم المظلل في النهاية بتخريج إحداثي الرأس في نظام إحداثيات القص. بدءاً من الإصدار العاشر، أُتبع مظلل الرؤوس بمظلل المجسم (بالإنجليزية: geometry shader). والذي يتميز عن مظلل الرؤوس بإمكانية توليد مجسم كامل انطلاقاً من عدد محدود من الرؤوس المكونة لمضلعات أو قطع مستقيمة أو نقاط (كمثال، توليد مجسم شجرة انطلاقاً من سلسلة رؤوس تمثل هيكل الشجرة). أيضاً يزيل الإصدار العاشر من دايركت ثري دي ضرورة تخريج موقع الرأس في نظام إحداثيات القص إن كانت نتائج المظلل ستذهب إلى خطوة تخريج الدفق في خط المعالجة بدلاً من خطوة الرسترة أو التصيير. تخريج الدفقهذه الخطوة متوفرة في الإصدار العاشر وما بعده فقط. يستطيع المبرمج توجيه دفق نتائج حسابات مظلل الرؤوس ومظلل المجسم لتتم كتابتها في ذاكرة وسيطة أو مخزن جانبي بدلاً من إرسالها لبقية خط المعالجة. في هذه الحالة يمكن استخدام النتائج في جولات حسابية أخرى أو قراءتها على المعالج المركزي والاستفادة منها. رسترة البكسلاتكافة المضلعات والخطوط والنقاط المعالجة يتم تحويلها/تصييرها إلى بكسلات على سطح الرسم. هنا أيضاً يتم قص المضلعات الخارجة عن سطح الرسم، كما تتم عملية استيفاء المعلومات المحمولة في كل رأس (كاللون وإحداثيات الإكساء) عبر البكسلات التي يغطيها المضلع على سطح الرسم تمهيداً لإرسالها إلى مظلل البكسلات. معالجة البكسلاتيلي تحديد موقع بكسلات المضلع تحديد قيمتها اللونية. يتم تمرير القيم المستوفاة في خطوة الرسترة إلى مظلل البكسلات (أو مراحل الإكساء (بالإنجليزية: texture stages) كما كانت تدعى في الإصدارات السابقة)، حيث يتم حساب القيمة اللونية لكل بكسل قبل تمريرها للخطوة التالية والأخيرة في خط المعالجة. في الإصدار التاسع أضيفت إمكانية حساب عمق البكسل في مظلل البكسلات أيضاً، مما يعني أن قص البكسل يجب أن يحدث بعد تنفيذ حسابات مظلل البكسلات بدلاً من أن يتم قبل ذلك. دمج الخرجتسجيل القيمة اللونية للبكسل وقيمة العمق على سطح الرسم. يمكن أيضاً إعداد هذه الخطوة لتقوم بعملية دمج بين لون البكسل المحسوب مع لون البكسل المسجل سابقاً في سطح الرسم وذلك لتحقيق مؤثرات مثل دمج ألفا والدمج الجمعي (بالإنجليزية: additive blending). أنماط العرضيستطيع المبرمج أن يستخدم دايركت ثري دي لعرض المحتوى الثلاثي الأبعاد في نافذة في برنامجه أو أن يجعل البرنامج يحتل كامل مساحة الشاشة.[21] ضمن نافذةفي هذا النمط يتم إظهار نتائج الرسم ضمن مربع نافذة يحددها المبرمج في برنامجه. من الأمثلة على هذا النمط نوافذ الرؤية في برنامج ثري دي ستوديو ماكس. في أنظمة التشغيل السابقة لويندوز فيستا، يتم إظهار كل لقطة في النافذة عن طريق تعليمة نقل وتحجيم بيت بليت بدلاً من عملية قلب الصفحة (بالإنجليزية: page flip) وذلك لأن الإظهار لا يشمل كامل الشاشة، وبالتالي لا يمكن قلب كافة صفحة الشاشة. كامل الشاشةفي هذا النمط يستحوذ البرنامج على كامل مساحة الشاشة، ويحق له تغيير دقة العرض لتلائم مستلزماته. هذا النمط هو الشائع في ألعاب الكمبيوتر التي تستخدم دايركت ثري دي. وهو يتيح لدايركت ثري دي الاستحواذ على كافة موارد العرض مما يساعد في زيادة الأداء في كثير من الأحيان. إلا أن تصغير البرنامج (كأن يشغل المستخدم برنامجاً آخر إلى جانب اللعبة) يتسبب بفقدان كافة موارد اللعبة المحفوظة في ذاكرة العرض، مما يضطرها إلى إعادة تحميل هذه الموارد عندما تعود اللعبة إلى المقدمة في سطح المكتب. أدوات متعلقةمحقق الأداء لإكس بوكس (بيكس)انطلاقاً من عدة تطوير الإصدار التاسع من دايركت إكس، تم طرح نسخة من برنامج محقق الأداء لإكس بوكس (اختصاراً، بيكس) لتعمل على ويندوز. يستطيع المبرمج أن يستخدم بيكس لحفظ لقطة من برنامجه وتحليلها واستعراض كافة النداءات التي وُجهت لدايركت ثري دي ورؤية نتيجة كل نداء وحالة جهاز الرسم أثناء تنفيذ النداء.[22] يُستخدم بيكس بكثرة لتقصي أخطاء الرسم وتحليل الأساليب المتقدمة للوصول إلى التأثيرات الرسومية في لعبة ما. يستمر تجديد بيكس لويندوز في كل إصدار من عدة التطوير حتى آخرها، مقدماً في ذلك دعم للإصدار العاشر والحادي عشر من دايركت ثري دي. مترجم المظللات (إف إكس سي)أداة ملحقة مع عدة تطوير دايركت إكس يمكن استدعاؤها من سطر الأوامر لترجمة المظللات المحفوظة في ملفات (fx.) أو غيرها.[23] مراجع
وصلات خارجية |
Portal di Ensiklopedia Dunia