Emissive Lighting (Direct3D 9)
Emissive Beleuchtung wird durch einen einzigen Begriff beschrieben.
Emissive Beleuchtung = Cₑ
Wo:
Parameter | Standardwert | Typ | Beschreibung |
---|---|---|---|
Cₑ | (0,0,0,0) | D3DCOLORVALUE | Selbstleuchtende Farbe |
Der Wert für Cₑ lautet entweder:
- Vertexfarbe1, wenn EMISSIVEMATERIALSOURCE = D3DMCS_COLOR1 und die erste Vertexfarbe in der Vertexdeklaration angegeben wird.
- Vertexfarbe2, wenn EMISSIVEMATERIALSOURCE = D3DMCS_COLOR2 und die zweite Vertexfarbe in der Vertexdeklaration angegeben wird.
- selbstleuchtende Farbe des Materials
Anmerkung
Wenn bei Verwendung einer der EMISSIVEMATERIALSOURCE-Optionen die Vertexfarbe nicht angegeben ist, wird die selbstleuchtende Farbe des Materials verwendet.
Beispiel
In diesem Beispiel wird das Objekt mit dem Umgebungslicht der Szene und einer Materialumgebungsfarbe gefärbt. Der Code wird unten angezeigt.
// 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, die grün ist. Emissives Licht beleuchtet alle Objektvertices mit derselben Farbe. Es hängt nicht von der Vertexnormalen oder der Lichtrichtung ab. Daher sieht die Kugel wie ein 2D-Kreis aus, da es keinen Unterschied bei der Schattierung um die Oberfläche des Objekts gibt.
Die folgende Abbildung zeigt, wie sich das emissive Licht mit den anderen drei Lichttypen aus den vorherigen Beispielen zusammenfügt. Auf der rechten Seite der Kugel gibt es eine Mischung aus dem grünen Emissionslicht und dem roten Umgebungslicht. Auf der linken Seite der Kugel mischt sich das grüne emissive Licht mit rotem Umgebungs- und diffusem Licht, das einen roten Farbverlauf erzeugt. Das Glanzlicht ist in der Mitte weiß und erzeugt einen gelben Ring, da der Glanzlichtwert stark abfällt, wodurch die Umgebungs-, diffusen und emissiven Lichtwerte zurückbleiben, verschmelzen und zu Gelb werden.
Verwandte Themen