تحديد السطح المخفي
في مجال رسومات الحاسوب ثلاثية الأبعاد ، تُعرف عملية تحديد الأسطح المخفية (وتُسمى أيضًا تحديد الأسطح الظاهرة ، أو إزالة الأسطح المخفية ، أو استبعاد الأجزاء المخفية ، أو تحديد الأسطح المرئية ) بأنها عملية تحديد الأسطح وأجزاء الأسطح التي يمكن رؤيتها من زاوية رؤية معينة. تُعد خوارزمية تحديد الأسطح المخفية حلاً لمشكلة الرؤية ، التي كانت من أوائل المشكلات الرئيسية في مجال رسومات الحاسوب ثلاثية الأبعاد. تُسمى عملية تحديد الأسطح المخفية أحيانًا بالإخفاء ، وتُسمى هذه الخوارزمية أحيانًا بخوارزمية الإخفاء . وعند الإشارة إلى رسم الخطوط، تُعرف بإزالة الخطوط المخفية . يُعد تحديد الأسطح المخفية ضروريًا لعرض المشهد بشكل صحيح، بحيث لا يمكن رؤية العناصر المخفية خلف النموذج نفسه، مما يسمح فقط برؤية الجزء المرئي من الرسم.
خلفية
تحديد الأسطح المخفية هو عملية تُحدد الأسطح غير المرئية للمستخدم (على سبيل المثال، لأنها تقع خلف أجسام معتمة كالجدران). ورغم التطورات في قدرات الأجهزة، تتطلب خوارزميات العرض موارد حاسوبية كبيرة. ومن خلال استبعاد بعض الأسطح من العرض لعدم رؤيتها، تستطيع محركات العرض تحسين الكفاءة، مما يسمح بعرض مساحات عالمية واسعة.
توجد تقنيات عديدة لتحديد الأسطح المخفية، لكنها تعتمد عمومًا على فرز الأسطح بناءً على بُعدها عن المشاهد. قد يكون فرز كميات كبيرة من العناصر الرسومية مكلفًا حسابيًا، وعادةً ما يتم ذلك باستخدام أسلوب فرق تسد . تختلف تقنيات تحديد الأسطح المخفية، جزئيًا، في طريقة تقسيم المساحة قبل الفرز.
الخوارزميات
تتضمن عملية العرض عادةً الخطوات التالية: الإسقاط ، والقص ، والتحويل إلى صورة نقطية .
تتضمن بعض الخوارزميات المستخدمة في عملية العرض ما يلي:
- التخزين المؤقت Z
- أثناء عملية التحويل إلى صورة نقطية، يتم التحقق من عمق (قيمة Z) كل بكسل (أو عينة في حالة منع التعرج، ولكن يُستخدم مصطلح " بكسل " هنا دون الإخلال بعمومية العملية ) مقارنةً بقيمة عمق موجودة. إذا كان البكسل الحالي متأخرًا عن البكسل الموجود في مخزن العمق (Z-buffer)، يتم رفضه، وإلا يتم تظليله وتُستبدل قيمة عمقه بقيمة العمق الموجودة في مخزن العمق. يدعم تخزين العمق المشاهد الديناميكية بسهولة، ويتم تنفيذه حاليًا بكفاءة في أجهزة الرسومات. هذا الأسلوب هو المعيار الحالي. يتطلب تخزين العمق ما يصل إلى 4 بايتات لكل بكسل، وقد يكون له تكلفة حسابية كبيرة نظرًا لأن خوارزمية التحويل إلى صورة نقطية تحتاج إلى التحقق من كل عينة مُحولة مقابل مخزن العمق. قد تعاني خوارزمية مخزن العمق من تشوهات ناتجة عن أخطاء الدقة (المعروفة أيضًا باسم "تداخل العمق ").
- مخازن التغطية (المخزن المؤقت C ) والمخزن المؤقت السطحي ( المخزن المؤقت S )
- تُعدّ هذه الأساليب أسرع من تقنية التخزين المؤقت Z، وتُستخدم عادةً في ألعاب مثل Quake I ، حيث تخزن معلومات حول الأجزاء المعروضة مسبقًا لكل سطر من الشاشة (على عكس تخزين كل بكسل كما هو الحال في تقنية Z). ثم تُقصّ المضلعات الجديدة على طول الأجزاء المعروضة مسبقًا التي قد تُخفيها. يمكن لتقنية S-buffer عرض المضلعات غير المرتبة، بينما تتطلب تقنية C-buffer عرض المضلعات من الأقرب إلى الأبعد. ولأن تقنية C-buffer لا تتطلب رسم البكسل أكثر من مرة، فإن العملية أسرع قليلًا. وقد شاع استخدام هذا الأسلوب مع أشجار تقسيم الفضاء الثنائي (BSP).
- قائمة الحواف النشطة المصنفة
- تُستخدم هذه التقنية في لعبة Quake I ، حيث تخزن قائمة بحواف المضلعات المعروضة مسبقًا (انظر عرض خطوط المسح ). تُعرض المضلعات من الأقرب إلى الأبعد. تُقص المضلعات الجديدة على حواف المضلعات المعروضة، مما يُنشئ مضلعات جديدة للعرض، ثم تُخزن الحواف الإضافية. يُعد هذا الأسلوب أصعب في التنفيذ من مخازن S/C/Z، ولكنه يتحسن بشكل ملحوظ مع زيادة دقة الصورة.
- خوارزمية الرسام
- تقوم هذه الخوارزمية بترتيب المضلعات حسب مركز ثقلها ، ثم ترسمها من الخلف إلى الأمام. ينتج عن هذا الأسلوب تشوهات قليلة عند تطبيقه على مشاهد تحتوي على مضلعات متقاربة الحجم تُشكّل شبكات ناعمة مع تفعيل خاصية إخفاء الأوجه الخلفية . من عيوب هذه الخوارزمية التكلفة الحسابية لخطوة الترتيب، وإمكانية ظهور تشوهات بصرية. قد تفشل هذه الخوارزمية في المشاهد العامة، لأنها لا تستطيع التعامل مع المضلعات في العديد من التكوينات الشائعة، مثل الأسطح المتقاطعة.
- تقسيم الفضاء الثنائي (BSP)
- تقسم هذه التقنية المشهد على طول مستويات تتوافق مع حدود المضلعات. يُبنى التقسيم الفرعي بطريقة توفر ترتيبًا واضحًا للعمق من أي نقطة في المشهد عند اجتياز شجرة BSP. العيب الرئيسي لهذه التقنية هو التكلفة الحسابية العالية لبناء شجرة BSP. ونتيجة لذلك، فإن هذا النهج أقل ملاءمة للمشاهد التي تتكون من هندسة ديناميكية. تتمثل ميزة BSP في أن البيانات مُرتبة مسبقًا وخالية من الأخطاء، ويمكن استخدامها كمدخلات للخوارزميات المذكورة سابقًا. تجدر الإشارة إلى أن BSP ليس حلاً لإزالة الأسطح المخفية، بل هو مجرد أداة مساعدة.
- تتبع الأشعة
- تحاول تقنية تتبع الأشعة محاكاة مسار أشعة الضوء إلى نقطة رؤية معينة، وذلك بتتبع الأشعة من تلك النقطة إلى داخل المشهد. ورغم أنها ليست خوارزمية لإزالة الأسطح المخفية بحد ذاتها، إلا أنها تحل ضمنيًا مشكلة إزالة الأسطح المخفية من خلال إيجاد أقرب سطح على طول كل شعاع رؤية. عمليًا، يُعادل هذا النهج فرز جميع العناصر الهندسية على أساس كل بكسل.
- خوارزمية وارنوك
- تقسم هذه الخوارزمية الشاشة إلى مناطق أصغر، ثم ترتب المثلثات داخلها. في حال وجود غموض (أي تداخل المضلعات في عمق هذه المناطق)، يتم إجراء تقسيم إضافي. وقد يصل التقسيم في النهاية إلى مستوى البكسل.
عملية الفرز وتحديد السطح المرئي
يُعدّ الاستبعاد مجالًا ذا صلة بتحديد الأسطح المرئية ، ويتم عادةً قبل تحديد الأسطح المرئية في مسار العرض. يمكن رفض العناصر الأولية أو مجموعات منها بالكامل، مما يقلل عادةً من الحمل الحسابي في نظام العرض. تشمل أنواع خوارزميات الاستبعاد ما يلي:
استبعاد مخروط الرؤية
المخروط المرئي هو تمثيل هندسي للحجم المرئي للكاميرا الافتراضية . وبطبيعة الحال، لن تظهر الأجسام الواقعة خارج هذا الحجم في الصورة النهائية، لذا يتم استبعادها. غالبًا ما تقع الأجسام على حدود المخروط المرئي. تُقطع هذه الأجسام إلى أجزاء على طول هذه الحدود في عملية تُسمى القص ، وتُستبعد الأجزاء الواقعة خارج المخروط لعدم وجود مساحة كافية لرسمها.
إزالة الوجه الخلفي
في الأجسام ثلاثية الأبعاد، يكون جزء من سطح الجسم مواجهًا للكاميرا، بينما يكون الجزء الآخر مواجهًا للخلف، أي في الجهة الخلفية للجسم، محجوبًا بالجهة الأمامية. إذا كان الجسم معتمًا تمامًا، فلا حاجة لرسم هذه الأسطح. تُحدد هذه الأسطح بترتيب رؤوس المثلث: فإذا كانت رؤوس المثلث المرسوم مرتبة باتجاه عقارب الساعة على مستوى الإسقاط عند مواجهة الكاميرا، فإنها تتحول إلى ترتيب عكس عقارب الساعة عندما يبتعد السطح عن الكاميرا.
بالمناسبة، تجعل هذه الطريقة الأجسام شفافة تمامًا عندما تكون كاميرا العرض داخلها، لأن جميع أسطح الجسم تكون حينها مواجهةً للكاميرا ويتم إخفاؤها بواسطة برنامج العرض. ولمنع هذه المشكلة، يجب ضبط الجسم على أنه مزدوج الجوانب (أي لا يتم إخفاء الوجه الخلفي) أو أن يكون له أسطح داخلية منفصلة.
استبعاد المساهمات
في كثير من الأحيان، تكون الأجسام بعيدة جدًا لدرجة أنها لا تُساهم بشكلٍ كبير في الصورة النهائية. يتم استبعاد هذه الأجسام إذا كان عرضها على الشاشة صغيرًا جدًا. انظر قسم "القص" .
إزالة الحجب
يمكن استبعاد الأجسام التي تقع خلف أجسام معتمة أخرى تمامًا. تُعد هذه آلية شائعة جدًا لتسريع عرض المشاهد الكبيرة ذات التعقيد العمق المتوسط إلى العالي . توجد عدة أنواع من أساليب استبعاد الأجسام المخفية:
- تقوم تقنية عرض مجموعات الرؤية المحتملة ( PVS ) بتقسيم المشهد إلى مناطق وحساب الرؤية لكل منها مسبقًا. ثم يتم فهرسة مجموعات الرؤية هذه أثناء التشغيل للحصول على مجموعات رؤية عالية الجودة (مع مراعاة تفاعلات الحجب المعقدة) بسرعة.
- يقوم عرض البوابات بتقسيم المشهد إلى خلايا/قطاعات (غرف) وبوابات (أبواب)، ويحسب القطاعات المرئية عن طريق قصها مقابل البوابات.
- تمثل خرائط الحجب الهرمية (HOM) الإسقاط التراكمي للعناصر الحاجبة بدقة متعددة، وتُجري اختبارات التداخل بشكل هرمي عبر هذا الهرم؛ وقد صُممت هذه الطريقة لأجهزة الرسومات الحالية، وتخزن الشفافية بشكل منفصل عن العمق، ويمكنها دعم استبعاد العناصر المرئية التقريبي. [ 1 ] [ 2 ]
فرق تسد
يُعدّ أسلوب "فرق تسد" من المواضيع الشائعة في أدبيات تحديد الأسطح المرئية . وقد كان خوارزمية وارنوك رائدةً في تقسيم الشاشة. أما تتبع الشعاع فهو أسلوبٌ لتتبع الأشعة يقسم الأحجام المرئية إلى حزم شعاعية. وتُقلّل أساليب تقسيم مساحة الشاشة المختلفة عدد العناصر الأولية التي تُؤخذ في الاعتبار لكل منطقة، مثل التجانب أو قصّ BSP في مساحة الشاشة. ويمكن استخدام التجانب كعملية تمهيدية لتقنيات أخرى. وقد تتضمن أجهزة مخزن العمق عادةً "مخزن عمق عالي" خشن، يُمكن من خلاله رفض العناصر الأولية مبكرًا دون الحاجة إلى تحويلها إلى صورة نقطية. ويُعدّ هذا الأسلوب شكلاً من أشكال إزالة الحجب.
تُستخدم هياكل الحجم المحيط (BVHs) غالبًا لتقسيم مساحة المشهد (ومن أمثلتها شجرة BSP ، وشجرة octree ، وشجرة kd ). يتيح هذا الأسلوب تحديد الرؤية بشكل هرمي: فإذا اعتُبرت عقدة في الشجرة غير مرئية ، فإن جميع عقدها الفرعية تكون غير مرئية أيضًا، ولا حاجة إلى أي معالجة إضافية (إذ يمكن للمُعالج رفضها جميعًا). أما إذا اعتُبرت عقدة مرئية ، فيجب تقييم كل عقدة فرعية منها. يُعد هذا الاجتياز بمثابة اجتياز شجرة، حيث يُحدد عدم الرؤية/الحجب أو الوصول إلى عقدة طرفية ما إذا كان يجب التوقف أو التكرار، على التوالي.
انظر أيضاً
مصادر
- ↑ "دراسة استقصائية حول إمكانية الرؤية لتطبيقات التجول الافتراضي" (ملف PDF) . people.csail.mit.edu .
- ↑ "إزالة الحجب باستخدام خرائط الحجب الهرمية" . www.cs.unc.edu .
- تحديد الأسطح الخفية
- توصيف لعشر خوارزميات للسطح المخفي ( نسخة من Wayback Machine )
- عرض ثلاثي الأبعاد
- خوارزميات رسومات الحاسوب
