Raytracing, ein kleines Howto:

Inhalt

1. Einleitung
1.2 Grundsätzliches
1.3 Reflektionen, Spiegelungen, Radiosity
2. Licht und Schatten
2.1 Lichtquellen
2.2 Der Dimmer
2.3 zu viele Schatten
3. Platzierung von Kamera, Licht und Boden

 

1. Einleitung:

An wen richtet sich dieses howto?
Grundsätzlich an alle, die sich für Modelling und Raytracing interessieren. Es bezieht sich jedoch auf Funktionalitäten in PovRay. Die Modelle sind mit LDraw und MLCad entworfen und mit L3P sowie L3PAO nach PovRay exportiert worden.

Mir sagen PovRay, LDRAW und das alles gar nix!
Für solche Fälle gibt es an anderen Stellen im Internet bessere Quellen. Wie die Sachen installiert werden wird hier erklärt. Die Bedienung der einzelnen Komponenten sollte man aber beherrschen bevor man hier weiter liest.

Warum überhaupt diese ganze Seite?
Es gibt zig Informationsquellen im Netz zu allen hier besprochenen Themen. Englisch... kein Problem. Aber was mir gefehlt hat waren Tipps, wie ich sicher zu einem besseren Ergebnis meiner Arbeit komme.

Und warum wird hier immer dieses eine Modell verwendet?
Ganz einfach! Es kommt nur eine einzige Farbe zum Einsatz. Und durch seinen geometrischen Aufbau lassen sich viele Dinge besser erkennen als bei einem Auto oder einem Haus.

OK, ich kann mit den Programmen umgehen, hab sogar schon mal ein paar Bilder gerendert, brauche ich noch was?
Im Prinzip nicht... das reicht allemal aus, um sofort loszulegen. Aber eine Sache kann extrem hilfreich sein bei dem was du vor hast: Jemand der dir Feedback gibt. Also jemand der dir sagt was er an deinem Bild gut findet, aber auch, was er nicht gut findet und vielleicht sogar was du besser machen könntest. An dieser Stelle mal mein herzliches Dankeschön an Andreas der mich erst durch sein Feedback motiviert hat es noch etwas besser zu machen als im ersten Versuch!

1.2 Grundsätzliches

Licht und Schatten
Ein Modell kann noch so gut gebaut sein, gerendert wirkt es nur, wenn die Beleuchtung stimmt. Wie bei einem Foto oder in einem Film lassen sich mit Licht Stimmungen ausdrücken oder verstärken, Highlights setzen oder im schlechtesten Fall das Bild kaputt machen! Gut platzierte Lichtquellen sind extrem wichtig für den Gesamteindruck!

Boden und Hintergrund
Man sollte sich immer fragen, was einem an seinem Bild wichtig ist: toll strukturierter Boden, klasse Wolken, oder das Modell? Die Umgebung sollte zum Modell passen, nicht das Bild beherrschen.

Kameraperspektive
Wie beim Licht auch, sollte die Kameraperspektive zum Modell passen. Hier hilft nur Ausprobieren. Und am Ende entscheidet, wie bei allen anderen Dingen auch, natürlich der persönliche Geschmack!

1.3 Reflektionen, Spiegelungen, Radiosity

PovRay bietet nahezu alle Möglichkeiten eines guten RayTracers. Leider kann man die nicht unbedingt per Mausklick an oder ausschalten, so wie bei anderen Produkten. Auf Digitalbricks.nl gibt es Erweiterungen zum Herunterladen, mit deren Hilfe man das Aussehen seiner selbst erstellten Bilder stark verbessern kann. Im Laufe dieses Howtos gehe ich auf die verschiedenen Möglichkeiten die sich durch diese Erweiterungen ergeben ein und versuche auch ein klein wenig die Unterschiede der einzelnen Optionen zu erläutern.

1.4 einige wichtige Punkte beim Einsatz von radiosity und der floor-Erweiterung

Schaltet die Floor-Option ( -f) im L3P aus. Durch die Radiosity-Erweiterung wird der Boden im PovRay erzeugt! Ist die Floor Option nicht aus, wird der Boden immer überlagert und es spiegelt sich am Ende gar nichts!
Sucht die Nullinie des Modells. Das Modell soll ja meist auf dem Boden stehen und nicht darin versinken oder darüber schweben. Den Nullpunkt findet man, indem man sein Modell im MLCad öffnet, sich die Seitenansicht vergrößert und mit dem Mauszeiger an den unteren Rand des Modells geht. Schaut man nun in die Statuszeile von MLCad, kann man den Y-Wert ablesen. Diesen trägt man dann unter #declare floor_height = xxx; // replace XXX with the floor correct height ein.
Zum ersten Ausprobieren sollte man immer eine schnelle Renderoption verwenden. Eine Auflösung von 800 x 600 reicht auch völlig für einen ersten Eindruck aus. Auf langsamen Rechnern kann man die Bildgröße auch noch weiter verkleinern um Zeit zu gewinnen. Alles andere ist auf Dauer nur frustrierend. Mehr zu grundsätzlichen Render-Einstellungen folgt später.

2. Licht und Schatten

