Visions Of Chaos Mandelbulb Tutorial

This will be one of the larger topics. The Mandelbulb mode has many options and settings that will not be obvious to most people. All of the Mandelbulb settings have popup hints to explain what they do.

The Mandelbulb originally came about from people trying to find a true 3D version of the Mandelbrot Set. Daniel White has more information on his discovery of the Mandelbulb here.

Getting Started

1. Change into the Mandelbulb mode. Mode->Hypercomplex Fractals->Mandelbulb.

2. Load the ifs21 color palette. This is a simple shaded palette.

3. Click the Generate (play) button on the toolbar to open the Mandelbulb Options dialog.

4. Click the Render button to render a default view of the Mandelbulb.



The default view is the power 8 Mandelbulb originally discovered by Daniel White.

Because the fractal surface is infinitely detailed, the above image is pixelated. To improve the output render the image again, but this time, click the Supersample checkbox.



Supersampling renders multiple sub pixels for every pixel of the image and then averages them. This results in a much more detailed smoother image.



If you then change the Supersample pixels from 2 to 3 the detail is even smoother.



TipTip: Supersampling increases the time to render an image. A supersample value of 2 will be 4 times as long. A supersample value of 3 is 9 times as long. For this reason it is recommended to turn off supersampling until you have found the location and look of the Mandelbulb you want to render, then turn it on for the best looking final image.

The rest of the sample images within this tutorial all use supersample 3 to give the best results at the small image sizes.

Controlling The Camera

Visions Of Chaos uses a virtual camera that can be moved around the Mandelbulb to see it from different angles. The Mandelbulb and the lights stay in a fixed position in the 3D world. Only the camera changes position to view the surface from different angles. The easiest way to move the camera is to use the Camera Control buttons.



Forward - Moves the camera straight ahead along the direction (vector) it is pointing.

Backwards - Moves the camera backwards along the direction (vector) it is pointing.

Move Up/Down/Left/Right - Moves (slides) the camera while keeping it pointed in the same direction.

Move distance - Determines how far in 3D space the camera moves when the Forward, Backward or Move buttons are clicked.

TipTip: When you are zooming in to get a closer look at the surface, the move distance will need to be reduced, otherwise you can move too far and go "inside" the mandelbulb shape which does not render correctly. If you do find yourself inside the fractal after a move the easiest way back is to click the Undo button, lower the move distance value and then move again.

Tilt Up/Down/Left/Right - Tilts the camera with respect to the direction (vector) it is facing.

Rot/Roll Left/Right - Rolls (rotates) the camera around the direction it is facing.

Rotation/tilt degress - The amount the camera rolls or rotates when the Tilt and Roll buttons are clicked.

There are also specific settings that can be manually set to control the camera position in 3D space.



These Cam pos, Look at and Up settings tend to confuse people so the preferred method of control is to use the above buttons.

The Rotation settings can be helpfull if you want to manually set the X, Y and Z angles that the camera is rotated around the fractal.

TipTip: The way the camera is orientated in 3D space is that it is first positioned at the camera position and then rotated by the rotation angles.

Formulas and Formula Variations

The above images of the Mandelbulb are the originally discovered power 8 Sin Mandelbulb. Since then many other variations and formulas have been tried using the same prinicples of mathematics.

Formula types are selected from the Formulas dropdown. Each formula has multiple variations that are selected from the Variations dropdown. For example, if you wanted to render a Phoenix Negative SIN Mandelbulb you change the Formula and Variation dropdowns as follows.



Which will then create the following fractal.



I have setup another gallery here showing the variety the various formulas and variations can create.

The Mandelbox and Kaleidoscopic IFS are different to the usual formulas and are expolained later on in this tutorial.

Shading

The shading dropdown determines how the fractal surface will be colored.

For these sample images the fractal formula and variation is a Mandelbulb Negative Rucker using the colorschemer solutions color palette.

Phong Palette - Shades the surface of the fractal using the currently loaded color palette. The palette index is determined by the angle of the surface to the light position.



Radial Palette - Shades the surface of the fractal using the currently loaded color palette. The palette index is determined by the distance of the surface point from the center of the fractal.



