[Projekt] GPU Pathtracer

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

[Projekt] GPU Pathtracer

Beitrag von Zudomon »

Hi,

ich wollte euch meinen GPU Pathtracer vorstellen.

Das ganze ist aber leider nur Fladshading und die Szene ist auf ein 151 Dreiecks Stanfordbunny begrenzt. ;)
Außerdem fehlen da Optimierungen. ( Octree usw. )

Das ganze benötigt PixelShader 3.0

Für ein rauschfreies Bild braucht es etwa eine Minute... aktzeptable Ergebnisse hat man aber schon nach wenigen Sekunden. Es wird adaptiv gerendert. :D
test004096.jpg
Hier noch das Programm zum selber testen... die Steuerung ist etwas hackelig... bestimmt weil das GPU limitiert sein dürfte... krass ist, dass der pro Pixel mit 153 Dreiecke einen Schnitttest durchführt.
Zum bewegen WASD wie gewohnt, mit Rechtsklick kann man die Kamerablickrichtung bewegen... alles nur provisorisch...
PathTracer.zip
(282.21 KiB) 480-mal heruntergeladen
Gruß
Zudo
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projekt] GPU Pathtracer

Beitrag von Lord Delvin »

Da kanns einer einfach nicht lassen:D
Sehr nett.

EDIT: wie schwer wärs die Dreiecke durch splines zu ersetzen?
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Schrompf
Moderator
Beiträge: 4854
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Schrompf »

Der Hase hatte auf meinem Arbeitsrechner (NVidia Quadro NVS290) ein komplett schwarzes Dreieck links unten am Fuß. Hat ansonsten aber aus dem Stand funktioniert und irgendwie find ich das Prinzip faszinierend :-) Gute Arbeit!
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von kimmi »

Man sollte vorsichtig sein, wenn die GPU keine Pixelshader 3.0 unterstützt. Mich hat es die komplette Kiste im Büro abrauchen lassen. Ist alles praktisch eingefroren gewesen. nur ein Neustart hat geholfen. Aber die Bilder lassen schickes erahnen :).

Gruß Kimmi
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Lord Delvin hat geschrieben:Da kanns einer einfach nicht lassen:D
Sehr nett.
Schrompf hat geschrieben:Hat ansonsten aber aus dem Stand funktioniert und irgendwie find ich das Prinzip faszinierend Gute Arbeit!
Danke :D

Ich habe bisher immer gedacht, dass Raytracing nicht wirklich so eine große Zukunft hat. Aber bei dem Pathtracing bin ich mir nicht mehr so sicher. Weil wenn das einigermaßen in Echtzeit läuft, dann ist das schon wesentlich besser als normales Rasterizieren. Das Prinzip ist extrem einfach, nicht zu vergleichen mit Shadowmaptricksereien oder so. Man bekommt so ziemlich alle Effekte umsonst: Global Illumination, Lightbleeding, sogar Caustics. Und wenn man bedenkt, wie langsam eine gerenderte Szene wird, wenn man einfach mal ein paar 1024² Shadowmaps generiert und bei jedem Frame aktualisiert.
Schrompf hat geschrieben:Der Hase hatte auf meinem Arbeitsrechner (NVidia Quadro NVS290) ein komplett schwarzes Dreieck links unten am Fuß
Weil ich den einfach mit meinem Simplifier Modifier hab runterrechnen lassen. Der ist sowieso noch etwas buggy.
Lord Delvin hat geschrieben:EDIT: wie schwer wärs die Dreiecke durch splines zu ersetzen?
Tja, gute Frage. Ich wüsste das nicht so schnell einzubauen. Du musst bedenken, dass das alles im Pixelshader gemacht werden muss. Da gibs noch nichtmals Rekursion.
kimmi hat geschrieben:Mich hat es die komplette Kiste im Büro abrauchen lassen. Ist alles praktisch eingefroren gewesen. nur ein Neustart hat geholfen.
Ja, tut mir leid... ich hab das natürlich sonst niergendwo getestet... außerdem war das mal ein Spassprojekt für 2 Tage. Da werden weder Caps geprüft, noch sonst irgendwas... also probieren auf eigene Gefahr
Benutzeravatar
Brainsmith
Establishment
Beiträge: 109
Registriert: 04.09.2009, 13:52
Echter Name: Fabbo

