PDA

نسخه کامل مشاهده نسخه کامل : بررسی Anti Aliasing و مباحث مربوط به آن



Erfan.
08-08-2011, 19:51
سلام.


یکی از ویژگی های گرافیکی که در گیم ها وجود دارد، Anti Aliasing است که با توجه به اهمیتی که دارد، تصمیم گرفتم در مورد آن توضیحاتی ارائه بدهم.
در این بررسی سعی میکنم به زبان ساده، در رابطه با Aliasing و فیلتر Anti Aliasing توضیحاتی بدهم، امیدوارم براتون مفید باشه.



برای شروع بحث در مورد Anti Aliasing ، باید اول بدانیم اصلا Aliasingچه گونه به وجود می آید و دلیلش چیست.

Aliasing

پیکسل ها مربع های بسیار کوچکی هستند که از کنار هم قرار گرفتن آنها بر روی مانیتور، تصاویر مختلف به وجود می آیند.
مانیتور، برای نمایش خط های عمودی یا افقی مشکلی ندارد.
چون پیکسل های مانیتور به طور شبکه ای و در کنار هم قرار گرفته اند، و هنگام تشکیل خط های کاملا عمودی یا افقی، هیچ مشکلی به وجود نمی آید و خط عمودی یا افقی بدون مشکل به نمایش در می آید.
اما در مورد خط های مورب این طور نیست. تشکیل خط مورب بدون ایجاد دندانه (jaggy) امکان پذیر نیست.
به این تصویر نگاه کنید:


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

ولی برای نمایش همین تصویر بر روی مانیتور، باید به این صورت تبدیل شود:


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

یک مثال دیگر.
یک خط مورب مشکی بر روی یک پس زمینه سفید را در نظر بگیرید:


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

همون طور که میبینید، پیکسل ها حالتی پله پله مانند در لبه ی خط ایجاد کرده اند، مخصوصا وقتی زوم میکنیم این پله پلگی بیشتر به چشم می آید.

یک تصویر از یک فضای سه بعدی در یک گیم:


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

همون طور که میبینید با فعال کردن Anti Aliasing لبه های آبجکت ها حالتی مات و آمیخته پیدا میکنند، پس تصویر از حالت پیکسل پیکسل خارج شده و نرم تر و یکدست تر به نمایش در می آید. در واقع کار اصلی Anti Aliasing همین یکنواخت کردن و زیبا تر کردن تصویر به نمایش در آمده است.

عنوان کنم که Aliasing بیشتر در رزولیشن های پایین به وجود می آید، به دلیل این که پیکسل های کمتری باید تصویر را نمایش دهند.در رزولیشن های بالا، نیاز به AA بیشتر، کمتر است.

خوب تا این جا توضیح دادم که Aliasing ، یا همون پله پلگی چرا به وجود می آید.


Sampling

یک خط مورب را در نظر بگیرید(لبه ی یک توپ در یک گیم مثال خوبی است) کناره ی این خط از چند عدد پیکسل تشکیل شده. برای این که از حالت Aliased خارج شود، باید رنگ پیکسل های کناره ی خط با رنگ های اطرافش مخلوط شود.
برای این کار، یک پیکسل به چند Sub Pixel تقسیم شده، وچند نقطه دور مرکز پیکسل انتخاب میشوند.
(نکته: عدد های که در گیم ها به عنوان 4X ، 8X و ... در تعیین مقدار AA دیده میشوند همین تعداد نقاط هستند.)


