Sdílet prostřednictvím


Barevné světlé mapy (Direct3D 9)

Vaše aplikace obvykle vykreslí 3D scény realističtěji, pokud používá barevné světlé mapy. Barevná světlá mapa používá data RGB v mapě světla pro informace o osvětlení.

Následující příklad kódu C++ ukazuje mapování světla s daty barev RGB.

// This example assumes that d3dDevice is a valid pointer to an
// IDirect3DDevice9 interface and that lptexLightMap is a valid
// pointer to a texture that contains RGB light map data.

// Set the light map texture as the first texture.
d3dDevice->SetTexture(0, lptexLightMap);

d3dDevice->SetTextureStageState( 0,D3DTSS_COLOROP, D3DTOP_MODULATE );
d3dDevice->SetTextureStageState( 0,D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0,D3DTSS_COLORARG2, D3DTA_DIFFUSE );

Tento příklad nastaví světlou mapu jako první texturu. Potom nastaví stav první fáze kombinování pro modulaci příchozích dat textury. Používá první texturu a aktuální barvu primitiv jako argumenty modulate operace.

mapování světla s texturami