Re: [Projekt] GPU Pathtracer

Beitrag von Brainsmith »

Entschuldigt bitte meine Unwissenheit, aber was ist Pathtracing?? Und was genau macht das Programm??

:D
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von kimmi »

Wenn du die Tests aus Spass noch einbaust, sag ich auch, daß es mir gefällt ;).

Gruß Kimmi
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Brainsmith hat geschrieben:Entschuldigt bitte meine Unwissenheit, aber was ist Pathtracing?? Und was genau macht das Programm??
:D
Pathtracing ist eine Erweiterung zum Raytracen. Man versucht, die allgemeine Rendergleichung zu lösen. Ganz genau kann ich das nicht erklären, aber für mich besagt diese, dass die Beleuchtung eines Punktes dem entspricht, was über die Halbkugel der Normale an Licht einstrahlt. Zum Pathtracing findet man viel im Netz.
Das Programm setzt das nun um. Ich weiß, ist jetzt keine Erklärung, was genau das Programm macht, aber ich weiß nicht, was ich dir sonst darauf antworten soll. Statt normal ein Bild zu rendern, werden 2 Dreiecke fullscreen gerendert und was auf den Dreiecken drauf gemalt wird ist dann das gepathtracete Bild.
kimmi hat geschrieben:Wenn du die Tests aus Spass noch einbaust, sag ich auch, daß es mir gefällt .
Ich glaube, den Spass werd ich mir nicht mehr geben. Sonst muss ich mich ja bald auch Krishty anschließen und in den Jammerthread. Das es dir gefällt deute ich einfach mal aus dem letzten Satz deines ersten Posts ;)
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Krishty »

Du alter Grafikvagabund …

… das sind einerseits zu abgedroschene Spielereien, um nicht den Kopf drüber zu schütteln. Andererseits sehen sie aber auch immer zu gut aus, um sie nicht zu bewundern.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Da ich mittlerweile bei dem Rasterizing ganz klar meine Grenze sehe und keine Lust mehr habe, mir da sonst was zu überlegen, um z.B. Shadowmapping stabiler zu bekommen oder Transparenzen zu erzeugen, wollte ich mich abermals dem Pathtracing zu wenden.
Letztendlich wird es früher oder später sowieso auf eine solche Technik hinaus laufen, also warum dann nicht jetzt schon damit beschäftigen.
Außerdem reizt mich das Thema echt sehr und das schon seit langem!

Somit habe ich dieses alte Projekt wieder rausgekramt, ich hatte es zwischendurch schon einige Male erweitert.

Das ganze läuft immer noch über PixelShader 3.0
Die dargestellte Szene hat mittlerweile 172k Dreiecke.
Verschiedene Texturen und sogar Alphatesting sind bisher möglich.
Da es sich um reines Pathtracing handelt ist es zur Zeit am schnellsten, wenn es eine große Lichtquelle gibt, in dem Fall der Himmel. Da kann man dann auch mit einem vernünftigen Bild (in der bescheidenen Auflösung von 512x512) in 1-3 Sekunden rechnen. Wobei ich bei dem Bild mit dem Glasdrachen etwa 5 Sekunden spendiert habe. :D

zfx1.jpg
zfx2.jpg
zfx3.jpg
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] GPU Pathtracer

Beitrag von marcgfx »

Der Glasdrache sieht ja richtig geil aus :O
Benutzeravatar
Schrompf
Moderator
Beiträge: 4854
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Schrompf »

