مسار الرسومات

تُعرف سلسلة معالجة الرسومات الحاسوبية، أو ببساطة سلسلة معالجة الرسومات، أو سلسلة معالجة العرض ، بأنها مجموعة من الإجراءات لتحويل مشهد ثلاثي الأبعاد إلى تمثيل ثنائي الأبعاد على الشاشة. [ 1 ] بمجرد إنشاء نموذج ثلاثي الأبعاد ، تقوم سلسلة معالجة الرسومات الحاسوبية بتحويل هذا النموذج إلى تنسيق مرئي على شاشة الحاسوب. [ 2 ]

نظراً لاعتماد معالجة الرسومات على تكوينات برمجية ومادية محددة وخصائص عرض مطلوبة، لا يوجد مسار رسومات موحد قابل للتطبيق عالمياً. مع ذلك، طُوّرت واجهات برمجة تطبيقات الرسومات (APIs)، مثل Direct3D و OpenGL و Vulkan، لتوحيد الإجراءات الشائعة والإشراف على مسار الرسومات في مُسرّعات الأجهزة المختلفة. توفر هذه الواجهات طبقة تجريدية فوق الأجهزة الأساسية، مما يُغني المبرمجين عن كتابة تعليمات برمجية تستهدف مُسرّعات الرسومات المختلفة بشكل صريح، مثل AMD و Intel و Nvidia وغيرها.

يُستخدم نموذج خط أنابيب الرسومات عادةً في العرض في الوقت الفعلي. غالبًا ما تُنفَّذ معظم خطوات خط الأنابيب في الأجهزة، مما يسمح بإجراء تحسينات خاصة . يُستخدم مصطلح "خط الأنابيب" بمعنى مماثل لخط الأنابيب في المعالجات : غالبًا ما تُنفَّذ الخطوات الفردية لخط الأنابيب بالتوازي عندما تحتوي مرحلة معينة على بيانات كافية.

مفهوم

يشير مصطلح "خط أنابيب ثلاثي الأبعاد" عادةً إلى الشكل الأكثر شيوعًا من أشكال العرض ثلاثي الأبعاد باستخدام الحاسوب، وهو عرض المضلعات ثلاثي الأبعاد ، والذي يختلف عن تتبع الأشعة وإسقاط الأشعة . في إسقاط الأشعة، ينطلق شعاع من النقطة التي تتواجد فيها الكاميرا، وإذا اصطدم هذا الشعاع بسطح ما، يتم حساب لون وإضاءة النقطة التي اصطدم بها الشعاع على السطح. أما في عرض المضلعات ثلاثي الأبعاد، فيحدث العكس؛ حيث تُحسب المساحة المتاحة للكاميرا، ثم تُنشأ أشعة من كل جزء من كل سطح متاح للكاميرا، ويتم تتبعها عائدةً إلى الكاميرا. [ 3 ]

بناء

يمكن تقسيم مسار معالجة الرسومات إلى ثلاثة أجزاء رئيسية: التطبيق، والهندسة، والتحويل إلى صورة نقطية. [ 4 ]

طلب

تُنفَّذ خطوة التطبيق بواسطة البرمجيات أو الأجهزة على المعالجات الرئيسية ( وحدة المعالجة المركزية ، وحدة معالجة الرسومات ). خلال هذه الخطوة، تُجرى التغييرات على المشهد حسب الحاجة، على سبيل المثال، من خلال تفاعل المستخدم باستخدام أجهزة الإدخال أو أثناء الرسوم المتحركة. ثم يُمرَّر المشهد الجديد مع العناصر الأولية المُعدَّلة (النقاط، والخطوط، والمثلثات، إلخ) إلى الخطوة التالية في مسار المعالجة.

من أمثلة خطوات التطبيق: اكتشاف التصادم ، والرسوم المتحركة، والتحويل، وتقنيات التسريع باستخدام مخططات التقسيم المكاني مثل الأشجار الرباعية أو الثمانية . تُستخدم هذه التقنيات أيضًا لتقليل حجم الذاكرة الرئيسية المطلوبة في وقت معين. عادةً ما يكون "عالم" لعبة الكمبيوتر الحديثة أكبر من الذاكرة الداخلية المتاحة.

الهندسة

تتولى خطتا معالجة الهندسة والرؤوس مسؤولية معظم العمليات المتعلقة بالمضلعات . ويمكن تقسيم هاتين الخطتين إلى خمس مهام. وتختلف طريقة تنظيم هذه المهام كخطوات متوازية فعلية في خط المعالجة باختلاف التطبيق.

