Techniken und Umgang mit Tiefenschärfe in 3D

Transcription

Techniken und Umgang mit Tiefenschärfe in 3D
Techniken und Umgang mit
Tiefenschärfe in 3D-Programmen
Schriftliche Hausarbeit zur Erlangung des akademischen Grades
„Diplom Digital Artist“
im Studiengang „Digital Artist“
der privaten Filmhochschule für digitale
Medienproduktion, Elstal
THE GERMAN FILM SCHOOL
for digital production GmbH
Vorgelegt von
André Schaarschmidt
(Matr.-Nr. DA 0509179)
am 17.07.08
1. Gutachter: Prof. Michael Orthwein
2. Gutachter: Dennis Rettkowski
Techniken und Umgang mit Tiefenschärfe in 3D Programmen
Bibliographische Angaben / Referat........................................................................................................3
Vorwort............................................................................................................................................................4
1. Einleitung.................................................................................................................................................5
2. Tiefenschärfe heute..............................................................................................................................8
2.1 Die Erzeugung von Tiefenschärfe.................................................................................................8
2.2 Techniken und Werkzeuge...........................................................................................................13
2.2.1 Vergleich von 3D-Programmen und Compositing...........................................................13
2.2.2 Werkzeuge der 3D-Anwendungen....................................................................................20
3. In der Praxis...........................................................................................................................................31
3.1 Arbeitsweisen von Unternehmen................................................................................................31
3.2 Vorschlag zur Verbesserung der Arbeitsweise........................................................................34
3.2.1 Funktionsumfang des Skripts pb_dofGUI........................................................................34
3.2.2 Entwicklung des Skripts.......................................................................................................37
3.2.3 Vorteile des Skripts und Möglichkeiten zur Erweiterung..............................................41
4. Zukunft der Tiefenschärfe in 3D....................................................................................................43
4.1 Neue Werkzeuge............................................................................................................................43
4.2 Tiefenschärfe in Echtzeit.............................................................................................................46
4.3 Ausblick / Tendenzen..................................................................................................................49
5. Fazit / Zusammenfassung................................................................................................................52
Literaturverzeichnis....................................................................................................................................55
Bildquellen...................................................................................................................................................57
Eidesstattliche Erklärung..........................................................................................................................59
-2-
Bibliographische Angaben / Referat
Schaarschmidt, André:
Techniken und Umgang mit Tiefenschärfe in 3D-Programmen, 2008
Private Filmhochschule für digitale Medienproduktion, Elstal
The German Film School for digital production GmbH
Diplomarbeit, 2008
Referat:
Diese Diplomarbeit beschäftigt sich zum einen mit der Entstehung des Phänomens
Tiefenschärfe und seiner digitalen Simulation. Hierbei werden die Vor- und Nachteile
verschiedener Simulationstechniken und das diesbezügliche Potential mehrerer 3DProgramme erläutert. Zum anderen verdeutlicht diese Arbeit den Status quo in der
praktischen Arbeit mit Tiefenschärfe am Beispiel von drei unterschiedlich großen Firmen der
CG-Branche. Des Weiteren wird ein vom Autor entwickeltes Skript vorgestellt, das eine
effektivere Arbeit mit Tiefenschärfe in dem 3D-Programm Maya ermöglicht. Abschließend
werden Lösungsansätze behandelt, die in der Zukunft zur Optimierung der
Benutzerfreundlichkeit sowie des Kosten- und Arbeitsaufwands im Bereich der
Tiefenschärfesimulation beitragen können.
-3-
Vorwort
Ich möchte mich an dieser Stelle ganz herzlich bei meiner Partnerin Anne Cornelia Fleischer
bedanken, die mich in jeder Phase meines Diplomsemesters unterstützt und meine Arbeit
Korrektur gelesen hat.
Des weiteren gilt mein Dank Herrn Prof. Orthwein an der Fachhochschule Mainz, sowie
meinem RenderMan Dozenten Herrn Rettkowski für ihre Anregungen zu dieser Arbeit und das
sie sich als Gutachter bereit erklärt haben.
Meiner Schwester Ilka Brombach danke ich für ihre Unterstützung bei der Gliederung und
dem Korrekturlesen, ebenso wie meinen Eltern Irene und Thomas Schaarschmidt.
Einen recht herzlichen Dank gilt ebenso meinen Interviewpartnern Herrn Bumba von Bumba
Animation Studio in Brühl, Herrn Mittelhockamp von 4k Animation in Berlin und Herrn
Martin von Pixomondo in München für ihre Teilnahme an meiner Studie.
-4-
1. Einleitung
Ein Ziel der Computergrafik ist seit je her
die fotorealistische Nachahmung unserer
Umwelt. Um dieses Ziel zu erreichen, bedarf
es an Wissen aus vielen Fachbereichen.
Die Tiefenschärfe, mit der sich diese Arbeit
beschäftigt, ist ein Teilgebiet, das zum
Erreichen dieses Zieles notwendig ist.
Die Tiefenschärfe in einem computergenerierten Bild kann entscheidend für den
Realitätsgrad der Darstellung sein, da wir
dieses Phänomen aus Filmen und
Fotografien gewohnt sind. Der Effekt der
Abb. 1: Tiefenschärfe und Bokeh-Effekt
Tiefenschärfe kann bei Verwendung einer
realen Film- oder Bildkamera durch einen einfachen Knopfdruck erzielt werden.
Seit Jahrzehnten wird Tiefenschärfe im Film und der Fotografie eingesetzt, um den Blickfokus
des Betrachters zu führen. Durch die physikalische Beschaffenheit einer Linse entsteht das,
was sich in der Computergrafik nur mit Aufwand simulieren lässt.
Die vorliegende Arbeit erläutert die Möglichkeiten, die es gibt, um Tiefenschärfe zu imitieren,
prüft die führenden 3D-Programme auf ihre Benutzerfreundlichkeit im Umgang mit
Tiefenschärfe und untersucht den aktuellen Stand der Technik.
Der Schwerpunkt der Arbeit wird dabei zunächst auf der Untersuchung der Mängel liegen, die
die bestehenden Programme zur Erzeugung von Tiefenschärfe aufweisen. Anschließend sollen
Möglichkeiten zur Verbesserung aufgezeigt werden. Tiefenschärfe, so zeigen Erfahrungen in
der Praxis, kann mit der Rechenleistung von aktuellen Computersystemen schneller denn je
erzeugt werden. Jedoch nutzen 3D-Grafiker diese immer noch selten, da die notwendigen
Werkzeuge zum Einstellen und Kalibrieren nicht existieren oder nicht benutzerfreundlich sind
und somit mehr Zeit und Kosten verursachen.
-5-
Die Arbeit geht deshalb wie folgt vor: Die Entstehung des Phänomens Tiefenschärfe wird
beschrieben und die verschieden technischen Verfahren erläutert, die dazu dienen, eine
Simulation dieses Effekts auf computergenerierte Bilder anzuwenden.
Anschließend wird in Kapitel 2.2.1 untersucht, in welchen Arbeitsabschnitten einer digitalen
Produktion Tiefenschärfe integriert wird. Die Vor- und Nachteile der dabei angewendeten
Verfahren werden gegenübergestellt. Da 3D-Anwendungen eine wichtige Rolle bei der Arbeit
mit digitaler Tiefenschärfe spielen, werden im Rahmen dieser Ausführung die gängigsten 3DSoftwarepakete auf ihre Benutzerfreundlichkeit geprüft und die Ergebnisse ausgewertet.
Hiernach wird in Kapitel 3.1 der Status quo in der Praxis untersucht. Zu diesem Zweck wurden
drei Firmen unterschiedlicher Größe interviewt, welche jeweils über ihre Erfahrungen mit
Tiefenschärfe und ihre Herangehensweisen diesbezüglich Auskunft gegeben haben.
Auf die Auswertung der Interviews folgt ein technischer Teil. Es wurde ein Skript für den
effektiveren Umgang mit Tiefenschärfe entwickelt. In Kapitel 3.2.1 wird das Skript erläutert.
Es wird der Funktionsumfang des Skriptes dargestellt sowie die Anwendungsbereiche
definiert. Anhand von Programmcode-Beispielen wird die Konzeption der Benutzeroberfläche
näher beschrieben und darüber hinaus ein Ausblick auf mögliche Erweiterungen gegeben, die
im Rahmen dieser Arbeit nicht realisierbar waren.
Anschließend werden in Kapitel 5 Lösungsansätze genannt, um die Benutzerfreundlichkeit,
den Kosten- und Arbeitsaufwand im Umgang mit Tiefenschärfe zu verbessern. Dann werden
die Methoden, mit denen Echtzeitanwendungen, wie etwa Computerspiele, Tiefenschärfe
simulieren, betrachtet. Des Weiteren werden Entwicklungen und Technologien erläutert,
welche für weiterentwickelte Techniken und schnellere Berechnungen in der Zukunft eine
Rolle spielen.
Abschließend werden die Ergebnisse der Arbeit zusammengefasst.
Zuvor sollen hier noch einige grundlegende Begriffe erläutert werden, die im Rahmen dieser
Diplomarbeit verwendet werden:
-6-
Bildrauschen ist das Flackern von Bildpunkten und kann im ganzen Bild auftreten, aber ist
besonders sichtbar in statischen Bereichen. Es entsteht, wenn zu wenig Samples beim
Berechnen eines Bildpunkts verwendet werden.
Compositing ist der Vorgang des Kombinierens von separat generierten Bildelementen zu
einem einzigen Bild.
NURBS steht für „nicht-uniforme rationale B-Splines“ und ist ein mathematisches Modell zum
Erzeugen und Visualisieren von Kurven und Flächen in der Computergrafik.
Ein Pass ist die gesonderte Berechnung von speziellen Eigenschaften einer 3D-Szene, wie nur
Reflektionen oder Schatten.
Rendering ist ein Prozess, bei dem durch Berechnungen von Licht-, Geometrie-, Textur- und
Oberflächeninformationen, ein Bild generiert wird. Beim Compositing versteht man unter
Rendering auch die Prozedur, bei der die einzelnen Bildelemente und Effekte durch
entsprechende Berechnung zu einem einzigen Bild kombiniert werden.
Mit Sampling ist die mehrfache Abtastung eines Bildpunkts gemeint, wobei mittels eines
Filters aus den Abtastergebnissen der finale Farbwert errechnet wird.
Sampling-Artefakte s. Bildrauschen
Shader sind Funktionen zur Berechnung der Oberflächenbeschaffenheit von Objekten.
Test-Renderings sind Berechnungen des aktuellen Bildes in niedriger Qualität, die dazu
dienen, aktuelle Einstellungen beurteilen zu können.
-7-
2. Tiefenschärfe heute
2.1 Die Erzeugung von Tiefenschärfe
Unter Tiefenschärfe versteht man in der Fotografie und im Film den Bereich, der vom
Objektiv einer Kamera scharf abgebildet wird. Eine reale Linse kann nur eine Ebene in einer
definierten Entfernung präzise fokussieren: die so genannte Fokusebene.1
Die Abnahme der Schärfe erfolgt auf beiden Seiten graduell. Der Bereich der zu einem Drittel
vor und zu zwei Drittel hinter der Fokusebene liegt, wird als scharf wahrgenommen.2
Unter normalen Sichtbedingungen ist für den Betrachter nicht erkennbar, dass nur eine Ebene
im Fokus liegt. Er nimmt die Bereiche davor und dahinter auch scharf wahr.3
Abb. 2: Bereiche der Tiefenschärfe
Der Begriff Tiefenschärfe ist nicht zu verwechseln mit Schärfentiefe. Letztere ist eine optisch
geometrische Größe, die den Schärfebereich eines optischen Systems, in dem ein Bildelement
bewegt werden kann, ohne merklich an Schärfe zu verlieren, mathematisch beschreibt.
1
Vgl. Goulekas, Karen E.: Visual Effects in a Digital World, 2001, S. 197
(Im Folgenden zitiert als Goulekas: Effects)
2 Vgl. Wright, Steve: Digital Compositing for Film and Video, 2002, S. 146
3 Kerlow, Isaac V.: The Art of 3D Computer Animation and Effects, 2004, S. 317
-8-
Unschärfe entsteht, wenn ein Punkt, der durch eine Linse projiziert wird, außerhalb der
Filmebene liegt. Die Lichtstrahlen treffen in diesem Fall nicht am selben Punkt auf dem
Filmmaterial zusammen. Es kommt dadurch zu einer Zerstreuung des Punkts und es entsteht
ein Zerstreuungskreis, welcher – in Abhängigkeit vom jeweiligen Filmformat – ab einer
bestimmten Größe Unschärfe bewirkt. Der Zerstreuungskreis spielt bei der Berechnung der
Schärfentiefe eine große Rolle. Der Radius der Zerstreuung hängt von der Distanz des
Objektes zur Kamera ab, sowie von der Größe der Blendenöffnung und der Art der Linse.1 Bei
Beugung des Lichtes kann ein zu projizierender Lichtpunkt ebenfalls unscharf abgebildet
werden.
Abb. 3: Zerstreungskreise
Die Größe der Tiefenschärfe ergibt sich somit aus einer Kombination von den verwendeten
Kameralinsen- und Blendeneinstellungen, so wie auch von der Distanz der Linse zur
Fokusebene. Eine große Blende erzeugt einen engen Tiefenschärferaum, wobei eine kleine
Blende diesen vergrößert. Tiefenschärfe verhält sich im Quadrat proportional zur Entfernung
von Linse zum Objekt. Wenn sich die Distanz verdoppelt, vervierfacht sich die Tiefenschärfe.2
1 Vgl. Gritz, Larry & Kaufmann, Morgan: Advanced RenderMan: Creating CGI for Motion Pictures, 2000, S. 361
2 Goulekas: Effects, S. 127
-9-
Abb. 4: Tiefenschärfe bei verschiedenen Blendenzahlen
Eine besondere Charakteristik der Tiefenschärfe ist der so genannte Bokeh-Effekt.1
Dieser beschreibt die ästhetischen Qualitäten von Bildbereichen, die außerhalb des Fokus
liegen, und ist maßgeblich verantwortlich für eine hochwertige Tiefenschärfe. Die
Eigenschaften des Bokehs werden beeinflusst durch die Struktur des Zerstreuungskreises.
Diese wiederum wird bestimmt durch die Form der Blende bzw. der Eintrittspupille des
Objektivs und hat Einfluss auf den Helligkeitsverlauf. Die Form und Anzahl der
Blendenlamellen hat ebenfalls eine Auswirkung auf den Bokeh und darauf, ob er eher
unruhig bzw. eher gleichförmig und dadurch ruhig wirkt. Beispielsweise verschwimmen
Lichtquellen bei Nachtaufnahmen in Form der Blendenöffnung, wenn sie sich außerhalb der
Tiefenschärfe befinden.
Abb. 5: Eine dreieckige Blende vor der Linse resultiert in einer dreieckigen
Bündlung des Lichts. Der Bokeh-Effekt nimmt die Form der Blende an.
Das Phänomen Tiefenschärfe versucht man nun mittels verschiedener Methoden in der
digitalen Welt nachzuahmen. Ein 3D-Programm stellt eine 3D-Szene komplett scharf da,
genauso wie eine Lochkamera2, und somit verfügt das gerenderte Bild über eine unendlich
1 Merklinger, Harold M.: A Technical View of Bokeh. In: Photo Techniques, Band 18, Nr. 3, 1997, S. 37
2 Vgl. Shirley, Peter: Ray Tracing, 2000, S. 113
- 10 -
große Tiefenschärfe. Es gibt keinen Bereich der unscharf ist.
Die erste Methode um dies zu ändern, wurde 1984 von Cook u.a.1 unter dem Namen
Distributed-Ray-Tracing oder Stochastic-Ray-Tracing entwickelt. Hierbei werden für die
Berechnung des Farbwertes eines Pixels mehrere Strahlen vom Punkt des Betrachters
emittiert. Die aus diesem Prozess gewonnenen Ergebnisse dienen zur Ermittlung des
jeweiligen Farbwertes. Im Falle von Tiefenschärfe ist der Startpunkt der Strahlen nicht nur ein
Punkt, sondern es gibt mehrere Ausgangspunkte, die auf einer linsenförmigen Fläche verteilt
liegen; dadurch ergeben sich unterschiedliche Wege zum gesuchten Zielpunkt. Je näher die
Strahlen beieinander liegen, desto geringer ist der Unterschied des ermittelten Farbwerts zum
Originalfarbwert. Das Bild wird dadurch als scharf wahrgenommen. Je weiter sie jedoch von
einander entfernt sind, desto unschärfer ist das Bild, da eine erhöhte Differenz zwischen den
Ergebnisfarbwerten und dem Zielfarbwert vorliegt.
Der Algorithmus wurde zwei Jahre nach seiner Entstehung von Cook optimiert. Dies geschah
mit Hilfe der stochastischen Verteilung von Strahlen nach der Monte-Carlo-Berechnung.2
Durch diese Weiterentwicklung konnten die Sampling-Artefakte, die dann auftreten, wenn die
Anzahl der Strahlen zu gering ist, durch eine unregelmäßige Strahlenverteilung gemindert
werden. Mit Hilfe dieser Methode werden die Artefakte lediglich als Bildrauschen
wahrgenommen und stechen weniger hervor.
Eine andere Methode zur Erzeugung von Tiefenschärfe besteht in der Nachbearbeitung eines
Bildes. Hierbei wird ein so genannter Post-Effekt auf das Ausgangsmaterial gelegt, und ein
Algorithmus wertet anhand von Graustufeninformationen aus, welcher Pixel unscharf
gezeichnet werden muss. Hierbei sollte der Algorithmus berücksichtigen, dass Kanten von
Objekten, die im Fokus liegen, scharf bleiben, wenn sie sich mit Objekten überschneiden, die
im Bereich der Unschärfe liegen. Dies gilt auch andersherum. Es kann sonst zu Artefakten
kommen, wie z.B. einem Schein um die Kante eines Objekts herum; dies nennt man Edge1
Cook, Robert L. u.a.: Distributed Ray Tracing
http://graphics.pixar.com/DistributedRayTracing/paper.pdf
1984, Abruf am 2008-07-27
2 Cook, L. Robert: Stochastic Sampling in Computer Graphics
http://graphics.pixar.com/StochasticSampling/paper.pdf
1986, Abruf am 2008-07-27
- 11 -
Bleeding. Die s.g. Unschärfe-Algorithmen werden oft als Linsenunschärfe bezeichnet. Ihre
Ausführung dauert in der Regel länger als einfache Weichzeichnungsmethoden, wie z.B.
Gaussian, da diese meistens auch den Bokeh-Effekt simulieren. Egal welche Unschärfe
verwendet wird, es gilt immer: Je größer die Unschärfe sein soll, desto rechenintensiver ist der
Vorgang.1
Eine weitere Methode zur Erzeugung von Tiefenschärfe ist das Multi-Pass-Verfahren, auch
Jittering genannt, welches zeilenbasierte Renderer oft verwenden. Hierbei wird die Position
der Kamera mehrmals bewegt ohne den Fokuspunkt zu verändern. Die Größe der Bewegung
ist abhängig von der Blende oder der Form der Linse. Nach jeder Verschiebung der Kamera
wird das Bild neu berechnet und zum Schluss werden alle Bilder übereinander gelegt. Objekte,
die eine größere Entfernung zum Fokuspunkt haben, werden weniger scharf dargestellt als
Objekte, deren Entfernung kleiner ist. Anders als beim Post-Effekt kommt es hier zu keinen
Problemen an den Kanten von Objekten.2
Abb. 6: Multi-Pass-Verfahren bzw. Jittering
1 Vgl. Adams, Mark; Miller, Erick und Sims, Max: Inside Maya 5, 2003, S. 786
2 Vgl. Hachisuka, Toshiya: GPU Gems 2, 2005, S. 628
- 12 -
2.2 Techniken und Werkzeuge
2.2.1 Vergleich von 3D-Programmen und Compositing
Wenn der Anwender vor der Entscheidung steht, auf welche Art und Weise er Tiefenschärfe zu
seinem Bild hinzufügt, kann er zwischen unterschiedlichen Verfahren abwägen, die alle ihre
Vor- und Nachteile besitzen.
Ein Verfahren ist es, die Tiefenschärfe gleich beim Rendern im 3D-Programm mit in das
jeweilige Bild zu rechnen. Jedoch bestehen im späteren Verlauf einer Produktion keine
Möglichkeiten mehr, Einfluss auf Größe und Stärke der Tiefenschärfe zu nehmen. Tritt ein
Fehler auf, so müssen die Einstellungen der Tiefenschärfe überprüft und zur Begutachtung
Test-Renderings der Szene angefertigt werden. Dies ist in der Regel sehr zeitaufwendig –
besonders wenn Fokusverlagerungen von einem Objekt auf ein anderes animiert werden, da
es zum Validieren der Animation notwendig ist, eine ganze Bildsequenz zu berechnen. Selbst
in einer niedrigen Bildqualität kann dies viel Zeit beanspruchen.
Die Tiefenschärfe beim 3D-Rendering zu erzeugen, kann allerdings Qualitätsvorteile im
Vergleich zu allen anderen Verfahren bieten. Nur im 3D-Raum sind alle Informationen
vorhanden, die für eine exakte und realistische Berechnung notwendig sind. Wie diese
Informationen genutzt werden, hängt allerdings vom verwendeten Renderer ab, welcher über
Schnelligkeit und Qualität entscheidet.
Ein solcher Renderer ist zum Beispiel Renderman, welcher einen effizienten und patentierten
Algorithmus für die Kantenglättung beim Berechnen von Tiefenschärfe verwendet. Er erzeugt
eine qualitativ hochwertige Tiefenschärfe, ohne größere Probleme mit Artefakten zu bereiten
und überragt somit andere Renderer in puncto Schnelligkeit.
Ein anderer hierfür einsetzbarer Renderer ist Mental Ray, dessen Stärke es ist, in effizienter
Weise Ray-Tracing-Berechnungen auszuführen. Diese Art der Berechnung bietet sich, wie
- 13 -
eingangs beschrieben, für die Berechnung von Tiefenschärfe an. Qualitativ kann Mental-Ray
mit Renderman mithalten, jedoch ist der Rechenaufwand, um Artefakte und zu starkes
Bildrauschen zu beseitigen, bei Verwendung dieses Renderers meist um ein Vielfaches höher.
Software- bzw. Scanline-Renderer arbeiten zeilenweise mit den Verfahren der
Verdeckungsberechnung von Polygonen. Für die Berechnung von Tiefenschärfe nutzen sie das
Verfahren des Multi-Pass-Rendering oder eines Post-Effekts, wie in Kapitel 2.1 beschrieben.
Beide Verfahren sind in der Berechnung der Tiefenschärfe schneller als die zuvor erläuterten.
Sie liefern jedoch keine akkuraten Ergebnisse; die Qualität der Unschärfe hat oft etwas
Unnatürliches und Flaches.
Die Ray-Tracing-Algorithmen, die zur Berechnung von Tiefenschärfe verwendet werden,
ähneln denen von Bewegungsunschärfe. Um Rechenzeit zu sparen, lohnt es sich, das
Sampling zu konfigurieren, damit weniger Strahlen in den unscharfen Bereichen verwendet
werden und die Farbwerte stärker interpoliert werden. Dies ist zwar ein Qualitätsverlust, der
in den unscharfen Bereichen aber oft nicht sichtbar ist und sich zugunsten der Render-Zeiten
auswirkt.
Ein weiteres Verfahren bei der Berechnung von Tiefenschärfe ist die Bildnachbearbeitung
unter Verwendung eines Graustufenbildes. Hierbei wird im 3D-Programm das Bildmaterial,
oft Beauty-Pass genannt, ohne Unschärfe berechnet und für die Weiterverarbeitung an ein
Compositing-Programm oder externes Tiefenschärfe-Programm übergeben. Diese Bildinformationen werden unter Zuhilfenahme einer Maske mit einem Unschärfe-Effekt versehen.
Diese Maske basiert auf einem Graustufenbild, das unabhängig vom Beauty-Pass ausgegeben
wurde. Ein solches Graustufenbild wird in der Regel von einem 3D-Programm berechnet und
beinhaltet Fokusinformationen: Es kann scharfe und unscharfe Bildbereiche als Schwarz-WeißVerlauf darstellen. Es wird hierbei die Farbe Schwarz für scharfe und Weiß für unscharfe
Bildelemente verwendet, oder umgekehrt. Der Schärfeverlauf wird in den entsprechenden
Grautönen visualisiert. Mit Hilfe dieser Maske kann man den oben genannten UnschärfeEffekt gezielt auf die Bereiche des jeweiligen Bildes anwenden, die im Graustufenbild weiß
bzw. hell dargestellt werden. Je heller der Bildbereich, desto größer die Intensität des Effekts.
- 14 -
Abb. 7: Fokusinformationen in einem
Graustufenbild
Das Graustufenbild sollte im 3D-Programm in einer möglichst hohen Farbtiefe berechnet
werden. Es empfiehlt sich hier eine Farbtiefe von mindestens 16bit oder noch besser 32bit zu
verwenden, damit beim Letzteren jeder Farbkanal über 4,2 Milliarden Helligkeitsnuancen
verfügt. Bei 8bit Farbtiefe sind es lediglich 256 Helligkeitsnuancen. Dies kann dazu führen,
dass es im Verlauf von Weiß zu Schwarz zu Unterbrechungen kommt, was auch Banding
genannt wird und dazu führt, dass der Schärfeverlauf nicht mehr gleichmäßig ist.
Abb. 8: Banding kann bei zu wenig Farbtiefe auftreten.
- 15 -
Dies ist nur eine Methode, bei der Graustufenbilder eingesetzt werden. Die häufigste
Verwendung finden Graustufenbilder jedoch, wenn es darum geht, Entfernungen von
Objekten zu einer Kamera darzustellen. In den folgenden Abschnitten wird erläutert inwiefern
dies auch für die Erzeugung von Tiefenschärfe eine Rolle spielt. Zur Darstellung von Objektentfernungen verwendet man eine andere Art von Graustufenbildern. Diese enthalten nicht
Fokusinformationen, sondern Tiefeninformationen und werden auch als Depth-Map, Tiefenkanal oder Z-Kanal bezeichnet. Dabei steigt der Dunkelheitsgrad, mit dem Objekte dargestellt
werden, proportional zu ihrer Entfernung zur Kamera. Bei Verwendung von Bild-formaten wie
IFF und RLA können diese Tiefeninformationen beim Render-Vorgang in das rohe Bildmaterial
integriert werden. Es entsteht dabei also keine zusätzliche Bildsequenz auf der Festplatte, die
verwaltet werden muss; Speicherplatz spart man allerdings auf diese Weise nicht.
Abb. 9: Tiefeninformationen in einem
Graustufenbild - Tiefenkanal
Je nach Funktionsumfang des Compositing- oder externen Tiefenschärfe-Programms können
diese auch aus den Tiefeninformationen eine Maske für Tiefenschärfe generieren - basierend
auf den jeweiligen Einstellungen des Anwenders. Es wird hierbei ein bestimmter Grauwert als
Fokusebene definiert und alle Werte innerhalb eines definierten Grenzbereichs, die größer
bzw. kleiner als dieser Grauwert sind, werden in der neuen Maske schwarz abgebildet.
Mit einem vom Anwender bestimmbaren Parameter kann der Schärfeverlauf bestimmt
werden, der alle Pixelfarbwerte bis zur vollständig weißen Verlaufsgrenze der Schärfe linear
heller macht.
- 16 -
Es ist wichtig, dass die Kantenglättungen des Graustufenbildes und des Beauty-Passes
möglichst übereinstimmen, da sonst Artefakte entstehen. Die Glättung der Kanten erfolgt
jeweils beim Render-Vorgang. Das Problem mit Kantenglättung jeglicher Art ist das finale
Pixel-Farbwerte von einer Anzahl von Samples berechnet werden. Jedes dieser Samples ist das
Resultat einer Gleichung zur Berechnung der Oberfläche. Ein kantengeglätteter Pixel ist
Näherungsweise der Durchschnitt dieses Berechnung. Abhängig von der Anzahl der Sample
kann dies jedoch zu unterschiedlichen Ergebnissen führen.1
Abb. 10: keine Kantenglättung (oben) und
mit Kantenglättung (unten)
Das Problem der Kantenglättung fällt besonders bei Dateiformaten ins Gewicht, welche einen
Kanal für Tiefeninformationen beinhalten. Das liegt daran, dass dieser Kanal aus technischen
Gründen nicht bei der Berechnung der Kantenglättung einbezogen werden kann, da dies zu
Bildstörungen führt. Eine Lösung für dieses Problem ist es, den Tiefeninformationskanal
gesondert auszugeben, ihn dabei doppelt so groß wie den Beauty-Pass zu rendern und im
Compositing-Programm wieder auf die Projekt-Auflösung herunterzuskalieren. Durch die
Verkleinerung kommt es zu einer Neuberechnung der Pixel-Farbwerte und so automatisch zu
einer Kantenglättung. Manche Programme erlauben dem Anwender darüber hinaus, den
Algorithmus für die Neuberechnung zu bestimmen.
1
Bertram, Hal: RenderMan For Everyone – Course 25, SIGGRAPH2006, S. 227
- 17 -
Abb. 11: Normale Unschärfe (oben), Linsen-Unschärfe (unten)
Zurück zur Erzeugung von Tiefenschärfe durch Bildnachbearbeitung: Verwendet man einen
simplen Unschärfe-Effekt, sieht die Tiefenschärfe oft flach und unecht aus, da der BokehEffekt hierbei nicht simuliert wird und Edge Bleeding auftritt. Zur Lösung dieses Problems
wurden zusätzliche Weichzeichner programmiert, welche durch aufwendigere Berechnungen
eine Unschärfe mit höherem Realitätsgrad erzeugen. Diese Unschärfe ähnelt der einer realen
Kamera und beinhaltet eine Simulation des Bokeh-Effekts. Oft lässt sich mit diesen speziellen
Linsenunschärfen auch die Form der Blende individuell einstellen und somit die Charakteristik
des Bokehs kontrollieren.
Die Qualität der Tiefenschärfe und die Geschwindigkeit ihrer Berechnung hängen
maßgeblich von dem verwendeten Algorithmus ab. Es gibt Firmen, die sich auf die Effizienz
dieser Algorithmen spezialisiert haben und sie in Form von externen Programmen, Shadern
oder Bildnachbearbeitungs-Effekten für diverse 3D-Anwendungen auf den Markt bringen.
Zwei externe Programme, welche dem Benutzer einen hohen Grad an Flexibilität beim
Arbeiten mit Tiefenschärfe geben sind Depth of Field Generator PRO von Richard Rosenman
- 18 -
und X-Dof Sutdio von der Firma Evasion 3D. Letzteres wird als Post-Effekt für das Programm
Lightwave und als Shader für den Renderer Mental-Ray angeboten, die dem Anwender
zusätzliche Kontrolle beim Rendern der Tiefenschärfe im 3D-Programm geben.
Großer Beliebtheit erfreut sich auch das Plug-In Lenscare von der Firma Frischluft.
Dieses bietet für Adobe After Effects und weitere Compositing-Programme eine Vielzahl an
Kontrollmöglichkeiten für die Arbeit mit Tiefenschärfe, welches auch einen Tiefenkanal
verarbeiten kann.
Da die Bildnachbearbeitungs-Effekte und externen Programme alle auf Tiefeninformationen
in Form von Graustufenbildern angewiesen sind, entwickeln viele Anwender selbst Lösungen,
um diese im 3D-Programm möglichst komfortabel und schnell erstellen zu können.
Ein Beispiel ist der zDepthDOF-Shader von Andreas Bauer.
Dieser Mental-Ray-Shader ermöglicht es, vier unterschiedliche Fokusverläufe pro Bild zu
speichern, die Kanäle Rot, Grün, Blau und Alpha werden dabei separat angesprochen und in
jedem ein anderer Verlauf gespeichert.
Abb. 12: Fokusinformationen in den einzelnen Kanälen. Das erste Bild zeigt alle Kanäle kombiniert.
Der Vorteil beim Erzeugen der Tiefenschärfe in der Nachbearbeitung ist die hohe Flexibilität.
Alle charakteristischen Merkmale der Tiefenschärfe können zu jedem Zeitpunkt der
Produktion verändert werden. Die Qualität der Tiefenschärfe kann mit der in einem 3DProgramm gerenderten mithalten. Das wiederholte Rendern eines Unschärfe-Effekts im
Compositing-Programm ist wesentlich schneller als eine Neuberechnung im 3D-Programm.
Dies ist besonders für den Visual-Effects-Bereich wichtig, wenn die Charakteristik der
Tiefenschärfe an eine reale Kameraaufnahme mit Tiefenschärfe angepasst werden muss.
Ein weiterer Vorteil ist, dass eine Farbkorrektur einfacher ist, wenn alle Objekte scharf sind,
- 19 -
und erst danach dem Bild die Tiefenschärfe hinzugefügt wird.
An seine Grenzen stößt dieses Verfahren, wenn sich im Kamerafokus Reflektionen und
Refraktionen von Objekten befinden, die selbst aber im Bereich der Unschärfe positioniert
sind. Ein Graustufenbild kann keine Tiefeninformationen von Reflektionen und Refraktionen
erfassen, so dass der Unschärfe-Effekt an dieser Stelle ein falsches Ergebnis liefert.
Die Reflektionen und Refraktionen werden in diesem Fall scharf abgebildet, müssten jedoch
unscharf sein. Der 3D-Grafiker James May hat diese Problematik auf seiner Internetseite
untersucht.1 Weitere Probleme entstehen bei semi-transparenten Flächen. Auch hier liefert ein
Graustufenbild keine korrekten Ergebnisse. Es ist ebenfalls problematisch, wenn Objekte im
Vordergrund so unscharf sind, dass dahinter liegende Objekte sichtbar werden.
Diese Informationen sind in der Bildnachbearbeitung nicht rekonstruierbar. Beide Probleme
lassen sich nur lösen, wenn Vorder-, Mittel- und Hintergrund im 3D-Programm separat
gerendert werden.
Nachdem nun die Vor- und Nachteile der Erzeugung von Tiefenschärfe durch Rendering bzw.
Bildnachbearbeitung näher beleuchtet wurden, folgt im nächsten Kapitel eine ausführliche
Untersuchung der gängigen 3D-Anwendungen. Da diese die Basis einer jeden 3D-Produktion
bilden, ist es nicht nur wichtig die zwei oben erläuterten Tiefenschärfe-Verfahren zu kennen,
sondern auch über die Funktionen, welche die einzelnen 3D-Pakete für die Arbeit mit
Tiefenschärfe bieten, informiert zu sein – zumal diese stark variieren.
2.2.2 Werkzeuge der 3D-Anwendungen
Bei der Arbeit mit einer realen Kamera ist Tiefenschärfe ein Effekt, der fortgeschrittenes
Kamerawissen benötigt.2 Im Folgenden wird erläutert, welche Werkzeuge die
unterschiedlichen 3D-Pakete bieten, um dem Anwender diesen komplexen Wissensbereich
1
May, James: Depth of Field and Reflections
http://www.altyna.com/lw/DOFreflections.htm
Abruf am 2008-08-01
2 Vgl. E-Mail: Martin, Sven von Pixomondo
Betreff: Diplom Tiefenschärfe / Fragebogen
Abruf am 2008-07-23
- 20 -
zugänglich zu machen – auch ohne professionelles Know How im Umgang mit Kameras.
Das 3D-Paket Maya 2008 von der Firma Autodesk gehört zu den führenden 3D-Programmen
in der Computergrafik-Branche und wird regelmäßig bei Kinofilm-Produktionen weltweit
eingesetzt.
Tiefenschärfe wird bei Maya an dem jeweiligen Kameraobjekt unter dem Punkt Depth of Field
aktiviert. Es gibt drei Attribute, welche die Tiefenschärfe kontrollieren. Focus Distance gibt die
Position der Fokusebene an und F Stop steuert die Blendenzahl. Focus Region Scale dient
dazu, beim Verändern der Maßeinheit einer Szene - was ebenfalls Einfluss auf die
Tiefenschärfe hat - diese an die neuen Größenverhältnisse anzupassen. Die Kontrolle der
Tiefenschärfe erfolgt nur über diese Werte und es gibt keine grafische Darstellung dafür, wo
sich die Fokusebene befindet oder in welchem Schärfebereich ein Objekt liegt. Um
festzustellen, ob sich die Fokusebene an der richtigen Stelle befindet und wie groß der
Tiefenschärfebereich ist, müssen Testbilder gerendert werden.
Abb. 13: Attribute zum Kontrollieren der Tiefenschärfe in Maya
Maya kann Tiefenschärfe mit dem programminternen Software-Renderer mittels des PostWeichzeichnungs-Effekts erzeugen und verwendet hierbei die Tiefeninformationen, die jeweils
von Maya generiert werden.1 Die so entstandene Tiefenschärfe sieht jedoch unecht und flach
aus. Unter Verwendung des integrierten Mental-Ray-Renderers kann die Qualität verbessert
werden, jedoch ist dieser Prozess rechenaufwendig. Und, um ein störungsfreies Bild zu
erzeugen, ist eine hohe Sample-Rate notwendig. Mit RenderMan Studio und RenderMan for
Maya dagegen wird die Tiefenschärfe schnell berechnet und dies in sehr guter Qualität.
1
Adams, Mark; Miller, Erick und Sims, Max: Inside Maya 5, 2003, S. 785
- 21 -
Ein anderes sehr gängiges Programm neben Maya ist 3Ds Max 2008, ebenfalls von der Firma
Autodesk, welches sowohl in Filmproduktionen als auch für Architektur-Visualisierungen
eingesetzt wird. Es findet darüber hinaus in der Spielebranche Verwendung.
Das Aktivieren von Tiefenschärfe erfolgt wie bei Maya über die
Kameraoptionen. Unter dem Punkt Multi-Pass-Effect kann der
Nutzer die Tiefenschärfe aktivieren und dann auswählen, ob er die
Tiefenschärfe-Einstellungen des Scanline- oder Mental-RayRenderers verwenden will. Letztere bestehen nur aus dem Attribut
F-Stop, welches die Größe der Tiefenschärfe bestimmt. Die Position
der Fokusebene wird unabhängig vom Renderer mittels des
Kameraziels bzw. per Zahleneingabe unter Target Distance
definiert. Zusätzlich kann die Fokusebene mit dem Focal DepthWert unabhängig vom Kameraziel gesteuert werden.
Die Tiefenschärfe des Scanline-Renderes hingegen ist ein s.g.
Multi-Pass-Render-Effekt und verwendet die Technik des oben
erläuterten Jitterings. Der Scanline-Renderer beinhaltet darüber
hinaus noch weitere Attribute zum Steuern der Sampling-Qualität,
des Überblendens der multiplen Render-Durchläufe und der
Kantenglättung von Multi-Passes. Mit dem Preview-Knopf kann
beim Scanline-Renderer eine Vorschau der Tiefenschärfe im
Viewport angezeigt werden, welche allerdings beim Abspielen
einer Animation oder Anwählen eines anderen Menüpunkts sofort
verschwindet.
Abb. 14: Attribute zum
Kontrollieren der
Tiefenschärfe für den
Scanline-Renderer in Max
Zusätzlich bietet 3Ds Max die Möglichkeit, Tiefenschärfe nach
dem Rendering-Prozess, ähnlich wie im Compsiting-Programm, mit Hilfe eines Post-Effekts
hinzuzufügen. Hierbei wird die Szene hinsichtlich ihrer Tiefe in Vordergrund, Hintergrund
und Fokusbereich unterteilt und entsprechend den Einstellungen des Post-Effekts weichgezeichnet.
- 22 -
Die Firma Side Effects hat das 3D-Programm Houdini entwickelt, das inzwischen in der
Version 9.5.170 vorliegt und hauptsächlich auf Nodes basierend arbeitet. Dieses Programm
bietet dem Anwender einen überdurchschnittlich hohen Grad an Kontrolle über sämtliche
Aspekte einer 3D-Szene. Die Tiefenschärfe wird hier in der jeweiligen Render-Node
eingeschaltet. Depth of Field aktiviert man in der Mantra-Render-Node unter dem Menüpunkt
Properties und dem dazugehörigen Unterpunkt Sampling. Bei der RenderMan-Render-Node
heißt dieser Unterpunkt nicht Sampling sondern DOF.
Kontrolliert wird die Tiefenschärfe mittels des Attributs Focal Length im Reiter View der
Kamera, welches die Brennweite bestimmt. Mit den Attributen F-Stop und Focus Distance
unter dem Menüpunkt Sampling werden die Blendenzahl und die Position der Fokusebene
gesteuert.
Eine intuitivere Möglichkeit diese zu steuern, bieten die Kontrollobjekte Frustum Handle und
Focus Handle, welche in Kameranähe angezeigt werden und durch kleine kegelförmige bzw.
quadratische Anfasser verschoben bzw. skaliert werden können. Der Frustrum Handle steuert
die Brennweite und die Begrenzung von Near- bzw. Far-Clipping. Der Focus Handle steuert
die Blendenzahl und die Position der Fokusebene.
Abb. 15: Houdinis Frustum-Handle (links), Focus-Handle (rechts)
Houdini unterstützt beim Rendering die so genannte Motion-Factor-Technik, welche die
Shading-Qualität in den unscharfen Bereichen reduziert, was sich zu Gunsten der Render-Zeit
- 23 -
auswirkt. Zusätzlich gibt es eine Tiefenschärfe-Node für die Compositing-Möglichkeiten, die in
Houdini implementiert sind. Diese Node erstellt eine Tiefenschärfemaske, welche beschreibt
wie weit sich bestimmte Objekte außerhalb des Fokusbereichs befinden. Diese Maske kann
mit Weichzeichnungs-Nodes kombiniert werden.
Auch Lightwave 9.3.1 von der Firma Newtek gehört ebenfalls zu den führenden SoftwarePaketen im 3D-Bereich. Der Funktionsumfang bezüglich der Arbeit mit Tiefenschärfe wurde in
Version 9.2 erweitert. Aktiviert wird die Tiefenschärfe in den Einstellungen der Kamera unter
dem Reiter Stereo and DOF. Hier kann mit den Attributen Focal Distance und Lens F-Stop die
Fokusebene und die Blendenzahl kontrolliert werden. Außerdem kann unter Verwendung der
Attribute Diaphragam Sides und Diaphragm Roation die Seitenanzahl und Rotation der
Blendenlamellen bestimmt werden, die für die Form des Bokeh-Effekts wichtig sind.1
Diese Werte können nicht im Darstellungsfenster durch eine Benutzeroberfläche an der
Kamera kontrolliert werden, sondern nur durch die Eingabe von Werten. In der Draufsicht auf
die Szene gibt ein gestrichelter Kreis an, wo sich die Fokusebene befindet. Es stehen darüber
hinaus auch Helferobjekte zur Verfügung, die mit der Position der Kamera verknüpft sind.
In ihren Objekteigenschaften kann das so genannte Depth-of-Field Display aktiviert werden,
welches die Größe des Zerstreuungskreises konfigurierbar macht und gleichzeitig im
Darstellungsfeld den entsprechenden Fokusbereich visualisiert.
Abb. 16: Attribute zum Kontrollieren der Tiefenschärfe
in Lightwave 9.3.1
Wie bei 3Ds Max 2008 besteht außerdem die Möglichkeit durch Drücken eines PreviewKnopfes, in Ligthwave MB Preview genannt, eine Vorschau der Tiefenschärfe im
1
Ablan, Daniel M.: Inside Lightwave 8, 2004, S. 357-358
- 24 -
Darstellungsfenster des aktuellen Frames zu erzeugen. Diese verschwindet erst, wenn man ein
beliebiges Objekt anwählt oder zu einer anderen Bildnummer springt. Neu ist in Lightwave
die Funktion DOF/MBlur Preview, die man unter den Kameraeinstellungen findet. Diese sorgt
dafür, dass die Vorschauanzeige für Tiefenschärfe immer aktiv bleibt und ermöglicht es
dadurch, Tiefenschärfe in so genannten Previews - vom Darstellungsfenster aufgenommene
Videos - sehen zu können.
Beim Rendern hat der Benutzer die Wahl zwischen verschiedenen Kameramodellen, die das
Render-Verfahren beeinflussen. Die Classic-Kamera aktiviert den Scanline-Renderer, bei
dessen Verwendung das Hinzufügen von Tiefenschärfe nur mit Hilfe von BildbearbeitungsEffekten nach dem eigentlichen Render-Vorgang möglich ist. Diese Effekte heißen Digital
Confusion und Depth-of-Field Blur, und man findet sie im Menü Image Processing.
Bei Aktivierung der Perspective-Kamera wird das Bild mittels der Ray-Traycing-Technik
berechnet und benötigt die o.g. Post-Effekte nicht.
Ein weiteres gängiges 3D-Programm ist Cinema 4D von der Firma Maxon. Die aktuelle
Version ist Nummer 10.5. In Cinema 4D wird die Tiefenschärfe durch einen Post-Effekt
simuliert. Die Benutzeroberfläche der Kamera ermöglicht das genaue Definieren des Verlaufs
von Scharf zu Unscharf vor und nach der Fokusebene. Dies setzt voraus, dass in den
Kameraeinstellungen im Reiter Tiefe die Optionen Unschärfe vorne und Unschärfe hinten
aktiviert sind. Die Fokusebene wiederum kann entweder mit dem Attribut Zieldistanz oder
aber über die Kamerabenutzeroberfläche kontrolliert werden.
Um den Post-Effekt Tiefenunschärfe zu verwenden, muss man ihn in den RenderVoreinstellungen unter Effekte aktivieren. Dieser Effekt beinhaltet eine Vielzahl von
Einstellungsmöglichkeiten, die das Erscheinungsbild der Tiefenschärfe beeinflussen. So
können im Reiter Linsen neben Basiswerten wie Unschärfenstärke und Hintergrund-Unschärfe
eine Vielzahl von Attributen zur Kontrolle der Linsenform gefunden werden, die für den
Bokeh-Effekt entscheidend sind. Zusätzlich besteht die Möglichkeit, die Objekte in
Abhängigkeit von ihren Tiefeninformationen einzufärben.
- 25 -
Abb. 17: Attribute zum Kontrollieren der Tiefenschärfe in Cinema 4D
Maxon selbst nennt in der zugehörigen Hilfe-Dokumentation einige Limitationen:
Es entstehen Probleme bei der Darstellung von Unschärfen in Spiegelungen & hinter
Transparenzen. Darüber hinaus kann es zu Unstimmigkeiten kommen, wenn der Post-Effekt
Glühen nach der Tiefenunschärfe ausgeführt wird. Wenn der Post-Effekt Glühen hingegen vor
der Tiefenunschärfe ausgeführt wird, so überschreibt die Tiefenunschärfe komplett den GlühEffekt. Des Weiteren funktioniert die Tiefenunschärfe nicht im Zusammenhang mit
PyroCluster und der Post-Effekt Glanzlicht funktioniert nicht im Zusammenhang mit der
Tiefenunschärfe. Außerdem sollten man die Tiefenunschärfe nicht aktivieren, wenn man bei
der Bildausgabe die Option Alpha-Kanal aktiviert hat, da dies nachteilige Auswirkungen auf
den Alphakanal hat.1
Des Weiteren steht 3D-Grafikern das Programm Blender zur Verfügung, welches ein OpenSource-Projekt ist und seit dem Jahr 2000 von einem internationalen Programmierer-Team
entwickelt wurde. Die aktuelle Version ist Nummer 2.46. Blender ist kostenlos erhältlich und
1
Vgl. Babb, Paul u.a.: Maxon Dokumentation, 2007
- 26 -
beinhaltet einen großen Umfang von Funktionen, die auch in kommerziellen 3DAnwendungen zu finden sind.
Tiefenschärfe wird in Blender ebenfalls in Form eines Nachbearbeitungs-Effekts hinzugefügt.
Das integrierte Compositing-System bietet die Möglichkeit, die Tiefenschärfe und den BokehEffekt zu kontrollieren. Hierzu dient die seit Version 2.43 im Programm implementierte Node
Defocus. Als Eingangsinformation benötigt diese Node ein RGB-Bild und ein Graustufenbild,
welche die Tiefeninformationen der jeweiligen Objekte liefern. Neben einer Vielzahl von
Linsenformen, welche auch rotiert werden können, lassen sich die Stärke der Unschärfe mit
Maxblur und die Größe der Tiefenschärfe mit fStop beeinflussen.
Abb. 18: Compositing-Nodes in Blender
Die Fokusebene wird über die Kamera kontrolliert, und zwar mittels des Attributes Dof Dist,
welches man unter den Kameraeigenschaften findet. Wenn die Option Limits aktiviert ist,
zeigt ein gelbes Kreuz entlang der Blickachse der Kamera an, wo sich die Fokusebene
befindet.
- 27 -
Die Firma Softimage hat das Programm XSI entwickelt, welches zum jetzigen Zeitpunkt in der
Version 6.5 vorliegt. XSI bietet die Möglichkeit, über einen s.g. Linsen-Shader den
Tiefenschärfe-Effekt mittels Ray-Tracing zu interpolieren. Der Anwender kann die allgemeine
Intensität der Tiefenschärfe kontrollieren und zwischen den Einstellungsvarianten Lens Mode,
Custom Mode und Automatic Mode wählen. Beim ersten Modell können Brennweite,
Blendenzahl, Fokusebene und Größe des Zerstreuungskreises bestimmt werden, welche sich
wie bei einer realen Kamera verhalten.
Der Custom Mode definiert die Tiefenschärfe
mittels der Attribute Near Focus, Far Focus
und Circle of Confusion (Zerstreuungskreis).
Im Automatic Mode kann nur die Entfernung
der Fokusebene zur Kamera kontrolliert
werden. Ob die getroffenen Einstellungen
korrekt sind, kann der Nutzer über ein
Vorschaurendering feststellen. Es kann hierbei
ein Preview-Rendering des gesamten Bildes
erstellt werden oder eine bestimmte Region
im Darstellungsfenster definiert werden.
Bei beiden Varianten wird das jeweilige
Rendering aktualisiert sobald sich Werte
verändern.
Zwei weitere Möglichkeiten für die Erzeugung
von Tiefenschärfe bestehen in XSI darin, mit
Abb. 19: Attribute zum Kontrollieren der Tiefenschärfe
einem Post-Effekt zu arbeiten, der über
ähnliche Werte wie der Linsen-Shader verfügt,
in XSI
oder das integrierte Compositing-Werkzeug FX-Tree zu nutzen. Den dafür notwendigen
Operator, welcher Depth of Field heißt, findet man in der Rubrik Optics. Der Aufbau des
Compositings erfolgt hierbei ähnlich wie bei Blender. Es ist darüber hinaus möglich, den
Linsen-Shader und den Post-Effekt zu kombinieren, um bei einer geringen Sample-Rate
- 28 -
trotzdem auf qualitativ gute Ergebnisse zu kommen.
Bei keiner der in XSI integrierten Methoden, kann der Bokeh-Effekt gesteuert werden.
Es gibt ebenso wenig eine Anzeige im Darstellungsfeld, die das Kontrollieren der
Tiefenschärfe erleichtert.
Programme /
Kriterien
Maya
2008
3Ds Max
2008
Houdini
9.5.170
Lightwave
9.3.1
Cinema 4D
R10.5
Blender
2.46
XSI
6.5
Tiefenschärfe
per Sampling
+
+
+
+
-
-
+
Tiefenschärfe
per Post-Effect
+
+
+
+
+
+
+
Tiefenschärfe
per Jittering
-
+
-
-
-
-
-
Visualisierungshilfen im
Darstellungsfenster
-
-
++
+
+
+
-
Kontrollen im
Darstellungsfenster
-
+
++
-
+
-
-
Echtzeitvorschau
im Darstellungsfenster
-
+
-
+++
-
-
-
Kontrolle über
Bokeh-Effekt
-
-
+
++
+
+
-
Bewertung*
2
5
7
8
4
3
2
Preis**
7.349 €
3.420 €
5.104 €
635 €
684 €
kostenlos
3.187 €
*Je höher die Bewertung, desto besser
**Preise beinhalten keine MwSt.
+ = vorhanden
++ = umfangreich
+++ = herausragend
- = nicht vorhanden
Den höchsten Grad an Benutzerfreundlichkeit und Kontrollumfang bieten die Programme
Houdini und Lightwave. Die zwei Darstellungsarten der Houdini-Kamera sind einfach zu
aktivieren und geben dem Anwender einen klaren Eindruck davon, wie sich die Tiefenschärfe
in der aktuellen Szene verhält. Außerdem ermöglichen sie es, die Tiefenschärfe durch die
jeweiligen Kontrollobjekte effizient und schnell zu kontrollieren.
- 29 -
Lightwave überragt die anderen Programme jedoch aufgrund seiner OpenGL-gestützten
Echtzeit-Vorschau, welche auf der Jittering-Methode basiert. Die dadurch entstehende
Flexibilität bei der Beurteilung von Tiefenschärfe in Animationen, welche insbesondere bei
Fokus-Verlagerungen von Vorteil ist, sorgt für eine hohe Zeitersparnis. Zusätzlich bietet
Lightwave die Möglichkeit, den Bokeh-Effekt flexibler als alle anderen Programme zu
definieren, da die Seitenanzahl der jeweiligen Linse frei einstellbar ist und diese außerdem
gedreht werden kann.
Die kostenintensiven 3D-Programme Maya, 3Ds Max und XSI liefern in diesem Vergleich ein
eher enttäuschendes Ergebnis. Besonders Maya, welches die geringste Benutzerfreundlichkeit
beim Einstellen der Tiefenschärfe bietet. Die Tiefenschärfe, welche der Scanline-Renderer von
3Ds Max hervorbringt, erzeugt keinen Bokeh-Effekt und ist hinsichtlich der Ästhetik der
Unschärfe nicht mehr zeitgemäß. XSI schließt hier, dank seiner performanten Rendervorschau
im Darstellungsfenster, noch am besten ab. Bei Verwendung dieser drei Programme ist es
meistens notwendig, zusätzliche Anwendungen zu erwerben, die auf Tiefenschärfe
spezialisiert sind. Hierzu mehr in Kapitel 2.2.1.
- 30 -
3. In der Praxis
3.1 Arbeitsweisen von Unternehmen
Um eine Aussage treffen zu können, wie in der Branche gearbeitet wird, wurden drei Firmen
unterschiedlicher Größe in Deutschland befragt und die Ergebnisse ausgewertet.
Hierfür wurde ein Fragenkatalog erarbeitet, der von einer für Tiefenschärfe zuständigen
Person im Unternehmen ausgefüllt wurde.
Zum einen Bumba Animation in Brühl bestehend aus einer Person, des Weitere 4k Animation
in Berlin, ein mittelgroßes Unternehmen mit bis zu 35 Mitarbeitern und das
Großunternehmen Pixomondo, welches Filialen in Berlin, Frankfurt am Main, London,
Ludwigsburg, Los Angeles und München besitzt.
Die drei befragten Unternehmen bestätigten, dass sie Tiefenschärfe verwenden, insbesondere
um „realistische Ergebnisse zu erzeugen“1. Das Kleinunternehmen verwies allerdings auf einen
ausreichenden zeitlichen Rahmen als Bedingung für die Herstellung von Tiefenschärfe.
Alle drei Unternehmen gaben an, sie würden für Produktionen, die Tiefenschärfe erfordern,
kein spezielles 3D-Programm verwenden, sondern das 3D-Stammprogramm einsetzen,
welches auch sonst bei 3D-Animationen genutzt wird. Es handelt sich dabei um die
Programme Maya und 3Ds Max. Das Unternehmen 4k Animation gab dabei an den Renderer
PRman von Pixar zu verwenden.
Auf die Frage, ob die Unternehmen Tiefenschärfe beim Rendering in dem 3D-Programm
aktivieren und in das Bild rechnen, verneinten alle Unternehmen. Bumba Animationen merkte
hierbei allerdings an, bei genügend Projektzeit dies gern tun zu wollen.
Somit bejahten alle Unternehmen die Frage, ob sie im Compositing die Tiefenschärfe
erzeugen. Hierbei wurde die Flexibilität genannt, die man dadurch über das finale Aussehen
1
E-Mail: Mittelhockamp, Bernd von 4k-Animation
Betreff: Diplom Tiefenschärfe / Fragebogen
Abruf am 2008-07-23
- 31 -
erhält. Die dazu notwendige Maske erzeugen die Firmen in Form eines Tiefenkanals.
Dieser Pass ist bei Bumba Animation nicht gefiltert und doppelt so groß berechnet worden,
wie für die Produktion notwendig.
Neben den Compositing Programmen Adobe After Effects und Eyeon Fusion wurde das
Effekt-Plug-In Lenscare verwendet und, wie Pixomondo angab, firmeninterne Tools.
Zur Unterstützung beim Arbeiten mit Tiefenschärfe wurden diverse Skripte und TCL
Oberflächen für PRman entwickelt.
Auf die letzte Frage, ob sie das Arbeiten mit Tiefenschärfe in 3D-Programmen
benutzerfreundlich finden, antworteten alle mit nein. Die Unternehmen wünschen sich zur
Verbesserung eine schnelle Vorschaufunktion, die Möglichkeit im Darstellungsfenster den
Fokuspunkt schnell kontrollieren zu können und eine Visualisierung der unterschiedlichen
Schärfebereiche.
Die drei Unternehmen bieten neben der Produktion von 3D-Animationen ohne Realfilmanteil
auch visuelle Effekte (VFX) an. In Filmen mit vielen solcher digitaler Effekte, bei denen 3DObjekte in den Realfilm eingesetzt werden müssen, ist es oft zeitaufwendig, die
computergenerierte Unschärfe genau mit der des Realfilms anzupassen. Selbst wenn alle
Kameradaten beim Dreh bekannt sind, kann dies oft schwierig sein wie auch Compositor
Aruna Inversin zu dem Kinofilm „Charlottes Web“ berichtet: „There were numerous depth of field
issues, but I can see how it was tough to focus on a very narrow window, yet try to keep the creatures
in focus. Many times it had to be faked. [...] After seeing the shots again after eight months, they were
pretty good. It was amazingly tough to pull off some of the depth of field and integration shots with
Templeton and his surrounding environment, but I think you'll be pleasantly surprised.“1
Bei der Produktion zum Musikvideo You Only Live Once von den Strokes berichtet Louis Katz,
der Visual Effects Supervisor dieser Produktion: „Fortunately the new After Effects has a lens blur
tool allowing us to achieve a more realistic blur for our depth of field shots.“2
1
Inversin, Aruna: the digitalgypsy VFX Blog
http://www.digitalgypsy.com/vfxlog/archives/2006/12/
2006-12-11, Abruf am 2008-07-23
2 Katz, Louis: Visual Effects Blog
http://katzfx.blogspot.com/2007_06_01_archive.html
2007-06-01, Abruf am 2008-07-23
- 32 -
Bei stereoskopischen 3D-Produktionen ist die Arbeitsweise eine Andere. Aufnahmen werden
im Augenabstand voneinander berechnet und dürfen keine unscharfen Bereiche enthalten.
Je weiter entfernt sich Objekte von der Fokusebene befinden, umso verschwommener
erscheinen sie bei der Betrachtung durch eine Polarisationsbrille. Bei so einer Brille sieht
jedes Auge ein eigenes Bild; und unser Gehirn gleicht beide miteinander ab so dass die
Tiefenschärfe im Kopf entsteht. Die Möglichkeit, in 3D-Animationen jede Szene eines Films
komplett scharf berechnen zu können, ist ein großer Vorteil für die Erzeugung von
Tiefenschärfe in der Stereoskopie, der bei realen Dreharbeiten nicht existiert.
Hugh Murray, Imax Vizepräsident der technischen Produktion nennt weitere Vorteile bei der
Produktion von stereoskopischen Filmen in 3D: „Another reason 3D is more comfortable to watch
in CG than live-action is that cameras don't really exist in CG. They're just mathematical entities. So
we had complete freedom to do anything we liked with the distance between the right and left-eye
cameras -- the interocular distance -- and that became an animate-able parameter that we controlled
constantly through the film.“1
1
Murray, Hugh: Cinefex weekly
http://www.cinefex.com/weeklyupdate/mailings/45_11232004/web.html
2004-11-23, Abruf am 2008-07-23
- 33 -
3.2 Vorschlag zur Verbesserung der Arbeitsweise
3.2.1 Funktionsumfang des Skripts pb_dofGUI
Nach Auswertung der Ergebnisse des vorherigen Kapitels kann davon ausgegangen werden,
dass die meisten Produktionen, unabhängig von ihrer Größe, Tiefenschärfe im Compositing
erzeugen. Hierfür werden in der Regel Tiefenkanäle verwendet.
Ein weitere Arbeitsweise wird im Folgenden erläutert, die auch auf der Verwendung von
Graustufenbildern basiert und das im Rahmen dieser Arbeit eigens entwickelten Skripts zur
Hilfe zieht.
Um die Benutzerfreundlichkeit zu erhöhen, müssen besonders für das 3D-Programm Maya
neue Werkzeuge erstellt werden, weil es als Industrie-Standard gilt. Es ist eine optische
Darstellung notwendig, die dem Anwender deutlich anzeigt wo sich die Fokusebene befindet,
welches Ausmaß der Verlauf von scharf zu unscharf hat und ab welcher Entfernung
Bildinhalte komplett verschwimmen. Diese Grenzen muss der Anwender intuitiv und einfach
bestimmen und verändern können. Um eine Schärfenverlagerung zu simulieren, müssen diese
Grenzen zusätzlich animierbar sein. Unter Berücksichtigung dieser Punkte wurde mit Hilfe von
Mayas Skriptsprache MEL eine Benutzeroberfläche geschaffen, die auf die oben genannten
Kriterien eingeht und im Folgenden näher erläutert wird.
Das Skript pb_dofGUI, bestehend aus 687 Zeilen Programmcode, erzeugt orthogonal zur
Blickrichtung der Kamera drei gewölbte NURBS-Flächen. Die Form der Flächen entspricht dem
Ausschnitt einer Kugel. Es wird hier ein Lochkameramodell simuliert, kein Linsenmodell, wie
z.B. „dünne Linse“1 oder andere komplexe Linsen. Die drei Flächen sind durch schwarze, graue
und weiße Farbigkeit kodiert und werden automatisch in Abhängigkeit von der Entfernung
zur Kamera skaliert. Je näher eine Fläche der Kamera ist, desto kleiner wird sie dargestellt und
je weiter entfernt, desto größer. Diese Größenabstufungen visualisieren das Sichtfeld der
jeweiligen Kamera. Nach Ausführen des Skripts ist die kleinste Fläche schwarz und
1
Hecht, Eugene: Optik, 2002, S. 156
- 34 -
symbolisiert die Fokusebene. Diese stellt die Achse dar, an der alle darauf folgenden Flächen
für die spätere Berechnung der Tiefenschärfe gespiegelt werden. Die gespiegelten Flächen
werden nicht im Darstellungsfeld visualisiert. Die nächst größere, graue Fläche öffnet einen
Raum, der durch ihre Spiegelung geschlossen wird. Alle diesem Raum inbegriffenen Objekte
oder Flächen von Objekten befinden sich im Fokus der Kamera und werden scharf dargestellt.
Dieser Fokusbereich existiert bei einem realen Kameramodell mit Linse nicht. Eine Linse
fokussiere präzise einen konkreten Punkt - berichtet Steve Writh von seinen Erfahrungen.1
Abb. 20: Benutzeroberfläche durch das Skript
pb_dofGUI
Sind die Positionen der grauen und schwarzen Fläche identisch, so wird der Fokusbereich auf
eine Ebene reduziert. Dies entspricht wiederum der Funktionsweise einer realen Kamera.
Darüber hinaus haben die graue Fläche und ihre Spiegelung noch eine weitere Funktion: Sie
markieren jeweils den Punkt, von dem aus die Schärfe abnimmt. Die dritte und größte Fläche
ist weiß und visualisiert das Ende des Schärfeverlaufs vor und hinter der Fokusebene. Alles,
was hinter der weißen Ebene liegt, ist unscharf.
Die Positionierung der NURBS-Flächen erfolgt über zwei Methoden. Zum einen kann der
1
Wright, Steve: Digital Compositing for Film and Video, 2002, S. 146
- 35 -
Abstand der einzelnen Flächen zur Kamera mittels numerischer Werte genau bestimmt
werden. Verändert der Anwender die Position der Kamera, z.B. bei einer Animation, so bleibt
der Abstand der Flächen zur Kamera unverändert. Zum anderen besteht die Möglichkeit, die
Flächen von der Kamera zu lösen und frei im Raum anzuordnen. Wird die Kamera in diesem
Modus bewegt, so bleibt die Position der NURBS-Flächen davon unbeeinflusst.
Zusätzlich besteht die Möglichkeit, die NURBS-Flächen horizontal und vertikal zu skalieren.
Sie werden hierbei nicht in X-, Y- oder Z-Richtung transformiert, sondern die Form der Kugel
wird erhalten, und nur der Ausschnitt vergrößert oder verkleinert sich. Die Deckkraft der
Flächen ist ebenfalls über ein Attribut variierbar und kann vollständig opak sein oder auch
komplett transparent. Alle oben aufgeführten Eigenschaften der Flächen sind animierbar.
Abb. 21: Attribute zur
Kontrolle der
Benutzeroberfläche
Unter Verwendung eines Shaders1, der die Entfernung von den jeweiligen Objekten zur
Kamera in Relation zu der Position der drei Flächen setzt, kann ein Graustufenbild berechnet
werden. Auf diesem Bild werden alle Objekte, die auf der Fokusebene bzw. im Fokusbereich
liegen, schwarz dargestellt. Dagegen werden alle Objekte, die im Bereich des Schärfeverlaufs
liegen, heller dargestellt. Der Helligkeitsgrad steigt hierbei proportional zu der Entfernung
der Objekte von der grauen Fläche. Alle Objekte, die hinter der weißen NURBS-Fläche liegen,
werden weiß dargestellt. Das Graustufenbild dient dazu, als Maske die Tiefenschärfe im
Compositing-Programm zu erzeugen. Dieses Verfahren wurde im Kapitel 2.2.1 näher erläutert.
1
Esquive, Felipe: fastDOF 1.0
http://highend3d.com/renderman/downloads/shaders/fastDOF-3526.html
2005-04-12, Abruf am 2008-07-19
- 36 -
3.2.2 Entwicklung des Skripts
Die NURBS-Flächen, die durch das Skript generiert werden, sind das wesentliche Element der
Benutzeroberfläche und benötigen die Krümmung einer Kugel, damit ihre Darstellung mit
dem Ergebnis im Graustufenbild übereinstimmt. Ihre Form wird, basierend auf Grundlagen der
sphärischen Trigonometrie, berechnet.
Da der Kugelgrundkörper in Maya zwar die Möglichkeit bietet, ein Kugelzweieck mittels der
Attribute start sweep und end sweep zu erzeugen, aber nicht die Option beinhaltet, ein
Kugelviereck zu visualisieren, wurden die oben genannten NURBS-Flächen konstruiert, welche
das Bildfenster der Kamera genau abdecken.
Abb. 22: Kugelobjekt in Maya durch
die Sweep-Attribute kontrolliert
Zum Erzeugen einer Fläche ist das Konstruieren von drei Kurven notwendig, welche die obere
und untere Kante, sowie die Wölbung beschreiben. Es werden drei Kreise, die auf der XZEbene liegen, mit dem Radius 1 im Koordinatenursprung erzeugt.
eval ("circle -n " + $TCurveName + "_dofGUI_top -c 0 0 0 -nr 0 1 0 -sw 360 -r 1 -d 3 -ut 0 -ch 1");
eval ("circle -n " + $TCurveName + "_dofGUI_center -c 0 0 0 -nr 0 1 0 -sw 360 -r 1 -d 3 -ut 0 -ch 1");
eval ("circle -n " + $TCurveName + "_dofGUI_bottom -c 0 0 0 -nr 0 1 0 -sw 360 -r 1 -d 3 -ut 0 -ch 1");
- 37 -
Es gilt, die Kreise mit dem Attribut sweep zu verkürzen, damit die entstehenden Kreisbögen
dem horizontalen Bildwinkel entsprechen.
Für den mittleren Kreisbogen kann der Bildwinkel der Kameralinse verwendet werden.
float $curveSweep = eval( "camera -q -hfv " + $cameraName );
eval ( "setAttr " + $TCurveName + "_make_dofGUI_center.sweep " + $curveSweep );
Durch die perspektivische Verzerrung an den Rändern des Kamera-Bildfensters wirken die
Kreissegmente, welche die obere und untere Kante beschreiben, größer trotz Verwendung des
desselben horizontalen Bildwinkels. Für die richtige Größe wird zu erst das diagonale
Aufnahmeformat berechnet. Dies erfolgt unter der Verwendung des Satzes von Pythagoras:
Hierbei ist a das horizontale Aufnahmeformat und b das Vertikale. Beide Werte gibt Maya in
Zoll aus. Für weitere Berechnungen werden sie im Skript in Millimeter umgerechnet.
float $hfa = eval( "camera -q -hfa " + $cameraName )*2.54*10;
float $vfa = eval( "camera -q -vfa " + $cameraName )*2.54*10;
float $dfa = sqrt( pow($hfa,2) + pow($vfa,2) );
Da Maya den horizontalen und vertikalen Bildwinkel dem Benutzer zur Verfügung stellt, aber
nicht den Diagonalen, muss dieser - mit Hilfe folgender Formel - berechnet werden:
Hierbei ist f die Brennweite der Kamera und d das zuvor berechnete, diagonale
Aufnahmeformat. Der Arkustangens muss nicht mit zwei multipliziert werden, da im weiteren
Verlauf nur die Hälfte des diagonalen Blinkwinkels das Kugeldreieck erzeugt.
global proc float angleOfCurve( string $cameraName ) {
float $camFL = eval( "camera -q -fl " + $cameraName );
float $c = atand($dfa/(2*$camFL));
- 38 -
Der diagonale Bildwinkel c und vertikale Bildwinkel a bilden nun mit der fehlende Seite b ein
rechteckiges Kugeldreieck. Um Seite b zu berechnen gilt nach der Neper-Regel:
Hierbei ist β der Winkel zwischen der Seite a und c und lässt sich durch die Formel berechnen:
float $vfv = eval( "camera -q -vfv " + $cameraName );
float $cotc = cosd($c) / sind($c);
float $beta = acosd( tand($vfv/2) * $cotc );
float $b = sind( $c ) * sind( $beta );
Für den gesamten oberen oder unteren Bildwinkel muss dieser verdoppelt werden.
return asind( $b )*2;
}
Die Größe des oberen und unteren Kreissegments ist hierdurch bekannt, kann zugewiesen
werden und auf die korrekte vertikale Höhe, mittels des vertikalen Blickwinkels gebracht
werden.
float $curveSweepVertAOV = eval( "camera -q -vfv " + $cameraName );
float $TAngleOfGroup = $curveSweepVertAOV / 2;
float $TAngleOfCurve = angleOfCurve( $cameraName );
eval ("setAttr " +$TCurveName+ "_make_dofGUI_top.sweep " +$TAngleOfCurve);
eval ("setAttr " +$cameraOnly+ "_dofGUI|curves_dofGUI|circle_dofGUI|" +$TCurveName+ "Grp|"
+$TCurveName+ "_angle_dofGUI_top.rotateX " +$TAngleOfGroup);
eval ("setAttr " +$TCurveName+ "_make_dofGUI_bottom.sweep `getAttr " +$TCurveName+
"_make_dofGUI_top.sweep`");
$TAngleOfGroup *= -1;
eval ("setAttr " +$cameraOnly+ "_dofGUI|curves_dofGUI|circle_dofGUI|" +$TCurveName+ "Grp|"
+$TCurveName+ "_angle_dofGUI_bottom.rotateX " +$TAngleOfGroup);
- 39 -
Abb. 23: Die Kurven zur Erzeugung einer NURBS-Fläche
Mit Hilfe des in Maya integrierten Loft-Werkzeuges entsteht eine NURBS-Oberfläche, deren
Form durch die Kreissegmente bestimmt wird.
eval ( "loft -n " + $TPlaneName + " -ch 1 -u 1 -c 0 -ar 1 -d 3 -ss 4 -rn 0 -po 0 -rsn true " + $TCurveName01 + " "
+ $TCurveName02 + " " + $TCurveName03 );
Die Fläche kann nachträglich durch das Verändern der Kreisbogengröße skaliert werden.
- 40 -
3.2.3 Vorteile des Skripts und Möglichkeiten zur Erweiterung
Das Skript pb_dofGUI ist eine Benutzeroberfläche, mit deren Hilfe unterschieden werden
kann, welche Objekte sich in welchem Schärfebereich befinden. Dies war mit Maya zuvor
nicht möglich. Dabei lassen sich die Schärferäume durch zwei Methoden in ihrer Größe
verstellen und an die jeweiligen Anforderungen einer Szene anpassen. Hierbei muss der
Nutzer keine Zahlenwerte eingeben, sondern kann die NURBS-Flächen frei im Raum
positionieren. Die Schärfebereiche können animiert werden, wobei dem Anwender immer eine
visuelle Darstellung der unterschiedlichen Schärfe-Ebenen zur Verfügung steht.
Das Skript bietet darüber hinaus noch weitere Möglichkeiten, um die Schärfebereiche zu
optimieren. Durch Skalierung der NURBS-Flächen mit den Attributen Size H für die
horizontale Größe, sowie Size V für die vertikale Größe kann sich der Anwender mehr
Übersicht über den Schärfeverlauf in seiner Szene verschaffen. Mit Hilfe des Attributs Opacity
kann der Benutzer je nach Bedarf die Deckkraft der Flächen beeinflussen und sie ausblenden,
sofern sie nicht mehr benötigt werden. Es ist des Weiteren möglich, die visuelle
Benutzeroberfläche nach Installation des Skripts an jedem Kameratyp in Maya zu fixieren und
so in jeder Einstellung individuell die gewünschte Tiefenschärfe zu definieren.
Diese Flexibilität im Umgang mit Tiefenschärfe wurde zuvor von Maya nicht unterstützt.
Es bestehen zusätzlich Möglichkeiten, das Skript zu erweitern. Zum Beispiel wäre es sinnvoll,
in zukünftigen Versionen mehrere Kameras pro Szene verwalten zu können und die
Möglichkeit zu haben, vor ein und dieselbe Kamera mehrere visuelle Oberflächen zu
platzieren. In diesem Fall wären Werkzeuge zum Verwalten der einzelnen Oberflächen
gefordert.
Des Weiteren sollte der sticky-off-Modus, welcher es dem Anwender ermöglicht die NURBSFlächen frei zu positionieren, während einer Animation aktivierbar und deaktivierbar sein.
Diese Funktion käme dann zum Tragen, wenn in einer Animation die NURBS-Flächen
zunächst der Kamerabewegung folgen, aber ab einem gewissen Zeitpunkt losgelöst von ihr
fungieren sollen.
- 41 -
Es sollten darüber hinaus durch das Bewegen der schwarzen NURBS-Fläche (Fokusebene)
optimalerweise auch die anderen Flächen proportional verschoben werden, damit beim
Einstellen der Tiefenschärfe Zeit gespart wird. Denkbar wäre auch, die einzelnen Bereiche,
Scharf, Schärfeverlauf und Unscharf als geschlossene Räume zu visualisieren und nicht nur
ihre Grenzen darzustellen. In einem gesonderten Anzeigemodus wäre es denkbar, die
jeweiligen Objekte einzufärben, je nach dem in welchem Schärfebereich sie sich befinden.
Um dem Anwender eine noch performantere Benutzeroberfläche zu gewährleisten, wäre die
Entwicklung eines Maya-Plug-Ins mit der Programmiersprache C++ notwendig, bei der die
NURBS-Flächen direkt über OpenGL im Darstellungsfenster angezeigt wird.
Weiterhin wäre es denkbar, die Benuteroberfläche so zu erweitern, dass man zwei
Fokusebenen definieren kann. Auch, wenn dies in der Realität nicht möglich ist, könnte man
hierdurch interessante Effekte erzeugen. Um dies genau kontrollieren zu können, wäre ein
zweites Set von NURBS-Flächen denkbar, die Ihre Positionsinformationen an einen Shader
weitergibt, der diese Informationen verarbeiten kann und ein Graustufenbild erzeugt.
- 42 -
4. Zukunft der Tiefenschärfe in 3D
4.1 Neue Werkzeuge
Es folgt eine Betrachtung von möglichen Werkzeugen, die mit dem heutigen Stand der
Technik entwickelt werden können oder schon entwickelt wurden, aber noch keine
Verbreitung gefunden haben. Diese Werkzeuge haben das Ziel, den Umgang mit
Tiefenschärfe effizienter zu gestalten.
Die Vorschaufunktionen des Darstellungsfensters müssen erweitert und rechenintensivere
Aufgaben verstärkt an die Grafikkarten abgegeben werden. Es wäre wünschenswert, wenn
Programmierer mehr Zugriff auf das Darstellungsfenster erhalten.
In Maya besteht die Möglichkeit, einen komplett eigenen High-Quality-Renderer zu
programmieren, der steuert, wie Objekte im Darstellungsfenster angezeigt werden.
Hierdurch könnte eine umfangreichere Vorschaufunktion der Tiefenschärfe realisiert werden.
Das bedeutet allerdings, dass der Entwickler die Abbildung von allen Objekten, die das
Darstellungsfenster normalerweise wiedergibt, ebenfalls programmieren muss.
Dadurch entsteht ein sehr hoher Arbeitsaufwand. Vergleicht man die führenden 3DAnwendungen in Hinsicht ihrer Erweiterungsmöglichkeiten, befindet sich Maya an der Spitze,
so dass für andere 3D-Programme oft gar nicht erst die Möglichkeit besteht, eine solche
Erweiterung durchzuführen, unabhängig vom Arbeitsaufwand.
Eine Alternative besteht in der Entwicklung eines Plug-Ins für Maya, das eine Vorschau der
Tiefenschärfe in Form des Multi-Pass-Verfahrens ermöglicht, ähnlich der Funktion, die 3Ds
Max und Lightwave bieten. Hierbei kann die Kamera um den Fokuspunkt unregelmäßig rotiert
werden; nach jeder Rotation wird ein Bild vom Darstellungsfenster gespeichert. Die Bilder
werden miteinander verrechnet und auf das Darstellungsfenster projiziert. Dieses Werkzeug
verringert den Arbeitsaufwand und könnte die Erzeugung von Tiefenschärfe effizienter
gestalten. Diese Methode hat aber dieselben Limitationen, was die Beständigkeit der
- 43 -
Vorschauanzeige angeht, wie sie im Kapitel 2.2.2 im Zusammenhang mit 3Ds Max
beschrieben wurden.
Einen anderen Ansatz liefern progressive Renderer wie FPrime für Lightwave oder Maxwell für
3Ds Max und Maya. Diese Renderer arbeiten auf der Basis von Ray Tracing und senden pro
Durchgang eine bestimmte Anzahl von Strahlen zur Ermittlung von Pixel-Farbwerten in den
3D Raum. Mit jedem Durchgang wird die Genauigkeit des vorherigen Ergebnisses verbessert,
wodurch die Bildqualität zunimmt. Der Anwender kann bestimmen, wie viele Durchgänge der
Renderer ausführen soll. Zu Beginn ist das Bild grob aufgelöst und wird mit jedem
Rechendurchgang detailreicher und die Kanten stärker geglättet.
Der große Vorteil von FPrime liegt in seinem eigenen Vorschaufenster, das nach demselben
Prinzip funktioniert, wie oben beschrieben, nur dass der Anwender das Resultat eines jeden
Rechendurchgangs sofort sehen kann. Der Nutzer kann zuschauen, wie das Bild immer feiner
aufgelöst wird. Dies erinnert an das Laden von progressiven JPEG-Dateien aus dem Internet
unter Verwendung einer geringen Bandbreite. Die ersten Informationen, die von der
jeweiligen JPEG-Datei geladen werden, geben das Bild nur unscharf wieder; es wird umso
schärfer, je mehr Informationen von der Bilddatei geladen werden. Dieses Verfahren findet im
Internet gegenwärtig wenig Anwendung bzw. wird nicht wahrgenommen, da in der Regel
genügend Bandbreite vorhanden ist um Bilder schnell zu laden.
Für das Arbeiten mit 3D-Anwendungen bedeutet das, dass der Nutzer selbst entscheiden
kann, wie viel Zeit er einem Vorschau-Rendering gibt, um seine Einstellungen beurteilen zu
können. Das Vorschaufenster von FPrime kann sämtliche Effekte wie Licht, Reflektion,
Refraktionen, Occlusion bis hin zur Tiefenschärfe mit Bokeh-Effekt darstellen. Das
Vorschaufenster erlaubt es dem Nutzer, dem Renderer beim Arbeiten zuzuschauen.
Das Verfahren ähnelt der Arbeitsweise von s.g. interaktiven Renderern, wie z.B. Mayas IPR, bei
dem aber viele der o.g. Effekte nicht dargestellt und auch Objekte nicht verschoben werden
können, ohne das Bild bzw. einen Bildausschnitt erneut berechnen zu müssen. XSI verfügt
über eine Render-Vorschau, bei der komfortabel die Qualität eines Renderings kontrolliert
- 44 -
werden kann. Sie zeigt das Bild jedoch erst nach der fertigen Berechnung an, wodurch es, im
Vergleich zur progressiven Methode, länger dauert, bis der Anwender das Resultat seiner
Einstellungen beurteilen kann. Das kostet Zeit und Geld in einer Produktion.
Abb. 24: Interaktive Rendervorschau mit FPrime
Weiterhin ist die Entwicklung eines Werkzeugs denkbar, welches bei der Tiefenschärfe helfen
kann, den Speicherbedarf beim Rendern zu senken. Hierfür wird ein Level-of-Detail-Verfahren1
verwendet. Es ersetzt hochaufgelöste Drahtgittermodelle (3D-Objekte), abhängig von deren
Entfernung zur Kamera, durch niedriger aufgelöste. So können während der Laufzeit des
Render-Vorgangs Objekte automatisch ausgetauscht werden, wenn sie sich in den unscharfen
1
Vgl. Lebke, David u.a.: Level of Detail for 3D Graphics, 2003, S. 236-237
- 45 -
Bildbereichen befinden. Das würde Speicherkapazität sparen, die Berechnung der
Tiefenschärfe beschleunigen und könnte auch zu schnelleren Ergebnissen bei EchtzeitAnwendungen führen.
Je größer die Auflösung des Materials ist, auf das Tiefenschärfe angewandt werden soll, umso
aufwendiger ist die Berechnung. Große Studios, die in Kinoauflösungen produzieren,
entwickeln eigene Lösungen, um Tiefenschärfe effizienter kontrollieren zu können und zudem
größeren Spielraum bei der kreativen Verwendung zu erlangen. Während der Produktion des
Animationsfilms Cars entwickelte Pixar einen Algorithmus, mit dem eine Echtzeit-Vorschau
der Tiefenschärfe in Kinoauflösung dargestellt werden kann.1 Der Algorithmus verwendet für
die Berechnung der unscharfen Bereiche eine Simulation auf Basis der WärmeleitungsGleichung aus der Wärmelehre der Physik. Diese wird von dem Prozessor der Grafikkarte,
unter Verrechnung mit dem Tiefenkanal, übernommen.
Diese Lösung von Pixar dient der Echtzeit-Visualisierung von Tiefenschärfe. Im folgenden
Kapitel 4.2 werden weitere Lösungsansätze für die Herausforderung Tiefenschärfe in Echtzeit
zu visualisieren, vorgestellt.
4.2 Tiefenschärfe in Echtzeit
Eine exakte Berechnung der Tiefenschärfe mit Hilfe von Ray Tracing ist bisher bei EchtzeitAnwendungen (z.B. Computerspielen) nicht möglich. Die Rechenleistung steht für eine
Echtzeit-Nutzung nicht zur Verfügung. In Computerspielen wurden verschiedene Techniken
entwickelt, die denen in Kapitel 2.1 ähneln. Dazu zählt das Verfahren Accumulation-Buffer
Depth of Field2, eine für Echtzeit optimierte Form der Multi-Pass-Technik.
1
Vgl. Kass, Michael, Lefohn Aaron, u.a.: Interactive Depth of Field Using Simulated Diffusion on a GPU
http://graphics.pixar.com/DepthOfField/paper.pdf
Abruf am 2008-07-22
2 Vgl. Möller, Thomas und Haines, Eric: Real-Time Renderin, 1999, S. 83
- 46 -
Eine weitere und ältere Technik sei an dieser Stelle kurz erläutert. Mit der MIP-MappingTechnik kann Tiefenschärfe in Grafik-Engines begrenzt simuliert werden. Hierbei werden
Texturen verkleinert und in unterschiedlichen Größen im Grafikspeicher bereitgehalten.
Je weiter sich ein Objekt von der Fokusebene entfernt befindet, umso niedriger ist die Textur
aufgelöst, die darauf projiziert wird.1 Eine niedriger aufgelöste Textur beinhaltet weniger
Details und wirkt unscharf. So kann der Eindruck von Tiefenschärfe erzeugt werden.
Jedoch entstehen Probleme mit Objekten, die sowohl im Fokusbereich als auch im
Unschärfebereich liegen. Es entsteht eine Unterbrechung im Schärfeverlauf, weil die Textur
nur gleichförmig unscharf sein kann.
Spiele-Entwickler verwenden Tiefenschärfe in Computerspielen als Stilmittel in
Zwischensequenzen, die mit Hilfe der Spielegrafik dargestellt werden. Eingesetzt wird die
Tiefenschärfe, um den Fokus des Spielers auf eine bestimmte Stelle zu lenken, die visuelle
Qualität der Sequenz zu erhöhen und filmischer zu wirken. Ein Beispiel hierfür ist das
Computerspiel Witcher.
Abb. 25: Tiefenschärfe in einer Zwischensequenzen des Computerspiels Witcher
1
Vgl. Cant, Richard; Chia, Nathan; Al-Dabass, Daid: New anti-aliasing and depth of field techniques for games
http://ducati.doc.ntu.ac.uk/uksim/dad/webpagepapers/Game-18.pdf
Abruf am 2008-07-23
- 47 -
Über Zwischensequenzen hinaus ist der Einsatz schwierig, da das Programm nicht weiß,
worauf der Spieler gerade seinen Blick fokussiert und somit die aktuelle Fokusebene nicht
definiert werden kann. Eine Studie von Dr. Anatole Lecuyer u.a. an der Universität von
Beaulieu untersucht die Problematik.1 Ein System zum Verfolgen der Augenbewegung ist
notwendig, um die Position der Fokusebene im 3D-Raum berechnen zu können. Das Problem
ist momentan nicht lösbar, weil ein solches System zu kostspielig und nicht verbreitet ist.
Bei Spielen aus der Ich-Perspektive, insb. Kampfspiele, ist der Anwender meist auf die Bildmitte fokussiert. Berechnet man für einen rechteckigen Bereich in der Bildmitte die
Entfernung vom Spieler zum anvisierten Objekt, kann man diese als Fokusebene definieren
und abhängig von der Entfernung der anderen Objekte zur Fokusebene, dementsprechend
unscharf darstellen. Weiter wird in der Studie beschrieben, wie Objekte, die sich am Bildschirmrand befinden, unscharf gezeichnet werden. Dies ist dem menschlichen Sehvermögen
nachempfunden, bei dem Objekte am Rand des Sichtfeldes unscharf wahrgenommen werden.
Abb. 26: Quake 3 mit Tiefenschärfe
Die Verwendung von Tiefenschärfe wird mit steigender Prozessorkraft und besseren
Algorithmen weiter in Echtzeitanwendungen, wie Computerspielen, Einzug halten.2
1
Vgl. Dr. Lécuyer, Anatole u.a.: Depth-of-Field Blur Effects for First-Person Navigation in Virtual Environments
http://www.irisa.fr/bunraku/GENS/alecuyer/hillaire_vrst_07_short.pdf
2007; Abruf am 2008-07-23
2 Kass, Michael, Lefohn Aaron, Owens, John: Interactive Depth of Field Using Simulated Diffusion on a GPU
http://graphics.pixar.com/DepthOfField/paper.pdf
Abruf am 2008-07-23
- 48 -
4.3 Ausblick / Tendenzen
Neben der Erläuterung bestehender Techniken wurden in den Kapiteln zuvor neue
Lösungsansätze geliefert, die sich mit dem aktuellen Stand der Technik realisieren lassen. Im
folgenden Kapitel werden Technologien betrachtet, die bei einer bestimmten,
prognostizierbaren technischen Entwicklung entstehen können, da sie bereits in laufenden
Projekten erprobt werden.
In zukünftigen Rechnern werden immer mehr Prozessoren verwendet. Während sich über
viele Jahre nur ein Prozessor im Rechner befand, der immer schneller wurde, sind heute MultiProzessor-Systeme Standard. Die Miniaturisierung von Prozessoren wird auch stetig
weiterentwickelt. Derzeit passen, durch den 45nm-Fertigungsprozess, mehr Transistoren denn
je auf einen Prozessor. Dadurch finden jetzt 410 Millionen Transistoren auf einem Dualcoreund 820 Millionen Transistoren auf einem Quadcore-Prozessor Platz.“1
Aber nicht nur der CPU wird schneller, sondern auch die Grafikkarten werden immer
leistungsstärker. Das Technik-Portal Toms Hardware berichtet: „Die Kluft zwischen Intel und
Nvidia wächst: In einer E-Mail an seine Mitarbeiter erklärt ein hochrangiger Nvidia-Vize die CPU für
»tot«.“2 Erst kürzlich wurde die erste 2-Gigabyte Grafikkarte mit ATI Chipsatz veröffentlicht.3
Spiele wie Crysis, die extreme Anforderungen an die Hardware und besonders an die
Grafikkarte stellen, laufen in Echtzeit ab. Das nächste Spiel, Far Cry 2, von der Firma Crytek
entwickelt, wird indirekte Beleuchtung in Echtzeit ermöglichen. Dies ist ein sehr
rechenaufwendiger Effekt.
Intel unternimmt derweil große Bemühungen, Ray Tracing in Echtzeit zu verwirklichen. Die
1
Umweltfreundliche Fertigung und höchste Leistung Intel mit 16 neuen Prozessoren im 45nm-Fertigungsprozess
http://www.intel.com/cd/corporate/pressroom/emea/deu/archive/2007/376505.htm
2007-11-12, Abruf am 2008-08-02
2 Tom's Hardware: Nvidia: »Die CPU ist tot«
http://www.tomshardware.com/de/Intel-GPU-E-Mail,news-240904.html
2008-04-28, Abruf am 2008-08-24
3 Power Color: Enjoy the 2GB memory and up to 10°C Lower Temperatures.
http://www.tul.com.tw/powercolor/news_files/HD4850_2GB_20080714.pdf
2007-07-14, Abruf am 2008-08-24
- 49 -
zwei Modelle, die bis dato bei der Bildberechnung verwendet werden, sind Rasterization und
Ray Tracing. Beim ersten werden die 3D-Objekte in Dreiecke unterteilt und an die Grafikkarte
geschickt, die diese analysiert, zeichnet, koloriert, texturiert, beleuchtet und auf dem
Bildschirm darstellt. Effekte wie Reflektionen, Refraktionen oder globale Beleuchtung sind
kompliziert zu programmieren und berechnen. Das Modell Ray Tracing hingegen kann diese
Effekte wesentlich einfacher berechnen. Die Rechenzeit verhält sich proportional zur Anzahl
der Pixel. Zudem lässt sich die Leistung durch zusätzliche Prozessoren im Rechner einfach
skalieren.1
Abb. 27: Quake 4 mit Ray Tracing dargestellt
In ca. zwei bis drei Jahren, schätzt Dr. Michael Vollmer von Intel, wird die Entwicklung der
notwendigen Algorithmen und Rechenleistung vorhanden sein, so dass die ersten Spiele auf
dem Markt erscheinen werden, die komplett durch Ray Tracing berechneten wurden.2
Mit diesem Schritt ist es nicht mehr weit zur Echtzeit-Vorschau in 3D-Applikationen, bei der
Effekte wie Tiefenschärfe sofort angezeigt werden können.
1
Vgl. Howard, Jeffrey: Real Time Ray-Tracing: The End of Rasterization?
http://blogs.intel.com/research/2007/10/real_time_raytracing_the_end_o.php
2007-10-10, Abruf am 2008-07-24
2 Vgl. Dr. Vollmer, Michael: Raytraced games in 2 to 3 years, says Intel
http://www.pcgameshardware.com/aid,654068/News/Raytraced_games_in_2_to_3_years_says_Intel/
2008-07-31, Abruf am 2008-08-01
- 50 -
Das erfordert allerdings auch ein Umdenken der Entwicklungsfirmen von 3D-Programmen,
die ihre oftmals überalterten Programmkerne „aufbohren“ bzw. komplett neu programmieren
müssen, um fundamentale Neuerungen zu ermöglichen.
- 51 -
5. Fazit / Zusammenfassung
Zum Schluss folgt eine Zusammenfassung und Bewertung der Ergebnisse dieser Diplomarbeit.
Es wurden die drei gebräuchlichsten Techniken zur Berechnung von Tiefenschärfe erläutert
und ihr Einsatz in 3D- und Compositing-Programmen miteinander verglichen - mit dem
Ergebnis, dass keines der Verfahren eine umfassende Lösung für die Kriterien Qualität und
Geschwindigkeit darstellt.
Beim aktuellen Stand der Technik ist die Berechnung von Tiefenschärfe mit Ray Traycing das
einzige physikalisch akkurate Verfahren und somit den 3D-Anwendungen vorbehalten. Es sind
allerdings hohe Rechenzeiten notwendig, um Artefakte und Bildrauschen in Animationen zu
unterdrücken. Sobald Geschwindigkeit das wichtigste Kriterium ist, sind Post-Effekte im
Compositing eine bessere Wahl, die dem Anwendergleichzeitig auch mehr Flexibilität bieten.
In diesem Rahmen wurden die am häufigsten verwendeten 3D-Anwendungen auf ihre
Benutzerfreundlichkeit und ihren Funktionsumfang mit Tiefenschärfe untersucht und
ausgewertet. Das beste Ergebnis erzielte hierbei Lightwave, das mit seiner Echtzeitvorschau
das komfortabelste Konfigurieren der Tiefenschärfe ermöglicht und dem Anwender eine große
Anzahl von Einstellungsmöglichkeiten bereitstellt. Die kostspieligeren Anwendungen
enttäuschten hier, mit Ausnahme von Houdini. Oft sind die Nutzer darauf angewiesen,
langwierige Render-Vorschauen abzuwarten und können ohne Kamerawissen die
Tiefenschärfe nicht intuitiv kontrollieren. Besonders Maya besitzt wenig
Benutzerfreundlichkeit und kostet dabei am meisten.
Drei deutsche Firmen wurden zu ihrer Arbeitsweise mit Tiefenschärfe interviewt und ihre
Antworten ausgewertet. Die Firmen bestätigen die mangelnde Benutzerfreundlichkeit. Wegen
der hohen Flexibilität setzen die meisten Unternehmen auf die Erzeugung der Tiefenschärfe
im Compositing, da die Kontrolle über das Aussehen der Tiefenschärfe Vorrang vor der
physikalischen Korrektheit hat. Im Rahmen dieser Ergebnisse wurde eine eigene
- 52 -
Benutzeroberfläche entwickelt, um das Konfigurieren eines Graustufenbildes mit
Fokusinformationen intuitiver und schneller zu ermöglichen. Hierbei wurde eine aus drei
NURBS-Flächen bestehende Benutzeroberfläche mittels sphärischer Trigonometrie entworfen,
mit deren Hilfe sich die Position der Fokusebene, die Größe des Schärfeverlaufs und der Punkt
der kompletten Unschärfe schnell definieren lassen. Unter der Verwendung eines Shaders
werden die Entfernungen der Flächen zur Kamera in ein Graustufenbild umgesetzt, das im
Compositing weiterverwendet werden kann, um Tiefenschärfe zu erzeugen. Dieses Werkzeug
ist auf der Webseite www.pixelbaker.com des Autors veröffentlicht.
Im Rahmen dieser Arbeit wurden bezogen auf den aktuellen Stand der Technik
Lösungsansätze geliefert, wie Kosten und Zeit bei der Verwendung von Tiefenschärfe in der
Zukunft reduziert werden könnten – z.B. durch die Entwicklung neuer Werkzeuge sowie die
bessere Integration von anderen, bereits vorhandenen Werkzeugen. Zu Letzteren gehört auch
ein neuer Algorithmus von Pixar, der eine Echtzeitvorschau von Tiefenschärfe in
Kinoauflösung ermöglicht. Große Unternehmen besitzen die entsprechenden Ressourcen, um
derartige Lösungen zu entwickeln, während kleinere Unternehmen die herkömmlichen
Techniken verwenden müssen.
Es wurde weiterhin untersucht, wie Tiefenschärfe in Echtzeitanwendungen eingesetzt wird.
Für Echtzeitanwendungen ist der Einsatz von physikalisch korrekter Tiefenschärfe mit BokehEffekt vorerst nicht absehbar, da der Rechenaufwand zu hoch ist, um die notwendige Anzahl
von Bildern pro Sekunde zu erzeugen. Deswegen wird Tiefenschärfe bei solchen
Anwendungen durch Post-Effekte, Multi-Pass-Techniken und MIP-Mappings simuliert.
Des Weiteren wurde auf die Entwicklungen von Intel im Bereich Ray Traycing eingegangen.
Dieses Verfahren scheint auf lange Sicht die einzige Möglichkeit zu sein, um zukünftig in
allen 3D- Programmen komfortabler mit Tiefenschärfe arbeiten zu können. Mit steigender
Prozessorzahl der Rechner und unter Verwendung eines progressiven Renderers wie FPrime,
der das Bild mehrmals berechnet und dabei die Qualität ständig verbessert, werden
zukünftige 3D-Anwendungen dem Anwender wahrscheinlich ein Echtzeitdarstellungsfenster
zur Verfügung stellen können. Nur so kann die Kontrolle des Nutzers über die Tiefenschärfe
- 53 -
optimiert werden und eine schnelle Konfiguration und Beurteilung bzgl. der Größe der
Tiefenschärfe sowie der Form des Bokeh-Effekts ermöglicht werden.
Die Tiefenschärfe ist und bleibt vorerst ein zeitaufwändiger und kostspieliger Effekt, ähnlich
wie Occlusion und indirekte und globale Beleuchtung. Ohne eine effektive und schnelle
Vorschau sind nicht nur die Berechnung, sondern auch die Konfiguration zeitaufwendig und
beeinträchtigen die kreativen Möglichkeiten.
- 54 -
Literaturverzeichnis
ABLAN, Daniel M.: Inside Lightwave 8, 2004
ADAMS, Mark; Miller, Erick und Sims, Max: Inside Maya 5, 2003
BABB, Paul u.a.: Maxon Dokumentation, 2007
BERTRAM, Hal: RenderMan For Everyone – Course 25, SIGGRAPH2006
CANT, Richard; CHIA, Nathan; AL-DABASS, Daid: New anti-aliasing and depth of field techniques for games
http://ducati.doc.ntu.ac.uk/uksim/dad/webpagepapers/Game-18.pdf (Abruf am 2008-07-23)
COOK, Robert L.: Stochastic Sampling in Computer Graphics, 1986
http://graphics.pixar.com/StochasticSampling/paper.pdf (Abruf am 2008-07-27)
COOK, Robert L. u.a.: Distributed Ray Tracing, 1984
http://graphics.pixar.com/DistributedRayTracing/paper.pdf (Abruf am 2008-07-27)
ESQUIVE, Felipe: fastDOF 1.0, 2005
http://highend3d.com/renderman/downloads/shaders/fastDOF-3526.html (Abruf am 2008-07-19)
GOULEKAS, Karen E.: Visual Effects in a Digital World, 2001
GRITZ, Larry und KAUFMANN, Morgan: Advanced RenderMan: Creating CGI for Motion Pictures, 2000
HACHISUKA, Toshiya: GPU Gems 2, 2005
HECHT, Eugene: Optik, 2002
HILLAIRE, Sébastien; Lécuyer, Anatole; Cozot, Rémi; Casiez, Géry:
Depth-of-Field Blur Effects for First-Person Navigation in Virtual Environments, 2007
http://www.irisa.fr/bunraku/GENS/alecuyer/hillaire_vrst_07_short.pdf (Abruf am 2008-07-23)
HOWARD, Jeffrey: Real Time Ray-Tracing: The End of Rasterization?, 2007
http://blogs.intel.com/research/2007/10/real_time_raytracing_the_end_o.php (Abruf am 2008-07-24)
INVERSIN, Aruna: the digitalgypsy VFX Blog, 2006
http://www.digitalgypsy.com/vfxlog/archives/2006/12/ (Abruf am 2008-07-23)
K.A.: Umweltfreundliche Fertigung und höchste Leistung – Intel mit 16 neuen Prozessoren im 45nm-Fertigungsprozess, 2007
http://www.intel.com/cd/corporate/pressroom/emea/deu/archive/2007/376505.htm (Abruf am 2008-08-02)
KASS, Michael; Lefohn, Aaron, u.a.: Interactive Depth of Field Using Simulated Diffusion on a GPU
http://graphics.pixar.com/DepthOfField/paper.pdf (Abruf am 2008-07-22)
KATZ, Louis: Visual Effects Blog, 2007
http://katzfx.blogspot.com/2007_06_01_archive.html (Abruf am 2008-07-23)
KERLOW, Isaac V.: The Art of 3D Computer Animation and Effects, 2004
LEBKE, David u.a.: Level of Detail for 3D Graphics, 2003
MARTIN, Sven (Pixomondo): E-Mail
Betreff: Diplom Tiefenschärfe / Fragebogen (Abruf am 2008-07-23)
MAY, James: Depth of Field and Reflections
http://www.altyna.com/lw/DOFreflections.htm (Abruf am 2008-08-01)
- 55 -
MERKLINGER, Harold M.: A Technical View of Bokeh. In: Photo Techniques, Band 18, Nr. 3, 1997
MITTELHOCKAMP, Bernd (4k-Animation): E-Mail
Betreff: Diplom Tiefenschärfe / Fragebogen (Abruf am 2008-07-23)
MÖLLER, Thomas und Haines, Eric: Real-Time Renderin, 1999
MURRAY, Hugh: Cinefex weekly, 2004
http://www.cinefex.com/weeklyupdate/mailings/45_11232004/web.html (Abruf am 2008-07-23)
POWER COLOR: Enjoy the 2GB memory and up to 10°C Lower Temperatures, 2007
http://www.tul.com.tw/powercolor/news_files/HD4850_2GB_20080714.pdf (Abruf am 2008-08-24)
SHIRLEY, Peter: Ray Tracing, 2000
Tom's Hardware: Nvidia: »Die CPU ist tot«, 2008
http://www.tomshardware.com/de/Intel-GPU-E-Mail,news-240904.html (Abruf am 2008-08-24)
VOLLMER, Michael Dr.: Raytraced games in 2 to 3 years, says Intel, 2008
http://www.pcgameshardware.com/aid,654068/News/Raytraced_games_in_2_to_3_years_says_Intel/
(Abruf am 2008-08-01)
WRIGHT, Steve: Digital Compositing for Film and Video, 2002
- 56 -
Bildquellen
Abb. 1:
Cinnamon, Cindy: A cup of bokeh, Flickr
http://flickr.com/photos/cloughridge/2091504758/
2007-12-06, Abruf am 2008-08-03
Abb. 2:
Bereich der Tiefenschärfe visualisiert
André Schaarschmidt, 2008-08-03
Abb. 3:
Zerstreuungskreis visualisiert
André Schaarschmidt, 2008-08-03
Abb. 4:
Photo Aficionado: Situation Room: Aperture and Depth of Field
http://www.photoaficionado.com/situationroom/aperture.html
Abruf am 2008-08-02
Abb. 5:
Merklinger, Harold M.: A Technical View of Bokeh.
In: Photo Techniques, Band 18, Nr. 3, 1997, S. 37
Abb. 6:
The Official Guide to Learning OpenGL, Release 1, 1994, Kapitel 10
http://fly.cc.fer.hr/~unreal/theredbook/chapter10.html
Abruf am 2008-08-02
Abb. 7:
Bauer, Andreas C.
http://homepage.mac.com/bauer/portfolio_shaders/
zDepthDOF/zDepthDOF.html
Abruf am 2008-08-03
Abb. 8:
Dell 2005fpw Monitor Testbild
http://home.comcast.net/~rrighetti/CheckeMON.jpg
Abruf am 2008-08-03
Abb. 9:
Rosenman, Richard
http://www.dofpro.com/cgigallery.htm
Abruf am 2008-08-03
Abb. 10:
Leader, Richard
http://www.richleader.com/bargainbinreview_FSAA.htm
Abruf am 2008-08-03
Abb. 11:
Simpson, Marc
http://www.frischluft.com/lenscare/quality_comparison.html
Abruf am 2008-08-03
Abb. 12:
Bauer, Andreas C.: zDepthDOF Documentation
http://homepage.mac.com/bauer/portfolio_shaders/
zDepthDOF/zDepthDOF.html
Abruf am 2008-08-03
Abb. 13:
Maya 2008 Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
Abb. 14:
3Ds Max 2008 Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
Abb. 15:
Houdini 9.5.170 Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
- 57 -
Abb. 16:
Lightwave 9.3.1 Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
Abb. 17:
Cinema 4D R10.5 Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
Abb. 18:
Blender 2.4.6 Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
Abb. 19:
XSI 6.5 Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
Abb. 20:
Skript Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
Abb. 21:
Attribute Benutzeroberfläche
Schaarschmidt, André, 2008-08-03
Abb. 22:
Sweep-Attribut
Schaarschmidt, André, 2008-08-03
Abb. 23:
Kurven Darstellung
Schaarschmidt, André, 2008-08-03
Abb. 24:
Worley Laboratories vom „Interactive“-Video
http://www.worley.com/Media/animations/fprime/FP3_SpeedTracer.mov
Abruf am 2008-08-03
Abb. 25:
Evanson, Nick von You Gamers
http://www.yougamers.com/reviews/13519_the_witcher/
images/thewitcher_depthoffield/
Abruf am 2008-08-03
Abb. 26:
Sébastien Hillaire, Anatole Lécuyer, Rémi Cozot, Géry Casiez:
Depth-of-Field Blur Effects for First-Person Navigation in Virtual Environments,
http://www.irisa.fr/bunraku/GENS/alecuyer/hillaire_vrst_07_short.pdf
2007; Abruf am 2008-07-23
Abb. 27:
Pohl, Daniel: Intel Quake 4 Ray Tracing
http://www.pcper.com/images/reviews/506/
q3rt_Demo_poster_0003_resize.jpg
Abruf am 2008-08-03
- 58 -
Eidesstattliche Erklärung
Ich erkläre an Eides statt, dass ich die vorliegende Diplomarbeit selbstständig und ohne
fremde Hilfe verfasst, andere als die angegebenen Quellen nicht benutzt und die den
benutzten Quellen wörtlich oder inhaltlich entnommenen Stellen als solche kenntlich
gemacht habe.
Berlin, den 17.07.08
André Schaarschmidt
- 59 -