Der Glasdrache ist echt fett. Auch sonst ist das ein geiles Nerd-Hobby. Nur was Dir das bringen soll, wenn Du keine Lust mehr auf Dreiecke hast, verstehe ich nicht :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Schrompf hat geschrieben:Nur was Dir das bringen soll, wenn Du keine Lust mehr auf Dreiecke hast, verstehe ich nicht :-)
Nicht auf Dreiecke habe ich keine Lust mehr, sondern auf diese ganzen Tricksereien um es halbwegs gut aussehen zu lassen... also Schatten / Spiegelungen / Lichtbrechungen / Indirektes Licht / Kaustiken... jedes Thema an sich bringt schon ein ganzes Studium mit sich. Beim Pathtracing hat man das alles mehr oder weniger automatisch. Man muss dann eben an anderen Stelle optimieren.
Aber ja, beim Raytracing bin ich dann natürlich nicht mehr nur auf Dreiecke beschränkt.
Ich würde auch nicht von vornherein sagen, dass Pathtracing wirklich langsamer ist, denn wenn man ähnliche Ergebnisse mit Rasterizing erzeugen will, dann wird es einen Punkt geben, wo dieses langsamer ist. Denn Area-Lights und indirektes Licht sind auch da nicht gratis. Und Spiegelungen / Lichtbrechungen erfordern eine extrem durchdachte Renderpipeline. Wobei auch da sehr massive Grenzen existieren. Da habe ich einfach das Gefühl mit dem Pathtracing wesentlich weiter zu kommen.
scheichs
Establishment
Beiträge: 847
Registriert: 28.07.2010, 20:18

Re: [Projekt] GPU Pathtracer

Beitrag von scheichs »

Heisst konkret: Du stellst StoneQuest auf Pathtracing um?
Benutzeravatar
Jonathan
Establishment
Beiträge: 2367
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Jonathan »

Hm, ich halte einen Umstieg für nicht sehr sinnvoll. Ich habe neulich erst in einem Talk über nVidia Optix (was du dir vermutlich ansehen solltest) gehört, dass es ein weit verbreiteter Irrglaube ist, Raytracing sei vom Algorithmus her einfacher / eleganter als Rasterisierung. Für simple Implementierungen stimmt das zwar, aber sobald man es richtig schnell haben will und richtig schicke Dinge einbauen will, muss man auch so krude Optimierungen vornehmen, dass von der Eleganz rein gar nichts mehr übrig bleibt. Sprich, genau der Grund aus dem du dahin wechseln möchtest (elegante Algorithmen), wird bei Pathtracing genauso wenig erfüllt. Du wirst genauso bei irgendwelchen Tricksereien laden, um es halbwegs gut aussehen zu lassen, versprochen.

Ich meine, all die Probleme wurden ja schon gelöst. Man findet in der Literatur gute Anleitungen, wie man schöne Schatten erzeugen kann. Natürlich ist es Arbeit, wenn es state-of-the-art sein soll, aber das ist es halt immer. Und es gibt quasi keine geraytracten Spiele, und der Grund dafür wird sein, dass es zuweilen noch nicht taugt. Man hat vor 10 Jahren schon gesagt, Raytracing wird die Zukunft sein, und man wird das aller Voraussicht nach auch in 10 Jahren noch so sagen. Im Offlinerendering kann man damit höchst Erstaunliches erzeugen, aber in Echtzeitanwendungen ist ein bisschen Getrickst plus echt hübsche Assets von nem guten Grafiker das was es gut aussehen und schnell laufen lässt.

ich will gar nicht gegen Pathtracing reden, das ist toll und faszinierend und es macht Spaß, damit zu spielen. Aber vergiss den Gedanken, du könntest StoneQuest irgendwie auf Raytracing umstellen und damit Erfolg haben.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Krishty »

Jonathan hat geschrieben:Ich habe neulich erst in einem Talk über nVidia Optix (was du dir vermutlich ansehen solltest) gehört, dass es ein weit verbreiteter Irrglaube ist, Raytracing sei vom Algorithmus her einfacher / eleganter als Rasterisierung. Für simple Implementierungen stimmt das zwar, aber sobald man es richtig schnell haben will und richtig schicke Dinge einbauen will, muss man auch so krude Optimierungen vornehmen, dass von der Eleganz rein gar nichts mehr übrig bleibt.
Davon kann Cat dir ein Lied singen … Katzenjammer quasi. Beides konvergiert zu einem gemeinsamen Optimimum, sagte er, IIRC.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 2367
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Jonathan »

Aber die Bilder sehen ansich echt schick aus. Die Beleuchtung ist zwar unglaublich diffuse, aber dafür sehen die Bilder wirklich rauschfrei aus. magst du ein bisschen detaillierter erklären, wie das gerendert ist (im Sinne von: Wie viele Strahlen; usw.)?
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Jonathan hat geschrieben:Wie viele Strahlen; usw.
Das kann ich gar nicht so genau... weil das ja iterativ ist und auch nicht gleichverteilt im Bild.
Es funktioniert auch nur so "schnell", weil eben ein großer Himmel die Strahlen direkt schluckt und als Lichtquelle dient. Ist die Lichtquelle klein, hab ich nach Minuten noch kein vernünftiges Ergebnis. Aber vielleicht hilft mir dann bidrektionales path tracing weiter... aber erstmal verstehen.
Hier sieht man, was ich meine:

