Showroom - Aktuelle Arbeiten und Projekte

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.
joggel

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von joggel »

Armin_mb hat geschrieben: [...]
Dazu sind noch alle Massen miteinander als Linie verbunden (physik: Federn), um den Wurm-Effekt zu erreichen und sie werden kontinuierlich zur Ausgangsposition zurückgezogen, so dass der Wurm spätestens am Ende des Liedes wieder in der Mitte des Bildes ist.
Aha, also wirkt immer eine Kraft an jedem Teil entgegen?
Ist ja doch schon viel Physik :)
Armin_mb
Beiträge: 22
Registriert: 04.12.2005, 16:40
Wohnort: Würzburg
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Armin_mb »

joggel hat geschrieben:Aha, also wirkt immer eine Kraft an jedem Teil entgegen?
Falls das keine rhetorische Frage war: japp ;)

Als nächstes Feature kommt der Wischtisch:
Bild
"Soundbild" - Musikvisualisierung, Videorendering (Projektseite)
Firoball
Beiträge: 92
Registriert: 24.03.2002, 23:21

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Firoball »

rüp hat geschrieben:
Firoball hat geschrieben:So... ich bin wieder aus dem Urlaub zurück, und kann nun mit etwas Verspätung unser AckCon'12 Party coded Projekt vorstellen.
Ich find's crazy awesome! Leider war mir aber nicht ganz klar, was meine Eingaben mit dem, was auf dem Bildschirm passierte, zu tun haben - selbst bei absoluter Zufallseingabe blieb alles beim alten? Ansonsten: Geiler Stil, könnte mir ein richtigerereres Spiel damit vorstellen.

Übrigens, das wäre wirklich was für den http://www.screenshotsaturday.com gewesen.
Je besser du tippst, desto höher wird die Popularity.
Je höher diese ist, desto mehr Viecher kotzen und kacken rum, desto mehr Feuerwerk geht ab, desto mehr Avatare jubeln von der Bühne, irgendwann kommen verkümmerte Regenbögen... mehr Leute feuern Lotti an...

Ansonsten ist das Spielziel überschaubar :mrgreen:
Armin_mb
Beiträge: 22
Registriert: 04.12.2005, 16:40
Wohnort: Würzburg
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Armin_mb »

die nächste Version meiner Musikvisualisierungssoftware ist fertig. Habe mal ein "release video" gebastelt.

[youtube]n23e5CrnruI[/youtube]

ATI (amd) grafikkarten sollten jetzt auch wieder funktionieren.
"Soundbild" - Musikvisualisierung, Videorendering (Projektseite)
Benutzeravatar
Schrompf
Moderator
Beiträge: 5210
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Schrompf »

Meine aktuelle Errungenschaft, und auch mein aktueller Auftrag: ein wirklich großer Sparse Voxel Tree als Basis für ein "Bau Dir Deine Welt"-Spiel. Das Ganze liegt leider noch in den Grundzügen, da man bei praktisch jedem kleinen Handgriff ganz schnell bei derartig absurden Datenmassen ist, dass ich meine ganzen kleinen "Mal schnell was auf den Bildschirm kriegen"-Tricks nicht anwenden kann.

Die Landschaft ist aktuell auf Basis einer Height Map erstellt, auf der ich eine Erosions-Simulation laufen lasse, um danach das Ganze in Voxel-Volumen zu gießen. Der Landschaftsgenerator wird noch einige Tricks lernen, wie z.B. Steilklippen, Felsen, Findlinge und Bäume, aber auch Straßen, Häuser und sowas zu generieren, die man im Spiel dann nach Herzenslust erkunden, mit Brettern vernageln oder mit der Spitzhacke durchlöchern kann. Die große Herausforderung wird dann allerdings, den Landschaftsgenerator auch schnell genug zu bekommen, damit er symmetrisch auf allen Multiplayer-Clients laufen kann und in absehbarer Zeit fertig wird. Aktuell rechnet das Ding schon in der Basisversion 6 Minuten für die sichtbare Landschaft, wobei etwa 5s für die Height Map, 3min für die Erosionssimulation und nochmal 3min für die Erstellung des Sparse Voxel Trees draufgehen.
screenshot0004.png
Wie man sieht, gibt es noch ne Menge Probleme. Wegen der wirklich abartigen Datenmassen muss der Renderer bald wie möglich detailreduzierte Stufen darstellen, sonst killt die O(n^3)-Komplexität jede noch so starke Hardware. Für detailreduzierte Stufen werden einfach von jeweils 2x2x2 Subknoten die Durschnittsfarbe berechnet... aber damit kommt dann zum Beispiel das Braun der Erde durch, weil in der Entfernung die dünne Schicht Gras auf der Erde kaum noch im Durchschnitt sichtbar ist. Das sind so Probleme, an die ich vorher nicht gedacht habe. Die Voxel-"Flocken" des aktuellen Renderers bekommen noch Texturen und BumpMaps und Schatten/Echtzeit-GI wird auch noch kommen, aber der grundlegende Voxel-Look ist durchaus beabsichtigt. Retro und so...

