عرض البرامج

المعالجة البرمجية هي عملية توليد صورة من نموذج باستخدام برامج الحاسوب. في سياق معالجة الرسومات الحاسوبية ، تشير المعالجة البرمجية إلى عملية معالجة لا تعتمد على معالجات الرسوميات المتكاملة (ASICs) ، مثل بطاقة الرسومات . تتم المعالجة بالكامل في وحدة المعالجة المركزية (CPU ). تتمثل الميزة الرئيسية لمعالجة كل شيء باستخدام وحدة المعالجة المركزية (للأغراض العامة) في أنها تُغني عن الحاجة إلى بطاقة رسومات، ولكن عيبها هو أن وحدة المعالجة المركزية ليست مصممة خصيصًا لمعالجة الرسومات كما هو الحال في بطاقة الرسومات، مما يؤدي إلى إبطاء وقت المعالجة. [ 1 ]
تُستخدم عملية العرض في الهندسة المعمارية، والمحاكيات، وألعاب الفيديو، والأفلام، والمؤثرات البصرية التلفزيونية، وتصميم الرسوم المتحركة. تُعدّ عملية العرض الخطوة الأخيرة في عملية الرسوم المتحركة، حيث تُضفي المظهر النهائي على النماذج والرسوم المتحركة من خلال مؤثرات بصرية مثل التظليل، ورسم الخرائط النسيجية، والظلال، والانعكاسات ، وضبابية الحركة. [ 2 ] يمكن تقسيم عملية العرض إلى فئتين رئيسيتين: العرض الفوري (المعروف أيضًا بالعرض المباشر)، والعرض المسبق (المعروف أيضًا بالعرض غير المباشر). يُستخدم العرض الفوري لعرض المشهد بشكل تفاعلي، كما هو الحال في ألعاب الكمبيوتر ثلاثية الأبعاد ، وعادةً ما يتم عرض كل إطار في غضون بضعة أجزاء من الثانية. أما العرض غير المباشر، فيُستخدم لإنشاء صور وأفلام واقعية، حيث قد يستغرق إكمال كل إطار ساعات أو أيام، أو لتصحيح أخطاء أكواد الرسومات المعقدة من قِبل المبرمجين.
عرض البرامج في الوقت الفعلي
في مجال العرض الفوري، ينصب التركيز على الأداء. استخدمت برامج العرض الفوري الأولى لأجهزة الكمبيوتر، والتي تعتمد على رسم الخرائط النسيجية، العديد من الحيل لخلق وهم الهندسة ثلاثية الأبعاد ( إذ اقتصرت الأبعاد الثلاثية الحقيقية على المضلعات المسطحة أو المظللة بتقنية غورو، والتي استُخدمت بشكل أساسي في محاكيات الطيران ). على سبيل المثال، سمحت لعبة ألتيما أندروورلد بشكل محدود بالنظر لأعلى ولأسفل، والأرضيات المائلة، والغرف المتداخلة، لكنها اعتمدت على الصور النقطية (sprites) لجميع العناصر التفصيلية. تُصنف التقنية المستخدمة في هذه الألعاب حاليًا ضمن فئة 2.5D .
كانت لعبة Descent من أوائل الألعاب التي تشابهت بنيتها مع ألعاب ثلاثية الأبعاد الحديثة، إذ سمحت بحركة كاملة بست درجات حرية (6DoF) . تميزت اللعبة بنماذج ثلاثية الأبعاد مصنوعة بالكامل من مضلعات مثلثة ذات نسيج نقطي. كما اكتسبت الرسومات القائمة على الفوكسل شعبيةً لعرضها السريع والمفصل نسبيًا للتضاريس، كما في لعبة Delta Force ، إلا أن شيوع استخدام الأجهزة ذات الوظائف الثابتة حال دون ذلك. تتميز لعبة Quake ببرنامج عرض فعال من تطوير مايكل أبرش وجون كارماك . وبفضل شعبيتها، ساهمت Quake وغيرها من ألعاب ثلاثية الأبعاد متعددة المضلعات في ذلك الوقت في زيادة مبيعات بطاقات الرسومات ، وبدأت المزيد من الألعاب باستخدام واجهات برمجة التطبيقات (APIs) الخاصة بالأجهزة مثل DirectX و OpenGL . ورغم تراجع استخدام برامج العرض كتقنية عرض أساسية، إلا أن العديد من الألعاب حتى العقد الأول من الألفية الثانية ظلت تعتمد على برامج العرض كخيار احتياطي، مثل Unreal و Unreal Tournament ، اللتين تتميزان ببرامج عرض قادرة على إنتاج جودة وأداء جيدين على وحدات المعالجة المركزية في تلك الفترة. كانت لعبة Outcast واحدة من آخر ألعاب AAA التي لم تستخدم معالج رسومات مخصص ، والتي تميزت بتقنية فوكسل المتقدمة بالإضافة إلى ترشيح النسيج ورسم الخرائط النتوئية الموجودة في أجهزة الرسومات.
في أسواق أجهزة ألعاب الفيديو المنزلية وألعاب الصالات ، كان تطور تقنية الأبعاد الثلاثية أكثر حدة، إذ لطالما اعتمدت هذه الأجهزة بشكل كبير على شرائح ذات غرض واحد. حصلت أجهزة الألعاب ذات 16 بت على خراطيش معالجات RISC في ألعاب مثل StarFox و Virtua Racing ، والتي طبقت تقنية عرض البرامج من خلال مجموعات تعليمات مُخصصة. كان جهازا Jaguar و 3DO أول جهازي ألعاب يُطرحان مزودين بأجهزة ثلاثية الأبعاد، ولكن لم تُستخدم هذه الميزات في معظم الألعاب إلا مع جهاز PlayStation .
كانت ألعاب الأطفال واللاعبين العاديين (الذين يستخدمون أنظمة قديمة أو أنظمة مخصصة في الأساس لتطبيقات المكتب) خلال أواخر التسعينيات وأوائل الألفية الجديدة تعتمد عادةً على برنامج عرض الرسومات كخيار احتياطي. على سبيل المثال، تتيح لعبة Toy Story 2: Buzz Lightyear to the Rescue خيار تحديد عرض الرسومات باستخدام الأجهزة أو البرامج قبل بدء اللعبة، بينما تعتمد ألعاب أخرى مثل Half-Life على وضع البرامج افتراضيًا، ويمكن تعديلها لاستخدام OpenGL أو DirectX من قائمة الخيارات. كما تتضمن بعض برامج تصميم النماذج ثلاثية الأبعاد برامج عرض رسومات للتصور. وأخيرًا، تتطلب محاكاة الأجهزة والتحقق منها أيضًا برنامج عرض رسومات. ومن أمثلة ذلك برنامج Direct3D المرجعي للرسم النقطي.
لكن حتى في مجال الرسومات المتطورة، لم يندثر فنّ معالجة الرسومات بالبرمجيات تمامًا. فبينما كانت بطاقات الرسومات الأولى أسرع بكثير من برامج معالجة الرسومات، وتميزت بجودة أعلى وميزات أكثر، إلا أنها قيّدت المطورين بمعالجة البكسل ذات الوظائف الثابتة. وسرعان ما برزت الحاجة إلى تنويع مظهر الألعاب. لا يفرض برنامج معالجة الرسومات بالبرمجيات أي قيود، إذ يُنفّذ أي برنامج. لذا، أعادت بطاقات الرسومات إمكانية البرمجة هذه، من خلال تنفيذ برامج صغيرة لكل رأس ولكل بكسل / جزء ، تُعرف أيضًا باسم المُظلِّلات . لغات المُظلِّلات، مثل لغة المُظلِّلات عالية المستوى (HLSL) لـ DirectX أو لغة تظليل OpenGL (GLSL)، هي لغات برمجة شبيهة بلغة C للمُظلِّلات، وبدأت تُظهر بعض التشابه مع معالجة الرسومات بالبرمجيات (ذات الوظائف الثابتة).
منذ اعتماد معالجات الرسوميات كأداة أساسية للعرض الفوري، شهد أداء وحدة المعالجة المركزية نموًا مطردًا. وقد أتاح ذلك ظهور تقنيات جديدة للعرض البرمجي. ورغم أن أداء العرض باستخدام المعالجات الرسومية لا يزال خافيًا إلى حد كبير، إلا أن بعض برامج العرض الفوري الحديثة تجمع بين مجموعة واسعة من الميزات وأداء معقول (بالنسبة لبرنامج عرض برمجي)، وذلك من خلال استخدام تقنيات التجميع الديناميكي المتخصصة وامتدادات مجموعة التعليمات المتقدمة مثل SSE . وبالرغم من أن هيمنة العرض باستخدام المعالجات الرسومية على العرض البرمجي باتت اليوم أمرًا لا جدال فيه نظرًا لأدائه وميزاته وابتكاراته المستمرة، إلا أن البعض يعتقد أن المعالجات المركزية ووحدات معالجة الرسوميات ستتقارب في نهاية المطاف، وسيتلاشى الخط الفاصل بين العرض البرمجي والعرض باستخدام المعالجات الرسومية. [ 3 ]
برنامج احتياطي
لأسباب مختلفة مثل فشل الأجهزة، وبرامج التشغيل المعطلة، والمحاكاة، وضمان الجودة، وبرمجة البرامج، وتصميم الأجهزة، وقيود الأجهزة، يكون من المفيد أحيانًا السماح لوحدة المعالجة المركزية بتولي بعض أو كل الوظائف في مسار الرسومات.
ونتيجة لذلك، يوجد عدد من حزم البرامج العامة القادرة على استبدال أو تعزيز مسرع الرسومات الموجود في الأجهزة، بما في ذلك:
- RAD Game Tools ' Pixomatic، تم بيعها كبرنامج وسيط مخصص للربط الثابت داخل برنامج عميل D3D 7–9.
- SwiftShader ، مكتبة تباع كبرنامج وسيط مخصصة للتجميع مع برامج عميل D3D9 و OpenGL ES 2.
- تعمل مُعالجات العرض swrast وsoftpipe وLLVMpipe داخل Mesa كطبقة وسيطة على مستوى النظام لمحاكاة جهاز OpenGL 1.4–3.2. كما يوفر مُعالج العرض lavapipe الموجود أيضًا في Mesa عرضًا برمجيًا لواجهة برمجة تطبيقات Vulkan .
- تُوفّر مايكروسوفت برنامج WARP منذ نظام التشغيل Windows Vista، والذي يعمل على مستوى النظام لتوفير محاكاة سريعة لتقنية D3D 9.1 والإصدارات الأحدث. هذا بالإضافة إلى برنامج تحويل الصور النقطية المرجعي البطيء للغاية الذي لطالما وفّرته مايكروسوفت للمطورين.
- برنامج العرض البرمجي من Apple في CGL ، المقدم في نظام التشغيل Mac OS X من قبل Apple، والذي يعمل على مستوى النظام لتوفير محاكاة سريعة لـ OpenGL 1.1–4.1.
المعالجة المسبقة
على عكس العرض الفوري، لا تُعتبر الأداء أولويةً تُذكر في العرض المسبق. ويُستخدم هذا الأسلوب بشكل أساسي في صناعة السينما لإنتاج عروض عالية الجودة لمشاهد واقعية. فالعديد من المؤثرات الخاصة في أفلام اليوم تُصنع كليًا أو جزئيًا باستخدام رسومات الحاسوب. على سبيل المثال، شخصية غولوم في أفلام سيد الخواتم للمخرج بيتر جاكسون مصنوعة بالكامل من الصور المولدة بالحاسوب (CGI). كما تكتسب تقنية CGI شعبيةً متزايدة في أفلام الرسوم المتحركة . ومن أبرز الأمثلة على ذلك شركة بيكسار التي أنتجت أفلامًا مثل حكاية لعبة والبحث عن نيمو ، ومؤسسة بلندر التي أنتجت أول فيلم مفتوح المصدر في العالم ، حلم الفيل .
نظراً للحاجة إلى جودة عالية جداً وتنوع كبير في المؤثرات، يتطلب العرض غير المتصل بالإنترنت مرونة كبيرة. ورغم أن أجهزة الرسومات التجارية التي تعمل في الوقت الفعلي تشهد تحسناً مستمراً في الجودة وقابلية البرمجة، إلا أن معظم الصور المولدة بالحاسوب (CGI) الواقعية لا تزال تعتمد على العرض البرمجي. على سبيل المثال، يسمح برنامج RenderMan من Pixar باستخدام تظليلات ذات طول وتعقيد غير محدودين، مما يتطلب معالجاً متعدد الأغراض. كما أن الأجهزة القديمة غير قادرة على استخدام تقنيات الواقعية العالية مثل تتبع الأشعة والإضاءة الشاملة .
انظر أيضاً
مراجع
- ↑ غوستافسون، ستيفان (10 أبريل 2025). "الرسومات المُسرّعة بالأجهزة" (ملف PDF) . رسومات الأجهزة 2015 - hardwaregraphics.pdf . مؤرشف (PDF) من الأصل في 22 نوفمبر 2025. تم الاطلاع عليه في 20 نوفمبر 2025 .
- ↑ "التصميم المباشر - التصورات التفاعلية | أوتوديسك" . مؤرشف من الأصل بتاريخ 21 فبراير 2014. تم الاطلاع عليه بتاريخ 20 أغسطس 2016 .
- ↑ فاليتش، ثيو (11 مارس 2008). "تيم سويني، الجزء الثاني: "دايركت إكس 10 هو آخر واجهة برمجة تطبيقات رسومية ذات صلة" | تي جي ديلي" . تي جي ديلي . مؤرشف من الأصل في 4 مارس 2016. تم الاسترجاع في 7 نوفمبر 2016 .
- عرض ثلاثي الأبعاد
