سؤال

خوارزمية الانسداد ضرورية في CAD وصناعة الألعاب.وهم مختلفون في الصناعتين على ما أعتقد.أسئلتي هي:

  1. ما هو نوع خوارزميات الانسداد المطبقة على التوالي في الصناعتين؟
  2. وما هو الفرق؟

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


بعد قراءة الإجابات، أريد أن أوضح أن خوارزميات الانسداد هنا تعني "إعدام الانسداد" - اكتشف السطح أو الكيانات المرئية قبل إرسالها إلى خط الأنابيب.

مع جوجل، لقد وجدت خوارزمية في جاماسوترا.أي أفكار أو نتائج جيدة أخرى؟شكرًا.

هل كانت مفيدة؟

المحلول

لقد علقني أن معظم الإجابات حتى الآن تناقش فقط انسداد ترتيب الصور.لست متأكدًا تمامًا من CAD، لكن الإطباق في الألعاب يبدأ بمستوى أعلى بكثير، باستخدام أشجار BSP و/أو أشجار oct و/أو عرض البوابة لتحديد الكائنات التي تظهر داخل منطقة العرض بسرعة.

نصائح أخرى

يتم إجراء عملية الحجب في الألعاب خلف الكواليس باستخدام إحدى المكتبتين ثلاثي الأبعاد:ديريكتكس أو برنامج OpenGL.للوصول إلى التفاصيل، يتم الإطباق باستخدام Z العازلة.تحتوي كل نقطة على مكون Z، وهي النقاط الأقرب التي تغطي النقاط الأبعد.

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

المصطلح الذي يجب أن تبحث عنه هو إزالة السطح المخفي.

عادةً ما يستفيد العرض في الوقت الفعلي من طريقة واحدة بسيطة لإزالة السطح المخفي:إعدام الوجه الخلفي.سيكون لكل بولي نقطة "سطح عادي" يتم حسابها مسبقًا على مسافة محددة من السطح.من خلال التحقق من زاوية السطح بشكل طبيعي بالنسبة للكاميرا، ستعرف أن السطح متجه للخارج، وبالتالي لا يحتاج إلى عرضه.

وهنا بعض التفاعلية العروض التوضيحية والشروحات المستندة إلى الفلاش.

يعد Z-Buffering لوحدات بكسل الأجهزة أبسط التقنيات على الإطلاق، ولكن في مشاهد الكائنات عالية الكثافة، لا يزال بإمكانك محاولة عرض نفس البكسل عدة مرات، الأمر الذي قد يصبح مشكلة في الأداء في بعض المواقف.- أنت بالتأكيد بحاجة للتأكد من أنك لا تقوم بتعيين وتركيب آلاف الكائنات غير المرئية.

أفكر حاليًا في هذه المشكلة في أحد مشاريعي، وقد وجدت أن هذا قد حفز بعض الأفكار:http://www.cs.tau.ac.il/~dcor/Graphics/adv-slides/short-image-based-culling.pdf

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top