POVRAY Raytracer Beschreibungen von Friedrich A. Lohmüller
    English Version

vorgefertigte Texturen Texturen Muster

Gestaltung von Oberflächen ("Texturieren")

Da kommt Farbe auf ! "color ... "


Mit dem Befehl "pigment { color .... } " wird die Farbe bzw. das Farbmuster der Textur definiert.

Neben der Farbe kann auch die Durchsichtigkeit (transparence) bz.. Filterdichte (filter) angegeben werden!

Beispiele: Sofern in einer vorhergehenden Zeile: #include "colors.inc" in Text eingefügt ist, kann mit vordefinierten Farben mit amerikanisch-englischen Namen gearbeitet werden, z.B.: pigment{ color Red } Zu den dadurch zur Verfügung stehenden ca. 100 Farben vgl. gesonderte Liste! Das menschliche Auge kann nahezu 16 Mio Farben ("true color") unterscheiden! Daher ist es öfters nötig sich weitere Farben selbst zu machen. ( Für TrueColor-Farben wie sie POVRAY verwendet, werden für jede der 3 Grundfarben 1 Byte reserviert. Auf einem Byte kann man von 0 bis 255 zählen, dem entspricht eine Farbintensität von 0% bis 100 %. Es lassen sich mit 3 Byte pro Punkt somit 256*256*256 = ca. 16 Millionen verschiedene Farbwerte mischen.

Verwendet man bei der Darstellung von feinen Farbschattierungen weniger Farben, erscheint der Farbübergang an vielen Stellen stufig! )


Neue Farben selbst machen: "color rgb< , , >"
rgb values

Es läßt sich jede beliebige Farbe aus Rot, Grün und Blau mischen ("Additive Farbmischung"!), dazu verwendet man die Anweisung "color rgb< , , >" (red, green, blue). Statt "color rgb<1 , 1 ,0 >" kann man auch " color red 1 green 1 blue 0 "schreiben.
Die in die Klammern einzusetzenden 3 Zahlen stellen die Leuchtstärken der Anteile der 3 Grundfarben dar. Sie müssen Werte zwischen 0.000 und 1.000 annehmen. Wobei 1.00 = 100% und 0.00 = 0% der jeweiligen Farbe bedeutet.

Additive Farbmischung
mit dem Povray Raytracer

In POV-Ray gerechnet mit einem roten (rgb<1,0,0>),einem grünen (rgb<0,1,0>) und einem blauem (rgb<0,0,1>) Spotlight,welche auf eine weiße Fläche strahlen!
Bei softer ausklingenden Lichtkegel-Rändern erkennt man noch weitere Mischfarben, die sich aus verschieden hohen Intensitäten der 3 Grundfarben zusammenmischen.

 


Sofern in einer vorhergehenden Zeile #include "colors.inc" steht, kann man vorgefertigte Farben mit den englischen Bezeichnungen verwenden!

Hier einige Beispiele für RGB Farben und ihre englische Bezeichnung, sofern sie in "colors.inc" definiert sind.

color rgb<0 ,0 ,0>
color rgb<0.5 ,0.5, 0.5>
color rgb<1 ,1 ,1>

color rgb<1 ,0 ,0>
color rgb<0, 1, 0>
color rgb<0, 0, 1>

color rgb<1 ,1 ,0>
color rgb<0 ,1 ,1>
color rgb<1 ,0 ,1>

color rgb<1, 0.65, 0>
color rgb<0.25, 1, 0>
color rgb<1, 0,0.25>

Schwarz
Grau
Weiss

Rot
Grün
Blau

Gelb
Cyan
Rotviolett

Orangegelb*)
Gelbgrün
Weinrot

color Black
color Gray50
color White

color Red
color Green
color Blue

color Yellow
color Cyan
color Magenta




*) Lohmüllers Lieblings-Gelb
Es lohnt sich hier selbst weiter zu experimentieren ! Eigene Farbkrationen lassen sich dauerhaft für alle eigenen Szenen mit eigenen Farbnamen zur Verfügung stellen, indem man sie in einer gemeinsamen Include-Datei ablegt. Mehr dazu siehe unter "Wie legt man seine
eigene Farben und TexturenSammlung an?"
Sofern in einer vorhergehenden Zeile #include "textures.inc" steht, kann man fertige Farbmuster ("pigment") und Texturen ("texture") die in dieser Datei definiert sind verwenden. Achtung: Die Include-Datei textures.inc benötigt colors.inc !!!

Neben dem Farbton läßt sich auch die Durchlässigkeit einer Farbe mit einer zusätzlichen Zahl steuern!

Aber Vorsicht - da das Programm dann die Körperfarbe und die Hintergrund-Farbe im geforderten Verhältnis und beides mal abhängig von der Beleuchtungsrichtung zusammenrechnen muß, explodiert bei zuviel solchen Texturen die Rechenzeit --- und der Spaß nimmt umgekehrt proportional dazu ab !!!!!

Die Durchlässigkeit einer Farbe mit Filterwirkung (Körperfarbe filtert Hintergrundfarbe) wird durch den Wert "filter" abgekürzt mit "f" beschrieben, "transmit" abgekürzt "t" gibt den Farbdurchlaß ohne Filterung an. Schreibweise:"pigment{color rgbf <1.0 ,0.5,0.0,1.0>}" oder auch "pigment{color rgb<1.0,0.5,0.0> filter 1.0}".

Ein Körper mit "color rgb <0.9,0.9,0.9>" erscheint durch ein Filter wie "color rgbf <1, 0.5,0.0,1.0>", wie in der Farbe "color rgb <0.9,0.45,0.0> gefärbt. Rot 100%, Grün 50% ( 0.45) und Blau völlig blockiert!
Die Kombination "color rgbf <1,1,1,1> " ("color Clear") ergibt eine völlig transparente Textur, "color rgbt<0,0,0,1>" oder "color transmit 1.0" läßt alles durch und mischt nichts dazu, ergibt also dasselbe!

Transparente Farbpartien finden ihre wichtigste Anwendung bei >überlagerten Texturen (layered textures). Durch sie lassen sich über undurchsichtige Mustertexturen teilweise durchsichtige Texturen legen. Mit dieser Technik kann man Steinstrukturen mit darüberlaufenden dunklen oder hellen Adern erzeugen.


vorgefertigte Texturen Texturen Muster

© 2001 Friedrich A.Lohmüller,   (legacy email redacted)