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
توجه: هر گونه استفاده از این مطالب، تنها با ذکر نام این سایت و نویسنده مجاز می باشد.
ادامه دارد...
موفق باشید.
یکی از ویژگی های گرافیکی که در گیم ها وجود دارد، 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
توجه: هر گونه استفاده از این مطالب، تنها با ذکر نام این سایت و نویسنده مجاز می باشد.
ادامه دارد...
موفق باشید.