Zielgröße ist übrigens eine Landschaft von 20480x4096x20480 zu je 5cm Voxelgröße. Dafür habe ich 4GB Speicherbudget, an dem ich aktuell gerade so kratze. Ich habe aber noch ein paar Ideen für Sparmaßnahmen, so dass ich da am Ende noch ein bis 2GB sparen kann.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Artificial Mind »

Wow, das klingt interessant. Lustigerweise ist das auch unsere nächste Idee, eine riesige, zerstörbare aber auch aufbaubare Landschaft zu haben, wie du wahrscheinlich bei meinem Terrain Prototypen schon gesehen hast.
Ich kann http://www.frankpetterson.com/publicati ... ontour.pdf (Dual Contouring) empfehlen, falls du 2-Manifolds brauchst http://faculty.cs.tamu.edu/schaefer/res ... p_tvcg.pdf (Manifold Dual Contouring).
Im Screenshot sieht das stark nach Splat-Rendering aus, soll das wirklich so bleiben?

Retro-Look kriegt wahrscheinlich man auch durc Cel-Shading bedingt hin.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5210
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Schrompf »

Ja, Dual Contouring und Banale Marching Cubes hatte ich auch im Blick. Und auch "Surface Nets", was ich auch ganz spannend fand, da es Konturen auch über mehrere Voxel hinweg rundet. Ich muss mal schauen, was ich mit dem Auftraggeber ausmachen kann. Ich würde auch einen "realistischen" Renderer bauen, bei dem ich die Oberfläche als Mesh generiere und dann im PixelShader kleine Raycasts durch lokale Volumentexturen mache, um dem ganzen lokales Detail und spannende Strukturen an Übergangsstellen zu geben. Es soll eh ein Deferred Renderer werden, da bieten sich solche Spielereien an.

Aktuell ist dieser "Splatting"-Look aber in der Tat der vom Auftraggeber gewünschte.

Und nebenbei: ich habe das Ganze gerade mit der Zielgröße 20480^2 x 4096 ausprobiert. Rechnete geschlagene 40min, kam bei 4,5GB Speicher raus, und renderte dann immernoch prima mit >60fps. Leider ist es dann beim dem Versuch, die Landschaft auf Platte zu speichern, wegen Speichermangel abgestürzt. Nach all den Jahren rächt sich nun meine Faulheits-Stream-Implementation.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Artificial Mind »

Dual Contouring ist soweit ich weiß eine Erweiterung von Surface Nets.

Nun gut, 20480^2 * 4096 ist auch nicht ganz klein, jedenfalls wenn immer der gesamte Datensatz im Speicher sein soll.
Du könntest die feinsten LOD-Stufen von Bereichen, die weit weg von deinem Sichtfeld sind und gerade nicht gebraucht werden auch einfach im Speicher zlibben und bei Bedarf wieder dekomprimieren :D
Benutzeravatar
Herror
Beiträge: 97
Registriert: 24.12.2009, 23:13
Benutzertext: Ewiger Anfänger....
Alter Benutzername: Herror
Echter Name: Artur Schütz
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Herror »

Ich arbeite im Moment an einer Engine rum für eine Weltraumsimulation und habe dafür ein wenig mit Atmospheric Rendering rum experimentiert und wollte mal zeigen was dabei rum gekommen ist.

Bild

