Freigeben über


Emissive Beleuchtung (Direct3D 9)

Emissive Beleuchtung wird durch einen einzigen Begriff beschrieben.

Emissive Beleuchtung = Cₑ

Hierbei gilt:

Parameter Standardwert type BESCHREIBUNG
Cₑ (0,0,0,0) D3DCOLORVALUE Emissive Farbe.

 

Der Wert für Cₑ lautet entweder:

  • vertex color1, wenn EMISSIVEMATERIALSOURCE = D3DMCS_COLOR1 und die erste Vertexfarbe in der Vertexdeklaration angegeben wird.
  • vertex color2, wenn EMISSIVEMATERIALSOURCE = D3DMCS_COLOR2 und die zweite Vertexfarbe in der Vertexdeklaration angegeben wird.
  • Material emissive Farbe

Hinweis

Wenn eine EMISSIVEMATERIALSOURCE-Option verwendet wird und die Scheitelpunktfarbe nicht angegeben wird, wird die emissive Materialfarbe verwendet.

 

Beispiel

In diesem Beispiel wird das Objekt mit dem Umgebungslicht der Szene und einer Materialumgebungsfarbe gefärbt. Der Code ist unten dargestellt.

// create material
D3DMATERIAL9 mtrl;
ZeroMemory( &mtrl, sizeof(mtrl) );
mtrl.Emissive.r = 0.0f;
mtrl.Emissive.g = 0.75f;
mtrl.Emissive.b = 0.0f;
mtrl.Emissive.a = 0.0f;
m_pd3dDevice->SetMaterial( &mtrl );
m_pd3dDevice->SetRenderState(D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL);

Gemäß der Gleichung ist die resultierende Farbe für die Objektvertices die Materialfarbe.

Die folgende Abbildung zeigt die Materialfarbe grün. Emissives Licht leuchtet alle Objektvertices mit der gleichen Farbe an. Es ist nicht abhängig vom Scheitelpunkt normal oder von der Lichtrichtung. Infolgedessen sieht die Kugel wie ein 2D-Kreis aus, da es keinen Unterschied bei der Schattierung um die Oberfläche des Objekts gibt.

Abbildung einer grünen Kugel

Die folgende Abbildung zeigt, wie sich das emissive Licht mit den anderen drei Arten von Leuchten aus den vorherigen Beispielen mischt. Auf der rechten Seite der Kugel befindet sich eine Mischung aus grünem Emissiv und rotem Umgebungslicht. Auf der linken Seite der Kugel mischt sich das grüne emissive Licht mit rotem Umgebungs- und diffusem Licht und erzeugt einen roten Farbverlauf. Das spiegelförmige Highlight ist weiß in der Mitte und erzeugt einen gelben Ring, da der spiegelige Lichtwert stark abfällt und die umgebungsinternen, diffusen und emissiven Lichtwerte, die sich zu Gelb vermischen.

Abbildung einer grünen Kugel mit emissivem Licht

Lichtmathematik