Version history

v2.16 (December 2018)
- Added new fractal formulas
   mandelbulbAbsPower2
   mandelbulbPow2V2
   riemannSphereMsltoeV2
   aboxSurfBox
   boxFoldBulbMenger
   vicsek
   transfSurfBoxFoldV2
   transfSurfBoxFoldV24d
- UI: Added rotation of the camera by mouse dragging (left mouse button)
- UI: Added rotation of the camera around indicated point by mouse dragging (right mouse button)
- UI: Added roll of the camera by mouse dragging (middle mouse button)
- UI: Added moving of the camera by mouse dragging (left+right mouse buttons)
- UI: Added selective loading and saving of settings. Each dock and tab has own load/save buttons
- UI: Several improvements of popup sliders (addded "-" button, corrected handling of negative numbers and zeros)
- OpenCL: fixed problem with loading OpenCL ICD under Windows with newest NVidia drivers (missing OpenCL platforms)
- OpenCL: Preselect 1st GPU device in preferences when open for the first time
- OpenCL: corrected loading of setting for selected OpenCL device
- OpenCL: corrected changing of active GPU device during runtime
- OpenCL: added error handling for missing or wrong selection of GPU device
- OpenCL: added "Job size multiplier" option which can speed up rendering
- OpenCL: Reduced inlining of CalculateFractal and CalculateDistance. Calculation of fractals with DeltaDE is about twice faster. Compilation of OpenCL kernels with DeltaDE is also much faster.
- File: Implemented optional specular image channel and saving in separate image file
- UI: fixed bug: Corrected error messages which could cause program crashes
- UI: added context menu for all comboBoxes
- Shaders: Volumetric light from maim light source was visible when this light was disabled
- Compilation: win32 platform is no longer supported

v2.15 (November 2018)
- Added new fractal formulas
   aboxModKaliV3
   scatorPower2Real
   scatorPower2
   scatorPower2StdR
   transfSinOrCos
   transfSinAndCos
   transfSinAndCosMax
   transfBlockify BETA
   transfAddCpixelScator
   transfAddCpixelSinOrCos
- OpenCL: Changed default OpenCL mode to "full"
- OpenCL: implemented texture mapping color
- OpenCL: implemented texture mapping luminosity
- OpenCL: implemented texture mapping diffusion
- OpenCL: implemented normal maps
- OpenCL: Implemented normal maps based on greyscale bump maps
- OpenCL: Implemented displacement maps (also 16-bit depth)
- OpenCL: added bicubic interpolation for textures
- OpenCL: added Fractalize Texture effect.
- OpenCL: implemented GPU accelerated mesh export.
- OpenCL: implemented GPU accelerated voxel export.
- OpenCL: added suggestion for memory limit in OpenCL tab. Information is based on CL_DEVICE_MAX_MEM_ALLOC_SIZE
- OpenCL: fixed bug in background shader. Background brightness parameter was not used
- OpenCL: eliminated differences in shadow calculation between CPU ond OpenCL code. There was a difference in brightness when detailLevel <> 1.0
- OpenCL: optimized compilation of OpenCL programs when textures or primitives are used. It can increase available OpenCL max workgroup size
- OpenCL: fixed bug: There was difference in background brightness OpenCL versus CPU
- Fractals: improved color compatibility between c++ and openCL
- Fractals: restructured analytic functions to provide flexibility in Hybrid Mode.
- Fractals: improved calculation of mixed type hybrid fractals. Rendering is much faster and better quality. Now there is used analytic distance estimation if all used formulas have analytic DE functions. 
- Fractals: fixed bug in repeat function used in boolean mode
- Shaders: added Monte Carlo Global Illumination effect
- Shaders: added Monte Carlo Chromatic Aberration effect for camera lenses and transparent objects
- Shaders: added Monte Carlo soft shadows
- Shaders: added Monte Carlo anti-aliasing (enabled when Monte Carlo effects are used)
- Shaders: optimized noise estimation for MC algorithms. Noise is not overestimated in very bright spots
- Shaders: added option to have all random lights in one color
- Shaders: added maxIterationTrim parameter for iter fog
- Shaders: added option to disable shadows for iter fog
- Shaders: added option to change distance of volumetric fog from fractal surface
- Shaders: implemented improved specullar reflections which allows to rendered metallic surfaces covered with lacquer
- Shaders: corrected texture mapping in Global Illumination algorithm
- Shaders: optimized rendering of random lights (about 10 times faster)
- Shaders: fixed bug: Program crashed when post effects were updated just after image size change
- Shaders: fixed bug: main light source was visible when was disabled
- UI: added loading of textures directly from Internet (by providing URL instead of local file path)
- UI: corrected FileSelectWidget to show textures loaded from Internet
- UI: corrected refreshing of PreviewFileDialog (button Add to presets was visible only after preview was rendered)
- UI: increased initial progressiveSteps for faster previews
- UI: fixed issue of pressing "M"-button causing alert dialog loop
- UI: changed Generate button in preferences dialog to recreate cache for all examples files and all files from settings folder.
- UI: reduced quality of MC effects in thumbnails to speed up rendering of previews
- UI: fixed bug: program hanged when light was placed behind floor object
- UI: fixed bug: program hanged when 'render' was clicked while random lights were being placed.
- UI: fixed bug: program crashed when non-existing material was assigned to any object
- UI: fixed problems with loading textures from https pages
- UI: cleaned up MC effects - possible to enable without DOF
- Image: corrected interpolation of image preview - shifted by half of pixel
- Settings: save image_proportion to fract-settings file
- Mesh export: corrected calculation of limits in Mesh Export. The object had holes on the sides (on cutting planes). It caused problems with slicing on 3D printing software.
- Mesh export: Fixed problems with saving extremely big meshes
- Files: Corrected saving of EXR images (was used 16-bit buffer instead of floating point)
- Compilation: program checked and cleaned up with clang-tidy
- Compilation: Used QScopedPointer and QSharedPointer in many classes
- fixed compile problems on older qt versions

v2.14 (June 2018)
- Added new fractal formulas:
   mandelboxVariable
   boxFold4dBulbPow2
   aboxModKaliV2
   transfPolyFoldSym
   transfPolyFoldSymMulti
- Fractals:
   transfOctoFold & transfMengerFold, now work with analytic logarithmic DE
   imaginaryScatorPower2 fixed r calc
   benesiT1PineTree & benesiPwr2Mandelbulb. Added 2nd rotation (for animation)
   amazingSurfMod2 fixed comboBox

- OpenCL: implemented primitive objects
- OpenCL: implemented Boolean operators for fractal formulas
- OpenCL: implemented multiple materials
- OpenCL: implemented background texture mapping
- OpenCL: improved quality of DeltaDE algorithm in OpenCL kernel
- OpenCL: added option for fast_relaxed_math (speed up rendering by 20-50%)
- OpenCL: optimized image refreshing (improved GPU utilization)
- OpenCL: "limited" engine renamed to "medium"
- OpenCL: "medium" engine don't render volumetric effects (to be much faster than "full")
- OpenCL: Changed max estimated distance to 5.0 (was 1.0). It caused wrong rendering of background
- Shaders: Corrected SSAO random mode. It couldn't work properly with precomputed sin/cos
- Shaders: Now there is possible to use soft shadows when limits are enabled
- UI: enhanced controls for limits (bounding box) definition
- UI: corrected number of decimal places in fractal UIs
- UI: key presses regarding navigation will fire every 300ms while pressed to enable continuous movement
- UI: multiple keys can be pressed at the same time
- UI: increased max value of audio_trak_collection parameter additionFactor to 65535
- UI: optimized refreshing of image preview (used simple scaling during rendering)
- UI: New navigation mode which uses ctrl + mouse wheel
- UI: changed keyboard layout to more comfortable (more like in 3D games)
- UI: added HotKeys Cheatsheet
- UI: Added hotkeys for keyframe handling
- UI: fixed bug: slider popup window appeared in wrong place when dock was detached
- UI: renamed "Preferred" to "Automatic" in selection for distance estimation method
- UI: fixed bug: it was not possible to load toolbar presets when they were being refreshed at application startup
- UI: Added autoResize to NetRender table. It was much to wide.
- UI: Mouse wheel now only zooms, when ctrl is pressed otherwise the mouse wheel event only scrolls the render window
- UI: Fixed problem with missing qGamePad slot
- UI: Eliminated annoying flickering of UI when settings without animation was loaded
- Animation: implemented animated textures
- Animation: Fixed bug: use of mouse click or mouse click caused crashes when animation was rendered or recorded flight path
- Examples: updated standard preset settings
- CLI: queue now shows a waiting spinner, while waiting for something to do
- CLI: linux and MacOS now detect if output is a terminal or a file. When it is a file, the output is plane text without ANSI escape codes
- Compilation: configured CircleCL to create MacOS builds

