Partilhar via


Mapas claros de cores (Direct3D 9)

Seu aplicativo geralmente renderizará cenas 3D de forma mais realista se usar mapas de luz coloridos. Um mapa de luz colorido usa os dados RGB no mapa de luz para saber da iluminação.

O exemplo de código C++ a seguir demonstra o mapeamento de luz com dados de cor 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 );

Este exemplo define o mapa de luz como a primeira textura. Em seguida, ele define o estado do primeiro estágio de mesclagem para modular os dados de textura de entrada. Ele usa a primeira textura e a cor atual do primitivo como argumentos para a operação de modulação.

Mapeamento de luz com texturas