سؤال

أحتاج إلى انتياس في iPhone 3G (OpenGL ES1.1)، وليس iPhone 3GS مع OpenGL ES.2.0. لقد رسم نموذج ثلاثي الأبعاد ولديه التالي: بكسل على حواف النموذج تبدو وكأنها الأسنان.

لقد حاولت تعيين أي مرشحات للملمس، ولكن هذه المرشحات تجعل الملمس فقط في الداخل تبدو أفضل.

كيف يمكنني جعل التحف الجيد؟ قد يكون أنا يجب أن أستخدم أي ناعمة لرسم مثلثات؟ إذا كانت الإجابة بنعم، فماذا ممكن في OpenGL ES1.1؟

شكرا.

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

المحلول

يمكنك تقديم FBO أكبر ثم استخدم ذلك كملمس على مربع.

القي نظرة على هذه مقالة لتفسير.

نصائح أخرى

اعتبارا من IOS 4.0، يتم دعم مكافحة التعرجات بملء الشاشة مباشرة عبر امتداد Apple إلى OpenGL. يشبه المفهوم الأساسي اقتراح EPATEL: تقديم المشهد إلى إطار أكبر، ثم انسخ ذلك إلى إطار كبير في الشاشة، ثم انسخ هذا المخزن المؤقت إلى الشاشة. الفرق هو، بدلا من إنشاء نسيج وتقديمه على رباعية، يتم تنفيذ عملية النسخ / نموذج مكالمة وظيفة واحدة (خصيصا، glResolveMultisampleFramebufferAPPLE()).

للحصول على تفاصيل حول كيفية إعداد المخازن المؤقتة وتعديل رمز الرسم الخاص بك، يمكنك القراءة برنامج تعليمي في Gando Games Blog وهو مكتوب ل OpenGL ES 1.1؛ يوجد ايضا ملاحظة على منتديات مطور أبل شرح نفس الشيء.

بفضل بيرسايلور ل مشيرا إلى ذلك في آخر سؤال.

تحقق من EGL_Sample_Buffers و EGL_Samples المعلمات ل eGlchooseconfig (), ، إلى جانب glenable (gl_multisample).

تحرير: HRM، فيما يبدو أنت من التوفيق، على الأقل بقدر ما تذهب النهج الموحدة. كما هو مذكور في هذا الخيط، يمكنك التجسيد إلى نسيج خارج الشاشة الكبيرة والحجم إلى رباعي شاشة أصغر على الشاشة أو Jitter Matrix عرض عدة مرات.

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

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

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