in letzter zeit habe ich viele renderings mit radiosity und hdri gesehen und ebenfalls einige tutorials ueber die anwendung von hdri und radiosity gelesen. und manchmal war ich wirklich ueberrascht ueber die dinge die leute denken und tun. oftmals waren die reflektionen viel zu stark oder einfach falsch, es war viel zu wenig kontrast im bild und einige versuchten ein normales background bild fuer beleuchtung zu verwenden. manchmal war es auch nur 'radiosity nur um radiositty zu verwenden' oder diese typischen gipsfiguren mit den lustigen rauschpunkten im ganzen bild. da ich selbst mehr modeliere als texturen oder scenen zu bauen kann ich letzteres schon nachvollziehen, aber es macht meistens kein besseres model und das rendering selbst ist austauschbar.
also wo liegt das problem bei der verwendung von hdri zur beleuchtung? ich denke das erste problem ist der wechsel von der klassischen beleuchtung hin zur hdri beleuchtung ohne darueber nachzudenken wie sich licht verhaelt und wie beleuchtung mit hdri funktioniert. der zusammenhang von reflektionen, diffuser reflektion und genereller helligkeit ist gerade bei heutigen renderprogrammen oftmals nicht eindeutig. ich brauchte selbst eine weile um dahinter zu kommen warum meine (und andere) renderings nicht so aussehen wie ich es wollte. ich verwendete hdris, reflektions gradienten, tiefeneffekt (dof) und all diese dinge aber es sah einfach nicht wie das original aus. also will ich mal die verschiedenen details erklaeren.
ich moechte das ganze mit einer fotografie eines objektes vergleichen. seit lightwave in der lage ist bilder mit einem hohen dynamikbereich zu erzeugen ist es recht einfach geworden das resultat nach dem rendern noch etwas abzustimmen. also brauchen wir erstmal nicht so sehr auf die generelle helligkeit achten und fangen mit den reflektionen an. metalische reflektionen lassen wir erst einmal beseite, interessant sind sachen wie plastik, keramik oder aehnliche flaechen. wenn wir unsere umgebung betrachten werden wir sehen dass die meisten dinge nur durch ihre reflektionen definiert werden. gerade dunkle oder schwarze materialien absorbieren nahezu jedes licht und sind nur sichtbar weil sie noch einen teil reflektieren oder sich gegenueber helleren objekten abheben. photo1
bei der verwendung von hdri brauchen wir kein 'glosiness'. diese option ist nur dazu da unsichtbare lichtquellen auf oberflaechen sichtbar zu machen. allerdings hat es keine auswirkung wenn hier etwas eingestellt wird. die staerke dieser 'glanzpunkte' wird nur ueber die reflektion der oberflaeche selbst eingestellt. wenn man einige innenraum fotos betrachtet stellt man fest dass oftmals die reflektionen von fenstern und lampen ueberbelichtet sind. das liegt daran dass die belichtung fuer das gesamte bild eingestellt wird und somit solche spotlichter zu hell werden. wenn nun beim rendern solche reflektionen zu dunkel werden dann spiegelt sich die gesamte umgebung nahezu ueberhaupt nicht mehr im objekt. im folgenden bild sieht man jedoch den gesamten raum im den dunkleren teilen des gamepads. photo2
eine alltaegliche oberflaeche hat circa 2-3 prozent reflektion bei einem blickwinkel von 90 grad (ausser metalle, glas oder aehnliches). da solche parameter feststehen muessen wir also unsere umgebung anpassen bis die reflektionen stimmen. bei der verwendung eines fresnell shaders oder eines gradienten fuer die reflektion (nonlinear mit 100% bei 0 grad blickwinkel) brauchen wir uns keine gedanken machen wie dort die reflektionen aussehen. nach einem testrendering sehen wir dass nichts zu sehen ist. unsere umgebung ist zu dunkel. das ist bei vielen hrdis der fall da sonst meist viele ueberbelichtete bildteile einen unschoenen eindruck machen. um dieses auszugleichen kann die funktion brightness im image world plugin verwendet werden oder die staerke der radiosity bei global light settings. letzteres kann bei monte carlo zu eigenartigen effekten fuehren. allerdings kann bei schwachen radiosity effekten diese option verwendet werden um den radiosity eindruck zu verstaerken. hdr
nachdem nun das hdri heller ist und wir wieder einen test gerendert haben sehen wir ein extrem helles bild. der grund ist recht einfach. solange wir normale lichtquellen in lightwave verwenden stellen wir unsere oberflaechen so ein dass sie bei lichtquellen zwischen 0-100 'lightwave einheiten' gut aussehen. aber ein hdri ist ein vielfaches heller als normale lichtquellen. das sieht natuerlich nicht sehr gelungen aus. pad2
also muessen wir den diffuse wert unserer oberflaechen verringern. dafuer muessen wir leider auch unsere reflektionen wieder ein wenig reduzieren. der grund ist folgender, eine natuerliche oberflaeche hat bei einem blickwinkel von 0 grad ca 100% reflektion. diese setzt sich aber aus direkter und diffuser reflektion zusammen. da wir aber die diffuse reflektion mit unserem diffuse wert beeinflussen muessen wir diesen wert quasi von unserer reflektion wieder abziehen. das bild zeigt dass wir uns dem foto naehern. es ist allerdings nicht ganz das richtige hdri da ich das foto vom gamepad spaeter gemacht habe und das gamepad auch nicht 100%ig exakt ist. der lichtfleck am rand des controllers ist zu stark da hier noch zuviel diffuse licht aktiv ist. hier kann ein gradient beim diffuse parameter helfen oder die reflektion muss ein wenig reduziert werden da diffuse reflektion nicht ganz exakt reproduziert werden kann. photo1
hier nun die verwendeten einstellungen:
image world brightness: 300%
global illumination: ambient light - 0, radiosity - backdrop only - 100% - 12x36
oberflaechen eigenschaften:
grundkoerper des controllers: diffuse - non linear gradient, incidence angle, 0 degree - 35%, 90 degree 20% (das steigert den einfluss des lichtes auf die oberflaeche)
reflection - non linear gradient, incidence angle, 0 degree - 65%, 90 degree - 6% (der wert fuer 0 grad ergibt sich in kombination mit dem diffuse wert da diffuse reflektion nicht richtig reproduziert werden kann)
glaenzenden teile ausser buttons: diffuse 0, weil schwarze oberflaeche, reflection - non linear gradient, incidence angle, 0 degree - 100%, 90 degree - 4 %
die anderen teile sind aehnlich, zusaetzlich noch fractal noise als bump map um das etwas rauhe aussehen zu erzeugen und um schwankungen in der oberflaechenbeschaffenheit zu simulieren
pad3
das bild ist noch etwas zu perfekt, aber mit dem hinzufuegen einiger schmutz texturen um kleinere aenderungen in der reflektion zu erzeugen (subtraktion als blend mode). der farbbereich ist im vergleich zum foto auch noch etwas zu gross und der kontrast entlarvt das bild als rendering. ein paar texturen fehlen natuerlich auch noch.
wem die arbeit eigene hdris zu basteln zu gross ist der findet bei www.realtexture.de eine umfangreiche und bezahlbare sammlung verschiedenster hdris, speziell fuer objekt beleuchtung erstellt und groesstenteils ohne kamera im bild. das hdri fuer dieses tutorial ist ebenfalls auf der cd enthalten.

vielen dank fuer das lesen dieses tutorials, bei fragen, anregungen oder korrekturen stehe ich gerne per email an tut@dbki.de zur verfuegung.
hdri cd