تنعيم التشويش ثنائي البعد في جودو

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

انظر أيضًا: تدعم جودو تنعيم التشويش في التصيير render ثلاثي البعد، تفقد التفاصيل من صفحة تنعيم التشويش ثلاثي الأبعاد.

مقدمة

يمكن أن تظهر المشاهد المُصيرة ثنائية البعد مشوشة بسبب دقتها المحدودة. يظهر هذا التشويش على شكل درجات على حواف الشكل، وتكون أوضح عند استخدام عقد مثل Line2D أو  Polygon2D أو TextureProgressBar. يمكن أن تظهر آثار تشويش في الرسومات ثنائية الأبعاد المخصصة للتوابع التي لا تدعم تنعيم التشويش.

يمكن مشاهدة مظهر الحواف الكتلي في المثال التالي:

الصورة مكبرة ×2 مع فلترة الجار الأقرب لإظهار التشويش بشكل أوضح


لمعالجة ذلك، تدعم جودو عدة طرق لتفعيل تنعيم التشويش في التصيير ثنائي البعد.

خاصيات تنعيم التشويش في Line2D والرسوم المخصصة

إن هذه الطريقة محبّذة لأنها لا تؤثر كثيرًا على الأداء في معظم الحالات.

يوجد لدى Line2D خاصية تنعيم التشويش Antialiased يمكن تفعيلها في المحرر. هناك أيضًا عدد من التوابع في الرسم الثنائي البعد المخصص تدعم معامل تنعيم تشويش antialiased اختياري ويمكن ضبطها إلى مُفًعل عن طريق القيمة true عند استدعاء الدّالة.

لا تحتاج هذه التوابع أن يكون تنعيم التشويش متعدد العينات MSAA مفعلًا وهذا يجعل تأثيرها على الأداء منخفض. أي لا يوجد تأثير على الأداء إضافي عند رسم أي شكل مع تنعيم التشويش.

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

تنعيم التشويش متعدد العينات (MSAA)

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

  • حواف الأشكال مثل الخطوط والمضلعات.
  • حواف السبرايت للبيكسلات التي تلمس حواف الملمس texture. هذا يعمل لكل من الفلترة الخطية linear وفلترة أقرب جار nearest-neighbor. حدود حواف السبرايت المُنشأة باستخدام الشفافية على الصورة لا تتأثر بتنعيم التشويش متعدد العينات.

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

  • التشويش داخل ملمس أقرب جار مفلتر (pixel art)
  • تشويش الظلال الثنائية الأبعاد الخاصة
  • التشويش المنظاري specular عند استخدام Light2D
  • التشويش في تصيير الخطوط

يمكن تفعيل تنعيم التشويش متعدد العينات في إعدادات المشروع عن طريق  تغيير القيمة من Rendering > Anti Aliasing > Quality > MSAA 2D. يجب الانتباه إلى تغيير قيمة MSAA 2D وليس MSAA 3D لأنها إعدادات مختلفة كليًا.

مقارنة بين عدم وجود تنعيم التشويش (يسار) و مستويات متعددة من تنعيم التشويش متعدد العينات (يمين). تحوي الزاوية اليسارية العليا عقدة Line2D والزاوية اليمينية العليا اثنتان من عقد TextureProgressBar. ويحتوي الأسفل 8 سبرايت بنمط pixel art أربع منهم يلمسون الحواف (خلفية خضراء) و4 منهم لا يلمسون الحواف (شعار جودو).

antialiasing msaa 2x.png
antialiasing msaa 4x.png
antialiasing msaa 8x.png

مصادر