v2.13-2 (April 2018)
- UI: fixed bug: using mouse wheel on spinbox with dial could cause program crash

v2.13-1 (April 2018)
- Mesh Export: Fixed bug: Mesh Export didn't provide cMaterial data. It caused crash when fractal color was calculated
- OpenCL: SSAO used double precision constants and variables

v2.13 (March 2018)
- Fractals: renamed all fabs() to abs() in all formula UI
- Fractals: cleaned up all fractal formula UIs
- Added new fractal formulas:
  * Amazing Surf - Mod2
  * Transf Add Constant Mod1
  * Transf Add Cpixel Rotated
- UI: Added pop-up sliders for all edit fields
- UI: Added buttons (x2, /2, round, R, 0) attached to pup-up sliders
- UI: Removed existing sliders from UI
- UI: Cleaned up all UIs to reduce width of widgets and frames
- UI: GroupBoxes are colored
- UI: Added 3D compass in image window
- UI: Corrected calculation of 'max' in statistics window
- UI: Added editable presets for image resolution
- UI: Optimize DE multiplier now doesn't use OpenCL, so works properly when OpenCL is enabled.
- UI: Added button to calculate constant distance threshold
- Image: Added saturation control for rendered image
- Shaders: Value of background brightness controls also gradient of background
- Shaders: Added option for 1-color background
- Shaders: Fixed bug in IterFog shader for auxLights. Intensity of effect was wrongly multiplied by 100
- Shaders: Added parameter iterFogBrightnessBoost to keep compatibility with version <= 2.12
- Shaders: Corrected algorithm for calculation of shadows opacity in IterFog mode. Now the algorithm is the same as opacity calculation in volumetric shader.
- Shaders: Added option for metallic surface in material definition. It makes specular highlight in the same color as surface color.
- Shaders: Added iridescence effect
- Shaders: Fixed problem with different brightness of left and right image in stereoscopic mode. There was wrong calculation of perspective in SSAO algorithm
- Shaders: Implemented texture mapping based on orbit traps ('Fractalize texture' option). Not implemented in OpenCL yet.
- Shaders: Added 4D orbit trap color (BETA)
- Shaders: Added Color By Numbers (BETA)
- Primitives: Added option for water shape depending on another objects
- Primitives: Added button to align primitive object rotation angle to actual camera rotation angle.
- Animation: Added displaying of camera, target and lights paths in image window
- Animation: Added information about actual camera distance to selected keyframe. It is displayed in Animation dock.
- Settings: Fixed problem with loading animation where is used parameter fractal0_mandelbox_color_R
- Settings: Added reverse compatibility for mandelbulber.ini. Now older version can be run without damaging application settings.
- Files: fixed double dot in output filename. Filenames with no file extension were expanded to have two dots before the suffix
- Files: Corrected image file extensions generated by render queue
- OpenCL: fixed problem with rendering fractals with more than 250 iterations
- OpenCL: Added option to disable OpenCL compile cache (used by NVidia driver)
- OpenCL: SSAO uses precomputed (co)sine buffer - faster rendering
- OpenCL: Implemented option for random SSAO
- OpenCL: Fixed bug in IterFog shader. It didn't work properly with increased detail level or decreased DE factor
- Performance: Disabled OpenMP for updating image preview. It sometimes caused long lags at program startup or during rescaling of main window. It happened mostly when system was already loaded by another computing application.
- Performance: Fixed bug causing casual freezes of image refresh and progress bar. There was direct call of cRenderedImage->update() method which is not thread safe.
- Performance: Added bad_alloc handling to mesh export
- Performance: Fixed many issues showed by Coverity Scan
- Examples: Standardize image resolution for all examples (fullHD or 1600x1200)
- Examples: Added several example settings
- Compilation: Generalized code for OpenCL engines
- Compilation: win64 version updated to use Qt 5.9.4

v2.12-1 (December 2017)
- OpenCL: fixed bug in shader for auxiliary light sources. There was wrong color of specular reflections
- Documentation: Added missing chapter about OpenCL

v2.12 (November 2017)
- OpenCL: Added listing of available OpenCL platforms and devices
- OpenCL: Added querying of OpenCL platforms and devices properties
- OpenCL: Added selection of OpenCL platform and device in Preferences dialog
- OpenCL: Added populateOpenCL.php to autogenerate some opencl header files
- OpenCL: populateUiInformation.php autogenerate OpenCL fractal formula code based on C++ code
- OpenCL: Converted all fractal formulas to OpenCL code. Formulas are stored in formula/opencl folder
- OpenCL: Fractal formulas chosen are loaded as separate files
- OpenCL: Applied hybrid sequence to ComputeFractal()
- OpenCL: Added distance estimation functions (logarithmic, linear, pseudoKleinian)
- OpenCL: Added deltaDE distance estimation algorithm
- OpenCL: Added macros to call all fractal formulas in iteration loop according to hybrid sequence
- OpenCL: Added Julia mode
- OpenCL: Implemented detailLevel, iterThreshMode, interiorMode, smoothness
- OpenCL: Added rendering engines:
  * fast - very simple and fast shader. No effects.
  * limited - most of effects, except reflections and refractions
  * full - with branched ray marching - all effects
- OpenCL: Implemented usage of material #1
- OpenCL: Added shader for angle of incidence of lights 
- OpenCL: Added soft shadows for main light source
- OpenCL: Added specular reflections
- OpenCL: Added all coloring functions
- OpenCL: Added background shader (excluding textured background)
- OpenCL: Added "Fast Ambient Occlusion" shader
- OpenCL: Added ambient occlusion with "multiple rays with light map"
- OpenCL: Added "slow" calculation of normal vectors
- OpenCL: Added Screen Space Ambient Occulsion (SSAO)
- OpenCL: Added shaders for auxiliary light sources and random lights
- OpenCL: Added "glow" effect
- OpenCL: Added "visible lights" effect
- OpenCL: Added "volumetric lights" effect
- OpenCL: Added "iteration fog" effect
- OpenCL: Added all perspective types to opencl code (three point, equirectangular, fish-eye, fulldome)
- OpenCL: Added Monte Carlo DOF effect with statistical noise control
- OpenCL: Added custom DE step multiplier for volumetric effects
- OpenCL: Added DOF post effect based on Z-Buffer
- OpenCL: Added sweet spot rotation (e.g. needed for full dome)
- OpenCL: Added processing of alpha channel
- OpenCL: Added Box and Spherical folding to OpenCL code (compatibility with Mandelbulber 1.21)
- OpenCL: Rendered tile selection based on center distance ascending. This makes the rendering reveal the image from the center outwards as smoothly as possible
- OpenCL: Kernels are recompiled only when dynamic code is changed
- OpenCL: Added handling of most of OpenCL errors
- OpenCL: Added low limit for distance threshold (1.0e-6) to avoid significant numeric errors
- OpenCL: Added mutex mechanism to protect against concurent rendering using OpenCL by many rendering threads (image, previews, thumbnails)
- OpenCL: Added marker for current pending tile
- OpenCL: CLI mode prepared for rendering with OpenCL
- OpenCL: designed a way to load OpenCL header files on different OpenCL platforms (nVidia, AMD, Intel...)
- OpenCL: Added checking of GPU memory resources and compare with mem limit setting in preferences dialog. If there is not enough memory, effects are rendered using CPU.
- OpenCL: Added BAT script to disable TDR in graphics driver (timeout protection)
- OpenCL: CL_DEVICE_TYPE_ACCELERATOR supported for k1om (x100 Xeon PHI Co-processor)