Orbit Palette - Shades the surface of the fractal using the currently loaded color palette. The palette index is determined by the time it takes the raytracing formula to find the fractal surface.



Ambient Light - Ignores the current color palette and shades the surface by the amount of ambient light. This shading is most usefull when using multiple colored lights.


Other Formula Related Settings

Under the Formula, Variation and Shading dropdowns there are a group of other settings that change the way the fractals are calculated and displayed.



Iterations - Specifies how many times the formula is repeated when calculating the fractal. A low number of iterations smooths out the surface and a higher number of iterations increases surface detail. When changing the iterations value it is recommended to change it slowly by a value of 1 at a time to see the effect on the image.

Here are some example images showing the difference between iterations of 2, 5 and 8 on a Mandelbulb.







The difference between 5 and 8 iterations is not really noticable at this zoom level, but as you start zooming into the Mandelbulbs increasing iterations can bring out finer details in areas that become too smoothed.

Bailout - The bailout setting is used internally as the fractal is being calculated. This value should never need to be changed.

Power - This sets the exponent for the formula. It is the "p" value in the formulas. For example power 8 changes the Mandelbulb formula to z=z^8+c.

Here are some example images showing the difference between a power 3, 5 and 12 Mandelbulb.







FOV - Field Of View. Smaller FOV is like zooming into the surface.

Epsilon - Determines the surface details. A small epsilon will have a smoother surface. Too high an epsilon can cause the image to be too "dusty" from too much detail.

Here are some sample images showing the difference between epsilon values 0.001, 0.0001 and 0.00001.







The last image shows too much detail because the epsilon level is too low. There is no magic value for epsilon. If the image surface is too smooth reduce it. If the surface is too detailed increase it.

Phase - Modifes how the fractal calculations are done. Default value is 0. Accepted values are anywhere between 0 and 1. The different phase values make the fractal fold over and into itself.

Here are some sample images with phase values of 0, 0.3 and 0.6.







Theta Scale - Modifes how the fractal calculations are done. Default value is 1. Accepted values are any positive or negative value.

Here are some sample images with theta scaling values of 0, 1 and 2.







Phi Scale - Modifes how the fractal calculations are done. Default value is 1. Accepted values are any positive or negative value.

Here are some sample images with phi scaling values of 0, 1 and 2.







Brightness - Increases or decreases the overall brightness of the rendered image. The default slider position does not change the brightness.

Contrast - Increases the contrast of the rendered image. The default slider position does not change the brightness.

Spikes - Creates a spiky effect on the fractal. This is done by clamping the Y value to a certain amount during the iterations. The higher the clamp value the finer the spikes are.

Here are some sample images with no spikes, spikes clamped to 0.5 and spikes clamped to 1.1.







Distance estimation scale factor - How much the estimated distance in the raytracer code is scaled each step. This should never need to be changed.

Number of threads - How many threads simultaneously work on rendering the image. The default is twice the number of CPU cores.


Anaglyph Settings

The anaglyph settings create images that look truly 3D when a pair of the red/blue glasses are worn.



Checking the Anaglyph checkbox enables anaglyph rendering. There are three styles of anaglyph rendering.

Anaglyph Red Blue - Suitable for the red and blue 3D glasses.



Anaglyph Red Cyan - Suitable for the red and cyan 3D glasses.



Anaglyph Color - Gives the 3D effect while still retaining the colors within the fractal.



Anaglyph Half Color - Gives the 3D effect while still retaining the colors within the fractal.



GIF Wiggle Image - Creates an animated gif file that "wiggles" between the left and right eye image. For some people they can get a 3D effect from these. For others it doesn't work.



Degrees between eyes determines how apparent the 3D effect is. For zoomed in images this value needs to be reduced. For zoomed out images that show the entire fractal 3 degrees seems to work the best.

Juliabulb Options

The Juliabulb options enables another set of fractal shapes. The Juliabulb is similar to the Julia Set compared to the Mandelbrot Set. The c variable in the formulas is kept constant.



Enable Julibulb - Activates rendering in Juliabulb style. Clicking the random button randomizes the Juliabulb parameters. Juliabulb give a huge amount of variety for all the formulas and variations.

