finalRender a Global Illumination - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Poptávka práce


Střední formát

finalRender a Global Illumination

2. července 2002, 00.00 | Tento tutorial je první v řadě o vynikajícím rendereru finalRender (fR) do 3DS MAX. Naučíte se, jak nastavit základní osvětlení scény.

{Úvod}

Tento tutorial je první v řadě o skvělém rendereru finalRender (fR) do 3DS MAX. Bude se zde hovořit o verzi 1.1, která má určitá důležitá nastavení, jež budeme používat. Scénu pro tento tutorial si můžete stáhnout zde tutor1.max.

Nejprve se zmíním o tom, co je to vlastně global illumination (GI). Je to metoda výpočtu distribuce světla, která zohledňuje difuzní (rozptýlenou) složku světla na předmětech, které jsou osvětlovány. V reálném světě je světlo po dopadu na osvětlovaný předmět částečně pohlceno a odráží se dále, a to tak dlouho, dokud nebude vyčerpána jeho veškerá energie. Tím, že se část světla na jednom předmětu pohltí, tak ostatní předměty jsou tímto prvním předmětem ovlivňovány, a to prostřednictvím tohoto odraženého světla. Tím pádem se sousedící předměty „dosvětlují“ a předávají dále také svou barvu.

GI metoda je založena na přesně opačné cestě světla tj. od předmětu ke zdroji. finalRender na základě některých parametrů (popíši dále v textu) pokryje scénu body (to jsou ty zelené puntíky, které jsou na obrázcích níže), pro které bude proveden výpočet osvětlení. Mezi těmito body se provede stanovení osvětlení interpolací; její přesnost (s tím souvisí samozřejmě doba renderingu) závisí na dalších parametrech. Z těchto bodů jsou vysílány do scény paprsky a ty putují scénou (odráží se od objektů) tak dlouho, jak je nastavíme a při dopadu na osvětlenou plochu přidají osvětlení právě tomu bodu, ze kterého vyšly.

Teď si popíšeme některé parametry, které nás budou dále zajímat. Toto nastavení se jmenuje fR Global parameters a je nejrychleji přístupné přes ALT+SHIFT+F.

 

Diffuse depth – Počet odrazů, které paprsek vykoná. Čím více odrazů, tím více světla přijme.

Consider background – zohlednit pozadí. Pokud nastavíme pozadí na světlou barvu, bude nám osvětlovat scénu. Pokud navíc používáme osvětlení světly nebo pomocí skylight (oblohové světlo), které je také součástí fR, měli bychom tento parametr vypnout, aby nebyla scéna příliš přesvětlená. Vše samozřejmě záleží na našem záměru a můžeme kombinovat osvětlení, jak nás napadne.

Enable GI – zapíná výpočet GI

Show samples – zobrazí při renderingu body použité pro výpočet osvětlení (zelené puntíky).

Reuse solution – použije minulý výpočet. Pokud měníme nastavení pro body výpočtu, musíme toto vypnout nebo provést Reset solution, aby se nové nastavení projevilo.

RH-Rays – počet paprsků, kter0 se vyšlou z každého bodu, čím více, tím lépe (roste doba renderingu)

Min. density – minimální hustota bodů na místech, kde se vyskytují větší plochy stěny, strop ap.

Max. Density – maximální hustota bodů, ta se použije ve složitých místech pro výpočet styky objektů, rohy apod.

Použití konkrétní hustoty záleží na nastavení parametrů balance, určující počet bodů dle složitosti daného místa a curve balance určující, jak precizně budou vyplňovány body v zakřivených místech. Zde je právě místo pro optimalizaci výpočtu a musí se najít kompromis mezi výslednou kvalitou renderingu a dobou výpočtu. Příklady budou dále.

Ambient multiplier – Násobí mnočtví difuzního světla, dělá obraz světlejším. Změna tohoto parametru nemá vliv na výpočet a lze použít reuse solution.

Nyní provedeme první rendering pouze pomocí MAX scanline rendereru.

Scéna obsahuje pouze jedno světlo se zapnutými stíny. Jedná se o místnost s třemi okny s několika židlemi uprostřed. Scéna je co nejjednodušší, kvůli době výpočtu, samozřejmě by okna měla mít rámy, kování atd. a skla sklo. Sklo by ale výrazně prodlužovalo čas výpočtu. Proto do scény sklo domodelujeme až po provedení výpočtu a pomocí REUSE SOLUTION provedeme rendering již bez čekání.


Je zobrazeno pouze přímé světlo, takže nevidíme skoro nic.

