Partager via


Cartes de couleur claire (Direct3D 9)

Votre application affiche généralement les scènes 3D de manière plus réaliste si elle utilise des cartes de lumière colorées. Une carte de lumière colorée utilise les données RVB de la carte de lumière pour ses informations d’éclairage.

L’exemple de code C++ suivant illustre le mappage de la lumière avec des données de couleur RVB.

// 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 );

Cet exemple montre comment définir la carte de lumière comme première texture. Il définit ensuite l’état de la première étape de fusion pour moduler les données de texture entrantes. Il utilise la première texture et la couleur actuelle de la primitive comme arguments de l’opération de module.

Mappage de lumière avec textures