Here are a few samples from clicking the random button. The Mandelbulb is the default Power 8 SIN variation.






Glow

The glow option adds a glow effect to the fractal.





The threshold value determines how intense the glow is.


Folding

Wraps the XYZ points in 3D space as the fractal formula is iterated.


Background

Determines how the background around the fractal is shown.



You can either specify a solid color or an image to show behind the fractal.

Z-buffer Post Processing

The z-Buffer keeps track of how far from the camera each pixel is.



Using the Z-Buffer allows fog and depth of field effects to be used.

Fog gives a foggy effect to the image.

Cutoff - Specifies how far away from the camera the fog starts.

Auto - Automatically sets the fog cutoff.

Perlin fog - Shades the fog using perlin noise.

Here are two sample images of the normal fog and perlin shaded fog.





Depth of field blurs the surface details further away from the camera. This simulates how a real camera works.

Depth - SPecifies at what distance from the camera the blur begins.

Auto - Automatically determines the depth at which the blur begins.

Here is a sample image of the depth of field effect.


Ambient Occlusion

Ambient occlusion darkens the nooks and crannies of the surface. Areas that the light cannot reach as easily are darker.



Here is an image without and with ambient occlusion applied. Ambient occlusion gives a much more realistic result.





The minimum and maximum orbit values determine how noticable the ambient occlusion is. If you find the ambient occlusion effect is not as noticable increase the minimum value by 0.1. The maximum orbit value will usually not need to be changed.

Render to BMP



Renders the image to a bitmap file. The image size can be larger than the screen resolution.

Random Settings

Randomizes the settings to easily find new mandelbulb shapes.



The various checkboxes allow one or more of the settings to be randomized. For example if you only want to randomize the variation and power then click Uncheck All and then click Variation and Power. Each time Randomize is clicked a new Variatiion type and Power value will be set.

Lighting

Visions Of Chaos supports multiple lights that can have different colors and intensity settings.



Shadows - Enables or disables shadows. The slider controls how dark the shadows are.

Specularity - Gives shiny specular highlights to the fractal surface. The lower the specularity value is the more pronounced the highlights will be.

Here are two sample images. The first has no specularity and the second does.





Ambient Light - This is the default amount of light that hits all surfaces evenly before the individual lights add to it.

Individual Light settings - There are 6 possible lghts that all have their individual colors, positions and intensity settings. Intensity usually should be left at 1, but if a certain light is too bright the intensity can be lowered.

TipTip: When using multiple lights set the Ambient Light amount to 0.2 or 0.3. Othwise the multiple lights (which are all added to the ambint light value) tend to wash out the colors of the lights and the surface will be shaded bright white.

Load Lighting Configuration - Loads a preset configuration of lights. There are some sample lighting files included with Visions Of Chaos to show you how multiple lights can be setup and configured.

Save Lighting Configuration - Allows you to save a lighting setup for future use.

Light Color Wheel - Sets the color lights using a color wheel.

Random Active Light Colors - Randomizes the colors of the currently turned on lights.

Random Active Light Positions - Randomizes the locations of the currently turned on lights. The Light Distances dropdown sets the distance from the fractal surface the lights are set to.

Random Active Light Intensities - Randomizes the intensities of the currently turned on lights.

Camera Light - Sets another light that is always positioned at the location of the camera.

Light Bloom - Adds a bloom effect to brighter areas of the fractal. Lowering the threshold creates a more noticable bloom effect.

Here are two sample images. One without light bloom and one with light bloom.






Hybrids

Hybrids use 2, 3 or 4 formula types and variations to render the same fractal. Each step of the iterations the formula is cycled between the formula types.



Enable Hybrids - When checked the frist two formula types and variations are used to create the hybrid fractal.

Enable 3rd Hybrid - Uses 3 formula and variations to create the fractal.

Enable 4th Hybrid - Uses 4 formula and variations to create the fractal.

Here are a few example hybrid images.






KIFS

Kaleidoscopic IFS fractals.



A new type of 3D fractal. For more details see the original post of fractalforums that shows the discovery.