OpenGL Schadowmap relativ zur kamera
Verfasst: 01.11.2023, 19:26
Hallo, ich habe mir gestern mal das Tutorial für Shadowmaps auf https://learnopengl.com/Advanced-Lighti ... ow-Mapping angeschaut. Soweit ist auch alles klar und ich bekomme es hin, dass meine Objekte Schatten werfen. Jetzt ist ja aber der Bildausschnitt in dem Tutorial fest definiert, wie kann ich es am besten bewerkstelligen das er den Bildausschnitt der Shadowmap abhängig von der Kamera macht? Aktuell verfolge ich den Ansatz, dass ich die Projektion Matrix anhand der Kamera Position definiere also etwa so
was bis jetzt auch gut funktioniert. Ist das so richtig, oder gibt's da andere Methoden das zu bewerkstelligen?
Code: Alles auswählen
public mat4 GenerateLightSpaceMatrix()
{
//new vec3(-2f, 4.0f, -1.0f)
float near_plane = 1.0f, far_plane = 7.5f;
float left = _camX - 10f;
float right = _camX + 10f;
float top = _camY + 10f;
float bottom = _camY - 10f;
// Könnte auch funktionieren
//float top = _camZ + 10f;
//float bottom = _camZ - 10f;
mat4 lightProjection = mat4.Ortho(left, right, bottom, top, near_plane, far_plane);
mat4 lightView = mat4.LookAt(lightPos, new vec3(0.0f, 0.0f, 0.0f), new vec3(0.0f, 1.0f, 0.0f));
return lightProjection * lightView;
}