Skip to content

Releases: buddhi1980/mandelbulber2

Mandelbulber v2.08

01 Jul 16:42
Compare
Choose a tag to compare

Together with @zebastian , @mclarekin and @bermarte we have finished new version of Mandelbulber.
Development of this release was focused on implementation of material management and texture mapping. From now there is possible to define many different materials and assign them to fractal and primitive objects, like it is possible in most of 3D modeling applications. Materials can use textures for color, luminosity, diffusion, normal maps and displacement maps. Texture mapping uses bicubic interpolation together with mipmapping.
For fans of 3D printing there is function to export fractal as point cloud (series of images with fractal slices)
There is about 20 new fractal formulas and many new small features, improvements and bug fixes.

What is new?

  • Materials: Added editor for materials as a separate dock
  • Materials: Added real-time preview for edited material
  • Materials: Added Material Manager dock which can be used to select, add, remove, load and save materials
  • Materials: Added selection widgets for materials (with preview)
  • Materials: Added possibility to assign selected materials to fractals and primitives. In boolean mode each fractal can use different material
  • Materials: Added loading and saving materials to separate .fract file
  • Shaders: SSAO and raytraced reflections are enabled by default
  • Shaders: Converted existing shaders to use material data
  • Shaders: Added bicubic interpolation for textures
  • Shaders: Added mipmapping for textures
  • Shaders: Added texture mapping algorithms: planar, spherical, cylindrical, cubic
  • Shaders: Added support for color, luminosity, diffuse, normal map, bump map, displacement map textures
  • Shaders: Corrected calculation of opacity for transparency effect
  • Shaders: Added "flat" mapping for background picture
  • Shaders: Corrected orientation of textures for background and environment mapping
  • Shaders: Fixed bug in FastAmbientOcclusion. Sometimes it generated white points.
  • Shaders: Calculating of normal vector converted from 4 point version to 6 point version which is more symmetrical and accurate. Rendering speed change is mostly not visible.
  • Volume export: added tool (Export Volume Layers) to export fractal shape as images with slices (e.g. to use for 3D printing)
  • SSAO: Much improved quality of Random SSAO effect
  • DOF: Corrected equations for blur opacity
  • DOF: Added multi-pass rendering of second phase
  • DOF: Corrected randomizing algorithm (eliminated stepping)
  • DOF: Added adjustment for blur opacity
  • Added new fractal formulas:
    • Msltoe Toroidal Bulb
    • Riemann Bulb Msltoe Mod2
    • Transform - Surf Fold Multi
    • AboxModKaliEiffie
    • Imaginary scator Power 2
    • Collatz fractal
    • Menger Pwr2 Polynomial
    • Transform - Power2 Polynomial
    • Mandelbox Menger
    • Mandelbulb_Bermarte
    • Mandelbulb_Kali
    • Mandelbulb_Kali_Multi
    • Transform - Rotation Folding Plane
    • Transform - Quaternion Fold
    • Transform - Menger Fold
    • Menger Middle Mod
    • Msltoe Toroidal Multi
    • Amazing_Surf_Multi
    • Mandelbox Menger
  • Fractals: Added checkbox on each formula tab to disable selected formulas in hybrid or boolean mode
  • Fractals: Corrected incompatibility for IFS formula with older settings files.
  • Fractals: Added detection of Not-A-Number results to avoid computation hanging
  • Fractals: Changed 'get Julia constant' behavior. When Julia constant is set, the Julia mode is automatically enabled and image renders.
  • Fractals: After selecting Julia constant, mouse click mode is changed back to "move the camera" mode.
  • Image: Added possibility to save an image as surface normals
  • NetRender: client-server are compatible until major version is the same (e.g. 2.08 will be compatible with 2.08-1)
  • NetRender: now there is possible to connect client during rendering of image
  • NetRender: Updated NetRender to send all textures through the network.
  • NetRender: Fixed bug: - crash - when client version was wrong it cleared message buffer after client was deleted (with message buffer)
  • UI: Added auto-refresh function. There is new checkbox just below RENDER button. This function should be good for experimenting with different fractal parameters, because image will re-rendered automatically when any parameter will be changed.
  • UI: Added image quality presets
  • UI: in preferences dialog now there are two tabs: general, image
  • UI: preferences dialog and animation player now opens only once (bring to front, when already opened)
  • UI: added option to load thumbnail cache from server (mandelbulber.org) which speeds up displaying previews for examples
  • UI: added generate thumbnails option to render thumbnails for all example files
  • UI: improved UI elements for selecting textures
  • UI: in edit field's context menu there are added options: "remove from keyframe animation" and "remove from flight animation". Added icons.
  • CLI: added voxel export as CLI option
  • CLI: added test option
  • CLI: fixed bug: Progress bar was not showed in CLI mode.
  • Animation: the player gets new images from current animation render, as they get saved to the animation folder
  • Animation: notification for keyframe/flight folder does not exist
  • Animation: Fixed problem with not updated interpolation of keyframes after change of parameters. There was missing clearing of interpolator cache.
  • Settings: Added error handling for missing value for any parameter in settings file.
  • Settings: Updated conversion of old settings (v1.21) to be compatible with new materials
  • Settings: Added conversion of settings older than 2.08 to be compatible with new materials.
  • OSX: Changed shared Dir for OSX
  • Performance: optimized access to light sources data
  • Performance: extendedAux now is not an array. It makes rendering of hybrid fractals faster
  • Performance: Added logging verbosity level parameter for WriteLog. This will reduce memory usage caused by log.
  • Performance: Changed refreshing if progress bar to be only when image is updated. This speeds up rendering when main loop is processed by every 10ms.
  • Performance: Added protection against using of partially allocated image (now is more thread safe)
  • Examples: Added animation: hybrid 02 - rectangle hieroglyphs animation.fract
  • Examples: Added example materials
  • Examples: Added example textures
  • Compilation: added CMakeLists.txt to build the project with cmake
  • Compilation: source code cleanup to eliminate cmake, clang and gcc warnings
  • Compilation: cleaned up structure of includes
  • Compilation: program prepared for compilation with MSVC
  • Compilation: switched to Qt 5.6.1

