Beleuchtung
-
Hallo Leute,
Ich hab ein problem mir meiner Lichtquelle, und zwar ist die so hell das alle Objekte weiß sind und ich das nicht ändern kann. Selbst, wenn ich die Lichtabschwächung auf 0.00025f setze(bei exponentieller abschwächung).
Ich nuzte Direct X9// Das Punktlicht wird nun erstellt. ZeroMemory(&PointLight, sizeof(D3DLIGHT9)); PointLight.Type = D3DLIGHT_POINT; // Punktlicht PointLight.Diffuse = tbColor(1.0f, 1.0f, 1.0f); // Weiße Streufarbe PointLight.Ambient = tbColor(1.0f, 1.0f, 1.0f); // Weiße Hintergrundfarbe PointLight.Specular = tbColor(1.0f, 1.0f, 1.0f); // Weiße Glanzfarbe PointLight.Position = tbVector3(0.0f, 0.0f,50.0f); // Position PointLight.Range = 10.0f; // 1000 Einheiten Reichweite PointLight.Attenuation0 = 0.0f; // Lichtabschwächung PointLight.Attenuation1 = 0.0f; // ... PointLight.Attenuation2 = 0.00025f; // ... // Licht einsetzen und aktivieren g_pD3DDevice->SetLight(0, &PointLight); g_pD3DDevice->LightEnable(0, TRUE);
-
Ist denn das Licht insgesamt an? Wenn du g_pD3DDevice->LightEnable(0, FALSE); machst muss alles dunkel sein, korrekt?
-
das licht ist angeschalted, aber das an/aus schalten hatt keine wirkung.
-
ne hatt keine wirkung. Hab's nochmal getested
-
Dass da alles weiß ist wundert mich nicht, Du hast ja auch Diffuse, Ambient und Specular jeweils auf weiß gestellt. Ambient sollte Schwarz oder ein dunkles Grau sein.
-
mosta schrieb:
das licht ist angeschalted, aber das an/aus schalten hatt keine wirkung.
Offensichtlich ist es das nicht, denn sonst hätte das Ausschalten der Lichtquelle ja eine Wirkung.
-
Dann stimmt bestimmt was mit den Normalen nicht...
-
Ich hab den Fehler gefunden das Material hatte auch die farbe weiß.