DirectX mehrere lichter? [erledigt]
-
Hi!
Wie realisiere ich mehrere lichter gleichzeitig?
derzeitiger versuch sieht so aus:
void init_light(void){ D3DLIGHT9 light[2]; D3DMATERIAL9 material; ZeroMemory(&light[0], sizeof(light[0])); light[0].Type = D3DLIGHT_DIRECTIONAL; light[0].Diffuse = D3DXCOLOR(0.19f, 0.19f, 0.19f, 1.0f); light[0].Direction = D3DXVECTOR3(-1.0f, -0.4f, -1.0f); ZeroMemory(&light[1], sizeof(light[1])); light[1].Type = D3DLIGHT_POINT; light[1].Diffuse = D3DXCOLOR(0.50f, 0.50f, 0.50f, 1.0f); light[1].Position = D3DXVECTOR3(0.0f, 25.0f, 0.0f); light[1].Range = 100.0f; light[1].Attenuation0 = 0.0f; light[1].Attenuation1 = 0.0125f; light[1].Attenuation2 = 0.0f; d3ddev->SetLight(0, &(light[0])); d3ddev->LightEnable(0, TRUE); d3ddev->SetLight(1, &(light[1])); d3ddev->LightEnable(1, TRUE); ZeroMemory(&material, sizeof(D3DMATERIAL9)); material.Diffuse = D3DXCOLOR(0.3f, 0.3f, 0.3f, 0.3f); material.Ambient = D3DXCOLOR(0.3f, 0.3f, 0.3f, 0.3f); d3ddev->SetMaterial(&material); }
edit:
hat sich schon erledigt... hab den fehler gefunden...
hat soweit funktioniert. das eine licht war nur kaum zu sehen...