Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

1

08.04.2008, 21:47

Shadowmapping [gelöst]

Hi,
wollte mal fragen, ob wer von euch schon Erfahrungen mit der Implementation von Shadowmapping gemacht hat. (und ob er die mit mir teilen will :D ;))

Ich selbst hab schonmal einen Versuch gestartet und bin dabei ziemlich gescheitert - Gründe waren ein zu schlechtes zuschneiden der (Light)-Depthmap auf die Szene und fehlende Algorthmen zur aufbesserung der Auflösung in Betrachternähe. Das ganze hab ich dann mit einen aufwändigen Glättungsystem hingebogen, was aber für den normalne Gebrauch schließlich zu langsam war. Von verschiedenen anderen Artefakten will ich jetzt gar nicht mal reden.
Für meinen nächsten Versuch hab ich mir überlegt folgendermaßen vorzugehen:
[list]
- Light-Depth-Pass, grob zugeschnitten auf den Sichtbereich (einfach den Sichtbereich des Richtugnslichtes auf eine Frustumumfassende Box) wobei das zusätzlich in Betrachternähe logalrithmisch verzerrt wird ( :arrow: Developia-Artikel)
- Normale Szene auf eine Textur, so groß wie der Bildpuffer ohne Schatten
- Schatten auf eine Textur rendern, die etwas kleiner ist als der Bildpuffer (also hier alle Modele nochmal, Shadowmap samplen und Tiefen vergleichen)
- optional: Textur von gerade eben mit Gaussian Blurr glätten (nichts sonst, früher hab ich erst noch einen PCF Filter drüberlaufen lassen wie hier)
- Schattentextur mit Szene kombinieren
[/list]Ich bin mir allerdings seeehr unschlüßig ob das so sinnvoll ist... schließlich geht wohl durch das rendern in die Texturen nen haufen Performance drauf ... und wenn ich das auch noch mit den Bloom kombienieren will, das ich sonst so gern bei mir reinhau könnte es sehr eng werden.
Also wie gesagt würde es mich mal interessieren was die Leute mit Erfahrung auf diesen Gebiet dazu meinen - gibt es doch sicher hier oder?

PS: Ja ich würde gerne Shadowmapping verwenden, keine Shadowvolumes, da ich es hauptsächlich mit Outdoorszenen zu tun habe.

2

08.04.2008, 22:10

ich kenne Shadowmapping nur so:
-für jedes Licht ne Dephtmap rendern
-bei Rendern in den BB dann im Shader bei der Beleuchtung die Shadowmap dann auswerten(dabei dann auch glätten)

deswegen kann ich mit deinem Problem auch recht wenig anfangen, mal abgesehen davon, den Ansatz zu ändern...

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

3

08.04.2008, 22:16

shadowmapping ist vorallem bei point-lights ne interssante sache ;).

EDIT:
ich habe da noch nen link in meiner liste gefunden. ist ansich ne gute einleitung bzw hinleitung:
Link - PDF ~ 5mb

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

4

08.04.2008, 23:03

Hast du schon mal an perspektivische Projektion gedacht?
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

5

08.04.2008, 23:09

ich denke, dass er da beachtet hat. kommt ja bei dem zweiten artikel vor.

schönen abend noch

6

09.04.2008, 09:29

Hier ist noch ein interessanter Ansatz (inkl. Source Code): Humus 3D

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

7

09.04.2008, 15:53

@ TrikkieMikkie
Der Ansatz da ist wirklich ziemlich interessant, es ist jedoch letztendlich ein Lightmapping und nicht für sich bewegendes Licht

@Black-Panther
Mhh also das ich das rendern vom Licht aus mit einer perspektivischen Projektion mache? Verstehe ich nicht ganz.... also mir gehts jetzt um ein Richtungslicht (sry dass ich vergessen hab das explizit zu erwähnen) und somit trifft das Licht pararell auf - somit brauch ich doch eine orthogonale Projektion?

@ BlackSnake
Also ich hab zum Glück eh nur ein Richtungslicht zu tun. Grundsätzlich würde ich mal behaupten, dass "vorallem bei Pointlights" falsch ist, weil ich ja auf eine Cubemap rendern muss.
Der Link ist ganz interessant ...

jedoch hab ich im moment leider doch nciht soviel Zeit wie ich dachte.... werde also erst nbischen später weiterkommen.

Danke für die vielen Antworten .. hab ich zugegebenermaßen nciht erwartet ^^

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

8

09.04.2008, 17:55

Ich meinte perspektivische Shadowmaps. Man kann eine "Parallelprojektion" auch perspektivisch machen. Das hilft, dass nähere Objekte eine höhere Schattenqualität erhalten und entferntere eine schlechtere und das praktisch ohne Performance-einbusen. Für die detaillierte Erklärung siehe dazu Gems4, Sektion Grafik.
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

  • »Wümpftlbrümpftl« ist der Autor dieses Themas

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

9

09.04.2008, 18:41

Ich wil mir aber jetzt nicht Gems4 kaufen :P
Ne dafür will ich ja den Ansatz der oben in dem Artikel beschrieben ist - der ist mir insofern lieber, weils komplett übern GPU läuft.
Gäb ja auch noch TrapezoidalShadowmapping afaik und wie das Zeug alles heißt....

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

10

09.04.2008, 19:30

http://www.google.at/search?source=ig&hl=de&rlz=1G1GGLQ_DEAT251&q=perspective+shadow+maps&btnG=Google-Suche&meta=

Werbeanzeige