- Added new fractal formulas:
  * Jos-Kleinian
  * mandelbulbQuat
  * mandelbulbJuliabulb
  * aboxMod12
  * quaternionCubic4d
  * boxFoldBulbPow2V2
  * boxFoldBulbPow2V3
  * aboxMod13
  * boxFoldQuat
  * transfScaleVaryMulti
  * transfBoxFold4dTglad
  * transfSphericalFoldCuboid
  * transfSphericalFoldXYZBias

- Updated fractal formulas
    a record of updates and changes to formulas can be seen in fractal_list.hpp
    a brief summary:
  * with some formulas the vary_scale function has been added, modified or changed,
  * aboxMod2 had major corrections,
  * aux.color has been implemented in more transforms

- Fractals: All fractal formulas converted to 4 dimensional vectors. Backward compatibility has been maintained
- Fractals: Standardized interface for all fractal formula functions
- Fractals: Used function pointers to call functions for fractal formulas. This reduced the complexity of ComputeFractal(). Assignment of fractal functions are made in fractal_list.cpp
- Shaders: Corrected calculation of shaders when "minimum view distance" is reached.
- Shaders: Added soft shadows for auxiliary lights
- Shaders: Added parameter to define color of "fake light sources" (lights based on orbit traps)
- Shaders: Corrected algorithm for orbit trap lights (surface shader)
- Shaders: RayRecursion algorithm partially converted from recursive to iterative - compatible with OpenCL
- Shaders: Optimized multi-ray ambient occlusion in Monte Carlo mode.
- Shaders: Added "DOF_max_radius" parameter to limit maximum blur radius.
- Animation: updated code to use OpenCL rendering
- Animation: increased animation frame range. The old limit was 99999, which is less than an hour of 30 fps frames. The new limit is 9999999, which is just more than 24 hours of an 100 fps video.
- Animation: fixed images deletion of keyframes / flight
- AnimBySound: sound files can be loaded directly from Internet (if specified path starts from http://)
- UI: Added auto-refresh period parameter in preferences dialog
- UI: png, tiff and exr save with progress bar on each channel
- UI: fix png16 and png16alpha save with double .png extension
- UI: formula ui changed most of iteration max from 250 to 999
- UI: standardized color picker for all OS
- UI: Fixed bug: pasting Julia values crashed mandelbulber
- UI: Changed sequence of startup. Now toolbar icons are refreshed after all other initializations of the program.
- UI: Added new color themes for main window
- Queue: Fixed problem with ignored settings of maximum number of threads and thread priority when queue was rendered
- Gamepad: corrected gamepad selection when many devices are connected
- NetRender: display server name in client on connection
- Voxel export: corrected limits (bounding box) for Mesh Export (there was swapped x and y)
- Voxel export: Corrected Mesh Export. Voxel size in each axis has to be unified to calculate correct faces and normal vectors. Now there is only "resolution" parameter which specifies resolution in the longest axis (depends on limits)
- CLI: Added example output path to benchmark. Now the benchmark can optionally put the renders of the example renders into a folder, when this folder has been specified with the -o/--output cli option.
- CLI: Added options for OpenCL configuration
- CLI: Benchmark renders all 300+ examples
- CLI: Benchmark enabled with for OpenCL with 24 hour test timeout.
- CLI: Benchmark generates detailed log output for each rendered example.
- Settings: enumerative fields are saved as names
- Compilation: UI files for fractal formulas moved to formula folder
- Compilation: *.pro files moved to qmake folder
- Compilation: Added mandelbulber-opencl.pro file
- Compilation: MSVC solution updated for OpenCL
- Compilation: MSVC solution includes OpenCL ICD Loader binaries for system compatibility
- Compilation: MSVC solution is fully functional and compatible with Visual Studio 2017
- Compilation: MSVC build is now default for Windows version
- Compilation: Included MSVC redistributable in Build Package
- Compilation: new windows installer (Install Jammer was no longer supported)
- Compilation: Implemented CLEW for mingw builds
- Compilation: added SHARED_DIR_IS_APP_DIR for AppImage. Allows shared data at the same location as the application, when defined at compile time, this can be used for AppImage packaging
- Compilation: updated prepare_for_*.sh scripts
- Compilation: documentation files moved to /usr/share/doc/mandelbulber
- Compilation: CMAKE build refactored and updated.
- Performance: fixed many issues showed by CoverityScan
- Documentation: Added chapter about OpenCL

v2.11-1 (May 2017)
- Queue: fixed bug: program crashed when mouse cursor was over preview widget in queue dock

v2.11 (April 2017)
- Fractals: cleaned up names of fractal formulas
- Fractals: corrected MixPinski code
- Fractals: corrected Menger4D and Menger4D Mod1 code
- Fractals: corrected Abox - Mod1 and Abox - Mod2 code
- Fractals: upgraded the reset button on fractal tab. It now also resets iteration number and range, weight, add global C constant and check for bailout conditions
- Fractals: Updated final calculation for pseudo kleinian hybrid mode
- Fractals: Updated transform Spherical fold 4D
- Fractals: Updated Menger Cross KIFS
- Fractals: Added linear_DE_offset parameter for fine tuning of distance estimation of IFS-like formulas
- Fractals: new formulas:
  * Pseudo Kleinian - Mod 2
  * Mandelbulb - Multi2
  * Abox - Mod 11
  * T>Parab Fold
  * T>Scale Vary Abox
  * T>Spherical Fold CHS
  * T>Spherical Fold Parab
- Shaders: added rotation and scale of background texture
- Shaders: added background texture offset sliders
- Shaders: added HDR blur post-effect. This is a soft blur which can improve quality of Monte Carlo DOF effect or can be used as a standalone effect.
- Shaders: now all effects (including SSAO) are rendered using floating point image buffers (better HDR quality)
- Shaders: image brightness, contrast and gamma can be corrected without re-rendering of SSAO and DOF
- Shaders: Removed redundant HDR DOF option (now DOF is always rendered as HDR)
- Shaders: Optimized Monte Carlo DOF algorithm (50% faster). Now it uses statistical noise estimation to determine the number of needed samples.
- Shaders: Fixed bug in algorithm for reflection calculation
- Image: Added full screen antialiasing to the rendering algorithm
- Image: Added the option to save stereoscopic left and right eye, in separate image files.
- Image: Improved quality of ray-marching without any noticeable impact on rendering time. Now the distance threshold is calculated 10 times more accurately.
- UI: added the option to detach rendered image from main window. It allows for the use of two displays.
- UI: font sizes and widget sizes adapts to screen DPI and size. User interface is displayed properly on 4K high DPI displays.
- UI: Added dialog box for hybrid/boolean fractals. When any tab is selected with index > 1, then a message appears with the option to enable hybrid or boolean fractals.
- UI: detached rendered image can be displayed in full screen mode
- UI: added the option to display thirds and golden ratio grid
- UI: formulas can be searched in formula combobox
- UI: added recent settings in File menu
- UI: Added the option to place the light source behind the object
- UI: corrected colors in list of connected NetRender machines. Will now be properly displayed with dark skin.
- UI: Cursor now displays correct camera movement modes.
- UI: Material tab only appears when another material is selected.
- UI: Fractal tab renamed to Objects
- UI: There was a memory alignment problem which caused damaged toolbar icons (when width was not a multiple of 4)
- CLI: added CLI support for mesh export
- NetRender: added lzo compression (saves about ~60-70% of network bandwidth)
- NetRender: fixed reconnection issue while lookup of host (mostly with very fast Ethernet connection or localhost)
- NetRender: Program (client) crashed when connection was lost.
- Voxel export: Mesh export uses much less memory.
- Voxel export: Parallelized mesh export. Now it uses all CPU cores, so it's much faster
- Voxel export: Optimized mesh export. Voxels are pre-calculated before meshes are calculated. Calculation speed is 8 times faster.
- Voxel export: Inverted orientation of faces. Now orientation of mesh export points outwards of the object
- Voxel export: implemented binary format 
- Voxel export: implemented color save for ply meshes
- Voxel export: Initialize k1om Offload feature (preview)
- Voxel export: size of meshes now is not limited (only limit is available RAM memory)
- AnimBySound:  Frequency band can be selected using mouse pointer
- AnimBySound: added the option to export keyframe animation with AnimBySound to Flight animation, where it is possible to edit every frame and save all frames to settings file.
- AnimBySound: added accept button to AnimBySound dialogue 
- Animation: fixed bug: There was observed a problem where checking for collisions ("Validate") showed collisions even after they were eliminated.
- Animation: corrected frame numbering on progress bar
- Animation: added frame number by keyframe number in animation table
- Examples: Added several example settings
- Examples: Added example flight animation with audio synchronization
- General: Corrected saving of window state. It was saved as "Unknown organization"
- General: Added FilePathHelper to look for missing texture or sound files in several predefined paths
- Performance: Added icon cache in FormulaComboBox. Starting of application is faster
- Performance: fixed many issues showed by CoverityScan
- Compilation: Fixed many warnings showed by clang
- Compilation: Update MSBuild Solution and NUGETS for Native Windows Build
- Documentation: added section about processing of iteration loop
- Documentation: added section about hybrid fractals
- Documentation: added section about interpolation
- Documentation: added section about flight animation
- Documentation: corrected section about camera movement
- Documentation: edited chapter about NetRender
- Documentation: corrected styles and cleaned up document structure
- Documentation: added index

v2.10 (February 2017)
- AnimBySound: Added option to animate any parameter using sound wave (added "Anim By Sound" buttons in animation table)
- AnimBySound: Added dialog window to load and setup AnimBySound feature
- AnimBySound: Added views for waveform, fft and animation generated from sound
- AnimBySound: It is possible to load wav, ogg, flac (all operating systems) and mp3 (Linux only)
- AnimBySound: Added binary, decay and smooth filters for animation generated from sound
- AnimBySound: Added sound player
- Settings: added description field for fractal settings
- Settings: fixed bug: there was not possible to load settings saved with CR+LF line terminations
- Settings: material #1 was not saved properly to settings file when was previously loaded using "Load material..." option.
- Added new fractal formulas:
  * Menger - Prism Shape2
  * MixPinski 4D
  * Sierpinski 3D
  * Sierpinski 4D
  * Menger 4D
  * Menger 4D Mod1
  * Menger - Smooth
  * Menger - Smooth Mod1
  * Menger - Octo
  * Abox 4D
  * Transform - SurfBoxFold
  * Transform - Octo Fold
  * Transform - ScaleVaryVCL
  * Transform - Spherical_Fold_VaryVCL
  * Transform - Add exp2(z)
  * Transform - Reciprocal3
  * Transform - Reciprocal 4D
  * Transform - Rotated Folding
  * Transform - FabsAddConditional
  * Transform - Reciprocal 4D
  * Transform - FabsAddConditional 4D
  * Transform - Spherical_OffsetVCL
  * Transform - Rotation 4D
- Fractals: Various updates, fixes and enhancements to existing formulas and transforms
- Fractals: fixed bug: after swapping of formula slots, the Mandelbulb formula appeared on random slots.
- German translation for all formula UIs
- Shaders: in some cases there was wrong calculation of object colors in boolean mode
- Shaders: fixed bug in DOF algorithm which could cause crashes
- Animation: Improved gamepad integration for flight animations
- Animation: Added image with gamepad keymap (tooltip)
- Animation: there is displayed correct message when first frame was equal to last frame
- Animation: increased maximum value in frames per keyframe spinbox to 10000
- Animation: fixed bug: there was possible to get different interpolation type (random one) for each frame
- Animation: fixed bug: check for collision showed false messages even if errors were already corrected
- Materials/Animation: fixed bug: program crashed with animation, when there was an added parameter from material which was previously loaded using "Load material" button
- Materials/Animation: fixed bug: program crashed with animation, when there was an added parameter from material which was previously edited using dialog called by Edit Material button
- UI: Image quality settings added to file selector for images
- UI: Corrected resolution lock function
- UI: auto-refresh is now disabled when brightness, gamma, contrast or HDR is changed
- UI: added information in fractal formula information box about examples which use the formula
- UI: changed and added more keyboard shortcuts for camera navigation
- UI: fixed bug: When the group box of primitives was saved and then loaded the group was always enabled
- UI: when dark theme is used then text color in animation table is always black
- UI: added Dutch language
- UI: added options to store/restore different layouts (states) of docks
- UI: navigation dock is locked when flight is being recorded
- UI: fixed bug: When boolean mode was selected, the displayed DE type was displayed as "DE unknown"
- UI: fixed bug: Refreshing of DOF and image adjustments now is blocked during rendering of image
- Voxel export: added automatic calculation of bounding box
- Voxel export: Added ability to export 3D meshes in *.ply format
- General: changed data folder from .mandelbulber (hidden) to mandelbulber (not hidden)
- General: changed default folder for animation frames to ~/mandelbulber/animation
- General: fixed bug: Wrong file names when contained dot
- CLI: added stdin input for CLI arguments
- CLI: added --benchmark option which calculates total time needed to render all examples in low resolution
- Performance: fixed several memory leaks
- Performance: eliminated crash reason: added Added QMutexLocker() to all getters and setters for in cParameterContainer class.
- Performance: Animation player widget caused crashes when frames were deleted from image folder
- Documentation: Added help menu with user manual (beta version)
- Examples: Added many example settings with most of new formulas.
- Compilation: main window UI file divided onto several smaller UIs, this has improved compilation performance
- Compilation: used a lot of forward declarations to reduce compilation time
- Compilation: code is now fully compatible with msvc
- Compilation: created solution file for msvc14 with all needed NuGet packages
- Compilation: configured Appveyor to test msvc++ builds
- Compilation: a lot of cleaning up of the code
- Compilation: much improved populateUiInformation.php script
- Compilation: added export CXXFLAGS="-march=native to install script

v2.09-3 (November 2016)
- Settings: Fixed bug in function which adds missing material no. 1 during loading settings. When material no. 1 was default, this material was not created on parameter list.
- Image: fixed bug: when output image was bigger than 2GB, then saving of PNG and TIFF images was corrupted

v2.09-2 (October 2016)
- Corrected calculation of stereoscopic effect for equirectangular projection. There was wrong perception of depth for farthest objects located on the rear of the camera.

v2.09-1 (October 2016)
- Image: fixed bug: in stereoscopic top-bottom mode there were swapped left and right eye
- Image: fixed bug: in stereoscopic top-bottom mode first line of image was incorrect
- Shaders: fixed bug: corrected calculation of flat background. There was possibility of division by zero.
- UI: fixed bug: when stereoscopic mode was enabled, then thumbnails size was incorrect. 

v2.09 (October 2016)
- Image: Added stereoscopic rendering for all perspective types including equirectangular and fulldome
- Image: Added support for red/cyan glasses (anaglyphs), so now it's possible to explore fractals with 3D glasses.
- Added new fractal formulas:
  * Menger - Prism Shape
  * Benesi Mag Transforms
  * Transform - Folding Tetra3D
  * Pseudo Kleinian stdDE
  * Pseudo Kleinian
  * Pseudo Kleinian Mod1

- UI: added option to synchronize changing of image resolution with fractal detail level
- UI: Increased number of decimal places for many edit fields in fractal formulas
- UI: Added preview for Julia constant
- Fractals: Enhanced controls for colors in several formulas
- Fractals: Implemented initial w-axis value for 4D fractals
- Fractals: Corrected logic for maxiter in ray-marching algorithm. Now distance threshold has higher priority than maxiter.
- Fractals: Added second bailout condition which detects convergent sequence of z
- Fractals: Added "Delta DE pseudo kleinian" distance estimation function
- Shaders: Added Monte Carlo algorithm for DOF effect
- Shaders: There was wrong calculation of auxiliary lights intensity
- Shaders: Corrected calculation of displacement maps for first fractal in boolean mode
- Shaders: Added support for 16-bit depth PNG textures
- NetRender: Corrected sending information to server about ready state. Sometimes when animation was rendered, the served didn't wait until all clients finishes their jobs. .
after rendering is finished
- Settings: added description field to settings files.
- Performance: In DOF there is changed OpenMP parallel loop to use dynamic scheduling (much better utilization of CPU cores)
- Performance: optimized isNaN checking by usage gsl implementation
- Performance: Added setting for limit of used CPU cores in preferences dialog
- Performance: Added threads priority settings in preferences dialog for WIN32 version
- Compilation: Added scripts which pulls development version of Mandelbulber from git repository, setups the system and compiles the program.
- Tray: added icon on system tray with start/stop controls
- Tray: added system notifications about finished rendering
- General: Added support for any aspect ratio for equirectangular images (before was only 2:1)
- General: Fixed bug which probably caused crashes of the program. There was possible situation where image was being updated by rendering thread and at the same time preview was resized (free and alloc) by main thread (resize of window). There is added QMutex to prevent from this kind of situation.
- Examples: Added examples for Pseudo Kleinian fractals and stereoscopic images

v2.08-3 (August 2016)
- Shaders: Fixed bug: image was black when intensity of any light source was zero.

v2.08-2 (August 2016)
- Settings: fixed bug: importing of old settings didn't worked properly when rotations in IFS fractals were used.
- Settings: fixed bug: loading old animations (lack of material conversion)
- UI: Fixed bug: Some sliders are jumping under Win 10. There is changed size policy for edit fields.
- UI: Corrected calculation of statistics
- Shaders: Corrected positioning of textures. Now position is calculated based on texture coordinates (before it was based on object coordinates)
- Shaders: Program crashed when texture scale was 0 
- Fractals: corrected number of decimal places in spinboxes for IFS
- Fractals: Increased limit for maximum number of iterations to 99999
- NetRender: Fixed bug with loading textures from QByteArray when NetRender was used on different systems.
- Performance: optimized Random() function and usage of cLights::GetLight(). Speed increase about 10-40%
- Performance: Much reduced memory usage of thumbnail widgets placed in animation table (now uses about 20% of former memory usage)
- OSX: fixed problem with missing text on progress bar
- Voxel export: fixed bug: slices was saved in parent folder of indicated folder.

v2.08-1 (July 2016)
- CLI: fixed bug: program crashed when rendering of animation was started from command line

v2.08 (July 2016)
- 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

v2.07-1 (March 2016)
- Fixed bug: program crashed on win64/win32 if any sub-menu in "View" was de-selected

v2.07 (March 2016)
- 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

v2.06 (November 2015)
- 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

v2.05 (September 2015)
- added keyframe animation feature. There 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

v2.04 (May 2015)
- 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), 
- 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

