- Weg frei für Oracle
- Kleine Helfer für die Kommandozeile
- Lasst es doch mal krachen!!
- MySQL-Tabellen mittels Wildcards löschen
- Tcl8.5 Listen: numerische Werte extrahieren und sortieren
- Vodafone Goodbye!
- Vodafone Goodbye! - Teil 2
- Tcl8.5 Dictionaries per 'append' verknüpfen
- Google wegen Wegbeschreibung verklagt
Motivation
In meiner Diplomarbeit bespreche und analysiere ich Algorithmen zur zweidimensionalen
Textursynthese. Dabei werden zwei unterschiedliche Ansätze der prozeduralen
Textursynthese - die Pixel-Based sowie die Patch-Based Methode - näher untersucht. Der erste Ansatz
wurde von Wei-Levoy vorgeschlagen, der zweite von Liang et al. Es gibt weitere zahlreiche
Methoden, um Texturen auf prozeduralem Wege zu generieren, wobei ich jedoch nur
auf die bereits Erwähnten näher eingehen werde.
Die (heute) aktuellen Computerspiele nutzen zum Beispiel die Technik des so genannten
Texture-Mappings. Dadurch soll der visuelle Realismus bei Computerspielen
oder bei wissenschaftlichen Simulationen (z.B. in der Physik und der Biologie) verbessert werden.
Es gibt aber auch Situationen, in denen das Texture-Mapping unzureichend ist. In solchen Fällen
kann man auf prozedural erzeugte Texturen zurückgreifen. Ein Ziel von Algorithmen der
Textursynthese ist es, eine möglichst realistisch wirkende Textur in möglichst
kurzer Zeit zu generieren. Manche Ansätze legen dabei eine (viel) kleinere Eingabe-Textur
zu Grunde und erzeugen auf deren Basis eine (sehr) große Ausgabe-Textur. Die hier besprochenen
Methoden greifen diesen Ansatz auf.
Der Ansatz, der auf einer Eingabe-Textur aufsetzt, verwendet kleine Bereiche statistischer
bzw. stochastischer Eigenschaften und/oder markante strukturelle Teile dieser Eingabe-Textur.
Als Ergebnis des Synthese-Prozesses erhält man eine Ausgabe-Textur, die diese Eigenschaften
der Eingabe-Textur (mehr oder weniger gut) widerspiegelt. Die Größe der Ausgabe-Textur
kann dabei beliebig groß gewählt werden (mit Rücksicht auf Speicher- und Rechenkosten).
Ein weiterer Vorteil der Textursynthese besteht darin, dass die Ausgabe-Texturen
keine visuellen Wiederholungen ("Kacheln") enthalten bzw. dieser Effekt stark reduziert
werden kann. Ein guter Algorithmus sollte daher in der Lage sein, aus einer großen
Menge unterschiedlichster Eingabe-Texturen möglichst ähnliche Ausgabe-Texturen zu erzeugen.
Dabei sollte er ein Minimum an Rechenzeit benötigen sowie unerwünschte Artefakte
in der Ausgabe-Textur verhindern (oder zumindest reduzieren).
Download
Die Diplomarbeit kann hier als PDF heruntergeladen werden:
Texture Synthesis (~2.8Mb)
Beispiele
Nachfolgend werden einige Beispiel-Texturen, bezogen auf die untersuchten Ansätze, aufgelistet.
Die Ausgabe-Texturen wurden mittels des von mir entwickelten Renderers generiert.
Die kleineren Texturen sind jeweils die Eingabe-Texturen mit einer Größe von 64x64 Pixel.
Die größeren Texturen sind die - aus den Eingabe-Texturen - generierten Ausgabe-Texturen
mit einer Größe von 128x128 Pixel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
durchsuche Artikeltext
durchsuche Kommentare
alle Themen
alle Jahre