Dabei handelt es sich nur um einen sehr effizient Vertexbasierten Atmospheric Scatterer. Hab diese Arbeit allerings wieder verworfen und arbeite gerade an der Implementierung eines Pixelbasierten Atmospheric Renderers, damit ich ihn in meinem Deferred Renderer verwenden kann und die Tiefenwerte des Depthbuffers für z.B. die Verblauung des Terrains und aller anderen Gegenstände in der Ferne nutzen kann. Quasi als Posteffekt.

Falls ich Bilder dazu habe werde ich die dann hier Präsentieren.
Benutzeravatar
Krishty
Establishment
Beiträge: 8363
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Krishty »

Ja! Ich will Schnappschüsse von innerhalb der Atmosphäre ;)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
pUnkOuter
Establishment
Beiträge: 303
Registriert: 15.04.2002, 15:59

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von pUnkOuter »

Magst du Rum?
Ein Zeiger ins Blaue ist wie ein Wegweiser nach <SEGFAULT>. Wenn du denkst, mein Name hat was mit abgefuckter Kleidung und bunten Haaren zu tun, dann kehr besser um.
antisteo
Establishment
Beiträge: 946
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von antisteo »

Bild

Hier sieht man das Wasser in gwX. Grafisch keine Augenweide, aber das Wasser fließt volumetrisch, man kann Staudämme bauen, Staudämme einreißen, Täler überfluten etc.
Das Wasser wird von der Newton Physikengine korrekt berechnet. Man kann einen Stein reinschmeißen und der sinkt auf den Boden. Man kann einen Holzscheit reinwerfen und dieser sinkt ein bisschen ein, wird dann aufgetrieben, wackelt noch ein bisschen auf der Oberfläche und beruhigt sich wieder.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Artificial Mind »

Klingt super.

Wie ist das mit der Performance?
Wenn man ein ganzes Tal überflutet, muss der doch Abertausende von Voxeln updaten? Werden die pro Frame geupdatet?
antisteo
Establishment
Beiträge: 946
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von antisteo »

Artificial Mind hat geschrieben:Klingt super.

Wie ist das mit der Performance?
Wenn man ein ganzes Tal überflutet, muss der doch Abertausende von Voxeln updaten? Werden die pro Frame geupdatet?
kleinere Flüsse schafft die Engine in Echtzeit. Bei einem Staudam gibt es immer eine Lagparty, das war bei Clonk aber genau so. (Vor allem nervig, wenn jemand im Netzwerkspiel einen Staudamm bricht)
Ansonsten ist es eine gute Übrung, seriellen Code in multithreaded Code umzuschreiben ;)
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Cironian
Beiträge: 2
Registriert: 01.11.2011, 16:42

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Cironian »

Habe für mein Spiel (siehe Signatur) mal getestet, ob bei 1000 Einheiten im Kampf irgendwann der Speicher überläuft. (Ergebnis: Framerate nicht mehr so toll, aber alles funktioniert noch)

Der Screenshot war aber ganz lustig, deshalb hier mal als Mini-Vorstellung:

Bild
Solar War - Zugbasierte Sci-Fi Strategie
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von CodingCat »

Endlich vollständige Beleuchtung (mit Schatten) in den Reflexionen. Ja, das Aliasing und die Normals sind grausig.

Noch weniger als eine Woche bis zur Abgabe der Arbeit, deshalb vorerst keine weiteren Ausführungen.
fullC.png
full6.png
fullB.png
full2.png


Zurück ans Schreiben ...
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Andre »

Sieht super aus!

Vielleicht kannst du das noch etwas blurren, wie sie es hier gemacht haben: http://www.gamedev.net/topic/624752-glo ... flections/ ?
Benutzeravatar
Krishty
Establishment
Beiträge: 8363
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Krishty »

Beeindruckend. Blur finde ich absolut nötig; sobald der drin ist, könntest du so Sachen machen wie Mip Maps mehr blurren als die voll detaillierten Oberflächen, bei flacher Betrachtung klarere Reflexionen als bei frontaler Draufsicht, usw usf … vorausgesetzt, du kannst Raytracing nach der Abgabe überhaupt noch sehen und würgst nicht bei bloßer Erwähnung des Worts schon ein Fellknäuel hoch.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von eXile »

