|
English ![]() ![]() Italiano ![]() Français ![]() |
Texturen | ![]() |
![]() |
"pigment" |
Gestaltung von Oberflächen ("Texturieren")Syntax von "texture"
Textur (engl.: "texture" )= Oberflächenbeschaffenheit |
sphere{<0,0,0>, 1 translate<0,1,0> texture{ pigment{color Orange} normal {bumps 0.5 scale 0.05} finish {ambient 0.1 diffuse 0.9 phong 1.0} } //Ende der Texturbeschreibung } // Ende der Kugelbeschreibung |
![]() |
Dieses klare Schema sollte weitgehendst eingehalten werden. Teilweise funktioniert auch eine fehlerhafte oder undeutliche Beschreibung - sie produziert oft nur Warnhinweise beim Rendern. Trotzdem sollte solchen Fehlern intensiv nachgegangen werden, da sie oft die Keimzelle noch umfangreicherer Mißverständnisse sind. Auch kleine Syntax-Mängel sollten vermieden werden, schnell wachsen sie sich zu großen und vollständig undurchsichtigen Fehlkonstruktionen aus. Es ist zudem nicht gewährleistet, daß zukünftige Versionen des Programms heutige "nicht-fatale" Fehler noch weiterhin tolerieren!
Soll ein aus mehreren geometrischen Grundkörpern mittels "union{ } zusammengesetzter Körper einheitlich in allen Bestandteilen gleich eingefärbt werden, so ist es rationeller erst dem gesamten Körper eine Textur zuzuweisen!
Farben, Pigmente und Texturen lassen sich sowohl "in Handarbeit" herstellen (im folgenden beschrieben), als auch mit speziellen Zubehör-Programmen für POVRAY erstellen. Deren Bedienung setzt allerdings meist gute Kenntnisse über Texturen voraus!
Zum Ausprobieren verwendet man am besten eine einfache Datei (einfarbiger Himmel und Boden, Kamera, Licht (weiß) von ferne wie Sonnenlicht ). Als Test-Objekt für Texturen verwende man eine einfache, schnell zu zeichnende Kugel mit Radius 1 --- zum Vergleich sollte man auch manchmal einen Quader(box) oder einen Zylinder verwenden, da insbesondere Texturen mit Glanz oder teilweisem Spiegeln in ihrer Wirkung stark von der Körperform abhängen! So erscheint das Glanzlicht einer Textur (simuliert z.B. mit "phong 1.0" im "finish"-Befehl ) nur an Stellen, an denen der Lichteinfallswinkel ungefähr der Reflexionswinkel ist.
Hat man sich einige speziellen Farben und Texturen gemacht, die man gerne immer wieder verwenden will, so kann man sich deren Definitionen (#declare MeinRot = color <1, 0, 0.25> ) in einer eigenen Include-Datei (z.B. mit dem Namen " Farben1.inc ") zusammen ablegen und im Kopf eines jeden Textes durch #include "Farben1.inc" einbinden. Diese eigene Include-Datei sollte entweder im Verzeichnis des Szenentextes (mit der Endung " .pov" ) oder im Verzeichnis "INCLUDE" liegen. An diesen Stellen sucht das Programm POVRAY automatisch nach irgendwelchen Include-Dateien. Man sollte aber unter allen Umstände die orginalen Standard-Include-Dateien "colors.inc", "textures.inc" etc. unangetastet lassen, da sonst eventuell einige Beispiel-Dateien etc. nicht mehr korrekt funktionieren!
Wichtig: Da "scale", "rotate" und "translate" nur auf diejenige Sache wirken, in deren Klammer sie stehen, lassen sich sowohl das Farbmuster in "pigment{ ...}", als auch die scheinbare Oberflächen-Verformung durch "normal{...}" unabhängig voneinander und getrennt von der geometrischen Körperform vergrößern oder verkleinern, spiegeln, rotieren oder verschieben!
Beispiel:
sphere{<0,0,0>,1 scale <1.2,1,1> translate<0,1,0> // wirkt nur auf Kugelgeometrie! texture{ pigment{Candy_cane scale 0.25 }// wirkt nur auf "pigment"! normal {wrinkles 0.75 scale 0.1} // wirkt nur auf "normal"! finish {ambient 0.15 diffuse 0.85 phong 0.3} rotate<0,0,45> // wirkt auf die gesamte Textur, //jedoch nicht auf die Kugelgeometrie! } // Ende von "texture" scale 0.5 // wirkt auf die Kugel und ihre Textur! //Achtung: wirkt auch auf // die Verschiebung mit "translate"! // Kugelmitte ist nun bei <0,0.5,0>! } // Ende von "sphere" |
![]() |
Texturen | ![]() |
"pigment" |