Skybox als Himmel:
2.png
Lichtquelle:
1.png


Das obere ist nach wenigen Sekunden ziemlich perfekt während das untere noch nach Minuten Bandings hat. Rauschen statt Bandings wären vielleicht besser, aber ich glaube, wesentlich ungünstiger, da es ja darum geht, das möglichst viele Pixel den gleichen Flow-Control Pfad einschlagen.
Zuletzt geändert von Zudomon am 29.06.2016, 05:28, insgesamt 2-mal geändert.
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Krishty »

Bilder vertauscht?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] GPU Pathtracer

Beitrag von marcgfx »

Wenn du keine 60 fps hinbekommst ist es vermutlich sowieso unnütz, oder irr ich mich?
Ich hab vor jahren mal ein javascript raytracing experiment gemacht, mit ganz simpler geometrie... hab mich gewundert wie schnell ich das hinbekomme. ich wollte es eben verlinken, aber hab den server gar nimmer :P ... egal
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Krishty hat geschrieben:Bilder vertauscht?
Stimmt! Sorry, habs korrigiert! :D
marcgfx hat geschrieben:Wenn du keine 60 fps hinbekommst ist es vermutlich sowieso unnütz, oder irr ich mich?
Ich hab vor jahren mal ein javascript raytracing experiment gemacht, mit ganz simpler geometrie... hab mich gewundert wie schnell ich das hinbekomme. ich wollte es eben verlinken, aber hab den server gar nimmer :P ... egal
Ich bin mir da absolut unschlüssig... brigade zeigt, dass man damit auf jeden Fall schon abgehen kann.
Das Problem ist eben, wenn man ne Menge Shadowmaps hat, sich um Ambient Occlusion kümmert, SSAO, Reflektionen (planar bzw. cubes) einbaut, vielleicht noch so ein paar Tricks, damit es besser aussieht, vielleicht noch screen space reflektions, ein paar Renderpipeline Tricks, damit man transparentes und Lichtbrechungen rendern kann (was aber sicherlich Sonderfälle in Bezug auf das rendering), vielleicht dann noch indirekte Beleuchtung, dann wird es ganz schnell auch mit Rasterizing ziemlich langsam. Und ich vermute ja mal, dass es irgendwo einen Breakeven Punkt gibt, wo man mit Pathtracing einfach besser hinkommt.
Ich muss einfach mal schauen, wie weit man damit kommt wenn man sich noch ein paar mehr Optimierungen einfallen lässt...
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Hmm... wenn die Lichtquelle direkt gesampelt wird, dann ist das schon ganz schön krass!
Auf dem Bild mit dem Kristall sah man ja gut, wie schlecht das ganze selbst nach Minuten aussieht.

Nun hab ich hier ein Bild, Renderzeit 5,3 sek auf 1024² :D
directlight.jpg
Hier noch eine komplexere Szene mit etwas über 630k Dreiecke, 1024², Renderzeit 21,3 sek
directlight2.jpg
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Tja, irgendwie hatte ich da noch ein Fehler bei der diffuse Lichtübertragung. Das blöde ist, dass mir solche Fehler kaum auffallen. Aber nun scheint es richtig zu sein. Habe auch mal den hochaufgelösten Drachen genommen.

Etwa 5 Sekunden bei 512²
1.jpg
Und hier nochmal direkt aus StoneQuest, auf Ultra, was etwa 250 mal schneller rendert (20 ms) aber damit man besser Vergleichen kann ohne Normalmapping

1_sq.jpg


Irgendwie sieht das schon recht ähnlich aus... naja. Hätte gedacht, der Unterschied wäre nun doch etwas größer qualitativ.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4854
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Schrompf »

