Informatikunterricht

am Gymnasium Kirchenfeld

Benutzer-Werkzeuge

Webseiten-Werkzeuge


raytracing:texture

Dies ist eine alte Version des Dokuments!


Texturen

Grundlagen

Als Textur wird in der Computergrafik das Erscheinungsbild einer Oberfläche bezeichnet. Dabei wird versucht, der physikalische Vorgang der Ineraktion von Photonen mit Materialien nachzubilden. In der Physik werden die folgenden drei Phänomene unterschieden:

  • Absorption: Ein Teil des Lichts wird vom Material aufgenommen und in Wärme umgewandelt.
  • Beugung: Das Ablenken des Lichts durch ein durchsichtiges Medium. Bei der Beugung oder Diffraktion werden Strahlen unterschiedlicher Wellenlänge unterschiedlich stark abgelenkt.
  • Reflexion: Die Lichtstrahlen werden zurückgeworfen. Es wird zwischen der gerichteten Reflexion von vielen benachbarten Lichtstrahlen in die gleiche Richtung und der ungerichteten diffusen Reflexion (auch Streuung) unterschieden.

Diese vier Phänomene werden in der Computergrafik allgemein und auch in POV-ray durch entsprechende Konstrukte modelliert.

Absorbtion

Die Absorbtion wird durch einen RGB-Wert bestimmt. Ein Wert von 0 bedeutet, dass das gesamte Licht dieses Spektrums absorbiert wird, 1 bedeutet, dass kein Licht in diesem Spektrum absorbiert wird.

Beispielsweise bedeutet der folgende Code, dass das grüne und blaue Licht absorbiert wird. Somit erscheint der Körper rot:

texture {
    pigment { color rgb <1, 0, 0> }
}

Zusätzlich kann die Lichtdurchlässigkeit des Körpers mit transmit angegeben werden:

texture {
    pigment { color rgb <1, 0, 0> transmit 0.5 }
}

Ein Wert von 0 bedeutet, dass kein Licht durchgelassen wird, der Körper also solid erscheint. Ein Wert von 1 bedeutet vollständige Durchlässigkeit, der Körper ist unsichtbar.

Beugung

Die Beugung wird simuliert, indem virtuelle Photonen auf ein bestimmtes Objekt geschossen werden.

Reflexion

Im finish-Teil einer Textur wird die diffuse und gerichtete Reflexion festgelegt.

Mit diffuse wird der Anteil des Lichts definiert, welches diffus reflektiert wird. Der Standardwert ist 0.6 (also 60%). Um eine spiegelnde Oberfläche zu erhalten, muss diffus auf einen Wert nahe bei 0 gesetzt werden.

Die diffuse Reflexion hängt vom Winkel, mit welchem das Licht auf die Oberfläche trifft, ab. Bei einem flachen Winkel wird normalerweise weniger Licht diffus reflektiert. Dieses Verhalten kann mit dem brilliance-Wert beeinflusst werden. Ein höherer Wert bedeutet, dass bei flachem Einfallswinkel mehr Licht diffus reflektiert wird. Der Standardwert ist 1. Ein hoher Wert führt zu einem metallischen Aussehen der Oberfläche.

texture {
    finish {
        diffuse 0.7
        brilliance 2
    }
}
raytracing/texture.1416761695.txt.gz · Zuletzt geändert: 2020/10/13 14:25 (Externe Bearbeitung)