Mandelbulber v2 2.07-1

17 Mar 20:12
Compare
Choose a tag to compare

Fixed bug: crashed on win64/win32 if sub-menu in "View" was de-selected

Mandelbulber v2.07

15 Mar 17:38
Compare
Choose a tag to compare
  • Added new fractal formulas:
    • AboxModKali
    • FoldBoxMod1
    • MengerMod
    • Quaternion3D
    • AexionOctopusMod
    • aboxMod1
    • aboxMod2
    • MandelbulbMulti
    • BenesiPineTree
    • BenesiT1PineTree
    • msltoesym2
    • msltoesym3
    • msltoe Julia Bulb mod2
    • msltoe Julia Bulb mod3
    • msltoesym4
    • msltoe Julia Bulb Eiffie
    • RiemannSphereMsltoe
    • RiemannSphereMsltoeV1
    • amazing surf
    • amazing surf mod1
    • Kalisets1 Mod
    • aboxVS icen1
    • mandelbulb vary power V1
    • Quaternion 4D
    • msltoe donut
    • iq bulb
    • quick dudley mod
  • Added new transforms (pseudo-fractal formulas)
    • addition constant
    • addition constant vary V1
    • add Cpixel
    • add Cpixel Axis Swap
    • add Cpixel CxCy Axis Swap
    • add Cpixel vary Symmetrical
    • add Cpixel vary V1
    • BenesiT1
    • BenesiT1Mod
    • BenesiT2
    • BenesiT3
    • BenesiT4
    • BenesiT5b
    • Benesi cube sphere
    • Benesi sphere cube
    • Benesi mag backward
    • Benesi mag forward
    • box fold
    • box fold XYZ
    • box offset
    • fabs add constant
    • fabs add constant V2
    • fabs add multi
    • fabs add neg
    • iteration weight
    • multiple angle
    • linear combine Cxyz
    • rotation
    • rotation vary V1
    • R^power
    • scale
    • scale vary V1
    • scale 3D
    • sphere InvertC
    • spherical fold
    • spherical power fold
    • spherical offset
    • zVector axis swap
    • addition constant 4D
    • box fold 4D
    • fabs add constant 4D
    • fabs add constantV2 4D
    • iteration weight 4D
    • scale 4D
    • spherical fold 4D
  • Increased number of fractal slots from 4 to 9
  • Implemented optimized (analytic) calculation of estimated distance for hybrid fractals.
  • Added calculation of analytic DE for benesi, bristorbrot, buffalo, fast_mandelbulb_power2, hypercomplex, mandelbulb2, mandelbulb3, mandelbulb4, quaternion, xenodreambuie
  • Added "start iteration" and "stop iteration" numbers on each hybrid formula tab.
  • Added selection for distance estimation method (Preferred / Force DeltaDE)
  • Added selection for distance estimation function (Preferred / Logarithmic / Linear)
  • Added displaying of actual distance estimation method and function
  • Added displaying of "wrong distance estimations" below optimization buttons
  • Added automatic selection of preferred distance estimation function and method for hybrid fractals
  • Added checkboxes to disable constant addition for each fractal formula tab
  • Added 'repeat from' setting for hybrid fractal sequence
  • Display fractal names on fractal tabs
  • Added reset button on each fractal tab to reset fractal parameters
  • Added default bailout values for all formulas
  • Added information box to each formula, where is reference and formula code
  • Added icons to fractal selection combobox
  • Added settings for Julia mode on each fractal tab to be able to render Julia fractals in boolean mode
  • Added swapping of fractal tabs
  • Added many interesting example setting files (at least one for each fractal formula)
  • Removed "extended" formulas. It reduced number of parameters used internally in the program (about 600 less). Now processing of animations is much faster.
  • Added random lights effect (reimplemented from Mandelbulber 1.21 with improvements)
  • Added buttons for automatic optimization of distance estimation factor
  • Modified user interface for rendering engine (grouped into categories)
  • Added support for "sweet spot" rotation (needed for fulldome images)
  • Added several coloring algorithms based on orbit traps calculation
  • Much faster rendering of DOF (better usage of OpenMP). Enabled OpenMP for DOF effect under Windows.
  • Added preliminary pass for DOF effect (much better quality). Now is used focal blur instead of gaussian blur
  • Added HDR version of DOF effect
  • Enhanced toolbar. Icons are rendered in background process. There is possible to change icons size. Changed way of removing icons.
  • Added measurement tool to get pixel 3D position and distance between two indicated points
  • Added copy / paste / reset functions for vectors (in context menu for edit fields)
  • Added TIFF support
  • Improved scaling of 3D cursor
  • Added flight animation countdown for start capture
  • Optimized initialization of fractal sequence (speeds up rendering)
  • Formulas sorted on the list in alphabetical order
  • Added support for 4D parameters
  • Changed corner assignment for docks. It improves UI on low resolution displays when animation dock is displayed.
  • Renamed "Options" tab to "Global parameters"
  • Fixed bug: Wrong frame numbers in "Interpolate next keyframes"
  • Fixed bug: "Interpolate next keyframes" caused application crashing when right clicked in the white space to the right of the keyframe parameters
  • Fixed bug: Found bug in MyGroupBox in slotToggled. It hid all objects also inside widgets. It caused problem with showing them again and could make application hang.
  • Fixed bug: Missing creation of "settings" directory at first program start.
  • Fixed bug: PNG files weren't saved properly when used special chars in filename under Windows
  • Fixed big: mixed slashes and backslashes in filenames under Windows
  • Fixed bug: there was problem with saving settings when lastSettingsFile pointed to file which didn't exist. Then in file chooser in filename edit field appeared full file path.
  • Fixed bug: reset view function sometimes failed
  • Fixed bug: Corrected coloring of translated/rotated objects in boolean mode
  • Fixed bug: sometimes calculation of refractions gave negative results. It caused dark spots on image.
  • Fixed bug: fixed problems with dividing by zero in DE calculation (rendering sometimes hanged)
  • Fixed bug: Camera absolute step mode gave strange step value at application start
  • Fixed bug: Default text color in dark skin was unreadable in Info window
  • Fixed bug: program crashed when at first program start there was used language different than English