Für die folgenden Bilder wurde beim Rendern die Qualität auf #declare LDRAW_RAD_LEVEL = 2; , also schnell gesetzt. Der Boden hat eine Stein-Textur erhalten, damit nicht Reflektionen unnötig von den eigentlich wichtigen Details ablenken.

2.1 Lichtquellen

Wie schon in der Einleitung erwähnt, steht und fällt der Gesamteindruck mit dem richtigen Licht. L3PAO bietet verschiedene Optionen, Lichtquellen zu setzen. Das Ergebnis hängt sehr stark vom räumlichen Vorstellungsvermögen ab. Aber man kann auch das Licht ohne L3PAO oder L3P beeinflussen. Dazu muß man sich das Textfeld im PovRay einmal genauer ansehen. Ganz unten befinden sich die Einträge für das Licht:

// Lights:
light_source {
<-10,189,-50> // Latitude,Longitude,Radius: 50,0,30
color rgb <1,1,1>
}
light_source {
<575,-178,307> // Latitude,Longitude,Radius: 30,120,779.81
color rgb <1,1,1>
}
light_source {
<-348,-463,165> // Latitude,Longitude,Radius: 60,-120,779.81
color rgb <1,1,1>

In diesem Beispiel kommen 3 Lichtquellen zum Einsatz. Die ersten drei Zahlen geben die Koordinaten der Lichtquelle an. color rgb <x,x,x> beschreibt die Farbe des Lichts. Lichtquellen beeinflussen sich gegenseitig! Wenn ich nun also anfange, eine Lichtquelle zu verändern, kann das zwar das gewünschte Ergebnis bringen, die Wahrscheinlichkeit ist jedoch eher gering.
Ein eleganter Weg ist es nun, jede Lichtquelle einzeln zu positionieren. Dazu kann man die übrigen Zeilen mit // auskommentieren.

In diesem Beispiel komme ich zu folgenden Ergebnissen:

Lichtquelle 1 Lichtquelle 2
Lichtquelle 3 Lichtquelle 1 + 2 + 3


Man sieht deutlich, daß jede Lichtquelle dem Bild eine andere Wirkung verleiht. Und doch ist jedes Licht für sich nicht ausreichend, das Objekt vernünftig zu beleuchten. Im Bild 1 ist der Gesamteindruck (wie auch bei den beiden nächsten Bildern) zu dunkel. Besonders der vordere und der untere Teil sind schlecht ausgeleuchtet.
Bild 2 wirkt matt und konturlos, das Bild wurde nur insgesamt etwas aufgehellt. Es fehlen Highlights. Und von denen gibt es in Bild 3 zu viele. Der obere Teil wurde stark beleuchtet, der Rest versinkt im Schatten.
Bild 4 zeigt nun alle Lichtquellen zusammen. Und man sieht plötzlich alle Details die wichtig sind, erkennt auch Konturen die auf den anderen Bildern nicht zu sehen waren. Aber das Bild ist nun insgesamt zu hell!

2.2 Der Dimmer

Nun hat man also seine Lichtquellen einzeln mühevoll positioniert, aber das Ergebnis ist eher lausig, weil plötzlich alles zu hell leuchtet. Eine einfache und sehr effektive Möglichkeit dieses Problem zu korrigieren ist die Veränderung der Farbwerte. Im obigen Beispiel sind alle Farbwerte auf 1 gesetzt. Erhöht man nun diese Werte, so wird das Licht immer heller. Dies kann manchmal gewollt sein, hier hilft es aber leider gar nichts. So lange man übrigens alle 3 Werte gleichmäßig erhöht, bewegt man sich im Bereich des "weissen" Lichts. Will man zB. nur blaues Licht haben, so würde man die Werte 0,0,1 eingeben. Aber dieses Bild soll ja dunkler werden. Dazu müssen nun die Werte auf einen positiven Wert zwischen 0 ind 1 verkleinert werden. Im folgenden Bild wurde für Lichtquelle 3 der Wert <0.5,0.5,0.5> genommen. Achtung! Ein Komma trennt die Werte, für Dezimalzahlen ist immer ein Punkt zu verwenden!

Nun ergibt sich ein Modell, daß zwar gut ausgeleuchtet ist, bei welchem man aber außerdem noch alle Details erkennen kann!

Ein interessanter Effekt ergibt sich, wenn man negative Werte bei einer Lichtquelle einträgt. Dadurch erhält man einen Schattenspender;-) sämtliches Licht im Bereich dieser "Lichtquelle" wird absorbiert.

2.3 zu viele Schatten

Es zeigt sich immer wieder, daß durch zu viele Lichtquellen auch zu viele Schatten in unterschiedliche Richtungen entstehen. Verwendet man nur eine Lichtquelle, so ist oft das Bild zu schlecht ausgeleuchtet. Was kann man tun? Der Trick ist simpel aber sehr effektiv: Man verwendet die Option "shadowless" bei allen Lichtquellen die keinen Schatten werfen sollen. Das kann dann zB. so aussehen:

// Lights:
light_source {
<-10,189,-50> // Latitude,Longitude,Radius: 50,0,30
color rgb <1,1,1> shadowless
}

Diese Lichtquelle wirft nun keinerlei Schatten mehr!

to be continued!

Home