v2.03-1 (February 2015)
fixed bug: improper loading of "old settings" when system used comma as decimal separator

v2.03 (February 2015)
- Added recording and rendering of flight animation. All frames are displayed in the table with previews. 
  There is possible to edit values in the table and interpolate them in selected range of frames
  All frames can be edited in any spreadsheet editor. CSV format is used in settings file to store animation frames
  There is possible to add any parameter to animation (context menu for every parameter)
  Added keyboard shortcuts for recording (pause, strafe, roll)
  Added player for animation (plays directly from sequence of jpg files)
- added user defined toolbar. To add new preset it's enough to save settings to $HOME/.mandelbulber/toolbar folder
- added quit confirmation dialog
- added multiple language support (EN, PL, DE)
- reduced all margins and spacings in UI
- added automatic tabify of docks when application is started first time
- in file selection dialog the preview is rendered much faster
- added missing mandelbulber.png icon
- more detailed recording of errors in .mandelbulber_log.txt
- corrected tab order in UI
- fixed bug: in install script
- fixed bug: there was double slash in paths for files
- fixed bug: after application quit rendering was not terminated

v2.02 (November 2014)
- added importing of settings from old Mandelbulber (v1.21). It works in 95% cases.
- added 'legacy_coordinate_system' parameter to provide compatibility with old coordinate system (upside down)
- added primitive objects: box, sphere, plane, cylinder, torus, circle, rectangle, water. There is no limit for number of objects. All objects can be rotated around 3 axes and placed using mouse pointer
- added 'repeat' operator for all primitive objects and fractal
- added setting for position and rotation of the fractal
- added example setting files and 'Load example...' option
- added crossplatform consistent random number generator based on the gsl library. See the README for new dependencies.
- fixed bug: 'fractal_constant_factor' parameter was ignored
- fixed bug: glow effect used wrong color
- fixed bug: there was error in calculation of equirectangular projection
- fixed bug: corrected and updated list of required system packages
- fixed bug: there was wrong calculation of distance if "Iteration threshold mode" was enabled.
- fixed bug: preview was displayed even if settings weren't loaded successfully

