Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diffuse Beleuchtung hängt sowohl von der Lichtrichtung als auch von der Normalen der Objektoberfläche ab. Diffuse Beleuchtung variiert über die Oberfläche eines Objekts als Ergebnis der sich ändernden Lichtrichtung und des sich ändernden Oberflächenzahlvektors. Es dauert länger, diffuse Beleuchtung zu berechnen, da sie sich für jeden Objektvertex ändert, aber der Vorteil der Verwendung besteht darin, dass es Objekte schattiert und ihnen dreidimensionale Tiefe (3D) verleiht.
Nach dem Anpassen der Lichtintensität für Dämpfungseffekte berechnet die Beleuchtungsmaschine, wie viel des verbleibenden Lichts von einem Scheitelpunkt reflektiert wird, je nach Winkel der Scheitelpunktnormal und der Richtung des Vorfalllichts. Die Beleuchtungsmaschine springt zu diesem Schritt für direktionale Lichter, da sie nicht über die Entfernung dämpfung. Das System berücksichtigt zwei Spiegelungstypen, diffuse und glanzförmige Und verwendet eine andere Formel, um zu bestimmen, wie viel Licht für jedes reflektiert wird.
Nach der Berechnung der Lichtspiegelung wendet Direct3D diese neuen Werte auf die Diffuse- und Glanzreflektionseigenschaften des aktuellen Materials an. Die resultierenden Farbwerte sind die diffusen und glanzförmigen Komponenten, die der Rasterizer verwendet, um Gouraud-Schattierung und Glanzmarkierung zu erzeugen.
Diffuse Beleuchtung wird durch die folgende Formel beschrieben.
Diffuse Beleuchtung = summe[Cd*Ld*(N.Ldir)*Atten*Spot]
| Parameter | Standardwert | Typ | Beschreibung |
|---|---|---|---|
| Sum | – | – | Summation der diffusen Komponente jedes Lichts. |
| Cd | (0,0,0,0) | D3DCOLORVALUE | Diffuse Farbe. |
| Ld | (0,0,0,0) | D3DCOLORVALUE | Helle diffuse Farbe. |
| N | N/V | D3DVECTOR | Vertexnormal |
| Ldir | N/V | D3DVECTOR | Richtungsvektor vom Objektvertex zum Licht. |
| Atten | N/V | FLOAT | Lichtdämpfung. Siehe Dämpfungs- und Blickpunktfaktor. |
| Spot | N/V | FLOAT | Blickpunktfaktor. Siehe Dämpfungs- und Blickpunktfaktor. |
Informationen zum Berechnen der Dämpfung (Dämpfung) oder der Blickpunktmerkmale (Spot) finden Sie unter Dämpfung und Blickpunktfaktor.
Diffuse Komponenten sind von 0 bis 255 geklemmt, nachdem alle Leuchten separat verarbeitet und interpoliert werden. Der resultierende diffuse Beleuchtungswert ist eine Kombination aus umgebungs-, diffusen und emissiven Lichtwerten.
Beispiel
In diesem Beispiel wird das Objekt mit der hellen diffusen Farbe und einer material diffusen Farbe 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 hellrot ist.


Die resultierende Szene wird in der folgenden Abbildung gezeigt. Das einzige Objekt in der Szene ist eine Kugel. Die diffuse Beleuchtungsberechnung übernimmt die Material- und Licht diffuse Farbe und ändert sie anhand des Punktprodukts um den Winkel zwischen der Lichtrichtung und dem Vertexnormal. Daher wird die Rückseite der Kugel dunkler, wenn sich die Oberfläche der Kugel vom Licht wegkurven.

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

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