Mandelbulber v2.06

01 Dec 18:23
Compare
Choose a tag to compare

What is new?

  • Added Command Line Interface, which allows application to run on headless systems. From simple terminal (e.g. ssh session) it is possible to render still images and animations and also launch NetRender client or server. Full list of available options can be listed using --help option.
  • Added Queue feature to manage collection of settings which can be rendered automatically in background.
  • Added Italian language (thanks to bermarte)
  • Added use of SHIFT button to select between orthogonal or 45 degree strafe in flight animation recording.
  • Added + and - buttons to add or remove fractals from toolbar
  • Added "Add to toolbar" button in preview dialog
  • Added option for SSAO effect to use random directions of simulated rays
  • Added background image brightness control (necessary for HDR option)
  • Double clicking on preview in animation tables starts rendering of chosen frame/keyframe
  • Added function to uniform distance between camera target and camera through entire animation. It makes camera animation smooth.
  • GroupBoxes hide their content when they are not enabled
  • Added Platonic Solid formula
  • Added extended formulas: Menger, Mandelbulb6Beta and Benesi_Transforms.
  • Changed extended formula parameter names to begin with ”transform” and added additional transforms. (Note: V2.05 extended formula parameter files will require editing to be compatible with V2.06,)
  • Changed labels for keyframe numbers to start from zero
  • Collision detection now can be canceled
  • Added option in preferences dialog to disable quit confirmation dialog
  • Fixed bug: Program hanged when clicked too frequent on image or on navigation buttons
  • Fixed bug: 'last frame to render' was zero after loading settings
  • Fixed bug: NetRender often hanged at the end of rendering image
  • Fixed bug: Now NetRender client stops rendering when it looses connection
  • Fixed bug: Corrected number of frames to render in keyframe animation mode. It rendered one additional keyframe at the end.
  • Fixed bug: Some of animation thumbnail weren't displayed properly (random noise)
  • Fixed bug: memory leak in cTexture class
  • Fixed bug: eliminated SEGFAULTs at application quit