První krok při použití GI ve fR bude nastavení funkcí v Properties objektu dostupné přes pravé tlačítko myši na objektu. Zde fR používá nastavení pro mental ray.

Dopadající světlo do místnosti se v reálu odráží od podlahy a stěn, proto u nich nastavíme v Properties - Generate GI. Recieve GI, tedy příjem osvětlení, mají všechny objekty nastaveny implicitně. Židle nebudeme nastavovat na generate, protože jejich příspěvek pro osvětlení je zanedbatelný a zbytečně by se prodlužovala doba výpočtu.

[-more-]{Dokončení}

Každý objekt musí mít nastaven alespoň materiál Standard, jinak se GI na něm neprojeví, nejlépe je však použít materiál fR, který nám nabízí všechny možnosti tohoto rendereru. Zde musí být opět nastaveno Recieve a Generate GI podle toho, co potřebujeme. Pomocí nastavení Multiplier můžeme scénu doladit - přisvětlit, ztmavit a to jak pro příjem „recieve“, tak i vysílání světla „send“ každého materiálu, aniž by se to projevilo na ostatních materiálech.

Pak nastavíme v Global parameters následující parametry:

Diffuse depth = 6
Enable GI
RH-Rays =30
Min. Density=5
Max. Density=20
Ambient Mult. = 1

Na scéně se nám už něco objevuje, ale je to málo. Přidáme proto ambient multiplier =10

To je lepší, ale místnost není osvětlená dobře - u oken je příliš světla a vzadu místnosti málo.
V Global parameters pod tlačítkem Advanced Controls se nám objeví další nastavení. Dáme Contrast = –100% a snížíme Amb. Multiplier = 4.
Tyto parametry se samozřejmě mění scénu od scény podle velikosti a osvětlení, proto je nutno experimentovat. Můžeme použít reuse solution, kdy bude rendering relativně rychlý.

 

Světlo nyní ujde, avšak je to samá šmouha, to proto, že jsme dali na začátku nízké hodnoty RH-Rays a Min. Max. Density. Výpočet byl zato rychlý, pro začátek je to ideální.
Zaškrtneme SHOW SAMPLES a provedeme render.

Vidíme, že body pro výpočet jsou příliš velké a daleko od sebe, některé překrývají více ploch, které by měly být osvětleny každá jinak, to není dobré.
Zvýšíme Min. Dens = 16, Max = 64. Min by mělo být minimálně 1/10 Max

To už začíná být lepší. Nyní vypneme SHOW SAMPLES

Plochy jsou osvětleny správně, na stěnách pořád zůstávají skvrny. To je způsobeno příliš nízkým RH-Rays - interpolace mezi body probíhá rychle, ale nekvalitně.
Proto nastavíme Min. Dens = 16, Max = 128, RH-Rays = 256

 

Tak, to by šlo, bohužel šmouhy jsou místy poznat, Od toho je tu parametr Adaptive quality, který udává, kolik paprsků navíc se vyšle z bodu, pokud to bude zapotřebí. Nastavíme jej na 70.

Nyní už vypadá scéna dobře, mírné chyby se ještě najdou - např. stíny v místech, kde je židle blízko podlahy. Toto odstraníme dalším zvyšováním parametrů, ale doba výpočtu už znatelně roste. Mějme na paměti, že naše scéna je jednoduchá, pokud se dodělá nábytek, koberec, okna, obrazy a přiřadí se materiály atd., bude výpočet mnohem delší, ale zase se v záplavě detailů ztratí drobné chyby v rendereru a parametry nemusíme hnát příliš vysoko.

Nyní se můžete podívat, jak ovlivní červený strop další předměty. Na židle je aplikován materiál dřeva a v Advanced controls je zapnuto SKYLIGHT=1, takže nám tam přibylo trochu světla. Render je proveden s nižšími parametry, a tak se opět objevují šmouhy.

Na závěr ještě upozornění pro ty, kteří by si chtěli zkusit GI a průhledné materiály - tedy pokud by například v oknech bylo sklo. V takovém případě se musí zapnout v Advanced controls RENDER GI CAUSTIC - znamenající, že paprsek se od skleněného předmětu neodrazí ale projde skrz. Název parametru je trochu zavádějící, žádné caustic efekty pomocí něho nedosáhneme.

RENDER GI CAUSTIC vypnuto; na rozhraní sklo - podlaha jsou vidět chyby v osvětlení.

RENDER GI CAUSTIC zapnuto

Příště se budeme věnovat problematice finalRender a Caustic.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » 3dscena  

 » Rubriky  » Go verze  

 » Rubriky  » 3D grafika  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: