Diffuse Beleuchtung

Diffuse Beleuchtung hängt sowohl von der Lichtrichtung als auch von der normalen Objektoberfläche ab. Diffuse Beleuchtung variiert auf der Oberfläche eines Objekts aufgrund der sich ändernden Lichtrichtung und des sich ändernden Flächenzahlvektors. Es dauert länger, diffuse Beleuchtung zu berechnen, da sie sich für jeden Objektvertex ändert. Der Vorteil der Verwendung besteht jedoch darin, dass es Objekte schattiert und ihnen dreidimensionale (3D) Tiefe verleiht.

Nach Anpassung der Lichtintensität für Dämpfungseffekte berechnet die Lichtmaschine, wie viel des verbleibenden Lichts von einem Scheitelpunkt reflektiert wird, unter Berücksichtigung des Winkels des Vertexnormal und der Richtung des einfallenden Lichts. Die Beleuchtungs-Engine springt zu diesem Schritt für gerichtete Lichter, da sie nicht über die Entfernung abschwächen. Das System berücksichtigt zwei Reflektionstypen, diffus und spekulär, und verwendet eine andere Formel, um zu bestimmen, wie viel Licht für jeden reflektiert wird.

Nach der Berechnung der reflektierten Lichtmengen wendet Direct3D diese neuen Werte auf die diffusen und spekulären Reflektionseigenschaften des aktuellen Materials an. Die resultierenden Farbwerte sind die diffusen und spiegelförmigen Komponenten, die der Rasterisierer verwendet, um Gouraud-Schattierung und glanzige Hervorhebung zu erzeugen.

Diffuse Beleuchtung wird durch die folgende Gleichung beschrieben.

Diffuse Beleuchtung = summe[Cd*Ld*(N.Ldir)*Atten*Spot]

Parameter Standardwert Typ BESCHREIBUNG
Sum Summierung der diffusen Komponente jedes Lichts.
Cd (0,0,0,0) D3DCOLORVALUE Diffuse Farbe.
Ld (0,0,0,0) D3DCOLORVALUE Licht diffuse Farbe.
N D3DVECTOR Scheitelpunktnormal
Ldir D3DVECTOR Richtungsvektor vom Objektvertex zum Licht.
Atten GLEITKOMMAZAHL Lichtdämpfung. Siehe Dämpfungs- und Blickpunktfaktor.
Sofortige Zahlung GLEITKOMMAZAHL Spotlight-Faktor. Siehe Dämpfungs- und Blickpunktfaktor.

 

Informationen zum Berechnen der Dämpfung (Atten) oder der Scheinwerfermerkmale (Spot) finden Sie unter Dämpfungs- und Spotlightfaktor.

Diffuse Bauteile werden von 0 bis 255 eingespannt, nachdem alle Leuchten separat verarbeitet und interpoliert werden. Der resultierende diffuse Lichtwert ist eine Kombination aus den Werten für umgebungs-, diffus- und emissives Licht.

Beispiel

In diesem Beispiel wird das Objekt mit der hellen diffusen Farbe und einer diffusen Materialfarbe gefärbt.

Gemäß der Gleichung ist die resultierende Farbe für die Objektvertices eine Kombination aus der Materialfarbe und der Lichtfarbe.

Die folgenden beiden Abbildungen zeigen die Materialfarbe, die grau ist, und die helle Farbe, die leuchtend rot ist.

Abbildung einer grauen Kugelillustration einer roten Kugel

Die resultierende Szene ist in der folgenden Abbildung dargestellt. Das einzige Objekt in der Szene ist eine Kugel. Die Berechnung der diffusen Beleuchtung nimmt das Material und die lichtstreue Farbe und ändert sie anhand des Punktprodukts durch den Winkel zwischen Lichtrichtung und Vertexnormal. Dadurch wird die Rückseite der Kugel dunkler, wenn sich die Oberfläche der Kugel vom Licht entfernt.

Abbildung einer Kugel mit diffuser Beleuchtung

Die Kombination der diffusen Beleuchtung mit der Umgebungsbeleuchtung aus dem vorherigen Beispiel schattiert die gesamte Oberfläche des Objekts. Das Umgebungslicht schattiert die gesamte Oberfläche, und das diffuse Licht hilft, die 3D-Form des Objekts zu offenbaren, wie in der folgenden Abbildung gezeigt.

Abbildung einer Kugel mit diffuser Beleuchtung und Umgebungsbeleuchtung

Diffuse Beleuchtung ist intensiver zu berechnen als Umgebungsbeleuchtung. Da es von den Vertexnormalen und der Lichtrichtung abhängt, können Sie die Objekte im 3D-Raum sehen, was eine realistischere Beleuchtung als die Umgebungsbeleuchtung erzeugt. Sie können glanzreiche Hervorhebungen verwenden, um ein realistischeres Aussehen zu erzielen.

Beleuchtungsmathematik