Freigeben über


Lichteigenschaften

Lichteigenschaften beschreiben den Typ einer Lichtquelle (Punkt, Richtung, Blickpunkt), Dämpfung, Farbe, Richtung, Position und Bereich. Je nach Art des verwendeten Lichts kann ein Licht Eigenschaften für Dämpfung und Bereich oder für Spotlighteffekte aufweisen. Nicht alle Arten von Leuchten verwenden alle Eigenschaften.

Die Positions-, Bereichs- und Dämpfungseigenschaften definieren die Position eines Lichts im Weltraum und wie sich das emittiert Licht über die Entfernung verhält.

Leichte Dämpfung

Die Dämpfung steuert, wie die Intensität eines Lichts in Richtung des maximalen Abstands verringert wird, der durch die Bereichseigenschaft angegeben wird. Drei Gleitkommawerte werden manchmal verwendet, um die Lichtdämpfung darzustellen: Dämpfung0, Dämpfung1 und Dämpfung2. Diese Gleitkommawerte reichen von 0,0 bis unendlich und steuern die Dämpfung eines Lichts. Einige Anwendungen legen das Dämpfung1-Element auf 1,0 und die anderen auf 0,0 fest, was zu einer Lichtintensität führt, die sich als 1 /D ändert, wobei D der Abstand von der Lichtquelle zum Scheitelpunkt ist. Die maximale Lichtintensität liegt an der Quelle, die auf 1 / (Lichtbereich) im Bereich des Lichts sinkt.

In der Regel legt eine Anwendung Dämpfung0 auf 0,0, Dämpfung1 auf einen konstanten Wert und Dämpfung2 auf 0,0 fest, unterschiedliche Lichteffekte können dadurch erreicht werden. Sie können Dämpfungswerte kombinieren, um komplexere Dämpfungseffekte zu erzielen. Oder Sie können sie auf Werte außerhalb des normalen Bereichs festlegen, um noch fremde Dämpfungseffekte zu erzeugen. Negative Dämpfungswerte sind jedoch nicht zulässig. Siehe Dämpfungs- und Blickpunktfaktor.

Helle Farbe

Lichter in Direct3D geben drei Farben aus, die unabhängig in den Beleuchtungsberechnungen des Systems verwendet werden: eine diffuse Farbe, eine Umgebungsfarbe und eine Glanzfarbe. Jedes wird durch das Direct3D-Beleuchtungsmodul integriert, das mit einem Gegenstück aus dem aktuellen Material interagiert, um eine endgültige Farbe zu erzeugen, die beim Rendern verwendet wird. Die diffuse Farbe interagiert mit der diffusen Reflektionseigenschaft des aktuellen Materials, der Glanzfarbe mit der Glanzreflektionseigenschaft des Materials usw. Einzelheiten dazu, wie Direct3D diese Farben anwendet, finden Sie unter "Beleuchtungsmathematik".

In einer Direct3D-Anwendung gibt es in der Regel drei Farbwerte : Diffuse, Ambient und Specular, die die ausgegebene Farbe definiert.

Der Farbtyp, der am stärksten auf die Berechnungen des Systems angewendet wird, ist die diffuse Farbe. Die am häufigsten verwendete diffuse Farbe ist Weiß (R:1.0 G:1.0 B:1.0), Sie können jedoch nach Bedarf Farben erstellen, um gewünschte Effekte zu erzielen. Sie könnten beispielsweise rotes Licht für einen Kamin verwenden oder grünes Licht für ein Verkehrssignal verwenden, das auf "Los" festgelegt ist.

Im Allgemeinen legen Sie die Lichtfarbkomponenten auf Werte zwischen 0,0 und 1,0 (einschließlich) fest, dies ist jedoch keine Anforderung. So können Sie beispielsweise alle Komponenten auf 2,0 festlegen, wodurch ein Licht entsteht, das "heller als weiß" ist. Diese Einstellungsart kann besonders hilfreich sein, wenn Sie andere Dämpfungseinstellungen als Konstante verwenden.

Obwohl Direct3D RGBA-Werte für Lichter verwendet, wird die Alphafarbkomponente nicht verwendet.

In der Regel werden Materialfarben für die Beleuchtung verwendet. Sie können jedoch angeben, dass materialfarben-emissive, ambient, diffuse und glanzförmige Farben durch diffuse oder glanzförmige Vertexfarben überschrieben werden sollen.

Der Alpha-/Transparenzwert stammt immer nur aus dem Alphakanal der diffusen Farbe.

Der Nebelwert stammt immer nur aus dem Alphakanal der Glanzfarbe.

Lichtrichtung

Die Richtungseigenschaft eines Lichts bestimmt die Richtung, in der das vom Objekt ausgegebene Licht im Weltraum bewegt wird. Die Richtung wird nur von direktionalen Lichtern und Spotlights verwendet und mit einem Vektor beschrieben.

Legen Sie die Lichtrichtung als Vektor fest. Richtungsvektoren werden als Entfernungen von einem logischen Ursprung beschrieben, unabhängig von der Position des Lichts in einer Szene. Daher weist ein Blickpunkt, der direkt auf eine Szene zeigt - entlang der positiven Z-Achse - einen Richtungsvektor von <0,0,1> , unabhängig davon, wo seine Position definiert ist. Ebenso können Sie Sonnenlicht simulieren, das direkt auf einer Szene leuchtet, indem Sie ein direktionales Licht verwenden, dessen Richtung 0,-1,0> ist<. Sie müssen keine Lichter erstellen, die entlang der Koordinatenachsen leuchten; Sie können Werte kombinieren und abgleichen, um Lichter zu erstellen, die interessanter sind.

Obwohl Sie den Richtungsvektor eines Lichts nicht normalisieren müssen, achten Sie immer darauf, dass es eine Größe aufweist. Verwenden Sie also keinen <0.0.0-Richtungsvektor> .

Lichtposition

Die Lichtposition wird mithilfe einer Vektorstruktur beschrieben. Die x-, y- und z-Koordinaten werden als Weltraum angenommen. Richtungsleuchten sind die einzige Art von Licht, die die Positionseigenschaft nicht verwenden.

Lichtbereich

Die Bereichseigenschaft eines Lichts bestimmt den Abstand im Weltraum, in dem Gitter in einer Szene kein Licht mehr empfangen, das von diesem Objekt ausgegeben wird. Richtungsleuchten verwenden die Bereichseigenschaft nicht.

Leuchten und Materialien