#1 21.04.2007 07:38:26

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Shadow Mapping / Instancing / Water Rendering

Hab für meine letzte offene Lehrveranstaltung an der Uni ein kleines Demo geschrieben das unter anderem parallel split shadow maps, hardware instancing und water rendering mit dem projected grid concept zeigt.
Instancing ist natürlich nicihts neues, aber Wasser und PSSM sind meines Wissens state-of-the-art und noch kaum in Spielen eingesetzt.

Um es nochmal zu betonen: es ist nur ein Demo das die Verwendung dieser Verfahren demonstriert, es ist absolut nicht dazu da das Auge zu erfreuen.  big_smile Für ein komplettes szenen-setup hab ich einfach wegen der Diplomarbeit keine Zeit - zumindest sieht man aber das wesentliche.

JorEl


Attachments:
Attachment Icon pssm03.jpg, Größe: 137,632 bytes, Downloads: 634
Attachment Icon pssm02.jpg, Größe: 152,477 bytes, Downloads: 589
Attachment Icon pssm01.jpg, Größe: 178,284 bytes, Downloads: 597

Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#2 21.04.2007 07:41:03

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Shadow Mapping / Instancing / Water Rendering

und nochmal drei...


Attachments:
Attachment Icon projgrid03.jpg, Größe: 115,307 bytes, Downloads: 562
Attachment Icon projgrid02.jpg, Größe: 110,546 bytes, Downloads: 540
Attachment Icon projgrid01.jpg, Größe: 70,942 bytes, Downloads: 505

Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#3 22.04.2007 17:58:32

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Shadow Mapping / Instancing / Water Rendering

Sieht doch recht hübsch aus und wenn die Performance stimmt, kannst du das doch bestimmt auch für weitere Projekte verwenden, oder?
Du sagst, dass du nicht so viel Zeit hast, aber für ein wenig Duffuse Lighting sollte noch Zeit sein, oder?  big_smile
Ansonsten: sehr hübsch smile


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#4 22.04.2007 19:14:47

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Shadow Mapping / Instancing / Water Rendering

Zitat:

Du sagst, dass du nicht so viel Zeit hast, aber für ein wenig Duffuse Lighting sollte noch Zeit sein, oder?

Ist integriert, auch wenn es bei der Mühle aufgrund des hohen Ambientanteils nicht so aussieht  big_smile  Beim Gebäude komplett in Schwarz liegt es hingegen daran, dass das 3ds file fehlerhaft ist - sollten eigentlich Texturen drauf sein, aber wie gesagt - ist nur ein kleines Unidemo an das ich keine Zeit mehr verschwenden will.  wink

Mit der performance bin ich durchaus zufrieden - PSSM ist dahingehend äusserst gut skalierbar über zwei Parameter, nämlich die Grösse der Shadowmap und die Anzahl der Splits. Je nach near-/farplane kann man entscheiden wieviele splits bei welcher Auflösung Sinn machen. Ausserdem gibt es noch einen Parameter um das oversampling in der Nähe bzw. das undersampling bei grösserer Distanz zu korrigieren, hab ich allerdings immer konstant auf 0.5 gelassen - ich schätze ein wenig reduzieren sollte ich das noch, bei grösseren Distanzen fehlen ein paar pixel die in der Nähe nicht wirklich benötigt werden. Ansonsten ist das Verfahren zur Zeit meine erste Wahl, noch vor LiSPSM und TSM - denn bei beiden hat man wegen der Verzerrung relativ viel Probleme die man nur mit einem aufwändigen shader halbwegs in den Griff bekommt... ganz abgesehen vom CPU Aufwand, auch da ist PSSM weitaus unkomplizierter... und last but not least: man benötigt weniger Speicher für bessere Qualität, denn bei den beiden vorher genannten Algorithmen läuft unter 2048x2048 erfahrungsgemäss überhaupt nichts, die screenshots hab ich hingegen mit 1024x1024 gerendert. Jeoch gibt es natürlich nicht nur Vorteile - je nach Anzahl der splits muss man öfters rendern, Objekte die genau zwischen den splits liegen zweimal - aber das ist relativ harmlos.

Das Wasser allerdings muss ich erstmal vollständig in hardware implementieren, die noise maps über die CPU generieren ist inakzeptabel, da kommt man auf einem älteren Prozessor kaum über 70 fps während die Grafikkarte sich langweilt. Ich hab sie dann eben einfach mit 2000 Bäumen beschäftigt, aber das kann man ja auch nicht in jeder Szene machen  big_smile

JorEl


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#5 01.06.2007 03:55:41

Bubblegum
Member
Registriert: 24.03.2007
Beiträge: 11

Re: Shadow Mapping / Instancing / Water Rendering

Kannst Du die Demo als Source - Code mal zur Verfügung stellen?


Das Leben ist ein scheiss Spiel, aber die Grafik ist der Hammer!

Offline

 

#6 09.06.2007 17:23:45

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Shadow Mapping / Instancing / Water Rendering

Zitat:

Kannst Du die Demo als Source - Code mal zur Verfügung stellen?

Nein, das geht leider nicht. Ich hab zwar unsere 3D Engine nur teilweise dafür verwendet, aber man kann das nicht ohne weiteres trennen - und die ist Teil eines kommerziellen Projekts, also da kann ich wirklich keinen source hergeben.

Sollte allerdings auch nicht wirklich notwendig sein - die relevanten papers die man dazu braucht sind sehr gut geschrieben und es gibt auch für alles demos mit source, zB http://hax.fi/asko/PSSM.html für die parallel split shadow maps, http://graphics.cs.lth.se/theses/projects/projgrid/ für das Wasser und ein instancing Demo mit sämtlichen Varianten gibt es im DirectX SDK. Für Terrain Rendering hat glaube ich Artzuk auch mal was online gestellt, ist sicher unter Tutorials zu finden. Ansonsten empfiehlt es sich ausserdem noch das geomipmapping paper mit smoothing zu lesen.

Fragen zu allen Bereichen beantworte ich gerne, aber den source kann ich in diesem Fall nicht zur Verfügung stellen, da stecken einige Jahre drinnen. Würde wohl auch kaum was bringen ohne die Dokumentation - und die hat mittlerweile über 700 Seiten. Also da ist man mit den genannten Demos sicher besser dran.

JorEl


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#7 15.06.2007 06:38:34

Bubblegum
Member
Registriert: 24.03.2007
Beiträge: 11

Re: Shadow Mapping / Instancing / Water Rendering

OK! Werde ich mir anschauen.


Das Leben ist ein scheiss Spiel, aber die Grafik ist der Hammer!

Offline

 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson