Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Mai 14, 2024 02:12

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Deferred Shading - Schatten
BeitragVerfasst: Di Dez 25, 2012 17:59 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 16, 2008 13:18
Beiträge: 252
Hallo,
das Jahr neigt sich dem Ende zu und es stehen ein paar freie Tage an. Ich würde gerne in meinem Spiel Schatten implementieren und hätte da ein paar Fragen bzw. ob meine geplante Implementierung so umsetzbar wäre. Ich habe vor meine Szene mit einem Deferred Renderer zu zeichnen und habe mir ein paar Tutorials zum Thema Schatten angesehen, hauptsächlich das Tutorial aus dem Wiki http://wiki.delphigl.com/index.php/GLSL_Licht_und_Schatten und http://www.graphics-and-physics-framework.spieleprogrammierung.net/2012/02/tutorial-28-deferred-shadow.html. Soweit ich es verstanden habe gibt es die Möglichkeit Schattenvolumen und Schattenmapps zu implementieren (wenn es andere geeignetere Techniken gibt bitte schreiben :) ). Ich habe mich für Shadowmaps entschieden, weil das erstellen der Shadowvolumes einen großen Aufwand für viele dynamische Objekte in Szenen bedeutet. Bei Shaddowmaps würde ich für jede Lichtquelle die betreffende Geometrie in einen Z-Buffer rendern. Im finalen Rendergang werden die Z-Koordinaten der Kamera Szene, welche ja beim Deffered Rendern schon vorhanden sind, genutzt um für jede Shadowmap einen Test "Abstand des Pixels größer oder kleiner der Tiefe in der Shadowmap" zu erzeugen, welcher je nach Ausgang eine Schattierung bedeutet.

Ich hoffe mein Ansatz mach so Sinn, ich würde mich freuen wenn ihr ein paar Meinungen schreiben könntet, ob das so Ok ist oder ob man besser noch etwas etwas ändert (/ändern muss).

Ich wünsche noch frohe Weihnachtsfeiertage,
Mori

_________________
You even trying ...

Website: http://rise-of-light.de/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Deferred Shading - Schatten
BeitragVerfasst: Di Dez 25, 2012 20:55 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
IMHO ist das korrekt. Allerdings lohnt sich DFS (Deferred Shading) erst wenn du mehrere Lichtquellen benötigst, bzw. noch Postprocessing (SSAO, HDR, etc) betreiben willst. Stencilschatten (Volumenschatten) sind meiner Meinung nach veraltet und nicht performant (Füllrate). Allerdings kommt es immer darauf an was man vor hat. Auch erweiterte Schattentechniken, welche auf Shadowmaps, beruhen gibt es zu hauf wie z.b. Parabolide Shadowmaps, Casdade Shadowmaps, etc.

Zu DFS sei noch gesagt, dass du dich dann um Antialising selbst kümmern musst (MultiSampled FBOs oder FXAA).

Grüße,
Thoms


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Deferred Shading - Schatten
BeitragVerfasst: Di Dez 25, 2012 22:30 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Das müsstest du schon selbst entscheiden. Stencilschatten und Shadowmapping haben ungefähr den gleichen Arbeitsaufwand (es müssen halt die entsprechenden Vertices neu gezeichnet werden). Stencilschatten bieten im Prinzip eine höhere Geschwindigkeit und Qualität aber dafür kann man schwerer Spezialeffekte, wie zum Beispiel weichzeichnen, anwenden. Des Weiteren ist Caching nur bedingt möglich.

Ich an deiner Stelle würde mir gründlich die Vor- und Nachteile von beiden Varianten durchlesen und entscheiden was besser zum Rest vom Code passt.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Deferred Shading - Schatten
BeitragVerfasst: Sa Dez 29, 2012 22:44 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Zitat:
Stencilschatten bieten im Prinzip eine höhere Geschwindigkeit und Qualität


das wage ich mal zu bezweifeln... Stencil-Schatten produzieren immer einen scharfen schatten, welcher in der Natur sogut wie nie vorkommt. Zudem bringt die Füllrate, bei rel. großer Geometrie, die Grafikkarte schnell an ihre Grenzen. Mit Shadowmaps fährt man weitaus besser.. zudem lassen sich mit PercentageCloserFiltering weitaus schönere und realistischere Schatten erzeugen :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Deferred Shading - Schatten
BeitragVerfasst: Mo Dez 31, 2012 14:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Thmfrnk hat geschrieben:
Zitat:
Stencilschatten bieten im Prinzip eine höhere Geschwindigkeit und Qualität


das wage ich mal zu bezweifeln... Stencil-Schatten produzieren immer einen scharfen schatten, welcher in der Natur sogut wie nie vorkommt. Zudem bringt die Füllrate, bei rel. großer Geometrie, die Grafikkarte schnell an ihre Grenzen. Mit Shadowmaps fährt man weitaus besser.. zudem lassen sich mit PercentageCloserFiltering weitaus schönere und realistischere Schatten erzeugen :wink:


Nein da hast du was Falsch verstanden. Ich meinte nicht die diversen Shadereffekte sondern nur die Rohdaten. Und wie schrecklich die Performance sein kann wenn man die ganzen Fehler wie Z-Fighting & co kg beseitigt sieht man wunderbar bei Serious Sam.

Weiche Schatten usw. sind schon wieder ein eigenes Thema und funktioniert in beiden Fällen mehr oder weniger gleich schlecht.


Ein richtig großes Problem sind zum Beispiel Texturen mit Alpha Kanal (zum Beipsiel für Grass oder Gitter).

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.025s | 17 Queries | GZIP : On ]