Max von Tettenborn

Freelance 3D-Artist

Java Raytracer

Nachdem das letzte Semester vorbei war wurde von der Uni noch ein Wettbewerb angeboten, für den ein sehr rudimentärer Raytracer mit möglichst vielen zusätzlichen Features erweitert werden sollte. Zusammen mit einem Kommilitonen habe ich daran teilgenommen und den zweiten Platz belegt. Das Ergebnis gibts hier zum Download. Unten stehen zwei Bilder, die wir damit gerendert haben.

Raytracer

Natürlich war das Projekt als Übung gedacht und ist nicht für den echten Einsatz ausgelegt, dafür kann es auch viel zu wenig. Da wir uns in der beschränkten Zeit, die zur Verfügung stand hauptsächlich aufs einfügen neuer Features konzentriert haben, ist das ausführliche Testen und Bugfixen natürlich auch etwas auf der Strecke geblieben. Also nicht wundern wenn sich das Programm hin und wieder mal aufhängt. Außerdem haben wir mit Java gearbeitet und entsprechend wenig performant ist das Rendern. Dennoch sind viele wichtige Features vorhanden und es war äußerst lehrreich diese Machanismen, die man ständig benutzt und denkt zu verstehen, mal selbst zu implementieren. Da merkt man nämlich wie viel unsichtbare Komplexität unter der Haube eines Raytracers steckt. Und es hilft ganz erheblich dem Verständnis auch im Ungang mit den echten Raytracern wie Mental Ray.

Wer den Raytracer ausprobieren will, sollte das Zip-Archiv komplett in einen Ordner entpacken und die Datei JavaRT.jar starten. Dazu muss ein Java RTE installiert sein. Als nächstes kann über die Option “Load Data” eine der mitgelieferten Szenen geladen werden. Die Ordner “Environment Maps” und “Textures” sollten dabei im selben Ordner, wie die Szenen liegen. Alternativ oder im Anschluss kann über das Feld darunter auch ein OBJ importiert werden. Weitere Einstellungen sind über die Reiter zugänglich. Diese werde ich hier nicht erklären, da sie für jeden, der auch schon mal mit anderen Raytracern gearbeitet hat ersichtlich sein sollten.

glossy_reflectionsshader_tests

Und so sieht das GUI aus: (draufklicken für Originalgröße)

Raytracer-GUI

Hier noch eine Liste der von uns implementierten Features:

– General –
GUI
sophisticated resolution changing widget
Full gui control over the camera
Saving and loading of scenes
Bucket Rendering
Image saving (PNG)
OBJ Import
Transform Matrices (Scaling, Rotation, Translation)
Triangle Intersections
Triangle Meshes
Several useful color math and vector math functions

– Render Optimization –
Adaptive and incremental Sampling / Anti-Aliasing
Subdivision of geometry via an octree

– Shading and Materials –
Modular node-based shader system
Transparency / Refraction
UV Support for Triangles and Spheres
Bilinear Texture Interpolation
Support for procedural textures, some already implemented
Bump Mapping, Normal Mapping
Spherical Environment Mapping

- implemented shader-nodes -
Brightness
Texture Reader
Blinn Phong
Lambert
Ambient Occlusion
Vector Math
Intersection Property
Bump Map
Normal Map
Glossy Reflections
Incidence
Rescale
ColorMean
ColorMultiply

Posted 7 months, 2 weeks ago at 15:27.

Add a comment

My work “in the Wild”

Wieder mal habe ich meinen Blog eine ganze Zeit lang vernachlässigt, aber mit gutem Grund. Ich habe nämlich, wie schon erähnt, noch ein Studium angefangen, Informatik diesmal. Das erste Semester ist bald zu Ende und dann kann ich Java-Programmierung, ein gutes Stück diskrete Mathematik und noch ein paar andere nette Sachen zu meinen Skills hinzufügen. Aber eigentlich will ich in diesem Post etwas ganz anderes mitteilen.

Und zwar habe ich vor etwas über einem Jahr an einem Plakat für die Stadtwerke München mitgarbeitet. Dieses Plakat habe ich nun vor einiger Zeit an ein paar Plakatwänden in München gesehen. Ziemlich cool, seine Arbeit so “zum Anfassen” vor sich zu haben. Ich habe natürlich gleich ein paar Fotos gemacht.

IMAG0063IMAG0064

Mein Job war hauptsächlich Shading und Rendering der Windkraft-Anlagen und ein gutes Stück Kunden-Kommunikation.

Posted 11 months, 2 weeks ago at 16:12.

Add a comment

Flyer x2: “Der Club” Hasenbergl

Letztens habe ich für das Kinderzentrum Hasenbergl zwei Flyer gestaltet. Beide wurden als reine Online-Flyer konzipiert also für eine Verbreitung z.B. über soziale Netzwerke. Deshalb sind sie einseitig. Software: natürlich Photoshop.

flyer_100625flyer_100702

Posted 1 year, 5 months ago at 13:03.

Add a comment

LiWooD Videos online

Letztes Jahr bin ich das erste Mal in den Genuss eines eigenen Auftrages gekommen, den ich direkt für einen Kunden erledigt habe. Ich wurde also nicht von einer Agentur zur Verstärkung eines vorhandenen Teams gebucht sondern war selbst Projektmanager mit allem, was dazu gehört.

Es ging um ein sehr interessantes Baukonzept, welches vor allem für Gebäude mit repetativen Strukturen geeignet ist. Für eine Promotion-DVD und den Web-Auftritt habe ich vier Videos angefertigt, die verschiedene Aspekte des Konzeptes beleuchten.

Das war eine tolle Erfahrung, die mich viel gelehrt hat. Jetzt können die Videos online begutachtet werden:

Video 1: Konzept und Produktion

Video 2: Module

Video 3: Anwendungen

Video 4: Energiekonzept

Geholfen haben mir Lars Korb (Modeling), Andreas Gutmann (Kameranimationen) und Dennis Steinschulte (Compositing).

Posted 1 year, 5 months ago at 14:37.

Add a comment

Softimage ICE: Fluid-Solver

Wie inzwischen bereits zweimal angekündigt möchte ich jetzt endlich ein Video präsentieren, welches meinen selbstgebauten Fluid-Solver zeigt:

Der Effekt beruht auf den Gleichungen von Navier und Stokes, die ausschließlich in ICE umgesetzt wurden, also ohne zusätzlichen Code. Das hat den Nachteil, dass die Simulation langsamer läuft und nicht so einfach zu benutzen ist, wie bei anderen Fluid-Solvern, z.B. emFluid (Welches mich übrigens zum Erstellen dieses Fluid-Solvers motiviert hat). Mein Solver war eher als Proof-of-Concept und R&D-Übung gedacht, nicht für den Produktionsalltag. Aus diesem Grund biete ich hier auch keinen Download an und verweise nur auf andere Angebote.

Posted 1 year, 5 months ago at 13:33.

Add a comment