Sieht hervorragend aus; anscheinend konntest du die Geschwindigkeit ziemlich gut optimieren. ;)
Andre hat geschrieben:Vielleicht kannst du das noch etwas blurren
Krishty hat geschrieben:Blur finde ich absolut nötig
CodingCat hat geschrieben:Noch weniger als eine Woche bis zur Abgabe der Arbeit
Wenn ich von meiner BA-Erfahrung auf andere schließen darf, bedeutet das Alarmstufe Rot, lange Nächte und ganz sicherlich keinen Blur für euch in der nächsten Woche. :) (Wenigstens scheine ich damit nicht der einzige zu sein, der solche Arbeiten in letzter Sekunde abliefert.)
Florian Keßeler
Beiträge: 75
Registriert: 24.07.2002, 00:00
Wohnort: Bremen
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Florian Keßeler »

@Cironian: Erinnert mich extrem an dieses spezielle Lieblingsspiel das ich da immer noch habe :-) Schön, dass es noch andere gibt, die solche Spiele mögen. Bitte unbedingt fertig machen!
Armin_mb
Beiträge: 22
Registriert: 04.12.2005, 16:40
Wohnort: Würzburg
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Armin_mb »

Melde mich mal wieder mit einem Zwischenupdate meines Musikvisualisierers. Mit Hilfe von Modifiern können jetzt nahezu alle Parameter der Visualisierung in Abhängigkeit beliebiger Frequenzen geändert werden, außerdem habe ich ein rudimentäres Labeling System eingebaut.

Und weil manchmal weniger auch etwas mehr ist, hier das neuste Video. Eine Hommage an Minecraft:
[youtube]D3nKnNCWCkY[/youtube]
"Soundbild" - Musikvisualisierung, Videorendering (Projektseite)
joggel

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von joggel »

Also, als erstes: ich wollte gerade anfangen zu schreiben, da fällt mein Kerzenständer von meinem Wahnsinns-Subwoofer... also die Musik is schon mal gut :)

Und ich verfolge immer die Demos von dir, und ich finde die immer klass.
Mal abgesehen davon ob das jetzt schwierig zu implementieren ist oder ganz einfach. Ich mag Musik und mag gecodete Animationen. Also ich finde dein Projekt schön. Ist aber eben nur meine Meinung, weißt ja... kann mit keine Projekt in irgendeiner art überzeugen.

Wenn ich aber trotzdem mal eine Idee einwerfen könnte:
Hab das ja auch mal getestet... habs aber leider nicht so recht zum laufen bekommen bzw. es passierte nichts.
Ich würde mich echt freuen, wenn man eine schöne Nutzerfläche drumrum basteln könnte. Also hübsches GUI und idiotengerechtes Handling. Und wenn man nicht nur WAV-Files als Audio-Input verwenden könnte, sonder auch zB mp3 und ogg, wäre das noch um einiges toller. Aber ich denke mal, das würde einigen Aufwand machen.
Mit dem GUI und so, da könnte ich sogar etwas helfen. Arbeite beruflich mit Qt... also könnte da mit was Kleinem etwas beisteuern.

Ansonsten finde ich das toll.

Gruß

[Edit]
Ich sehe du benutzt die SDL. Also scheint es ja doch ein GUI oder so zugeben. Sorry!
Aber nun die schlechte Nachricht:
Es funktioniert wieder/immernoch nicht. Bin hier auf Arbeit, und habe nur ne billig-Grafikkarte. Aber ich poste mal die _errror.txt
6:33:32.772 Warning| Fehler in Hauptschleife
6:33:32.772 Info| Fehler ist in Hauptschleife angelangt, Abbruch.
6:33:32.771 Warning| Fehler in Scene.Update Soundbild
6:33:32.771 Warning| Access Violation
6:33:32.771 Info| Fehler in AnimationManager.Update
6:33:32.771 Info| Fehler in Szene GameClock: Access Violation
6:33:32.727 Warning| DataMemory: unable to Update, specs.length=25, needs to be 46
6:33:32.727 Info| Start Audio Capture
6:33:31.698 Info| Starting Gameengine
6:33:31.698 Info| Init Soundbild done
6:33:31.698 Info| new Node: screenLabels
6:33:31.698 Info| CreatedEmptyNode videoScale
6:33:31.698 Info| new Node: videoScale
6:33:31.698 Info| CreateEmptyNode videoScale
6:33:31.698 Info| CreateCamera scene3DCam
6:33:31.698 Info| new Node: scene3DCam
6:33:31.698 Info| CreateCamera scene3DCam
6:33:31.698 Info| CreatedFBO fboVideoNode
6:33:31.698 Info| new Node: fboVideoNode_root_0
6:33:31.698 Info| New FBO, textureCount: 1
Hoffe hilft Dir etwas :)
Armin_mb
Beiträge: 22
Registriert: 04.12.2005, 16:40
Wohnort: Würzburg
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Armin_mb »

