Gedankenanstoss: Bachelorarbeit Computergrafik
-
wie wärs mit implementierung und evaluation von verschiedenen systemen für globale beleuchtungsmodelle?
gibts da mittlerweile neue sachen? ich weiss von sparse voxel octree global illumination das eigentlich in der UE4 eingesetzt werden sollte. gibts neuere alternativen?
-
nichtkenner der themen schrieb:
Das werd ich mir alles überlegen, falls er dem Thema zustimmt.
Es würde mich sehr wundern, wenn Dein Prof Dir nicht genau solche Fragen stellt. Darauf wollte ich ja auch hinaus: Du willst Dich mit irgendwas beschäftigen was interessant aussieht, hast aber keine Ahnung wozu das im Rahmen der Arbeit gut sein soll. Bevor das ein peinliches Gespräch wird, denk lieber auch ein wenig über solche Fragen nach.
-
qweasdyxc schrieb:
nichtkenner der themen schrieb:
Das werd ich mir alles überlegen, falls er dem Thema zustimmt.
Es würde mich sehr wundern, wenn Dein Prof Dir nicht genau solche Fragen stellt. Darauf wollte ich ja auch hinaus: Du willst Dich mit irgendwas beschäftigen was interessant aussieht, hast aber keine Ahnung wozu das im Rahmen der Arbeit gut sein soll. Bevor das ein peinliches Gespräch wird, denk lieber auch ein wenig über solche Fragen nach.
da hast du wahrscheinlich recht. stell dir aber den prof nicht zu streng vor :P.
qweasdyxc schrieb:
nichtkenner der themen schrieb:
was ich mir bisher überlegt habe ist einfach "erzeugung und darstellung von virtuellen landschaften", also minecraft-style/dwarf fortress style prozedurale terrainerstellung (ohne voxel-look) inkl. rendering.
ja aber was ist der zweck der arbeit?
nach welchen objektiven kriterien willst du mehrere ansätze zur terrain-generierung vergleichen?
die erstellung eines frameworks zum generieren von prozeduralen landschaften, inkl. entsprechender softwarearchitektur, tests wo sie sinnvoll sind, usw. und natürlich nen renderer hinten dran, damit man was sieht.
ich müsste mich halt dann damit auseinandersetzen wie man verschiedene mathematische konstrukte oder evtl. sogar sowas wie cellular automata benutzen kann um prozedural dinge zu erzeugen.
einfach irgendwelche terrain-algos implementieren und hübsche screenshots davon machen dürfte zu wenig sein für eine abschlussarbeit.
Naja, geht ja nicht nur um Terrain, sondern weiterhin um die Erzeugung diverser Landschaftsfeatures... Höhlensysteme, Gebiete mit verschiedenen klimatischen Eigenschaften... usw.
Ich mach mir eher sorgen dass das was ich mir da vornehme zu viel ist. Sind ja nur 5 Monate.
Ist auch gut weil die Arbeit sehr gut erweiterbar ist, wenn man nach der hälfte der Zeit schon sein ursprüngliches Ziel erreicht hat.
und was könntest du denn neu zu dem thema beitragen, wie du sagst, was nicht schon in tausend spielen und demos abgegrast wurde?
selbst wenn es um simple terrainerzeugung (berge und meer) geht, ist tausende natürlich übertrieben... aber wenn das system komplexere features enthalten soll, ist das denk ich noch lange nicht ausgelutscht.
komplett funktionsfähige und recht komplexe systeme gibt es zwar, aber zu denen konnte ich bisher keine ausfürliche dokumentation finden. dementsprechend würde ich mir viele quellen raussuchen, zusammentragen und vergleichen müssen, und in der wahrscheinlich auftretenenden absenz von kompletten erklärungen selbst viele gedanken machen müssen und auf meine eigenen ideen und implementierungen kommen. das ist eigentlich klassisches wissenschaftliches arbeiten, oder sehe ich das falsch?
-
hallo nochmal. würde bei erfahrenen leuten nun mal sozusagen nach sub-themas fragen.
das bachelorarbeitsthema ist jetzt (vorerst) "untersuchung von global illumination techniken auf performance und qualität". das is nicht der offizielle titel, den hab ich mir grad aus dem hintern gezogen.
im prinzip möchte ich so viele echtzeit-global illumination algorithmen wie möglich implementieren und hinsichtlich ihres rechenzeitaufwands und der resultierenden qualität (hinsichtlich physikalischer korrektheit, vorkommender beleuchtungsartefakte, etc.). mit dem prof habe ich dabei mal eine grundanzahl von 3 festgelegt, nach oben frei offen, nach unten eher nicht. wenn ich es nur hinbekommen sollte einen einzigen algorithmus in der vorgegebenen zeit (sollte bis anfang märz fertig sein wenn ich mich nicht täusche) zu implementieren würden wir das thema wahrscheinlich so zurechtbiegen, dass ich es in ne vorhandene software implementiere.
nun habe ich aber von GI so gut wie keine ahnung und daher einen schlechten ausgangspunkt um geeignete algorithmen auszuwählen. kriterien sind
- 3 davon implementierbar in ~6 monaten (oktober bis märz mit eingeschummelter vorarbeitszeit im september)
- ausreichend quellen sollten verfügbar sein, damit ichs selbst implementieren kann. d.h. eventuell proprietär closed source lösungen wo nur eine pdf von ner präsentation davon existiert sind ein no-go.
- muss echtzeitfähig sein, d.h. dynamische lichtquellen unterstützen. dynamische geometrie muss nicht sein, d.h. statische geometrie wäre OK.
- möglichst zeitnahe (algorithmus sollte nicht veraltet und durch schlicht und einfach besseres ersetzt sein)hat da jemand von euch vielleicht vorschläge, was ich genauer untersuchen sollte?
-
nichtkenner der themen schrieb:
nun habe ich aber von GI so gut wie keine ahnung und daher einen schlechten ausgangspunkt um geeignete algorithmen auszuwählen. kriterien sind
...
hat da jemand von euch vielleicht vorschläge, was ich genauer untersuchen sollte?Ich wuerde erstmal nachforschen welche Algorithmen es da so gibt, auch das ist Teil der Arbeit.
-
maximAL schrieb:
nichtkenner der themen schrieb:
nun habe ich aber von GI so gut wie keine ahnung und daher einen schlechten ausgangspunkt um geeignete algorithmen auszuwählen. kriterien sind
...
hat da jemand von euch vielleicht vorschläge, was ich genauer untersuchen sollte?Ich wuerde erstmal nachforschen welche Algorithmen es da so gibt, auch das ist Teil der Arbeit.
mach ich ja. aber ohne genaue kenntnis der funktionsweise und speziel der implementierung der algorithmen zu haben hab ich einen schlechten ausgangspunkt um zu entscheiden, mit welchen ich mich genauer beschäftige. natürlich betreibe ich gerade viel literaturrecherche. ich frage hier nur, falls es jemanden gibt der sich mit dem thema schon genauer beschäftigt hat und evtl. vorschläge hat.
-
Ein paar wichtige Techniken zu dem Thema (wenn es um Real-time geht):
- Instant Radiosity (Virtual Point Lights)
- Imperfect Shadow Maps
- Reflective Shadow Maps
- Light Propagation Volumes
- Voxel Cone Tracing
Auch zu erwähnen wäre evtl. Screenspace Ambient Occlusion in all seinen verschiedenen Ausführungen (bin persönlich allerdings kein Fan davon).
Dieser SIGGRAPH Course, wenn auch nichtmehr ganz up to date, ist vielleicht kein schlechter Einstieg (Video des Talk im Source Material): http://dl.acm.org/citation.cfm?id=1667258
Desweiteren imo potentiell interessant: Precomputed Radiance Transfer
Und schau dich auch in Richtung Real-time Path Tracing um (Stichwort Brigade Renderer).
-
dot schrieb:
Ein paar wichtige Techniken zu dem Thema (wenn es um Real-time geht):
- Instant Radiosity (Virtual Point Lights)
- Imperfect Shadow Maps
- Reflective Shadow Maps
- Light Propagation Volumes
- Voxel Cone Tracing
Auch zu erwähnen wäre evtl. Screenspace Ambient Occlusion in all seinen verschiedenen Ausführungen (bin persönlich allerdings kein Fan davon).
Dieser SIGGRAPH Course, wenn auch nichtmehr ganz up to date, ist vielleicht kein schlechter Einstieg (Video des Talk im Source Material): http://dl.acm.org/citation.cfm?id=1667258
Desweiteren imo potentiell interessant: Precomputed Radiance Transfer
Und schau dich auch in Richtung Real-time Path Tracing um (Stichwort Brigade Renderer).
Das ist perfekt! Instant Radiosity ist mir auch schon stark ins Auge gefallen. Der Algorithmus klingt auf einen ersten Blick nicht super komplex, und er unterstützt sowohl dynamische Szenen als auch dynamische Lichter. ++
Was Voxel Cone Tracing angeht war ich schon von Anfang an sehr an dem Voxel Cone Tracing basiert auf nem GPU-Sparse Voxel Octree interessiert (hier http://blog.icare3d.org/2012/05/gtc-2012-talk-octree-based-sparse.html ). Genauso dyn. Szenen und dyn. Beleuchtung. Da fetter Bonus: GI mit specular reflections (Instant Radiosity kann ja anscheinend nur diffuse). Der Algorithmus sieht aber nach ner Menge Implementieraufwand aus. Werd ihn mir wohl trotzdem vornehmen.
Was nen dritten Kandidaten angeht, bin ich mir noch unsicher. Ich neige etwas zu einer rein Screen-Space basierten Methode, nur um etwas zu haben, das viel schneller ist, dafür aber auch von der Qualität nicht annähernd so gut wie andere Methoden. Hier gibts ja z.B. die Technik, die in der CryEngine 3 verwendet wird: http://www.crytek.com/cryengine/presentations/real-time-diffuse-global-illumination-in-cryengine-3
In einem Paper über Instant Radiosity bin ich da auch über "Splatting Indirect Illumination" gestoßen, hab allerdings da noch nicht weiter nachgeforscht. Mal sehen.
P.S.: AO find ich auch nicht schön
-
Ich würd Reflective Shadow Maps vorschlagen, die sind (im Gegensatz zu Instant Radiosity) wohl einigermaßen Praxisrelevant, relativ einfach zu implementieren und passen gut zum Rest; der ganze Screenspace Kram ist imo rein prinzipiell flawed und heutzutage auch nichtmehr sonderlich beeindruckend...
-
Danke! Werd ich mir später mal genauer anschauen.
dot schrieb:
die sind (im Gegensatz zu Instant Radiosity) wohl einigermaßen Praxisrelevant.
Instant Radiosity wird wohl durch die Artefakte zu hässlich?
-
...kenner? der themen schrieb:
dot schrieb:
die sind (im Gegensatz zu Instant Radiosity) wohl einigermaßen Praxisrelevant.
Instant Radiosity wird wohl durch die Artefakte zu hässlich?
Es ist vor allem zu langsam...
-
dot schrieb:
...kenner? der themen schrieb:
dot schrieb:
die sind (im Gegensatz zu Instant Radiosity) wohl einigermaßen Praxisrelevant.
Instant Radiosity wird wohl durch die Artefakte zu hässlich?
Es ist vor allem zu langsam...
Mhm... Ich verlasse mich mal auf dich
2 Themen stehen:
- octree based sparse voxelization for global illumination
- reflective shadow maps (bin das Paper überflogen, macht nen guten Eindruck und scheint oberflächlich simpel zu sein. Kann keine Aussagen über Performance machen, aber hoffen )Nummer drei nach wie vor unsicher. Hätte gerne nochwas für dyn. Szenen + dyn. Lichter. Ich werd mal http://www.mpi-inf.mpg.de/~ritschel/Papers/GISTAR.pdf durchforsten und schauen was sich finden lässt.