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...


Anmelden zum Antworten