Global Illumination
تعریف: الگوریتم هایی که باعث اثر گذاشتن نور(ها) بر محیط و سطوح میشوند به طور کلی Global Illumination (مخفف: GI) نام میگیرند.
از جمله مهم ترین الگوریتم ها: Ray Tracing، Radiosity، Ambient Occlusion، Photon Mapping و غیره را میتوان نام برد.
این اگلوریتم ها به طور کلی باعث میشوند که تابش نور و بازتاب نور ها از تمامی اجسام محیط بر رنگ سطوح مختلف تاثیر داشته باشد و تصویر، هر چه بیشتر به واقعیت نزدیک شود. همان طور که میدانید بازتاب نور از تمامی اجسام محیط انجام میشود و بسته به صاف و صیغل یا کدر و مات بودن اجسام، بازتابش نور میتواند منظم(Specular Reflection) یا نامنظم(Diffuse Reflection) باشد، همچنین تاثیر نور بر محیط نیز میتواند به طور مستقیم (Direct Illumination) یا غیر مستقیم(Indirect Illumination) باشد.
بازتابش منظم و نامنظم نور
بازتاب نور از اجسام کدر یا شفاف محیط باعث میشود که اجسامی که به طور مستقیم با منبع نور تعامل ندارند، دیده شوند، همجنین بازتاب نور از یک سطح رنگی باعث میشود که رنگ آن جسم در محیط پخش شود و اجسام دیگر را نیز تحت تاثیر قرار دهد. در نظر بگیرید که بازتاب نور بین اجسام مختلف به طور مکرر انجام میپذیرد و اثرگذاری رنگ بین سطوح مختلف بسیار پیچیده میشود.
برای درک بهتر این موضوع به تصویر زیر دقت کنید:
الگوریتم های Global Illumination غیر فعال
الگوریتم های Global Illumination فعال
حال به طور خلاصه به توضیح چهار مورد از اصلی ترین الگوریتم های Global Illumination میپردازم:
Ray-Tracing
همان گونه که از نامش پیداست، این متد به وسیله ردگیری پرتو ها عمل میکند. چشم انسان در خارج از مانیتور مد نظر داده میشود، پرتویی که از یک سطح به سمت چشم انسان بازتاب میشود امتداد داده شده (گذر از پیکسل های مانیتور نیز حساب میشود)، سپس تاثیر پرتو های دیگری که به سطح مورد نظر برخورد کرده اند بررسی و رنگ سطح محاسبه میشود.
برای مثال به شکل زیر دقت کنید، یک اتاق با دو منبع نور...
در Ray-Tracing پرتویی که از سطح منعکس میشود به چشم انسان امتداد داده میشود، سپس پرتو های منابع نور محیط و بازتاب از اجسام شفاف به سطح در نظر گرفته میشود، شدت و رنگ نور ها محاسبه و در نهایت سطح مورد نظر دارای رنگ و بازتاب خاص خود میشود.
مزایا:
تاثیر مستقیم نور، بازتاب های مستقیم، سایه ها و اثر اجسام شفاف به طور بسیار دقیق انجام میپذیرد.
معایب:
محاسبه آن برای سخت افزار زمان بر است، هر چه قدر منابع نور زیادتر باشند محاسبه سنگین تر میشود، پردازش برای هر زاویه دید(Viewpoint) باید تکرار شود(Viewpoint Dependent)، اثر بازتاب های نامنظم محاسبه نمیشود.
Radiosity
این متد کاملا با Ray-Tracing متفاوت است به این صورت که محیط به چند ضلعی هایی (Elements) تقسیم میشود، سپس پرتو های وارد و خارج شده به/از هر Element بررسی شده، رنگ Element و در نهایت رنگ کل محیط برآورد میشود. در این روش برخلاف Ray-Tracing محسابه اثر رنگ و نور بر محیط به زاویه دید بستگی ندارد بلکه اثر نور و رنگ بر کل محیط یک جا و یک مرتبه محاسبه میشود.
تفاوت یک تصویر با Radiosity فعال و غیر فعال
مزایا:
اثر غیر مستقیم نور و بازتاب های نامنظم بر محیط محاسبه میشود، وابستگی به زاویه دید ندارد(Viewpoint Independent)
معایب:
تقسیم بندی سطوح به چند ضلعی ها باعث مصرف مموری میشود، ممکن است باعث ایجاد آرتیفکت شود، بازتاب های مستقیم و اثر اجسام شفاف محاسبه نمیشود.
Ambient Occlusion(مخفف: AO)
تکنیکیست که برای ایجاد سایه های طبیعی تر(در مواردی که نور به طور غیر مستقیم میتابد) و عمق بخشیدن به اجسام به کار میرود.
وجود اجسام در مقابل فوتون هایی که در حال بازتاب از اجسام مختلف هستند(بازتاب نور از اجسام مختلف محیط) باعث ایجاد سایه و نیم سایه هایی میشود، این تکنیک باعث ایجاد سایه یا نیم سایه بسته به میزان بلاک شدن نور یک قسمت از یک آبجکت بر اثر وجود اجسامی که در مقابل آن هستند میشود.
در نهایت این تکنیک باعث میشود که محیط هایی که نور کمتری از محیط(به طور غیر مستقیم) دریافت میکنند تیره تر و دارای سایه با حجم متناسب شوند و محیط هایی که در معرض تابش مستقیم نور از منابع نور هستند به شکل طبیعی و براق درآیند.