[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

رنگ حدودی این نقطه ها بر اساس رنگ پیکسل های اطرافشان محاسبه میشود(در این جا، زمینی که توپ بر روی آن قرار گرفته)، و سر انجام رنگ کل پیکسل تشکیل میشود.
یعنی وقتی از کنار یک پیکسل شروع به حرکت در طول آن میکنیم، رنگ ها مخلوط (Blended) هستند.


-چرا با فعال کردن Anti Aliasing فریم ریت پایین می آید؟

برای این که فریم ریت، به مقدار پیکسل هایی که یک VGA Card میتواند رندر کند رابطه ی مستقیم دارد و فعال کردن AA باعث میشود که مقدار پیکسل هایی که VGA میتواند رندر کند کم شود.
همچنین فعال کردن AA از رم کارت گرافیک (Vram) نیز استفاده ی زیادی میکند.


خوب تا این جا توضیحاتی در مورد تشکیل Aliasing و عملکرد کلی Anti Aliasing ارائه دادم.
Anti Aliasing به انواع مختلفی تقسیم میشود که در آینده به آن ها خواهم پرداخت!

البته امیدوارم این بررسی مورد استقبال دوستان واقع بشه.

هر گونه سوال در این رابطه را در همین تاپیک مطرح کنید تا تاپیک رونق پیدا کنه و من هم سعی میکنم جواب بدهم!


منابع:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



By Erfan.(EM_WM) for Parsigamer.com

توجه: هر گونه استفاده از این مطالب، تنها با ذکر نام این سایت و نویسنده مجاز می باشد.


ادامه دارد...

موفق باشید.

Erfan.
08-08-2011, 20:00
رزرو شده برای مطالب بعدی!:20:

Erfan.
08-08-2011, 20:06
رزرو شده، برای مطالب بعدی:31:

Mool Tee
08-08-2011, 21:01
Erfan جان خیلی مطلبه مفیدی بود دستت درد نکنه

Malware
09-08-2011, 04:47
Erfan. عزیز دستت درد نکنه خیلی قشنگ و مفید بود.اگه میشه در مورد VSync هم توضیح بده.

Erfan.
09-08-2011, 09:48
Erfan. عزیز دستت درد نکنه خیلی قشنگ و مفید بود.اگه میشه در مورد VSync هم توضیح بده.


دوست عزیز 2 تا پست رزرو کردم برای مطالبی که در آینده اضافه خواهم کرد، احتمالا متد های AA مثل MultiSampling و ... رو بررسی کنم.

بعدش به روی چشم، در مورد Vsync نیز مینویسم.:46:

موفق باشید.

BMW.M3_E46
16-08-2011, 22:42
ممنون عرفان جان از پست مفیدت!!!
در مورد Anti Aliasing بگم که...
1-مثلا در رزولوشن 2650x1600 حدودا 4 میلیون پیکسل بوجود میاد که اگر از Anti Aliasing استفاده کنیم تغییر محسوسی مشاهده نیمشه!!!!(چون پیکسل ها با دقت زیاد با آرایش بسیار منظم قرار میگیره)

2-اگر روی رزولوشن 640x480 بریم حدودا 307200 پیکسل میبینم نسبت به 4 میلیون خیلی کمتر شده در نتیجه حتما نیاز به Anti داره
باز اینا بسته به اینچ و هرتز ماینتور هم داره

یه تست با بازی Counter Strike:Condition Zero خودم گرفتم ببینین:
(البته این تست چون مانیتورم LCD قدیمه روی 1600x1200 و 640x480 گرفتم)
(نقطه وسط parsi.king رو بردارین)
رزولوشن:640x480 بدون Anti Aliasing


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدرزولوشن:640x480 با Anti Aliasing روی 16X Q


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددیدیم که تغییر محسوسی در چینین رزولوشنی انجام شد

حالا روی 1600x1200 بدون Anti


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدرزولوشن:1600x1200 با Anti Aliasing روی 16XQ


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبه سختی می شه تشخیص داد کدوم با Anti و کدوم بدون Anti !!!

نتیجه گیری: کسی که مثلا میخواد کریسیس رو یا مثلا بازی مترو رو رزولوشن Full HD بازی کنه
اگه گرافیکش ضعیف بود نیازی به Anti نداره در صورتی نیازمند که بخواد در رزولوشن پایین استفاده کنه

امیدوارم مفید واقع شده باشه
BMW.M3_E46

Erfan.
17-08-2011, 21:08
1-مثلا در رزولوشن 2650x1600 حدودا 4 میلیون پیکسل بوجود میاد که اگر از Anti Aliasing استفاده کنیم تغییر محسوسی مشاهده نیمشه!!!!(چون پیکسل ها با دقت زیاد با آرایش بسیار منظم قرار میگیره)

2-اگر روی رزولوشن 640x480 بریم حدودا 307200 پیکسل میبینم نسبت به 4 میلیون خیلی کمتر شده در نتیجه حتما نیاز به Anti داره
باز اینا بسته به اینچ و هرتز ماینتور هم داره


ممنون از مطلب مفیدتون!

بله، هر چی رزولیشن زیاد تر بشه نیاز به رزولیشن کم تر میشه، البته بستگی به سایز مانیتور و تراکم پیکسل ها هم داره.


یه خبر هم دارم، پست رزرو شده شماره 2 تا چند روز دیگه آپدیت میشه، تشریح کامل MSAA و SSAA ...

موفق باشید.

Davood_titan
17-08-2011, 22:07
این عکسا برای من باز نمیشه :41:

BMW.M3_E46
17-08-2011, 22:16
این عکسا برای من باز نمیشه :41:
(نقطه وسط parsi.king رو بردارین)