نظام الإحداثيات العالمي

نظام الإحداثيات العالمي هو نظام الإحداثيات الذي يُنشأ فيه العالم الافتراضي. غالبًا ما تُصمَّم العناصر الموجودة في المشهد (المنازل، الأشجار، السيارات) في نظام إحداثياتها الخاص (يُسمى أيضًا نظام إحداثيات النموذج أو نظام الإحداثيات المحلي) لتسهيل عملية النمذجة. ولتعيين إحداثيات هذه العناصر في نظام الإحداثيات العالمي أو نظام الإحداثيات الشامل للمشهد بأكمله، تُحوَّل إحداثيات العناصر باستخدام الإزاحة أو الدوران أو تغيير الحجم. ويتم ذلك بضرب مصفوفات التحويل المناسبة . بالإضافة إلى ذلك، يمكن إنشاء نسخ متعددة مُحوَّلة بشكل مختلف من عنصر واحد، على سبيل المثال، إنشاء غابة من شجرة. يُسمى هذا الإنشاء بالنسخ المتعددة .

تحويل الكاميرا

اليسار: موضع واتجاه الكاميرا الافتراضية، كما حددها المستخدم. اليمين: موضع العناصر بعد تحويل الكاميرا. المنطقة الرمادية الفاتحة هي الحجم المرئي.

بالإضافة إلى العناصر، يُحدد المشهد أيضًا كاميرا افتراضية أو عارضًا يُشير إلى موضع واتجاه الرؤية التي يُعرض المشهد بالنسبة لها. يتم تحويل المشهد بحيث تكون الكاميرا عند نقطة الأصل وتنظر على طول المحور Z. يُسمى نظام الإحداثيات الناتج بنظام إحداثيات الكاميرا، ويُسمى التحويل بتحويل الكاميرا أو تحويل الرؤية .

عرض

تحوّل خطوة الإسقاط ثلاثي الأبعاد حجم العرض إلى مكعب ذي إحداثيات نقاط الزاوية (-1، -1، 0) و(1، 1، 1)؛ وفي بعض الأحيان تُستخدم أحجام مستهدفة أخرى. تُسمى هذه الخطوة بالإسقاط ، على الرغم من أنها تحوّل حجمًا إلى حجم آخر، لأن إحداثيات Z الناتجة لا تُخزّن في الصورة، بل تُستخدم فقط في التخزين المؤقت Z في خطوة المسح اللاحقة. في الرسم التوضيحي المنظوري ، يُستخدم إسقاط مركزي .

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

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

في خطوة العرض الفعلية، يتم حساب مصفوفة العالم * مصفوفة الكاميرا * مصفوفة الإسقاط، ثم يتم تطبيقها على كل نقطة على حدة. وبذلك، تُنقل نقاط جميع الكائنات مباشرةً إلى نظام إحداثيات الشاشة (تقريبًا، حيث لا يزال نطاق قيم المحاور من -1 إلى 1 للنطاق المرئي، انظر قسم "تحويل نافذة العرض").

إضاءة

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

قص

قص الأشكال الأولية على المكعب. يتم تجاهل المثلث الأزرق بينما يتم قص المثلث البرتقالي، مما يؤدي إلى إنشاء رأسين جديدين.
مخروط ناقص

لا يلزم رسم (نقل) سوى العناصر الأولية الموجودة داخل الحجم المرئي. يُعرَّف هذا الحجم المرئي بأنه الجزء الداخلي من مخروط ناقص ، وهو شكل هرمي ذو قمة مقطوعة. تُهمل العناصر الأولية الموجودة خارج الحجم المرئي تمامًا، وتُسمى هذه العملية " استبعاد المخروط الناقص ". من الناحية النظرية، يمكن تطبيق طرق استبعاد أخرى، مثل استبعاد الأوجه الخلفية، الذي يقلل عدد العناصر الأولية المطلوب معالجتها، في أي خطوة من خطوات معالجة الرسومات. يجب قص العناصر الأولية الموجودة جزئيًا داخل المكعب على المكعب. تكمن ميزة خطوة الإسقاط السابقة في أن القص يتم دائمًا على نفس المكعب. تُمرَّر العناصر الأولية - التي قد تكون مقصوصة - الموجودة داخل الحجم المرئي فقط إلى الخطوة النهائية.

تحويل النافذة إلى منفذ العرض

تحويل نافذة العرض

