POVRAY ( Persistence of Vision Raytracer) ist ein Public - Domain - Raytracer. Informationen zu POVRAY sind von der POVRAY - Homepage zu bekommen. POVRAY basiert auf einem Original-Raytracer von David Buck und wurde ständig weiterentwickelt.
Zur Zeit existieren 3 Versionen, von denen die mittlere Version (2.2)
letzte Version (3.0) die derzeit gebräuchliche ist.
Leider beschreibt dieser Text lediglich die Möglichkeiten von POVRAY 2.x. Da aber POVRAY 3.x (von ein paar Kleinigkeiten abgesehen) eine Obermenge von POVRAY 2.x ist, ist der Text im wesentlichen auch für POVRAY 3.x gültig.
ftp.povray.org
ftp://ftp.fh-rosenheim.de/pub/mirror/ftp.povray.org/povray
Es gibt eine Reihe von Szene-Editoren. Von:
ftp.povray.org/povray/modellers
bzw.
ftp://ftp.fh-rosenheim.de/pub/mirror/ftp.povray.org/povray/modellers
ist für MSDOS der "midnight" - Modeller zu empfehlen.
Für SGI, SUN4, Solaris und Linux gibt es den "AC3D":
http://www.comp.lancs.ac.uk/computing/users/andy/ac3dlinux.html
Allerdings nutzt keiner der Szene-Editoren die Möglichkeiten von POVRAY wirklich aus.
povray +Ieingabe.pov +Oausgabe.tga +L../include +FT +W640 +H480 +V
eingabe.pov | - | Eingabefile im POVRAY-Format |
ausgabe.tga | - | Erzeugtes Bild im sog. TARGA- Fileformat |
../include | - | Include - Directory für Standardfiles |
+FT | - | "Erzeuge TARGA-File" |
+W640 | - | Breite = 640 Punkte |
+H480 | - | Höhe = 480 Punkte |
+V | - | Verbose - Mode |
Die Bilder werden im TARGA-Fileformat erzeugt, welches sich zum Beispiel mit den Werkzeugen aus dem ImageMagick- Paket betrachten (display) und in beliebige andere Fileformate umwandeln (convert) läßt.
| POVRAY benutzt im Standardfall ein linksorientiertes 3-dimensionales Koordinatensystem. | ![]() |
| Das Prinzip das Raytracing stellt die in der Natur ablaufenden Prozesse "auf den Kopf". Der Strahl wird von der Kamera zur Lichtquelle zurückverfolgt. Das ist möglich, da es in der Strahlenoptik ein Prinzip gibt, nachdem Lichtquelle und -senke immer ausgetauscht werden können. | ![]() |
In POVRAY gibt es nur 2 Datentypen:
Beispiele: 1.0 -2.0 -4 34 3.4e6 2e-5 .3 0.6
Beispiel: <1.0, 3.2, -5.4578>
Die meisten Vektoren sind dreidimensional und bedeuten je nach Kontext:
Mit Hilfe der Datentypen können Ausdrücke gebildet werden (das ist der Vorteil gegenüber POVRAY-1.0):
3 * 4 + 0.3 <2, 4, 5> + <7, -2, 2> 3 * <1, 2, 3> --> <3, 6, 9>
Abhängig vom Kontext ist möglich, einen Float-Wert zu schreiben, wo eigentlich ein
Vektor erwartet wird: scale 0.3 --> scale <0.3, 0.3, 0.3>
Außerdem gilt:
x als Synonym für <1, 0, 0>
y als Synonym für <0, 1, 0> und
z als Synonym für <0, 0, 1>
Aus diesem Grunde ist auch der Ausdruck 5*y statt
5 * <0, 1, 0> = <0, 5, 0>
möglich.
camera {
location <0, 0.5, -6>
look_at <0, 0, 0>
}
light_source {
<0, 20, -4>
color rgb <1, 1, 1>
}
light_source {
<5, 1, -3>
color rgb <1, 1, 1>
}
plane {<0, 1, 0> -1.2
texture {
pigment {
color rgb <0, 0, 1>
}
}
}
sphere {<0, 0, 0> 1
texture {
pigment {
color rgb <1, 0, 0>
}
}
}
| ![]() |