Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Zitat
Schreiben Sie das Beispielprogramm mit den Würfeln, so um, dass es eine rotierende Spotlichtquelle gibt die sozusagen die Funktion eines Luchtturms hat
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// Das Punktlicht wird nun erstellt. ZeroMemory(&SpotLight, sizeof(D3DLIGHT9)); SpotLight.Type = D3DLIGHT_SPOT; // Punktlicht SpotLight.Diffuse = tbColor(1.0f, 1.0f, 1.0f); // Weiße Streufarbe SpotLight.Ambient = tbColor(1.0f, 1.0f, 1.0f); // Weiße Hintergrundfarbe SpotLight.Specular = tbColor(1.0f, 1.0f, 1.0f); // Weiße Glanzfarbe SpotLight.Position = g_vCameraPosition; SpotLight.Direction = g_vCameraPosition + tbVector3(sinf(g_fCameraAngle), 0.0f, cosf(g_fCameraAngle)), SpotLight.Range = 100.0f; // 100 Einheiten Reichweite SpotLight.Falloff = 1; SpotLight.Theta = 20; SpotLight.Phi= 30; SpotLight.Attenuation0 = 0.0f; // Lichtabschwächung SpotLight.Attenuation1 = 0.025f; // ... SpotLight.Attenuation2 = 0.0f; // ... // Licht einsetzen und aktivieren g_pD3DDevice->SetLight(0, &SpotLight); g_pD3DDevice->LightEnable(0, TRUE); // Globales schwaches rotes Hintergrundlicht einstellen g_pD3DDevice->SetRenderState(D3DRS_AMBIENT, tbColor(0.25f, 0.0f, 0.0f)); |
Quellcode |
|
1 2 3 4 5 |
mCamera = tbMatrixCamera(g_vCameraPosition, g_vCameraPosition + tbVector3(sinf(g_fCameraAngle), 0.0f, cosf(g_fCameraAngle)), tbVector3(0.0f, 1.0f, 0.0f)); |
Zitat von »"Snapper"«
Weil das bei der Kameramatrix auch so gemacht wurde:
C-/C++-Quelltext |
|
1 2 3 |
SpotLight.Direction = [b]-1[/b]*tbVector3(sinf(g_fCameraAngle), 0.0f, cosf(g_fCameraAngle)), |
Werbeanzeige