Posts by KathiXIII

    Die vergebenen Punkte gelten für die derzeitige Abgabe? Das Einbauen der Vorschläge im Feedback würde einfach zusätzliche Punkte bringen, oder?

    Danke, das war der richtige Tipp. Hab die Beleuchtung des Weges im Shader nochmal überdacht und jetzt passt zumindest die Unterseite (die jetzt komplett im Schatten liegt, einfach durch diffuse shading). Die Schatten sind zwar noch immer auch auf darunterliegenden Plattformen, aber ich glaube das lässt sich nicht so einfach lösen.


    Noch eine Frage: Die Framerate ist extrem von der Größe der ShadowMap abhängig. Sobald ich die Shadow Map größer mache, verringert sich die Framerate stark. Ist das normal?

    Stimmt, mit doppelter Auflösung hab ich auch eine doppelte Frequenz der Artefakte. Glaube aber nicht, dass eine Erhöhung der Auflösung zielführend ist. Trotzdem sind weite Teile des Weges ungewollterweise schattiert.
    Ich habe bereits daran gedacht, dass ich die Wege nicht in der ShadowMap zeichne, dann treten die Effekte gar nicht erst auf. Ich war mir nicht sicher, ob das für den Effekt ausreichend ist.
    . Es treten aber trotzdem ungewünschte Effekte auf, selbst wenn uns übermäßiger Realismug nicht wichtig ist: die Schatten der Gegner "scheinen" durch den Weg "durch", es sind also auch Seitenflächen, Unterseite und sogar darunterliegende Plattformen schattiert. Ich habe zuerst versucht über den Normalvektor des Weges zu erreichen, dass er an der Unterseite nicht schattiert werden kann, erziele aber so kein schönes Ergebnis da sich die Normalvektoren stetig über die Oberfläche des Weges verändern. Irgendwo müsste ich den Schatten "abschneiden".


    informatik-forum.at/index.php?attachment/22850/ informatik-forum.at/index.php?attachment/22851/VSM3_2.png VSM3_1.png

    Derzeit hat die Shadowmap eine Auflösung von 1024x1024. Aber auch wenn ich sie vergrößere (z.B. 2048) verschwinden die Artefakte nicht, dafür wird die Performance deutlich schlechter. Die schwarzen Bereiche sind die schattierten Regionen, die weißen unschattiert.
    Was mir noch aufgefallen ist: die Schatten der Wege weiten sich aus, wenn man sich nach vorn bewegt. Das darf natürlich keinesfalls sein. Ich seh aber nicht warum, weil ich alles gleich mache wie für die Schatten der enemies. [edit: dieser Effekt verschwand nach dem Abschalten von MipMapping für die ShadowMap]

    Ich habe den Fehler selbst entdeckt. Beim Blurren ist doch etwas schiefgelaufen: im vertex shader werden die Koordinaten der Textur jetzt zusätzlich auf [0,1] gemappt, und im shadowMapShader durfte ich die Tiefe nicht durch w dividieren (keine perspective division). Dann gings. Glatte Schatten hab ich durch GL_LINEAR statt GL_NEAREST in der Parametrisierung der Shadow Map bekommen.
    Meine Schatten schauen jetzt so aus (rechts nur die Schatten):
    informatik-forum.at/index.php?attachment/22820/VSM2_enemies.png VSM2_enemies_shadows.png informatik-forum.at/index.php?attachment/22821/


    Stimmt das so für shadow mapping + VSM?
    Das Problem mit den Selbstschattierungen des Weges hab ich aber weiterhin:
    VSM2_path_shadows.png
    Und bei den enemies "flackern" die Schatten leicht, wahrscheinlich wegen der Bewegung, macht das was?

    Hallo, ich bins nochmal von Timmys Tale.
    Ich hab jetzt Variance Shadow Mapping mal theoretisch implementiert, es liefert aber kein richtiges Ergebnis. Die Schatten sind auf jeden Fall pixelig und werden durch das Blurren der Shadow Map nur vergrößert. Und große Teile des Weges liegen im Schatten (also eine starke Selbstschattierung), sodass nach dem Blurren sogar alles schattiert ist. Ich hab einige screenshots gemacht: mit/ohne Blurren, Schatten nur von den Gegnern/auch vom Weg:
    VSM_enemies_notblurred.jpg VSM_enemies_blurred.png VSM_all_notblurred.jpg
    enemies not blurred - enemies blurred - path not blurred


    Und hier meine Shadow Map vor und nach dem Blurren:
    SM_all_notblurred.png SM_all_blurred.png


    Der code liegt im Branch shadow von Noahs Tale.
    Weiß jemand, was ich falsch mache? VSM sollte ja eigentlich bessere Ergebnisse liefern als normales SM, was bei mir aber keineswegs der Fall ist.

    1.Nachdem jetzt endlich Schatten sichtbar sind, kämpf ich mit Artefakten und Aliasing. Die Schatten von den bewegten Gegnern flimmern alle am Rand, und der Weg hat falsche Selbstschattierungen, selbst wenn ich PolygonOffset setze. GL_LINEAR statt GL_NEAREST macht zwar allgemein runde statt pixelige Schatten, rundet dafür aber auch eigentlich eckige Schatten (die der Weg wirft) fälschlicherweise ab. Wie kann ich diese Probleme in den Griff bekommen?


    2.Ich hab auch versucht Variance Shadow Maps zu implementieren (habe gehofft dass die vllt einiger der Aliasing-Probleme lösen), komm aber nicht ganz mit dem Abspeichern der Momente und dem Blurren der ShadowMap zurecht. Kennt jemand ein gutes (und v.a. aktuelles, was keine veralteten Befehle verwendet) Tutorial/Beispiel? Oder welchen (einfach zu implementierenden) Effekt könnt ich alternativ einbauen um die fehlenden 0.5 feature points zu bekommen?


    Schon mal danke für eure Antworten :)

    Ich hab versucht das ganze nochmal in unsere aktuelle Version zu implementieren und verwende jetzt auch zwei unterschiedliche Shader für first und second pass, bekomme aber noch immer keine Schatten. Könnte jemand schnell drüberschauen, ob ihm etwas auffallt? (mir ist klar dass das beleuchtungsmodell so nicht stimmt, aber trotzdem sollten Schatten zu sehen seien)

    Ich soll also im First und Second Pass zwei unterschiedliche Shader verwenden? Ist das notwendig, kann ich nicht für den First Pass einen belieben Shader nehmen, den depth value berechnet er ja sowieso. In unserer Programmkonstruktion ist nämlich jedem Objekt ein eigener Shader zugeordnet und da wärs etwas umständlich die alle für den First pass ändern zu müssen.


    Wenn das Problem wirklich zwischen AMD und Nvidia besteht, wo sollte dann der Fehler liegen, bei den verwendeten Datentypen/formaten o.ä.?

    Habs genauso gemacht, Schatten sind noch immer keine da. Das mit dem Abbilden auf ein anderes Objekt werd ich noch probieren. Ich verwende jetzt auch den gDebugger, die shadowMap sollte doch die Textur die an den FBO gebunden ist sein, oder? Weil die ist auch nach dem gDebugger bei mir immer leer.
    Meine Grafikkarte ist NVidia Geforce 9600M.

    Danke für die schnelle Antwort! :-)


    das falsche IF war mir bewusst, habs nur umgedreht, dass nicht alles schattiert angezeigt wird
    Für die restlichen Kommentare bin ich sehr dankbar, wenn ich aber nur diese zwei Zeilen wie angegeben ändere, bekomm ich noch immer keine Schatten. Hast du noch was geändert um das Ergebnis aus dem Screenshot zu erhalten?

    1. Gruppenname Timmy's Tale (Repo hat glaub ich den Namen Noah's Tale), Branch "shadow"
    2. Natürlich hab ich gemeint aus der Sicht des Lichts, das hab ich schon verstanden, war nur ein Schreibfehler.
    Als Format hab ich (wie im Repetitorium vorgeschlagen) eine 2D Depth-Texture genommen

    Hallo,


    ich habe Probleme damit, Shadow Mapping zu implementieren. Ich gehe genau so vor, wie im Repetitoriumsvortrag erklärt, es funktioniert aber nicht.
    Das Problem scheint zu sein, dass die Shadow Map, von der im 2ndPass gelesen wird, nicht stimmt, sie ist komplett schwarz. Im 1stPass wird die Szene aber korrekt von Sicht der Kamera aus gerendert. Irgendwo bei der Übergabe der Map muss also was schief laufen.
    Hat jemand Ideen wo das Problem liegen könnte (vllt ist ja jemand bereits auf dasselbe Problem gestoßen...)? Hat jemand ShadowMapping bereits erfolgreich implementiert und kann mir weiterhelfen?


    Mfg Kathi

    Wie im Wiki angegeben, habe ich versucht "Visual Studio 2012" über den Link https://www.informatik.tuwien.ac.at/msdnaa zu installieren. Wenn ich mich dort einlogge, komme ich aber auf nichts derartiges. Mein 'geschützter Bereich' enthält nur "Diplomarbeitsposter: Registrierung". Kann es sein, dass es ein Problem ist, dass ich genau genommen nicht Studentin der Fakultät Informatik sondern Mathematik bin?

    Hallo,


    konnte heute im Labor alle meine Probleme lösen. Einen großen Dank an die hilfreichen Tutoren. :-)


    Falls jemand auf ähnliche Probleme stößt wie ich, meine Fehler:
    * specular wird nicht mit color multipliziert, nur diffuse
    * es ist wichtig wann die rimlights-Verbesserung angewandt wird, bei mir geht es nur wenn ich nach der Anwendung des Beleuchtungsmodells dazumultipliziere