Mandelbulber
# Mandelbulber

Mandelbulber ist ein fraktalgenerierendes Programm unter der Lizenz GNU GPL Version 3.0. Spezialisiert ist das Programm auf dreidimensionale Fraktale wie Mandelbulb, Mandelbox oder IFS, jedoch lassen sich auch Fraktale anderer Dimensionen visualisieren und rendern. Mandelbulber wird seit 2010 weiterentwickelt und steht als kostenloser Download zur Verfügung.

## Entstehung

Das Programm erschien, kurz nachdem die bekannten 3D-Fraktale Mandelbulb und Mandelbox durch fraktale Formeln darstellbar waren. Name und Logo sind an einem der ersten populären 3D-Fraktale orientiert – der Mandelbulb. Der Name drückt also ein Mittel zur Kreierung des Fraktals aus.

## Funktionalität

Für das Rendering der Fraktale kommt eine Technik namens Raymarching zum Einsatz. Da diese Technik nur die Bild- und Tiefeninformation speichert, sind die Ergebnisse mit 3D-Netz basierten Programmen (wie z. B. Blender) nicht kompatibel. Neben dem Einstellen des Materials (Aussehen, physikalische Eigenschaften wie Reflexion, Transparenz etc.) können auch Einstellungen bezüglich des Renderings (Genauigkeit, Umfang des Renderings, Fehlerkorrekturmaßnahmen uvm.) oder Bildauflösung nach Belieben konfiguriert werden. Als Auswahl zum Rendern erhält der Benutzer eine Liste von Fraktalen und Fraktalparametern, die sich jeweils in Kombination mit anderen Fraktalen zu sogenannten „Fraktalhybriden“ vereinen lassen. Qualitätsmerkmale wie Screen Space Ambient Occlusion (SSAO), Tiefenschärfe (DOF), Sichtfeld (FOV), HDR (Blur) und weitere können auch eingestellt und variiert werden. Durch bereits festgelegte Werte bei den Parametern können auch Bilderreihen erzeugt werden, die eine Änderung eines Fraktals oder eine Art Flug durch ein Objekt simulieren.

## Navigation

Der Nutzer navigiert sich mit einer Kameraansicht, das das durch vorherige Einstellungen festgelegte Fraktal anzeigt, durch ein kartesisches Koordinatensystem. Das Ändern der Kameraparameter erfolgt bspw. durch Anklicken eines Punktes auf einem Objekt oder durch Ändern der jeweiligen Position. Dies erfolgt durch das bloße Eingeben von Werten oder Schaltflächen, die Ausrichtung oder Kamerarrotation anpassen.

## Export

Es gibt mehrere Möglichkeiten, Werke innerhalb des Programms zu exportieren. Dies erfolgt zum einen 2-dimensional als Bild unter den Formaten JPG, PNG, EXR und TIFF in verschiedenen Bittiefen. Darüber hinaus können Alphakanäle, Glanz, Z-Buffer und weitere Ansichten separat gespeichert werden. Auch der Export von 3D-Netz Modellen ist möglich, dies geht etwa als Voxelschichtung, indem wie bei einem CT eine bestimmte Anzahl an Bildern gespeichert wird, die man zu einem Objekt stapeln kann. Direkt kann ein 3D-Objekt als Mesh in einer PLY-Datei gespeichert werden. Auf diese Dateitypen spezialisierte Programme können diese finalisieren und beispielsweise als STL-Datei unter CC-Lizenzen veröffentlichen oder mit einem 3D-Drucker ausdrucken. Kompositionen oder Konstellationen können besonders ressourcenarm als FRACT-Datei gespeichert werden, indem alle Parameter mit Bezeichnung, die von der Standardkonfiguration abweichen, aufgelistet sind. Diese können in das Programm einbezogen oder mit einem Texteditor ausgelesen werden. Eine Animation kann aus einer Bilderreihe resultieren. Diese Bilder können entweder in einem Flug generiert werden, die der Benutzer während des Renderns festlegt oder mit Hilfe von Keyframes den Renderablauf vor dem Rendern festlegt. Diese Bilderfolge kann mit einem Programm wie VirtualDub zu einem Video zusammengefügt und publiziert oder weiterverarbeitet werden.

## Technische Voraussetzungen

Das Generieren von dreidimensionalen Objekten mit fraktaler Oberfläche ist grundsätzlich aus berechnungstheoretischer Sicht (sehr) aufwendig. Empfohlen werden Peripheriegeräte wie Grafikkarte und ausreichend RAM. Während Hochleistungsgrafikkarten via OpenCL Bilder auf UHD-2-Niveau wenige Sekunden brauchen, können mehrere Jahre alte Prozessoren oder nicht spezialisierte CPUs 20 Minuten oder länger benötigen. Darüber hinaus ist RAM-Speicher im zweistelligen Gigabyte-Bereich nötig, damit genug Zwischenspeicher für das Programm vorhanden sind. Bei unzureichender Ausstattung kann auch serverseitig gerendert werden. Ein ultrahochauflösendes Video kann in Echtzeit noch nicht mit heutiger PC-Technik gerendert werden (Stand Juli 2019).

## Rezension und Kritik

Die Bewertungen sind sehr positiv. Gelobt werden vor allem die Möglichkeiten der Entdeckung von Fraktalen, die dieses Programm biete. Jedoch werden auch Probleme im Zusammenhang mit Bugs beim Rendern angesprochen. Bugfixes erscheinen turnusgemäß in 3- bis 6-monatigen Abständen.