v2.01 (October 2014)
- migrated to Qt 5 - program in 99% rewriten from scratch
remarks: program still under development. Not available yet: NetRender, animation, OpenCL, and many other small features

v1.21-2 (August 2014)
- fixed bug: OpenCL - name of variable 'half' was restricted and caused compiler errors

v1.21-1 (February 2014)
- fixed bug: OpenCL - SSAO kernel coudn't be compiled on nVidia
- fixed bug: OpenCL - there was error -54 during rendering of SSAO and DOF (caused by not matched localWorkSize with GlobalWorkSize)

v1.21 (February 2014)
- Added color palette editor
- Added function to convert flight path into keyframes
- improved water algorithm - less visible pattern
- added setting for water animation speed
- in flight path recording function added switching between using gamma rotation or not (use "Rotate without using gamma angle")
- in flight path recording function added switching between constant flight speed and based on estimated distance (use "Absolute distance mode")
- added arrows in HUD for flight path recording
- Added low quality SSAO effect during progressive rendering (better looking fast preview)
- optimized binary searching algorithm in RayMarching() function
- OpenCL - added kernel for Screen Space Ambient Occlusion (SSAO) effect
- OpenCL - added kernel for Depth Of Field (DOF) effect. There is possible to switch between Monte-Carlo DOF and post-effect DOF
- OpenCL - improved quality of "fake lights" based on orbit traps
- OpenCL - implemented textured background
- OpenCL - added alpha channel in "Full" kernel (possible to save image as PNG-16 + Alpha)
- fixed bug: flight path rendering didn't worked properly when rendering was continued from the middle
- fixed bug: eliminated memory leaks in OpenCL rendering functions
- fixed bug: corrected calculation of viewVector and z value for 3-point perspective
- fixed bug: sometimes 3D cursor was jerky. Added temporary disabling for event handler during rendering of cursor