hi Joggel,

erstmal vielen Dank für dein Feedback. Eine Gui gibt es durchaus, wenn auch die Adjektive schön und benutzerfreundlich wohl eher nicht zutreffen. Sie ist am linken Rand versteckt und wird eingeblendet, sobald der Mauszeiger sich diesem annähert.
Wenn sich die Visualisierung nicht bewegt, musst du unter Windows bzw. im Soundtreiber die Standard-Aufnahmequelle ändern. Mit "Stereo-Mix" oder im neuen Windows heißt es glaube ich "was Sie hören", wird alles was du hörst visualisiert - egal ob Webradio oder MP3s.

zu deinem Fehler schicke ich dir noch eine Nachricht hier über das Forum. Der Thread heißt ja Showroom und nicht Fehleroperationszimmer ;)

Die Musik gefällt mir ebenso gut, soundcloud sei Dank, kann man ja heutzutage sehr einfach mit tollen Musikern in Kontakt treten.
"Soundbild" - Musikvisualisierung, Videorendering (Projektseite)
joggel

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von joggel »

zu deinem Fehler schicke ich dir noch eine Nachricht hier über das Forum. Der Thread heißt ja Showroom und nicht Fehleroperationszimmer ;)
stimmt. hatten wir ja schon das letzte mal. Ich vergas...
Benutzeravatar
dot
Establishment
Beiträge: 1748
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von dot »

Ich wollt es auch gerade ausprobieren, leider funktioniert es bei mir auch nicht (Windows 7 64bit, NVIDIA GeForce GTX 560 Ti).
Dateianhänge
_error.txt
(1.82 KiB) 427-mal heruntergeladen
joggel

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von joggel »

Nun auch nochmal ein 2ter Bericht von mir, ein positiver :)
Zu Hause an meinem Rechner funktioniert es jetzt! Dolles Spielzeug :)

Version: 0.71p

Wollte gerade Video mitschneiden, geht aber nicht.
Ist nichtmal aktiv der Button "Record Video". Was habe ich zu tun?
Armin_mb
Beiträge: 22
Registriert: 04.12.2005, 16:40
Wohnort: Würzburg
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Armin_mb »

hey, das ist ja klasse. Schön, dass es klappt!

Der Video-Rendern Button ist solange inaktiv, bis eine gültige Wave Datei (Mono, keine Tag-Informationen) eingetippt wurde. Habe für's Video Rendern auch ein bebildertes Tutorial geschrieben: http://www.weltfalt.de/soundbild/tutorial
Gucke dir vor dem Rendern die "labels..." an, wenn eines vor dem Songstart eingeblendet wird, musst du beim Video Rendern die Wavedatei entsprechend verzögern (in VirtualDub: "Audio"->"Interleaving..."->"Delay Audiotrack by xxxx ms"). Der Punkt ist im Tutorial noch nicht drin.
"Soundbild" - Musikvisualisierung, Videorendering (Projektseite)
joggel

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von joggel »

Aha... okay, danke!
Ja stimmt. Auf der seite waren ja auch Beschreibungen dazu...
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von CodingCat »

CodingCat hat geschrieben:Endlich vollständige Beleuchtung (mit Schatten) in den Reflexionen. Ja, das Aliasing und die Normals sind grausig.

Noch weniger als eine Woche bis zur Abgabe der Arbeit, deshalb vorerst keine weiteren Ausführungen.

Bild Bild BildBild

Zurück ans Schreiben ...
So, Bachelorarbeit ist, wie bereits andernorts erwähnt, abgegeben, ich darf wieder programmieren. ;)

