Hi Leute,
lange nix gehört von Euch ;-)
Wenn ich ein spotlight erzeuge:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
ZeroMemory(&light, sizeof(light));
light.Type = D3DLIGHT_SPOT;
light.Range = 10.0f;
light.Diffuse.r = 0.5f;
light.Diffuse.g = 1.0f;
light.Diffuse.b = 0.5f;
light.Position = D3DXVECTOR3(-1.0f, -1.0f, -2.0f);
light.Direction = D3DXVECTOR3(-light.Position.x/2.0f, -light.Position.y/2.0f, -light.Position.z/2.0f);
light.Theta = 0.5f;
light.Phi = 1.0f;
light.Falloff = 1.0f;
light.Attenuation0 = 0.0f;
light.Attenuation0 = 0.05f;
m_pd3dDevice->SetLight(1, &light);
m_pd3dDevice->LightEnable(1, TRUE);
|
dann müsste doch ein Körper, der auf Position 0,0,0 liegt von links oben vorn beleuchtet werden. Die Beleuchtungsquelle liegt also hinter der Kamera und scheint nach vorn. Wenn ich den Körper leicht animiere, zeigt sich dann die Reflexion aber ganz woanders.
Der Scheinwerfer scheint irgendwo unterhalb oder hinterm Objekt zu stehen (also die Beleuchtungsquelle).
Liegt das evtl an den Normalen?
Die habe ich eben noch mal kontrolliert, die zeigen alle nach außen.
Hat jemand einen Tipp?
Danke