v1.20 (December 2013)
- OpenCL - added NoDE rendering engine
- OpenCL - added "limits" feature to rendering engine
- OpenCL - added "interior mode"
- OpecCL - added primitive objects
- OpenCL - next trial to fix the problem with -I option for OpenCL compiler (spaces in path were not passed properly)
- OpenCL - added setting for delta for deltaDE algorithm
- added HUD for flight path recording
- simplified code and corrected for "limits" and "interior mode"
- fixed bug: NetRender didn't worked under Windows 7 and Windows Vista. Now connection is limited to IPv4 and works properly.
- fixed problem with visibility of 3D cursor during flight path recording
- fixed resource leaks

v1.19 (November 2013)
- OpenCL - added management for user defined formulas
- added showing of light animation paths in image window
- improved algorithm for fake lights based on orbit traps
- OpenCL - implemented fake lights in "full" kernel
- OpenCL - added error handling and messages for most of errors. Program is not terminated when error occurs
- OpenCL - added setting for max GPU memory intended to use with OpenCL. Can be helpful when program cannot detect avilable memomy.
- added quit confirmation dialog
- OpenCL - added selection for OpenCL platform, device and switching between use of GPU or CPU
- added loading at program startup and saving at program exit of several application settings
- added error handling for lack of memory errors
- fixed bug: when in NetRender the client was enabled there was not possible to close the program
- fixed bug: applied patches for memory leaks

v1.18 (October 2013)
- added 3D pointer in image preview window
- added showing of animation path in image preview window
- OpenCL - improved rendering performance of DOF - iteration loop moved out of OpenCL kernel
- OpenCL - image buffer changer to float type - possible to adjust image brightness and gamma after rendering
- OpenCL - implemented full Mandelbox formula
- fixed bug: lights were placed in wrong position on fish-eye mode
- fixed bug: OpenCL - under Windows with nVidia gfx card the program couldn't find mandelbulber_cl_data.h file
- fixed bug: OpenCL - main volumetric light wasn't rendered when no aux lights were enabled
- fixed bug: OpenCL - wrong calculation of focus point for DOF
- fixed bug: OpenCL - reduced noise on depth zooms - linited "delta" from very small values

v1.17.2 (September 2013)
- fixed bug: OpenCL - include path compatible with nVidia-win32 driver requirements
- fixed bug: OpenCL - changed all M_PI to M_PI_F - there were problems with compilation kernel code on some machines
- fixed bug: OpenCL - some frames of animation were incomplete
- fixed bug: OpenCL - removed #pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable
- fixed bug: on Arch Linux there was problem with missing system includes

v1.17.1 (September 2013)
- release for Win32

v1.17 (September 2013)
- OpenCL - rewritten most of OpenCL kernel. Implemented almost all shaders including ray-traced reflections and volumetric effects
- animation record mode works now like flight simulator. There is also recorded camera gamma angle.
- added HDR filter
- fixed bug: there was visible different detail level between 3-point perspective and fish-eye
- fixed bug: Netrender didn't work with number of tiles > 1

v1.16 (June 2013)
- all shaders and rendering engine rewritten from the beginning
- light sources are rendered as a volumetric objects
- introduced soft shadows
- raytracing works with all shaders and is much more accurate
- glow and all fog shaders now are volumetric effects and can be used simultaneously
- possible to set different reflection factor for each primitive object
- zoom by click works much more accurate and rotates the camera towards to selected point
- added option for using constant step length for zoom by click (useful for animations)
- added contrast adjustment for image
- user interface reorganized
- internal image buffer is now floating point type (better HDR effects)
- fixed bug: crashed when animation keyframe thumbnail was refreshed during image rendering
- fixed bug: NetRender client saved partially rendered images
- fixed bug: animated water wasn't rendered properly with NetRender
- remark: some shaders settings are not compatible with older setting files (fog and DOF distance, reflection factor)

v1.15 (April 2013)
- added light sources based on orbit traps
- added NetRender client in noGUI mode

v1.14 - not released
- trial to activate again OpenCL rendering - a lot of stability problems

v1.13-1 (December 2012)
- NetRender works also under Windows
- improved CRC checking in NetRender message frame

v1.13 (November 2012)
- added NetRender (possible to create render farms)
- fixed bug: program crashed when in lowMem mode "iter fog" was used
- fixed bug: program crashed when DOF was used on very big images
- fixed memoryleaks

v1.12-1 (June 2012)
- fixed bug: background texture was not seamless
- fixed bug: some of shadows in volumatric iteration fog weren't calculated properly

v1.12 (April 2012)
- added saving of all image layers in separate PNG 16-bit files
- improved fish eye perspective projection - now is compatible with full-dome projectors
- added "fish eye 180 degree cut" mode to limit rendering area to hemisphere

v1.11 (February 2012)
- added iteration fog effect (fog which density depends on iteration count). This fog cast shadows on fractal surface and on itself. Can be also illuminated by auxiliary lights and ambient occlusion.
- improved water animation effect
- disabling of SSAO and DOF when tile rendering is enabled
- OpenCL: added ambient occlusion effect
- OpenCL: added colouring algorithms
- OpenCL: added setting for OpenCL job size
- OpenCL: added new rendering engine "Crazy: iteration fog count"
- OpebCL: added Quaternion and Xonodreambuie formulas
- OpenCL: added volumetric fog effect
- fixed bug: thumbanils weren't rendered properly
- fixed bug: weird colour gradients (http://www.fractalforums.com/index.php?topic=10305.msg41172#msg41172)
- added few example files for "iteration fog" effect

v1.10 (December 2011)
- added tile renderig (without any image resolution limitations)
- fixed bug: water animation worked only in flight mode

v1.09 (December 2011)
- Implemented OpenCL support (now only under linux) for image preview. Works only for few formulas.
- Added formula General Fold Box (reference: http://www.fractalforums.com/new-theories-and-research/generalized-box-fold/msg36503/#msg36503)
- Fixed rotation problems in animations. Patch by mintaka (http://www.fractalforums.com/mandelbulber/mandelbulber-1-06-patch/)
- Added animation effect for water

v1.08 (August 2011)
- Implemented primitive objects like plane, box, sphere and water
- Improved raytraced reflections algorithm - better reflections with ambient occlusion
- Added fast ambient occlusion effect. Reference: http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf (Iñigo Quilez – iq/rgba)
- Added possibility to turn off "penetrating light" for the main light source
- Added function for auto-calculate of fog parameters
- Added coordinates and distance measurement tool

v1.07 (August 2011)
- Added reset button on IFS tab
- Removed some further limitations for image size
- Image brightness adjustment affects now on all image layers
- Added saturation adjustment for random colour palette
- Added volumetric fog effect
- Corrected displaying of image size in MegaBytes when size is greater than 2GB
- Changed shaders sequence. Glow looks better when fog (from post-processing) is enabled.

v1.061 (August 2011)
- Created 64-bit version for Windows (based on experimental versio of GTK+ libraries)
- Fixed bug: Removed many uninitialised variables (found using valgrind)
- Fixed problem with -lowmem mode (reported on http://www.fractalforums.com/mandelbulber/(1-06)-lowmem-switch-causes-segfaults-when-increasing-resolution/msg34210/#msg34210)
- Fixed bug: overflow in UpdatePreviewSettingsDialog()

v1.06 (July 2011)
- Added possibility to render MengerKoch formula. It is added as an option for IFS formula (Menger Sponge mode; edge x,y,z)
- Corrected ray-tracing algorithm. Fog and specular highlights weren't calculated properly in reflections.
- Fixed problem in CalculateNormals() function. Sometimes when all deltas were zero, it produced NaN value. It caused white dots in raytraced reflections.
- Added many simple formulas for hybryd sequence: x^2/(x + p); y^2/(y + p); z^2/(z + p); r^2/(r + p); 
	spherical fold; x^p, y^p, z^p; x * p; y * p; z * p; x + p; y + p; z + p;
	axis X angle multiply by p; axis Y angle multiply by p; axis Z angle multiply by p
- Improved quality of raytraced reflections by adding binary searching in DE algorithm

v1.05 (July 2011)
- Created Windows installer
- Changed file structure. Now example and other files are located in (on Linux) /usr/share/mandelbulber directory or (on Windows) C:\Program files\mandelbulber. 
  User data is stored in ".mandelbulber" directory located in $HOME folder
- textures are loaded when necessary
- background gradient is defined using 3 colours
- added "Load Example" button

v1.04 (June 2011)
- Setting files consists only parameters different than default. Files are much shorter and easier to paste on internet forums.
- Settings can be pasted/copied using clipboard from/to text editor or internet browser
- Added "Benesi" formula
- Added "MandelboxVaryScale4D" formula
- Added "Aexion" formula
- Added "Bistorbrot" formula
- Added offset value for spherical folding in Mandelbox formula
- Added image proportion selection on Image tab
- Added Random() function into raymarching process. When there are some render artifacts, random noise looks better. Added the same into volumetric lighting shader.
- Corrected some typos in messages and labels
- Added disabling of raytraced reflections in AutoDEStep() function
- Replaced "char *" by "const char *" where possible (This avoids explicit casts of string literals to "char *", which are potentially dangerous.
- Improved adjustments for raytraced reflections
- Eliminated all compiler errors and warnings generated by new GCC 4.6

v1.03 (June 2011)
- added ray-traced reflections
- fixed problem with very high intensity of glow effect after use of Auto DE factor
- resizing of render window works better on slow computers

v1.02 (May 2011)
- added volumetric light effect

v1.01 (May 2011)
- added Smooth Mandelbox formula
- added function which scans for optimal DE factor
- possible to stop program during rendering visible lights
- shadows for auxiliary lights can be disabled
- rendering time is displayed as a real time instead of a cpu time
- command line: possible to set image resolution ("-res WIDTHxHEIGHT") and frames per key value ("-fpk N")
- command line: possible to override value ("-o key=value") of any parameter (names from settings files)
- fixed bug: there was high CPU load during moving of main render window
- fixed bug: memory access violation in fractal.cpp (hybrid formula sequence)

v1.0 (April 2011)
- Fixed memory leak in ThumbnailRender()
- Improved Catmull-Rom Splines - automatic switching between linear and logarithmic scale
- Lights are placed more precisely when the FOV value is high
- Added checking of some parameters - more "idiot resistant"
- Fixed problems with displaying first keyframe in Timeline window
- Small improvement for 3D Navigator / Backward button
- Corrected "ambient" effect in shading algorithm in CalculatePilex() function
- Added displaying of "Distance from last keyframe" also after zooming by mouse pointer
- Added image preview in FileChoosers for loading textures
- Fixed missed delete[] in KeepOtherSettings() function
- Fixed uninitialised variable param.qiet in MainThread() function
- Improved DE calculation for Mandelbox formula. Reference: http://www.fractalforums.com/3d-fractal-generation/a-mandelbox-distance-estimate-formula/msg15354/#msg15354
- Mandelbulb formula (without DE) exchanged to optimised version of formula. Reference: http://www.fractalforums.com/mandelbulb-implementation/realtime-renderingoptimisations/
- Improved dynamic DE correction
- Improved rendering of visible auxiliary lights

v0.991
- fixed problem with decreased quality of images. Added "smoothness" parameter.

v0.99
- added equirectangular projection for making 360 degree panoramic views
- much improved function "Init 3D navigator". It checks real size of fractal and moves the camera according to actual rotation angle and FOV, so there will be visible whole fractal. The function was renamed to "Reset view"
- position of auxiliary lights can be set using mouse pointer
- added possibility of rendering flying light sources in keyframe animation mode
- fixed bug: possible to change visibility of lightsources after rendering. Lights didn't disappear after pressing "Apply changes" button
- fixed bug: in Windows version default folder was renamed from ".mandelbulber" to "mandelbulber". There was problem with dot in file name on Win7

v0.98
- added preview for settings files in Load Settings dialog window
- improved quality of Depth of Field effect
- added FoldingIntPow2 formula
- improved calculation of raytracing steps. Added dynamic correction of estimated distance. Added possibility to switch between logarithmic and linear function for distance estimation.
- moved Image Scale combo into main Render Window
- added possibility to adjust fog visibility and focus point for Depth of Field effect using mouse pointer (added combo box for change function of mouse click)
- source code: cleaned up, refractioned, optimised (thanks to Ryan Hitchman)

v0.97
- Improved rendering of timeline thumbnails. Now thumbnails show what exactly will be rendered during animation rendering. The same was changed for loading settings by Next/Previous
- Added refresh button in timeline window
- Added rendering of interiors of fractals (Interior mode). When it's enabled the fractal is rendered as a thin crust.
- Added edit fields for changing distance of minimum and maximum distance of view
- Improved accuracy of raymarching
- After image rendering there is visible "failed DE" value on progress bar. This value informs how many oversteppings were occurred during rendering.
- Added "Fractal constant factor" which modifies constant value in all fractal formulas by multiplying by this factor.
- fixed bug: program crashed when path for keyframe files was changed and Timeline window was opened

v0.96
- added 3 new mandelbulb-like formulas
- fixed bug: spherical fording used wrong parameters
- fixed bug: when IFS folding mode was activated, there was not possible to set IFS parameters
- fixed big: rendering of Flight animation didn't working - wrong calculation of last frame number

v0.95
- added many new options for Mandelbox formula (rotations of folding planes)
- improved coloring algorithm for Mandelbox formula
- added zoom out by right mouse button
- needless buttons and edit fields are dinamically disabled
- fixed bug: removed "record keyframe" button which caused program crash
- fixed bug: adding new keyframs during timeline initializadion causes program crash - now it's blocked during timeline initialization
- fixed bug: program generated many errors during program closing - applied patch proposed by jwm-art (http://www.fractalforums.com/mandelbulber/mandelbulber-0-94/msg23134/#msg23134)

v0.94

- Added lowMem mode. When active, the program uses about 3 times less memory. Possible to render much larger images on 32-bit systems. To activate it please start the program with -lowmem parameter.
- Added Timeline window with keyframes thumbnails
- Buttons "Record keyframe", "Next keyframe", "Previous keyframe" and edit field "Key no." moved into Timeline window
- Added "Delete keyframe" function
- Added "Insert keyframe" function
- Keyframe can be selected and loaded (double click) from Timeline window
- "Next keyframe" and "Previous keyframe" buttons also starts rendering.
- Progressive rendering now is disabled in noGUI mode
- Fixed bug: program crashed during stereo rendering in noGUI mode
- Fixed bug: SSAO sometimes generates atrifacts during progressive rendering
- Fixed bug: images was dark in noGUI mode (colour palette was black)
- Fixed bug: visible auxiliary lights in very high image resolution was rendered with visible square artifacts
- Fixed bug: scale of visible auxiliary lights was not correct (size of lights wasn't proportional to square of distance)
- Fixed bug: Program crashed when start_frame in keyframe mode was greater than zero
- Fixed memory leaks and uninitialised variables
- Source code: many changes in program structure. Now there is possible to simultaneous render two different fractals. 

v0.93
- added switch for zooming mode - enable old zooming behavior 
- start frame and end frame are used also for render animation in path mode
- fixed bug: rendering was progressive during recording flight path - now progressive mode is disabled
- fixed bug: added proper gdk threading guards in timer callback
- fixed bug: program crashed during saving image in PNG 16-bit format

v0.92
- progressive rendering of image (first in very low resolution and then in higher and highers)
- all camera changes (zoom by click, 3D navigator) immediately stop rendering and start with new settings
- better environment mapping effect
- added "Fit to window" zoom option. In this mode the image is scaled with window.
- added front distance for fog effect
- source code: created cImage class - most of code was changed to use this class

v0.91 (September 2010)
- added stereoscopic rendering
- added displaying value of camera distance between actual position and from last keyframe
- added displaying value of estimated camera distance from fractal surface
- added spherical perspective (fish eye effect)
- added roll (y axis) rotation of view
- moving and rotation camera tools cane use also roll rotation angle (disable by "Rotation without using gamma angle")
- when SSAO and Ambient occlusion based on rays are enabled the program displays warning message and disables SSAO
- fixed bug in ambient occlusion algorithm (before used only part of lightmap texture) and small optimization (elimination of dark rays)
- fixed bug: rgbbuf32 was not used at all and consumes a lot of memory
- fixed bug: in keyframe animation mode colour palette was taken from last keyframe file - now from actual settings (from GUI)

v0.90
- added hybrid formula - all formulas can be used in sequence
- added "Hybrid formula" tab to GUI for all hybrid formula parameters
- added "Absolute distance mode" option in 3D Navigator
- actual distance between camera and viewpoint in displayed in 3D Navigator
- program remembers last selected files in file choosers
- on title bar is displayed name of last saved/loaded settings file
- all colour palette is stored in settings file (not only random seed)
- colour palette can be grabbed from selected image
- added logfile - all important program step are recorded in file
- Menger Sponge formula was changed to IFS Kaleidoscopic vesrion (a little slower but compatible with other formulas)
- fixed bug: fixed problem with compiling program on Crux Linux
- source files: fractal formulas was cleaned up

v0.85
- added animation of different parameters by sound envelope, and envelope of selected sound frequency bands
- added command-line mode. Program can work without GUI on environments without any display drivers
- after pressing "Record key-frame" button, program tries to load next keyframe if exists 
- GUI redesign: image tab was divided into image and shaders tabs
- animation can be rendered also into PNG and PNG with alpha channel image sequence

v0.80
- added colour palette view
- added offset slider for colour palette (real time image update)
- added "Random palette" button for creating random palette (real time image update)
- added edit field for keyframe files in "Select file paths" window
- added "intensity" parameter for each IFS symetry vector. 0.0 -> no reflection, 1.0 -> normal reflection
- added file choosers for all file paths in "Select file paths" window
- added xenodreambuie's fractal formula (http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg8246/#msg8246)
- more accurate calculation of new view-point position after "zoom by click"
- improved coloring method for Tglad's formula (Mandelbox)
- auto-saving of images now is disabled by default - can be activated using "Auto-save" checkbox on "Image" tab
- removed limitations for size of env-map texture and light-map textures (was 512x512)
- all parameters for IFS symmetry vectors can be also animated using key-frames
- fixed bug: exp10(x) function was implemented as pow(x,10) - should be pow(10,x) - wrong calculation of fog distance and depth of field focus

v0.72
- added undo and redo buttons (100 levels of undo)
- undo buffer in saved in files and is available after restarting the program
- fixed bug: IFS_distance parameter was not saved and loaded
- fixed bug: missed libpng-14-14.dll in package for Windows
- fixed bug: background image disappeared when close-up was lower than 1e-10

v0.71
- reorganized buttons for key-frames - now are on bottom of window
- fixed bug: start_frame and end_frame parameters weren't refreshed in edit fields after loading parameters
- fixed memory leak: missed deallocation memory for fractalParams
- fixed memory leak: missed g_thread_join() function in PostRendering_SSAO() (8MB per each thread creation!!!)

v0.70
- added key-frame animation mode
- added catmull-rom interpolation for key-frame animation
- added saving images in PNG format
- added saving images in PNG 16-bit format
- added saving images in PNG format with alpha channel
- all fractal formulas can be mixed with IFS Kaleidoscopic formula (Kaleidoscopic IFS Folding mode)
- rendering of fractal and all shaders generate alpha channel
- fixed bug in CRotationMatrix::Null(void)

v0.60
- added Kaleidoscopic IFS formula
- added "Kaleidoscopic IFS" tab in GUI for all IFS parameters
- fixed problem with loading settings files generated in older versions of program (all missing parameters are filled by default values)
- rewritten all algebraic functions in whole program (all use new CVector3 and CMatrix33 classes)

v0.51
- fixed Random() function (problem on Windows)

v0.50
- added "Light sources" tab in GUI
- main light is configurable (colour, angle)
- added random auxiliary lightsources
- added 4 configurable lightsources
- improved environment mapping reflection. Now is calculated real reflection vector
- improved specular highlight effect
- all shaders in C source was moved to separate file

v0.43
- added possibility to move camera up, down, left and right in 3D navigator
- zooming by mouse click can be disabled
- changed default camera position in "Init 3D navigator" function
- changed coloring algorithm for Mandelbox (Tglad's) formula. Now color in not depended on number of iterations and distance.
- added spherical folding mode to modify all fractal formulas
- modified shading formula
- Screen Space Ambient Occlusion (SSAO) is rendered using mutiple CPU cores

v0.42
- fixed fatal bug with updating fog effect during interface initialisation

v0.41
- added post rendering effect based on z-buffer: Depth Of Field
- improved coloring method for Mandelbulbs
- slider for fog visibility changed to logarithmic scale
- added information on progress bar about rendering post effects
- stop button is able to terminate rendering post effects
- added "About..." tab in GUI
- fixed problem with g_thread initialization


v0.40
- flight speed is adjustable during record mode by mouse clicking (left/right button)
- flight path record can be continued from last position stored in path file ("Continue recording" button)
- each shading effect is rendered into separate layer (higher memory consumption)
- shaders can be adjusted after finishing rendering 
- compiling of all image layers is on-fly
- changed default folders in file requsters
- added "Save image as..." button for saving image after adjustments
- added post rendering effect based on z-buffer: fog 
- added post rendering effect based on z-buffer: screen space ambient occlusion
- added "Post effects" tab in GUI
- added analytic distance estimation for Tglad's Mandelbox formula (faster rendering)
- added analytic distance estimation for Menger sponge formula (faster rendering)
- fixed bug in Przekolor() function (coloring formula)
- fixed bug in memory allocation for colour palette
- added error handling for missed textures (error messages)
- settings file was expanded for post rendering effect settings


v0.30
- added Tglad's "folding" algorithm for all formulas
- added edit fields for changing formula folding parameters
- added edit field for changing color frequency
- added scrolls in main render window
- changing image scale in window is possible during rendering
- added closing-up by mouse clicking on image
- fake ambient occusion mode is only enabled in trigonometric formulas
- rebuided all settings files

v0.21 (February 2010)
- added "sphere" formula - shaders testing mode
- added tool-tips
- fixed bug with hanging refreshing of image in window after using Stop button
- created windows port
- all textures are loaded using cTexture class
- optimised conditions in CalculateInterations() function
- added fractal coloring algorithm

v0.20 (February 2010)
- added simple animation mode (record flight path in low lesolution and render)
- added fractal formulas: Menger Sponge, Tglad's and z=-sin(theta) version of z^2+c
- added spherical wrapped textured background
- added gradient background
- fixed some memory leaks
- fixed bug with arrow icons

v0.11 (February 2010)
- added detecting of number of CPU cores
- code was little cleaned up
- GUI was grouped into tabs
- added 3D navigator tool

v0.1 (04.02.2010)
- first alpha release
