


Optimalizace výpočtu pro Global illumination - Finalrender stage0 update 1.509.01.2003 Autor: Richard Max - Typ: TutoriálRendering jako samostatný vědní odbor v oblasti 3D grafiky s sebou už od svého počátku přinášel a stále přináší množství nových technologií a postupů. Tvůrci různých renderovacích systémů se snaží o to, aby bylo možné dosahovat co možno nejkvalitnějších a vysoce realistických výsledků renderingu. V dnešní době už existuje množství těchto renderovacích systémů a je jen na 3D grafikovi, pro použití kterého se rozhodne. Každý s těchto systémů je sám o sobě poměrně náročnou věcí a nedostatečné zvládnutí a pochopení této problematiky se určitě negativně odrazí na finálním výsledku, v některých případech vede i k absolutnímu neúspěchu. Nejvíce rozhodující vlastnosti dobrého renderovacího systému jsou proto jeho možnosti, kvalita, rychlost a možnost optimalizace finálního výpočtu. V dnešním tutoriálu se budeme zabývat renderovacím systémem Finalrender stage0_1.5 a speciálně optimalizací renderingu metodou global illumination (GI). Předpokládám proto už nějaké zkušenosti s tímto rendererem a dobrou znalost ovládání 3D Studia Max5 anebo 4.2, na kterém budeme tento test provádět. Nejprve si však zhruba popíšeme, co to vlastně global illumination je a jak to funguje. Global illumination je metoda renderingu, při které se podle platných fyzikálních zákonů počítá dopad a odraz fotonů (částic světla) od povrchu objektů v scéně. Při tom tyto fotony potom můžou přebírat vlastnosti materiálů ve scéně a tím měnit její vzhled. Např. převzetí barevného odstínu povrchu anebo útlum. Scény počítané touto metodou proto dostávají realističtější vzhled týkající se osvětlení. Samozřejmě jsou i další metody, ale o nich si určitě napíšeme někdy jindy. Pro náš optimalizační test si nejprve připravíme referenční scénu, kterou potom budeme optimalizovat. Projekt jsem pro markantnější rozdíly počítal na stroji AMD Duron 800 Mhz, 256 MB SDRAM. Naše scéna bude obsahovat podlahu, dvě stěny, objekt čajník, kameru a světlo typu spot finalrender softshadow. (Pro rychlejší postup je základní a finální-optimalizovaná scéna přiložená k návodu.) Mělo by to vypadat přibližně jako na obrázku č.1.
Označíme všechny objekty na scéně, klikneme na pravé tlačítko a vybereme properties. V záložce mental ray zapneme generate a receive global illumination. Tímto se bude při renderingu počítat se všemi objekty na scéně a takto je bude global illumination ovlivňovat. Teď si připravíme materiály pro jednotlivé objekty na scéně. Budeme používat dva různé materiály pro dva druhy objektů. Zvlášť pro stěny a podlahu a zvlášť pro čajník. První slot materiálového editoru přepneme z materiálu typu Standard do finalRender a přejmenujeme ho na Stěna. Složky ambient a difuse nastavíme na 150, 150, 150. (Obrázek č.2)
Dále pro tento materiál v záložce materiálového editoru Caustics and global-illumination zaškrtneme položky receive a generate global illumination a jejich hodnoty nastavíme na 1.5. To znamená, že objekty s tímto materiálem budou přijímat a generovat globálně osvětlení. Hodnota 1.5 je násobitel intenzity. (obrázek č.3.) Tento materiál teď přiřadíme objektům podlaha a stěny. Funkcí drag and drop zkopírujeme tento materiál do slotu č. 2 a materiál přejmenujeme na čajník a jeho ambient a difuse hodnoty změníme na 134, 117, 168 (světle fialová barva). Tento materiál čajníku. Uff... skoro bych zapomněl... pro materiál na čajník ještě nastavíme hodnotu specular level na 40 a glossiness na 10. Materiál editor by teď měl vypadat jako na obrázku č. 2 anebo 3. Teď se ještě vrátíme k nastavení světla. Jak jsem už psal výše, použijeme světlo typu final render spot. Světlo umístíme podle obrázku č.1 anebo použijeme přiložený projekt scena.max. Světlu nastavíme shadow on, aby objekty vrhaly stíny a jeho barvu necháme na hodnotě 255, 255, 255. V rozbalovacím menu zvolíme fRSoftSadows. (obrázek č.4)
Area type nastavíme na Rectangle width a height na 25, 25, accuracy hodnotu na 0.8 a ještě zapneme blur amount 2.0. Tímto zabezpečíme, aby objekty vrhaly měkké stíny. (obrázek č.5)
Teď už nastal čas, kdy potřebujeme nastavit globální vlastnosti renderingu a scénu vyrenderovat. V materiálovém editoru klikneme na tlačítko fR Globals... otevře se nám takto okno, kde můžeme (musíme) nastavit globální vlastnosti renderingu a zapnout samotný výpočet global illumination. (obrázek č.6)
V první řadě zapneme výpočet global illumination. Dále přepneme engine na rendering image (jestli je nastavené jinak) a prepass size na 1/1. Toto určuje kvalitativní poměr výpočty 1/1 je nejkvalitnejší. Tak základ by byl, teď na to půjdeme trochu podrobněji. Vypneme reuse solution, což zabezpečí, aby se nepoužívaly v předcházejícím výpočtu přepočítané vzorky pro GI. RH – Rays: 500 (Počet vyslaných paprsků do scény.)
Další hodnoty nastavte podle obrázku. V našem případě to bude stačit a úplný popis finalRenderu není účelem tohoto návodu. Jak jsem už říkal, toto jsou globální nastavení renderingu tz., že všechny tyto hodnoty se budou používat pro všechny objekty na scéně bez ohledu na jejich vlastnosti. Mnozí už možná tuší, kam to bude směřovat, ale o tom později. Všechno je teda nastavené, takže zmáčkneme F9 a renderujeme (a čekáme...)
Výsledek renderu (obrázek č.7). Čas výpočtu 6min. 24sec. a final render vygeneroval 4 395 GI vzorků anebo tzv. ambient photons. Výsledek renderingu je poměrně dobrý a můžeme si taktéž všimnout vlivu nepřímého osvětlení, kde podložka pod čajníkem částečně přebírá jeho barvu. -Richard Max- (další články autora)
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() |

