Registriert: Mo Feb 15, 2010 18:09 Beiträge: 21
Programmiersprache: C++, Java
Guten Abend. Ich versuche Cascaded Shadow Mapping zu implementieren. Dafür wollte ich eine gelayerte Tiefentextur verwenden und später mit sampler2DArrayShadow diese entsprechende Cascade auslesen. Leider scheitert es schon am Rendern der Tiefentextur.
Code:
int shadowBuffer[NUM_SHADOW_CASCADES], shadowCascade;
Wenn ich nun mit einem openGL debugger dran gehe, so sagt er mir, dass die FBOs an ihre entsprechenden Layer in der Textur gebunden sind. Gerendert wird jedoch immer in layer 0. Wenn ich nach schaue sehe ich exakt das bild der höchsten Cascade.
Nein, daran lag es leider nicht. Wäre auch komisch, da die Textur ja scheinbar erreicht wird. Schließlich wird alles in den layer 0 gerendert. Außerdem war ich immer der Meinung, dass Texturen in die gerendert wird generell nicht gebunden sein sollten.
Scheint auch irgendwie gleich zu sein. Das einzige was mich wundert ist, dass an glFramebufferTextureLayer wärend des Rendervorgangs aufgerufen wird. (siehe hier) Auch wenn ich so machen, selber Fehler :/
Registriert: Mo Feb 15, 2010 18:09 Beiträge: 21
Programmiersprache: C++, Java
Nein nichts. Momentan habe ich alles soweit runter gebrochen, dass ich nur die glClear aufrufe und mit glClearDepth(0.5) eigentlich ein schön graues Bild sehen sollte. Ich untersuche das ganze mit gDebugger.
Das Ergebnis ist folgendes: Mist Die Jungs von nVidia scheinen es genau so zu machen. Habe mir mal ihre Demo für CSM runter geladen und den Quelltext verglichen. Hier auch nochmal die calls bis zum ersten Frame vom Debugger aufgezeichnet.
Werde jetzt mal versuchen den Quelltext von nVidia zu kompilieren und dann nach und nach Dinge raus zu nehmen.
Mitglieder in diesem Forum: 0 Mitglieder und 21 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.