PSSM Renderproblem

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Mr.Betatester
Beiträge: 12
Registriert: 21.06.2010, 20:00
Kontaktdaten:

PSSM Renderproblem

Beitrag von Mr.Betatester »

hi
ich baue zur zeit an einer PSSM implementierung für meinen schatten. die einzenen splits werden richtig ausgerechnet und auch richtig in die shadowmap gerender. doch leider bekomme ich die scene nicht zusammen es flackert wie verrückt, wenn ich die einzelnen splits zusammen zeichenen will(doublebuffering habe ich aber an).

ich habe das ganze jetzt mal ohne schatten berechnung gemacht und habe das problem immer noch irgendwas läuft da schief, aber leider fällt mir nichts mehr ein :-(

Code: Alles auswählen

for (int i = 0; i < mp_shadowMap->getSplits(); ++i) {
	glDepthRange(mp_shadowMap->getSplitValue(i), mp_shadowMap->getSplitValue(i + 1));
	perspective.setPerspective(cam->getFov(), aspect, mp_shadowMap->getSplitValue(i), mp_shadowMap->getSplitValue(i + 1));
	mp_core->setProjection(perspective);
	mp_core->setModelMatrix(cam->getViewMatrix());
        mp_scene->draw();
}
ansich sollte er nun die scene in mehreren teilen mit einmal zeichnen?
viele grüße
mr.betatester
Mr.Betatester
Beiträge: 12
Registriert: 21.06.2010, 20:00
Kontaktdaten:

Re: PSSM Renderproblem

Beitrag von Mr.Betatester »

ich habe es jetzt auch mit einem fbo versucht, bekomme aber leider dass selbe resultat :-(
nun wollte ich die einzelnen texturen zu einer textur zusammen fassen, so wie auf diesem beispiel:
http://www.e-studioz.de/wordpress/wp-co ... sample.jpg
aber finde ich keine gl befehle mit denen ich sagen kann als welche farbe er den tiefenwert speichern soll oder muss ich das von hand machen?
danke
mr.betatester
Mr.Betatester
Beiträge: 12
Registriert: 21.06.2010, 20:00
Kontaktdaten:

Re: PSSM Renderproblem

Beitrag von Mr.Betatester »

hab des rätzels lösung :-). aus performancegründen update ich meine uniformen variablen, der glsl shader, nur wenn es wirklich nötig ist und zum setzen der letzten änderung nutzte ich GetTickCount(). da die frame rate aber höher ist als die genauigkeit der funktion, wurden die matrizen nicht immer geupdatet :-) naja manchmal sieht man den wald vor lauter bäumen nicht
grüße
mr.betatester
Antworten