لإخراج الصورة إلى أي منطقة مستهدفة (منفذ عرض) على الشاشة، يجب تطبيق تحويل آخر، وهو تحويل نافذة-منفذ العرض . الإحداثيات الناتجة هي إحداثيات جهاز الإخراج.

في الأجهزة الحديثة، تُنفَّذ معظم خطوات حساب الهندسة في مُظلِّل الرؤوس . وهو قابل للبرمجة بحرية من حيث المبدأ، ولكنه يُنفِّذ عادةً على الأقل تحويل النقاط وحساب الإضاءة. بالنسبة لواجهة برمجة DirectX، يُصبح استخدام مُظلِّل رؤوس مُخصَّص ضروريًا بدءًا من الإصدار 10، بينما لا تزال الإصدارات الأقدم تستخدم مُظلِّلًا قياسيًا.

تحويل الصور النقطية إلى صور نقطية

تُعدّ خطوة التحويل إلى صورة نقطية الخطوة الأخيرة قبل مسار معالجة الصور المتقطعة، حيث يتم تحويل جميع العناصر الأولية إلى صور نقطية . في هذه الخطوة، يتم إنشاء أجزاء منفصلة من عناصر أولية متصلة.

في هذه المرحلة من مسار معالجة الرسومات، تُسمى نقاط الشبكة أيضًا "أجزاءً" لتمييزها بشكل أفضل. يُقابل كل جزء بكسلًا واحدًا في مخزن الإطار، وهذا بدوره يُقابل بكسلًا واحدًا على الشاشة. يمكن تلوين هذه الأجزاء (وربما إضاءتها). علاوة على ذلك، من الضروري تحديد الجزء المرئي الأقرب إلى المُشاهد، في حالة تداخل المضلعات. يُستخدم عادةً مخزن العمق (Z-buffer) لتحديد ما يُسمى " السطح المخفي" . يعتمد لون الجزء على الإضاءة والملمس وخصائص المادة الأخرى للشكل المرئي، وغالبًا ما يتم استيفاؤه باستخدام خصائص رؤوس المثلث. عند توفره، يتم تشغيل مُظلل الأجزاء (يُسمى أيضًا مُظلل البكسل ) في خطوة التظليل النقطي لكل جزء من الكائن. إذا كان الجزء مرئيًا، فيمكن الآن مزجه مع قيم الألوان الموجودة مسبقًا في الصورة في حال استخدام الشفافية أو أخذ العينات المتعددة. في هذه الخطوة، يُصبح جزء واحد أو أكثر بكسلًا.

لمنع المستخدم من رؤية عملية تحويل العناصر الأولية إلى صور نقطية تدريجيًا، يتم استخدام التخزين المؤقت المزدوج. تتم عملية التحويل إلى صور نقطية في منطقة ذاكرة خاصة. بمجرد اكتمال تحويل الصورة إلى صورة نقطية، يتم نسخها إلى المنطقة المرئية من ذاكرة الصور.

معكوس

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

انظر أيضاً

مصادر

  • أكينين-مولر، توماس؛ هاينز، إريك؛ هوفمان، ناتي (2019) [2008]. العرض في الوقت الحقيقي . مطبعة سي آر سي. رقم ISBN 9781315362007.
  • بندر، مايكل. بريل، مانفريد (2006). رسومات الكمبيوتر: ein anwendungsorientiertes Lehrbuch . ميونيخ: هانسر. رقم ISBN 3-446-40434-1.
  • فيشر، مارتن (2011/07/04). بكسل فابريك. يتم لعب رقائق الرسومات على الشاشة الملونة . c't مجلة لتقنية الكمبيوتر. هايز زيتسكريتن فيرلاغ. ص.  180. ردمك 0724-8679 . 

مراجع

  1. "خط أنابيب الرسومات" . مايكروسوفت . 30 مايو 2018. تم الاسترجاع في 15 يونيو 2015 .
  2. "محاضرة: خط أنابيب الرسومات والرسوم المتحركة" . مؤرشفة من الأصل في 7 ديسمبر 2017. تم الاطلاع عليها في 15 يونيو 2015 .
  3. لورانس، جيسون (22 أكتوبر 2012). "خط أنابيب عرض المضلعات ثلاثية الأبعاد" (ملف PDF) . مؤرشف (ملف PDF) من الأصل في 29 ديسمبر 2016. تم الاطلاع عليه بتاريخ 19 سبتمبر 2019 .
  4. أكينين-مولر، هاينز وهوفمان 2019 ، ص 13 2.1 الهندسة المعمارية الشكل 2.2