Oświetlenie Emisyjne (Direct3D 9)
Oświetlenie emisyjne jest opisane jednym terminem.
Oświetlenie emisyjne = Cₑ
Gdzie:
Parametr | Wartość domyślna | Typ | Opis |
---|---|---|---|
Cₑ | (0,0,0,0) | D3DCOLORVALUE | Kolor emisyjny. |
Wartość Cₑ jest jedną z następujących:
- kolor wierzchołka1, jeśli EMISSIVEMATERIALSOURCE = D3DMCS_COLOR1, a pierwszy kolor wierzchołka jest dostarczany w deklaracji wierzchołka.
- kolor wierzchołka2, jeśli EMISSIVEMATERIALSOURCE = D3DMCS_COLOR2, a drugi kolor wierzchołka jest dostarczany w deklaracji atrybutów wierzchołka.
- kolor materiału emisisysjnego
Notatka
Jeśli używana jest opcja EMISSIVEMATERIALSOURCE i kolor wierzchołka nie jest podany, używany jest kolor emisyjny materiału.
Przykład
W tym przykładzie obiekt jest kolorowy przy użyciu światła otoczenia sceny i koloru otoczenia materiału. Kod jest przedstawiony poniżej.
// 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);
Zgodnie z równaniem, wynikowy kolor wierzchołków obiektów jest kolorem materiału.
Na poniższej ilustracji przedstawiono kolor materiału, który jest zielony. Światło emisyjne oświetla wszystkie wierzchołki obiektów tym samym kolorem. Nie zależy od normali wierzchołka ani od kierunku światła. W rezultacie sfera wygląda jak okrąg 2D, ponieważ nie ma różnicy w cieniowaniu powierzchni obiektu.
zielonej sfery
Na poniższej ilustracji pokazano, jak światło emisisacyjne łączy się z innymi trzema typami świateł, z poprzednich przykładów. Po prawej stronie sfery znajduje się mieszanka zielonego światła emisyjnego i czerwonego światła otaczającego. Po lewej stronie sfery zielone światło emisisyjne łączy się z czerwonym otoczeniem i rozproszonym światłem tworzącym czerwony gradient. Połysk jest biały w centrum i tworzy żółty pierścień, ponieważ wartość światła połyskowego ostrego spadania, pozostawiając wartości światła otoczenia, światła rozproszonego i emisyjne, które wspólnie tworzą żółty kolor.
Tematy pokrewne
-
matematyka oświetlenia