• JWildfire 4.00 release: game-changing improvements in the user-interface

    Just released JWildfire V4.00 as a special X-mas-gift to the fractal-loving community.
    Big and warm thanks to Rick Sidwell, Whittaker Courtney, Jesus Sosa, Brad Stefanov, Michael Bourne and DarkBeam (in no particular order) for their contributions!

    This version is somewhat special to me: after really getting extremely pissed of at Facebook, I nearly threw the towel. But, after taking some time, I wanted to create something special, turning back to the roots. To put the user-experience into the centre. So the main changes in this version are not new functions (which are included a lot, of course :-)), but changes in the user-interface.
    They are rather complex, so I’m sorry, if they will not work for all of you “out-of-the-box”, I’m aware, that there is much room for improvement and fine-tuning.

    Breaking changes in short:

    • Realtime-editing was extremely optimized, editing fractals much feels like playing with liquid paint now (tested on Windows 10, Ubuntu 18.04, and macOS Mojave)
    • Creating random flames does not interrupt your workflow anymore, you may render or save flames, while random flames still are being generated, or have a closer look at random flames which are already were generated, …
    • Scripts can be easily imported from within the software by just chosing the *.zip-file, no manual extracting or copying of files is required anymore
    • Improved render-quality in the realtime-editor and more precise editing
    • Rendering of images with literally unlimited size (which exchanges render-size against time, so maximum size is not a matter of the power of your computer, it is just matter of dedication)
    • Some really interesting GLSL-emulation by Jesus Sosa, allowing to translate certain fragments from shadertoy.com into JWildfire-variations  – awesome idea!

    Complete changes (you can also see this list inside the program at the any time, see Help->List of changes ):

    • dramatically improved the smootheness of the real-time-editing: while dragging the mouse, the view is constantly updated,
      reflecting the change of the fractal. When you only see black editing-area, then often the fractal is changing too rapidly,
      just move slowlier to see the shape evolving, or wait a moment, while still having the left mouse-button pressed

      • reduded the change-rate when editing affine controls
    • new “Quilt Renderer”-module to render flames in nearly unlimited size. This works by splitting the whole image into tiles.
      You may freely specify how the tiles are generited, e.g. splitting the image in 3×2 tiles or 8 vertical stripes.
      Each of the rendered tiles is a valid image. So, even JWildfire would finally fail to assemble the tiles into one
      final image (due to memory restrictions), you could perform this step using external image-processing-software,
      which is more optimized to handle large images. But images with a size upto 32K (30720×17280) where tested
      without any problems so far. You can cancel/resume the rendering-process at tile-level.
      Please note: Due to the nature of the flame-fractal-algorithm, the rendering of each tile may take as long as you
      would render the whole image at once. So, this method is not efficient, but effective.
      A 16K render on a modern computer can take about 12 hours, but you will usually get an awesome result with endless details.
    • new button to easily import-scripts at the “Scripts and Custom-Buttoms”-tab. This function accepts all *.zip-files containing at least one script file (with the extension *.jwfscript). Associated text-files (descriptions) and any *.ugr-gradients are imported as well.
      Any other files are ignored. If the *.zip-file contains sub-folders, only the scripts inside the folders are extracted, but not
      the folder-structure itself. The function warns before overwriting files.
    • the flame-thumbnails on the left may now be properly scrolled using the mousewheel
    • selecting (double- or right-clicking) a frame from the thumbnail-bar now works much more reliable
    • many new variations:
      • metaballs3d_wf (somewhat slow, but can generate very nice organic shapes)
      • pointgrid_wf (flat random grid of points)
      • pointgrid3d_wf (3d-array of points)
      • invpolar (Brad Stefanov)
      • stripfit (Dark Beam, Brad Stefanov)
      • hypershift2 (Tatasz, Brad Stefanov)
      • hypercrop (Tatasz, Brad Stefanov)
      • truchet2 (Tatasz, Brad Stefanov, Jesus Sosa)
      • arcsinh (Tatasz, DarkBeam)
      • arcsech2 (Tatasz, DarkBeam)
      • arctanh (Tatasz, DarkBeam)
      • invsquircular (DarkBeam, Jesus Sosa)
      • squircular (DarkBeam, Jesus Sosa)
      • pyramid (Dark Beam, Brad Stefanov)
      • corners (Whittaker Courtney)
      • csc_squared (Whittaker Courtney)
      • atan2_spirals (Whittaker Courtney)
      • inverted_julia (Whittaker Courtney, Brad Stefanov)
      • acosech (Whittaker Courtney, Tatasz, DarkBeam)
      • acoth (Whittaker Courtney, Tatasz, DarkBeam)
      • acosh (Whittaker Courtney, Tatasz, DarkBeam)
      • intersection (Brad Stefanov)
      • curliecue (Jesus Sosa)
      • curliecue2 (Jesus Sosa)
      • szubieta (Jesus Sosa)
      • starfractal (Jesus Sosa)
      • triantruchet (Jesus Sosa)
      • arctruchet (Jesus Sosa)
      • swirl3D_wf (Jesus Sosa)
      • mandala (Jesus Sosa)
      • mandala2 (Jesus Sosa)
      • jac_asn (Jesus Sosa)
      • colordomain (Jesus Sosa)
      • ducks (Jesus Sosa)
      • bipolar2 (Brad Stefanov)
      • elliptic2 (Brad Stefanov)
    • new GLSL-family of variations by Jesus Sosa:
      After implementing a set of java functions that simulate almost the bunch of functions used in GLSL code for fragment shaders,
      I start to develop a set of JWF variations using the implemented functions, so I have translated fragment shaders (GLSL code)
      to java, using examples found in shadertoy.com and glslsandbox.com sites.

      • glsl_mandala
      • glsl_apollonian
      • glsl_fractaldots
      • glsl_circuits
      • glsl_mandelbox2D
      • glsl_hoshi
      • glsl_kaleidocomplex
      • glsl_starsfield
      • glsl_kaleidoscopic
      • glsl_randomoctree
      • glsl_acrilic
      • glsl_circlesblue
      • glsl_kaliset
      • glsl_kaliset2
      • glsl_grid3D
      • glsl_hyperbolictile
      • glsl_squares
      • glsl_code (to try out own stuff)
    • updated variations:
      • splits (new shear-parameters, Dark Beam, Brad Stefanov)
    • many awesome scripts, provided my Michael Bourne:
      • “UmmaGumma”-scripts (see new scripts starting with “UG-” in “Built-In-scripts”-category)
      • “Hubble”-scripts (see new scripts starting with “HB-” in “Built-In-scripts”-category)
      • “Samhain Splits”-scripts (see new scripts starting with “SX-” in “Built-In-scripts”-category)
    •  removed the dialog-options from the following built-in scripts, so they can executed in a more quick and simple
      manner (required paramerers are chosen randomly, instead of asking the user):

      • “Oily_Juliascope_Rev1”
      • “Oily_Rev3”
      • “Plastic”
      • “HypertilePoincare_Rev2”
      • “SphericalCross_Rev2”
      • “SuperSusan_Rev1”
      • “Textured_Cylinders_Rev01_by_MH”
      • “TomsSpiralSpiral_Rev3”
    • scripts can also be executed by simply double-clicking at them
    • new “JulianRings”-random-flame-generator
    • Main-Editor: there are now new three buttons at the left to easily open Interactive Renderer, Movie-Maker or Flame-Browser
      (the two buttons “Send to IR” and “Send to MovieMaker” are replaced by them)
    • new “reset clr”-button the “Gradient”-tab to reset all color-values and color-speed-values to 0
    • render-priority in the ui should now be set to low
    • bug-fix regarding rendering with enabled post-symmetry (Rick Sidwell):
      When Post symmetry is enabled, the result of clicking Render was dimmer
      than using Interactive Render, especially with large Symmetry order
      values. This change makes Render Fractal and Interactive Render produce
      the same results when Post symmetry is enabled.
    • bug fix EasyMovieMaker: when using multiple flames to morph between the slider at the bottom covered the edit, replace, remove buttons
    • internal scripts may provide their own gradients now
    • moved the “Misc”-tab to the bottom, the “Script”-tab was renamed into “Scripts and Custom-Buttoms” to give it more attention
    • improved the “Solid Labyrinth”-random-flame-generator
    • contributed two new images to the Launcher

    Just click the “Random flames” button to start playing around and have fun 🙂


  • Flamelet 1.10 is available on the App Store (free update)!

    The free update to version 1.10 is now available on the App Store.

    This versions supports now 3D-flames, while 2D-flames are rendered with the same efficiency as before.

    Complete list of changes:

    • 3d-flames (iterating points with three coordinates (x,y,z) instead only two (x,y))
    • four new random flame generators (for generating 3d-flames)
    • new variations
      • ztranslate, zscale, zextrude, zcolorshift, scale3D, zcone, zclear, zblur
      • affine2d, affine3d
      • cylinder3D
      • curl3D
      • flower
      • flux
      • twoface
      • escher
      • julia3D, julia3Dz
      • mobius
      • mobiq
      • pointgrid3D
      • wave3D
      • spherical3D
    • improved variations:
      • bokeh (3d support)
      • dinissurface
    • improved add transform-window
    • increased (doubled) the time for a long-press
    • fixed a bug causing the app to terminate after you double-tapped in the main editor view, when a color transform was selected
    • fixed a bug causing buttons displayed at the wrong position in the “render/images” section
    • improved the code regarding image-sharing to Facebook
    • internal optimizations to the renderer
    • some more resolutions added to the render module
    • new camera section in the editor, some options in the editor-popup removed
    • slightly improved undo
    • updated the reference manual

    Official site: http://flamelet.io/

    Flamelet at the App Store: https://itunes.apple.com/app/id1387331406


  • JWildfire 3.50 release: big update!

    Just released JWildfire V3.50 which is a rather big update. Again, thanks Rick Sidwell, Jesus Sosa and Brad Stefanov for their valuable contributions!

    Changes in short:

    • simplified and faster user interface, no more nested windows
    • support for Java 10 (but you can still use Java 8)
    • affine3D-transform and affine3D-random-flame-generator which creates nice 3d-shapes
    • lots of new variations/transforms/formulas
    • lots of optimizations

    Complete changes (you can also see this list inside the program at the any time, see Help->List of changes ):

    • removed the desktop and the Navigator-window in order to simplify and speed-up the user-interface
    • faster app-startup, there are now 3 random flames generated at start (and it is still faster than before)
    • improved the resize-behaviour/speed of the main-editor-window
    • support for Java 10 (Please note, that JWildfire still works with Java 8 and Java 8 ist still supported by Oracle.
      But, Java 10 is also supported now, and when you want to use the UI-scaling-feature, you will need Java 10.)
    • many new variations:
      • affine3D (ported from Flamelet)
      • anamorphcyl (Jesus Sosa)
      • dc_kaleidotile (Brad Stefanov)
      • disc3 (Brad Stefanov)
      • glynns3subfl (Jesus Sosa)
      • gpattern (Jesus Sosa)
      • hyperbolicellipse (Jesus Sosa)
      • lazysensen (Brad Stefanov)
      • lozi (Brad Stefanov)
      • nsudoku (Jesus Sosa)
      • projective (Brad Stefanov)
      • pulse (Brad Stefanov)
      • pTransform (Rick Sidwell)
      • q_ode (Brad Stefanov)
      • ringsubflame (Jesus Sosa)
      • sunflower (Jesus Sosa)
      • sunvoroni (Jesus Sosa)
      • taprats (Jesus Sosa)
      • terrain3D (Jesus Sosa)
      • vibration2 (Brad Stefanov)
      • wangtiles (Jesus Sosa)
    • new “Affine3D”-random-flame-generator (also taken from Flamelet)
    • updated the jsyntaxpane-library (used for syntax-highlighting while editing text) to version 1.1.5
    • increased the default font size for the script-editor inside JWildfire
    • internal optimization/API-changes: extended the API of variations:
      there is now an initOnce()-Event which is only called once for the
      first thread (unlike to init() which is called for each thread).
      This new event should be used for heavy init-operations (like loading and parsing a file)
    • the following variations use the new API and should behave more smooth (=use less memory and CPU)
      when initializing for a render:

      • wangtiles
      • terrain3D
      • dla_wf
      • dla3d_wf
      • knots3D
      • sattractor3D
    • improved the speed of the following variations:
      • dustpoint
      • knots3D
      • sattractor3D
    • improved the stability of the following variations (Rick Sidwell):
      • brownian_js
      • dragon_js
      • glynnsim3
      • ghosperisland
      • hilbert_js
      • htree_js
      • koch_js
      • lsystem_js
      • rsquares_js
      • tree_js
      • new property tinaLSystemMaxLength in the prefs to specify maximum size of the generated string for the L-System variation
    • bug fixes for symmetry order and animation control update
    • fixed a bug regarding rendering motion-blur

    Just click the “Random flames” button to start playing around and have fun 🙂


  • dark to light – new video


    A painterly-flame-fractal-art video made just for fun.

    This video shows some fractals I made using a painterly style I recently developed.

    Technical info: All fractals where created using Flamelet on iPhone and post-processed using Impresso on Mac. The music was made in MusicMaker, while the whole video was assembled in Vegas Movie Studio.

    Cheers!