Halbzeit der Verbesserungen und Optimierungen, doppelte Framerate: (Reflexionen stark übertrieben)
sponza3.png
sponza5.png
sponza6.png
sponza4.png
Hoffen wir dass die zweite Halbzeit genauso gut läuft. An dieser Stelle endlich eine kurze Zusammenfassung des aktuellen Vorgehens. Ich arbeite mittlerweile auf einem regulären Strahlengitter, das die gesamte Szene enthält. In diesem Strahlengitter sind pro Zelle alle Strahlen eingetragen, welche diese Zelle durchlaufen. Das Ray Tracing ist damit prinzipiell ein einfacher linearer Renderdurchlauf der gesamten Szene, wie bei normaler Rasterisierung, nur dass ich nicht zweidimensional rasterisiere, sondern in das Strahlengitter voxelisiere. Für jedes generierte Voxelfragment schaue ich dann im Strahlengitter einfach alle Strahlen nach, welche die jeweilige Gitterzelle durchlaufen.

In dieser reinen Form ist das Verfahren jedoch nicht umsetzbar, weil jeder Strahl locker 100 Gitterzellen durchläuft, die niemals alle Links auf den jeweiligen Strahl speichern können. Also nutze ich einen weiteren linearen Renderdurchlauf der Szene, um eine grobe Voxelapproximation der Szene aufzubauen (das geht flott, ca. 2 ms). Mit dieser Voxelapproximation kann ich dann das Strahlengitter auf jene Gitterzellen begrenzen, welche tatsächlich von Geometrie bewohnt sind. Damit landet man bei ca. 20 Links pro Strahl, immer noch ne Menge Speicher.

Der nächste Schritt ist ein Multi-Pass-Verfahren, das das Strahlengitter nur teilweise aufbaut (die Voxelapproximation wird von allen Strahlen schichtweise abgetragen, ähnlich wie bei Depth Peeling). Pro Schicht von Geometrie wird ein extra Tracing-Pass durchgeführt, ein großer Teil der Strahlen trifft bereits in der ersten Schicht. Damit profitiert man wie in klassischen Ray-Tracing-Verfahren mit echter (aber meist statischer) Raumaufteilung von der Szenenverdeckung. Ich habe das ganze mit einer einfachen Heuristik auf 3 Passes reduzieren können, wobei jeder Strahl im Schnitt maximal 3 Dreiecke trifft und vor allem pro Pass nur maximal 3 Links emittiert. Der Speicherbedarf wird so tragbar. Dies ist meine aktuelle Implementierung.

Als nächstes werde ich versuchen, die einfache Voxelapproximation durch eine genauere, aber dennoch kompakte Approximation der Geometrie zu ersetzen.

Der ein oder andere fragt sich jetzt vielleicht noch: Warum das Ganze? Es gibt in der Tat bereits wesentlich schnellere Ray-Tracing-Implementierungen auf der GPU, die von Geometrie-Bäumen oder auch Geometrie-Gittern Gebrauch machen. Diese erfordern jedoch meines Wissens nach alle wahlfreien Zugriff auf die gesamte Szenengeometrie und lassen sich somit nur schwerlich in aktuelle Real-time Rendering Pipelines integrieren. Obendrein geht damit der Bedarf eines wahlfreien Zugriffs auf Materialien und insbesondere Texturen einher. Das Verfahren, das ich hier konstruiere, ist direkt in eine ganz normale Deferred Shading Rendering Pipeline integriert, ohne globale Puffer für die Szenengeometrie und unter Verwendung eines ganz normale Objekt- bzw. Batch-basierten Objekt- und Materialsystems.

Nachtrag: Das, was vorhin im ersten Bild zu sehen war, waren gar keine Race-Artefakte, sondern das klassische Mailboxing-Problem. Wieder ein Bug weniger. :)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Schrompf
Moderator
Beiträge: 5210
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Showroom - Aktuelle Arbeiten und Projekte

Beitrag von Schrompf »

Ich habe davon zwar nur wenig begriffen, aber das sieht wirklich gut aus! Interessehalber: wie erstellst Du die Voxel-Repräsentation? Rasterisierst Du selber, oder sammelst Du Fragment-Listen und sortierst sie in einem Compute Shader ein?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten