30.01.2014 Aufrufe

Abstract-Band - Fakultät für Informatik, TU Wien - Technische ...

Abstract-Band - Fakultät für Informatik, TU Wien - Technische ...

Abstract-Band - Fakultät für Informatik, TU Wien - Technische ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Startelement durch wiederholte Translation und Rotation ein komplexes,<br />

lückenloses Kachelmuster erzeugt werden. Diese Muster sind allem Anschein<br />

nach nicht periodisch und haben sowohl aus mathematischer als auch<br />

künstlerischer Sicht interessante Eigenschaften. Das IR-Verfahren wurde noch<br />

nicht in der wissenschaftlichen Literatur behandelt, aber ist am ehesten<br />

vergleichbar mit aperiodischen Kachelmustern wie sie z.B. bereits von Penrose<br />

beschrieben wurden. Die Diplomarbeit beschäftigt sich näher mit den durch<br />

Inductive Rotation erzeugten Mustern. Es wurden Algorithmen entwickelt, mit<br />

denen es möglich ist, die Rotationsschritte in einem Computerprogramm zu<br />

automatisieren. Die Implementierung schließlich ist der Irrational Image<br />

Generator, ein Programm, das einerseits als Referenzimplementierung <strong>für</strong> das<br />

genannte Verfahren dient, andererseits aber vom Künstler verwendet wird, um<br />

durch weiteres Experimentieren das IR-Verfahren künstlerisch auszureizen. Dem<br />

Irrational Image Generator gehen eine Reihe von Prototypen voraus, die dazu<br />

entwickelt wurden, um das Laufzeitverhalten und die Ergebnisse abschätzen zu<br />

können. Sowohl die Prototypen als auch das Endprodukt wurden von Hofstetter<br />

Kurt getestet. Dieser iterative Entwicklungsprozess führte dazu, dass das fertige<br />

Programm zwei unterschiedliche Implementierungen beinhaltet, die beide ihre<br />

Vor- und Nachteile haben. Es hat sich herausgestellt, dass sowohl Laufzeit als<br />

auch Speicherbedarf des IR-Algorithmus abhängig von der Anzahl der Iterationen<br />

exponentiell ansteigen. Dadurch sind Iterationszahlen nach oben hin begrenzt,<br />

reichen aber <strong>für</strong> künstlerische Zwecke aus.<br />

Günther Voglsam<br />

Real-time Ray Tracing on the GPU - Ray Tracing using CUDA and kD-Trees<br />

Studium: Masterstudium Visual Computing<br />

BetreuerIn: Associate Prof. Dr. Michael Wimmer<br />

In computer graphics, ray tracing is a well-known image generation algorithm<br />

which exists since the late 1970s. Ray tracing is typically known as an offline<br />

algorithm, which means that the image generation process takes several seconds<br />

to minutes or even hours or days. In this thesis I present a ray tracer which runs in<br />

real-time. Real-time in terms of computer graphics means that 60 or more images<br />

per second (frames per second, FPS) are created. To achieve such frame rates,<br />

the ray tracer runs completely on the graphics card (GPU). This is possible by<br />

making use of Nvidias CUDA-API. With CUDA, it is possible to program the<br />

processor of a graphics card similar to a processor of a CPU. This way, the<br />

computational power of a graphics card can be fully utilized. A crucial part of any<br />

ray tracer is the acceleration data structure (ADS) used. The ADS is needed to<br />

efficiently search in geometric space. In this thesis, two variants of so called kD-<br />

Trees have been implemented. A kD-Tree is a binary tree, which divides at each<br />

node a given geometric space into two halves using an axis aligned splitting<br />

plane. Furthermore, a CUDA library for the rendering engine Aardvark, which is<br />

the in-house rendering engine at the VRVis Research Center, was developed to<br />

access CUDA functionality from within Aardvark in an easy and convenient way.<br />

The ray tracer is part of a current software project called HILITE at the VRVis<br />

Research Center.<br />

53

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!