1
2 MANDELBULBER 2.26
3
41. What is Mandelbulber
5-----------------------
6
7In summary, Mandelbulber generates three-dimensional fractals.
8Explore trigonometric, hyper-complex, Mandelbox, IFS, Kleinian and many other
93D fractals. Render with a great palette of customizable materials to create
10stunning images and videos. The possibilities are literally i n f i n i t e !
11
122. Project Members and Links
13----------------------------
14
15PROJECT LEADER: Krzysztof Marczak
16PROJECT MEMBERS: Sebastian Jennen, Graeme McLaren, Bernardo Martelli,
17 Robert Pancoast, knighty, makemeunsee, Marius Schilder,
18 Ryan Hitchman, Jeff Epler, Martin Reinecke, Quazgaa, Adrian Meyer
19 github:rikardfalkeborn, github:orbitcowboy, github:brunetton,
20 github:biberino, github:luchansky, github:jeroenrijckaert,
21 github:KoviRobi, github:psyriccio, github:valera-rozuvan,
22 github:probonopd, github:mia-0, github:gitter-badger,
23 github:danuni, github:Starmute
24
25CONTACT: buddhi1980@gmail.com
26DOWNLOAD: https://sourceforge.net/projects/mandelbulber/
27DEVELOPMENT: https://github.com/buddhi1980/mandelbulber2/
28COMMUNITY: http://www.fractalforums.com/mandelbulber/
29 https://www.facebook.com/groups/mandelbulber/
30FANSITE: http://www.mandelbulber.com
31 http://www.mandelbulber.org
32
33LICENCE: GNU GPL v3.0
34
353. REQUIREMENTS
36---------------
37
38- Linux OS with installed Qt 5 libraries (version >5.7)
39- very fast CPU (recommended 3GHz, 4 cores)
40- 2GB RAM
41
424. COMPILING stable version
43---------------------------
44
454.1. Compilation with qmake
46packages needed to RUN
47 libqt5gui5 libpng16-16, libgsl2 liblzo2-2 libgomp1 libqt5multimedia5
48 libqt5multimedia5-plugins libsndfile1 liblzo2-2
49
50packages needed to COMPILE
51 qtchooser qt5-qmake qtbase5-dev-tools qttools5-dev libqt5gui5 qtmultimedia5-dev
52 libpng-dev libgsl-dev libsndfile1-dev liblzo2-dev
53
54Installing packages on Ubuntu, Debian stable (jessie) or Mint:
55sudo apt-get install build-essential qtbase5-dev \
56 qtchooser qt5-qmake qtbase5-dev-tools qttools5-dev libqt5gui5 qtmultimedia5-dev \
57 libpng16-16 libpng-dev libgomp1 libgsl-dev libsndfile1-dev libqt5multimedia5-plugins \
58 liblzo2-2 liblzo2-dev
59
60Compiling from source:
61cd makefiles
62qmake mandelbulber.pro
63make all
64cd ..
65
664.2. Alternative compilation with cmake
67
68note: compilation with cmake is only beta and not feature complete
69
70In order to compile OpenEXR with cmake the ECM should be present
71to install on Debian / Ubuntu:
72sudo apt-get install extra-cmake-modules
73
744.3. Optional packages
75
76TIFF: install libtiff5-dev to have TIFF format support
77EXR: install libopenexr-dev to have EXR format support
78QGAMEPAD: for gamepad support qt is required in version 5.7 and above
79
804.3.2 OpenCL
81
82Mandelbulber can utilize OpenCL to accelerate rendering.
83To compile Mandelbulber with OpenCL support, the headers need to be present.
84To use an OpenCL device you need to install a current driver for the CPU/GPU.
85
86required packages:
87 opencl-headers ocl-icd-libopencl1 ocl-icd-opencl-dev
88
89Compiling from source:
90cd makefiles
91qmake mandelbulber-opencl.pro
92make all
93cd ..
94
954.4 Installation
96
97Run the install script:
98./install
99(This will also run the compilation if program was not compiled)
100
1015. COMPILING development version
102--------------------------------
103
104Get actual code from GitHub:
105git clone https://github.com/buddhi1980/mandelbulber2.git
106
107Install all needed packages to compile the program listed in section 4.1 and 4.3
108
1095.1 Compile the program and install to /usr (/usr/bin, /usr/share...)
110
111Clone git repository
112git clone https://github.com/buddhi1980/mandelbulber2.git
113
114Compiling from source:
115cd mandelbulber2/mandelbulber2/qmake
116qmake mandelbulber.pro (or qmake mandelbulber-opencl.pro for OpenCL version)
117make -j4
118
119installation in the system:
120sudo make install
121
122run:
123mandelbulber2
124
1255.2 Compile and install the program to custom location (example for /usr/local)
126
127Compiling from source. PREFIX specifies where the program will be installed.
128qmake PREFIX=/usr/local mandelbulber-opencl.pro
129make -j4
130
131installation in specified directory:
132sudo make install
133
134run:
135/usr/local/bin/mandelbulber2
136
1375.3 Compile and install the program to custom location and specify custom program
138data directory. SHARED_PATH specifies where the program will look for data files.
139
140Create directory for the program:
141mkdir mandelbulberStandalone
142
143Compiling from source (example):
144qmake SHARED_PATH="/tmp/customDataDirectory" PREFIX=/tmp/mandelbulber mandelbulber-opencl.pro
145make -j4
146
147installation in specified directory:
148make install
149
1506. TESTED ON
151------------
152
153- Debian Buster x64
154- Ubuntu 20.10
155
156- gcc 10.2.1
157- clang 11.0.1
158- msvc17
159
160- Qt 5.15.2
161
1627. USAGE
163--------
164
165The main documentation is the PDF file Mandelbulber_Manual.pdf, which you can
166find in this very folder.
167Also you can open it from Mandelbulber under: [Menu > Help > User Manual]
168A lot of useful information you can find in the tooltips. Just hover with the
169mouse pointer over the edit fields.
170More useful material can be found in the wiki documentation for old
171Mandelbulber (v1) here: http://wiki.mandelbulber.com/index.php?title=Main_Page
172
1738. COMMAND LINE INTERFACE
174-------------------------
175
176The program can be used "headless" from the console. This way the program can
177be integrated in scripts or toolchains and even be run without a x-server
178completely.
179
180Usage: ./mandelbulber2 [options] settings_file
181
182Options:
183 -h, --help Displays this help.
184 -v, --version Displays version information.
185 -n, --nogui Starts the program without a GUI.
186 -o, --output <N> Saves rendered image(s) to this file / folder.
187 --logfilepath <N> Specify custom system log filepath (default is:
188 ~/.mandelbulber_log.txt).
189 -K, --keyframe Renders keyframe animation.
190 -F, --flight Renders flight animation.
191 -X, --never-delete Never delete data, instead Exit CLI application.
192 -s, --start <N> Starts rendering from frame number <N>.
193 -e, --end <N> Stops rendering on frame number <N>.
194 -L, --list Lists all possible parameters '<KEY>' with
195 corresponding default value '<VALUE>'.
196 -f, --format <FORMAT> Image output format:
197 jpg - JPEG format (default)
198 png - PNG format
199 exr - EXR format
200 tiff - TIFF format
201 Legacy formats for still frames:
202 png16 - 16-bit PNG format
203 png16alpha - 16-bit PNG with alpha channel format
204 -r, --res <WxH> Overrides image resolution. Specify as width and
205 height separated by 'x'
206 --fpk <N> Overrides frames per key parameter.
207 -S, --server Sets application as a server listening for clients.
208 -H, --host <N.N.N.N> Sets application as a client connected to server of
209 given host address (Host can be of type IPv4, IPv6 and
210 Domain name address).
211 -p, --port <N> Sets network port number for netrender (default 5555).
212 -C, --no-cli-color Starts program without ANSI colors, when execution on
213 CLI.
214 -q, --queue Renders all images from common queue.
215 -t, --test Runs testcases on the mandelbulber instance
216 -b, --benchmark Runs benchmarks on the mandelbulber instance, specify
217 optional parameter difficulty (1 -> very easy, > 20 ->
218 very hard, 10 -> default). When [output] option is set
219 to a folder, the example-test images will be stored
220 there.
221 -T, --touch Resaves a settings file (can be used to update a
222 settings file)
223 -V, --voxel <FORMAT> Renders the voxel volume. Output formats are:
224 slice - stack of PNG images into one folder (default)
225 ply - Polygon File Format (single 3d file)
226
227 -O, --override <...> <KEY=VALUE> overrides item '<KEY>' from settings file
228 with new value '<VALUE>'.
229 Specify multiple KEY=VALUE pairs by separating with a
230 '#': <KEY1=VALUE1#KEY2=VALUE2>. Quote whole expression
231 to avoid whitespace parsing issues
232 Override fractal parameter in the form
233 'fractal<N>_KEY=VALUE' with <N> being index of fractal
234 --stats Shows statistics while rendering in CLI mode.
235 -g, --gpu Runs the program in opencl mode and selects first
236 available gpu device.
237 -G, --gpuall Runs the program in opencl mode and selects all
238 available gpu devices.
239 --help-input Shows help about input.
240 --help-examples Shows example commands.
241 --help-opencl Shows commands regarding OpenCL.
242
243Arguments:
244 settings_file file with fractal settings (program also tries
245 to find file in ./mandelbulber/settings directory)
246 When settings_file is put as a command line argument
247 then program will start in noGUI mode<settings_file>
248 can also be specified as a list, see all options with
249 --help-input
250