About queue tool:
Queue tool allows to render a collection of settings files in the background.
While the list of settings files is being rendered, you can continue to work in the main window and also add more settings to the queue.
Methods to manage queue:

  • by adding items using Add current settings button
  • by editing queue.fractlist file
  • by puting files into queue folder and use button Add orphaned
  • by adding single settings or lists using command line interface
    Temporary settings files are stored in $HOME/.mandelbulber/queue folder and the list is in $HOME/.mandelbulber/queue.fractlist
    The queue can be rendered in another instance of Mandelbulber program, as the queue is shared between applications. You can also launch another Mandelbulber from command line interface with -q option. Then this application will watch queue and render automatically all new items.
    Result images are saved into $HOME/.mandelbulber/images directory (or another if it's specified in application preferences.)

About Command Line Interface:

Usage: ./mandelbulber2 [options] settings_file

Options:                                                                                                                                                                                                     
  -h, --help                  Displays this help.                                                                                                                                                            
  -v, --version               Displays version information.                                                                                                                                                  
  -n, --nogui                 Start program without GUI.                                                                                                                                                     
  -o, --output <N>            Save rendered image(s) to this file / folder.                                                                                                                                  
  -K, --keyframe              Render keyframe animation                                                                                                                                                             
  -F, --flight                Render flight animation                                                                                                                                                               
  -s, --start <N>             Start rendering from frame number <N>.                                                                                                                                                
  -e, --end <N>               Stop rendering on frame number <N>.                                                                                                                                                   
  -O, --override <KEY=VALUE>  Override item '<KEY>' from settings file with new                                                                                                                                     
                              value '<value>'.                                                                                                                                                                      
                              Specify multiple KEY=VALUE pairs by separating                                                                                                                                        
                              with a '#' (KEY1=VALUE1#KEY2=VALUE2). Quote whole                                                                                                                                     
                              expression to avoid whitespace parsing issues                                                                                                                                         
                              Override fractal parameter in the form                                                                                                                                                   
                              'fractal<N>_KEY=VALUE' with <N> as index of                                                                                                                                              
                              fractal                                                                                                                                                                                  
  -L, --list                  List all possible parameters '<KEY>' with                                                                                                                                                
                              corresponding default value '<VALUE>'.                                                                                                                                                   
  -f, --format <FORMAT>       Image output format:                                                                                                                                                                     
                              jpg - JPEG format                                                                                                                                                                        
                              png - PNG format                                                                                                                                                                         
                              png16 - 16-bit PNG format                                                                                                                                                                
                              png16alpha - 16-bit PNG with alpha channel format                                                                                                                                        
                              exr - EXR format                                                                                                                                                                         
  -r, --res <WIDTHxHEIGHT>    Override image resolution.                                                                                                                                                                
  --fpk <N>                   Override frames per key parameter.                                                                                                                                                        
  -S, --server                Set application as a server listening for                                                                                                                                                 
                              clients.                                                                                                                                                                                  
  -H, --host <N.N.N.N>        Set application as a client connected to server                                                                                                                                           
                              of given Host address (Host can be of type IPv4,                                                                                                                                          
                              IPv6 and Domain name address).                      ...
Read more

Mandelbulber v2.05

10 Sep 10:45
Compare
Choose a tag to compare

New in Mandelbulber 2.05:

  • added keyframe animation feature. It is possible to define keyframes and interpolate different parameters between them.
  • added UI for keyframe animation with table where is possible to edit each parameter.
  • implemented different interpolation types for animation: Akima, Catmull-Rom, Linear. Prepared interpolation for angular parameters.
  • added selection of interpolation type for each parameter separately
  • added possibility to animate color palette
  • added saving of animation into *.fract file in CSV format
  • possible to change image format for saving animation frames
  • added exporting of flight animation to keyframe animation and vice versa
  • added camera collision detection before rendering of keyframe animation
  • added tooltips in English, German and Polish languages (a lot of documentation here)
  • added big bundle of example settings files
  • histograms moved to separate dock widget
  • added saving of zBuffer into PNG 16-bit and EXR floating point format (EXR supported only under Linux). zBuffer is normalized and mapped logarithmically
  • added Program Settings dialog
  • added settings for default file paths
  • added JPG quality settings
  • in preferences dialog can be defined which layers (color, zBuffer, alpha) will be attached to saved image and which bit precision will be used
  • UI skin, style and font size can be set in settings dialog
  • added selection of program language in preferences dialog
  • added render statistics table (under histograms)
  • improved placement of auxiliary lights
  • added auto-recovery function (possible to recover work after application crash)
  • added experimental gamepad control for recording flight animations (actually works under Linux with Qt5.5)
  • added 'GeneralizedFoldBox' formula
  • added 'Mandelbulb5' formula (much extended Mandelbulb formula)
  • added 'Mandelbox - extended' formula
  • added 'Quaternion - extended' formula
  • Added 'bailout' parameter to be able to change escape condition fractal iteration loop. By default for deltaDE it was 1e10, but lower value increases rendering speed even 5 times without loosing quality.
  • added weight function for hybrid fractal components. On each fractal tab there is setting for weight (only available when hybrid mode is enabled).
  • constant multiplier parameter changed to 3D vector type
  • improved importing old settings from Mandelbulber 1.21
  • increased precision of some QSpinBox edit fields
  • optimized reset view function (now is 100x faster!)
  • added UNDO and REDO buttons below RENDER button
  • increased view_distance_max to 50.0 for all toolbar presets
  • increased view_distance_max calculated by ResetView function
  • added new example files (also with animations)
  • added loading/saving setting from/to clipboard as text (possible to copy/paste settings on community forums)
  • added x2 :2 buttons for increase/decrease image resolution
  • named Threads to monitor cpu / mem / ... by thread
  • fixes issues with compatibility witch clang
  • fixed bug: corrected problems found by Coverity Scan
  • fixed bug: transform function for primitive objects didn't affected repeat operator
  • fixed bug: alpha channel was always blank
  • fixed bug: many typos corrected
  • fixed bug: animation player crashed when in animation folder were non-image files
  • fixed bug: program crashed when attempted to edit text in preview cell in Animation Flight table.
  • fixed bug: program didn't consider locale settings for decimal points
  • fixed bug: render of main image could start multiple times after frequent clicks on RENDER button
  • fixed bug: Added waiting for all clients to be ready. It's needed for animation rendering, because sometimes client is not enough fast to take new job
  • fixed bug: when rendering of animation was stopped there was saved incomplete image
  • fixed bug: if QColorDialog was closed by 'Cancel' button it also took color and updated button color.
  • fixed bug: if camera and target had the same coordinates, it produced NaN values for camera angles and top vector
  • fixed bug: default value of color was repeated many times in MyColorButton tooltip

mandelbulber 2 05

Mandelbulber v2.04

09 May 07:04
Compare
Choose a tag to compare

New in Mandelbulber 2.04:

  • added ray-traced transparency and Fresnel's refraction
  • added NetRender - rendering of the same image or animation on multiple machines over the TCP/IP network (Internet, local LAN).
  • shading of DOF parallelized via OpenMP (leverages shading time roughly about 1/3 on an 8 core CPU) - works only under Linux
  • added boolean functions for fractal formulas
  • added transform functions for fractal formulas (useful for boolean operations)
  • added several fractal formulas
  • added box and spherical folding
  • more ergonomic layout for IFS formula
  • added log window (information dock)
  • added histogram view
  • application settings are saved when application is shut down
  • fixed bug: saved jpeg images where corrupted when width was not multiply of 4
  • fixed bug: there was noise when "stop at maximum iteration" mode was enabled
  • source code repository moved to http://github.com/buddhi1980/mandelbulber2
  • fixed bug: corrected calculation of coordinates of 3D cursor when there was used 3-point perspective