Ich find's halt als Nerdhobby sehr geil. Für den Wirkungseinsatz in nem Spiel dagegen - ich glaube, Raytracing ist der Fusionsreaktor der Echtzeitgrafik. Aller 10 Jahre heißt es "noch 10 Jahre". Und da die Hardwareentwicklung aufgrund physikalischer Grenzen so langsam in die Sättigung geht, wird die aktuelle Prognose eher "noch 20 Jahre" lauten.

Optische Unterschiede: schau ins Dunkle. Mit nem Path Tracer kriegst Du die ganzen indirekten Lichtanteile geschenkt. Die obere Mundhöhle des Drachen z.B. zeigt das ganz gut. Da kann Path Tracing glänzen. Bereiche im Sonnenlicht dagegen werden von energetisch von einer einzelnen Komponente dominiert, und die nichtlineare Wahrnehmung des Auges sorgt halt dafür, dass man dann praktisch nur die sieht. Und diese Bereiche sind leider nach wirklich *jedem* Maßstab besser mit Rasterizing umzusetzen - Raytracing wird da prinzipiell immer abstinken.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
marcgfx
Establishment
Beiträge: 2050
Registriert: 18.10.2010, 23:26

Re: [Projekt] GPU Pathtracer

Beitrag von marcgfx »

Ich finde den Unterschied im Standbild merklich. In Bewegung und im Spiel wird es wahrscheinlich weniger auffällig sein. Das Pathtracing um Factor 250 schneller machen dürfte ganz schön schwer werden. Ich warte immer noch auf ein eigentliches Spiel :P
Benutzeravatar
Jonathan
Establishment
Beiträge: 2367
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Jonathan »

Kriegst du es hin, die Szene mit den exakt gleichen Kamerawerten zu rendern? Zu dass man im Grunde eine Pixelgenaue Übereinstimmung hat?
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Jonathan hat geschrieben:Kriegst du es hin, die Szene mit den exakt gleichen Kamerawerten zu rendern? Zu dass man im Grunde eine Pixelgenaue Übereinstimmung hat?
Blöderweise wohl erstmal nicht ohne da auch Arbeit zu investieren.
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

marcgfx hat geschrieben:Wenn du keine 60 fps hinbekommst ist es vermutlich sowieso unnütz, oder irr ich mich?
Ich halte das Ganze nicht für unnütz, denn selbst wenn ein reiner Pathtracer am Ende nicht Echtzeittauglich ist, so kann man sicher Elemente daraus auch für normales Rasterizing verwenden.

Hier noch ein paar 512² Bilder mit der 172k Szene und einer Punktlichtquelle... :D

3,5 Sekunden:
point1_3-5.jpg
4,4 Sekunden:
point2_4-4.jpg
3,5 Sekunden:
point3_3-5.jpg
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Ich habe mir mal ein Objekt zum testen von TurboSquid geholt...
http://www.turbosquid.com/FullPreview/I ... /ID/929456

512x512
Renderzeit 31 Sekunden
test.jpg


Am Regal rechts oben sieht man gut, wie Licht auch zurück geworfen wird.
Was man meiner Meinung nach auch sehr wichtig ist, aber durch heutige Licht Indirektionsverfahren (da meist grob Voxelbasiert) fehlt, sind die scharfen indirekten Schatten, die man gut unter den Stuhlbeinen sieht.
Ganz schwach sind noch Bandings zu sehen im Bild, es hätte ruhig noch länger rendern können.
Aber die Frage ist nun, wie bekommt man das nun in auf Echtzeit?! :D
Ich denke mal, das es letztendlich auf ein Hybrid hinausläuft.
Das direkte Licht berechnet sehr schnell, das indirekte braucht auch nicht so lange, wenn die Flächen nicht weiß sind, da durch die Texturen das Licht schnell an Energie verliert.

EDIT: Bei Interesse kann ich gerne mehr Screens machen, auch in höherer Auflösung. Weiß halt nie, ob es interessant genug ist.
Zuletzt geändert von Zudomon am 02.07.2016, 13:29, insgesamt 1-mal geändert.
Benutzeravatar
Zudomon
Establishment
Beiträge: 2254
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: [Projekt] GPU Pathtracer

Beitrag von Zudomon »

Oh nein... bei meiner ganzen Optimiererei hab ich gerade festgestellt, dass das Mitteln der Pixel verbuggt ist... damit ist das Ergebnis allerdings komplett falsch... :D
Antworten