Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Gdy światło jest oświetlone przez źródło światła, matowe powierzchnie wyświetlają odbicie światła rozproszonego. Jasność światła rozproszonego zależy od odległości od źródła światła i kąta między powierzchnią normalną a wektorem kierunku źródła światła. Efekty oświetlenia rozproszonego symulowane przez obliczenia oświetlenia generują tylko efekty ogólne.
Aplikacja może symulować bardziej złożone oświetlenie rozproszone z mapami światła tekstury. W tym celu dodaj mapę światła rozproszonego do tekstury podstawowej, jak pokazano w poniższym przykładzie kodu C++.
// This example assumes that d3dDevice is a valid pointer to an
// IDirect3DDevice9 interface.
// lptexBaseTexture is a valid pointer to a texture.
// lptexDiffuseLightMap is a valid pointer to a texture that contains
// RGB diffuse light map data.
// Set the base texture.
d3dDevice->SetTexture(0,lptexBaseTexture );
// Set the base texture operation and args.
d3dDevice->SetTextureStageState(0,D3DTSS_COLOROP,
D3DTOP_MODULATE );
d3dDevice->SetTextureStageState(0,D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState(0,D3DTSS_COLORARG2, D3DTA_DIFFUSE );
// Set the diffuse light map.
d3dDevice->SetTexture(1,lptexDiffuseLightMap );
// Set the blend stage.
d3dDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE );
d3dDevice->SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT );
Tematy pokrewne
-
mapowanie światła z teksturami