ich versuche momenten den Schatten aus der Shadowmap Demo von Sascha Willems (http://www.saschawillems.de/?page_id=100) halbtransparent zu bekommen.
Dazu dachte ich, könnte ich die Szene einfach einmal ohne Schatten zeichnen und dann die Szene mit Schatten drüberblenden.
Meine Erweiterung sieht so aus:
Code:
glMultMatrixf(@LightLookAtMatrix);
glColor4f(1,1,1,0.5);
RenderScene(True);
glEnable(GL_TEXTURE_2D);
// Tiefentextur binden damit sie als Schattentextur projeziert wird
glBindTexture(GL_TEXTURE_2D, DepthTexture);
glEnable(GL_BLEND);
glBlendFunc(GL_DST_COLOR, GL_SRC_ALPHA);
glColor4f(1,1,1,0.5);
RenderScene(True);
glColor4f(1,1,1,1);
glDisable(GL_BLEND);
Allerdings wird so nur die Szene ohne Schatten gezeichnet. Wie stelle ich das also am besten an ? Oder gibt es Alternativen ?
Die anderen Schattenmethoden sagen mir nicht so zu, da sie nirgends für mich ausreichend erklärt sind und so etwas wie eine einfache Unit zum Einbinden von Schatten gibt es wohl nicht ^^
Wenn eine tiefen textur als shadowmap benutzt, sollte man den compare mode aktivieren, zusätzlich gibt es dann noch die Möglichkeit eine ambienten lichtanteil zu setzen, der zurückgegeebn wird wenn der vergleich Schatten ergibt.
Die extension heist ARB_shadow_ambient aber es scheint so als wenn die inzwischen schon nicht mehr unterstütz wird, weil es mit einem shader viel leichter geht.
Gibt es irgendwo so etwas wie einen Schatten-Shader, den man leicht in sein Programm einbinden kann ?
Ich würde mich gerne mal genauer mit glSlang auseinandersetzen, allerdings komme ich schon mit nicht-shader Schatten nicht klar
Mitglieder in diesem Forum: 0 Mitglieder und 19 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.