• Category Archives JWildfire
  • Mandelbulb-plugin for Lightwave 2019 updated

    This plugin allows you to render the famous Mandelbulb-fractal, invented at http://www.fractalforums.com, in Lightwave3D.
    (You may see https://en.wikipedia.org/wiki/Mandelbulb for a quick description.)
    Technically, the plugin must be used inside the new “Empty Volume”-shape, introduced with Lightwave 2019, and provides the
    distance-estimation for the Mandelbulb-“shape”.

    See the supplied README-file and example-scene for more details.
    The plugin is availalable for Windows and MacOS.

    Note: the plugin was renamed and now has the prefix “pf”, which stands for “Poly free”.

    Download: http://www.andreas-maschke.de/lightwave/pf_mandelbulb.zip


  • JWildfire 4.10 release candidate 1 is available

    Just released Release Candidate 1 of Wildfire V4.10 which contains a ton of new variations and various bug fixes.

    Thanks to Rick Sidwell, Whittaker Courtney, Jesus Sosa, Brad Stefanov and DarkBeam (in no particular order) for their contributions!

    You can find the list of changes inside the program (“Help -> List of Changes”)

    Have fun!

    Edit: A MacOS-version is also available now.


  • Mandelbulb-plugin for Lightwave 2019 released


    This plugin allows you to render the famous Mandelbulb-fractal, invented at http://www.fractalforums.com, in Lightwave3D.
    (You may see https://en.wikipedia.org/wiki/Mandelbulb for a quick description.)
    Technically, the plugin must be used inside the new “Empty Volume”-shape, introduced with Lightwave 2019, and provides the
    distance-estimation for the Mandelbulb-“shape”.

    See the supplied README-file and example-scene for more details.
    Note: Currently, the plugin is only available for Windows 64bit.

    Download: http://www.andreas-maschke.de/lightwave/am_mandelbulb.zip


  • Important update to JWildfire 4.00

    Just released an important update to JWildfire V4.00.

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

    • fixed a bug regarding calculating the offset in tone-mapping (causing the final image shifted under certain circumstances)
    • fixed a bug regarding mouse-sync while dragging triangles or control-points with mouse
    • minor improvement of the smoothness of the realtime-display
    • minor optimization to the renderer
    • minor fix regarding caching of render-buffer
    • new variations by Whittaker Courtney:
      • tile_reverse
      • sqrt_acoth
      • sqrt_acosh
      • sqrt_asech
      • sqrt_atanh
      • sqrt_asinh
      • sqrt_acosech

    Have fun 🙂


  • 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 🙂


  • 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 🙂


  • JWildfire 3.31 release: Happy Easter!

    Just released JWildfire V3.31 – again with MUCH help of our contributors Rick Sidwell, Jesus Sosa and Brad Stefanov. Thank you, guys!

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

    • new variations:
      • apollony (Jesus Sosa)
      • chrysanthemum (Jesus Sosa)
      • dc_dmodulus (Jesus Sosa, Rick Sidwell, and Brad Stefanov)
      • dc_gnarly (Rick Sidwell, and Brad Stefanov)
      • dustpoint (Jesus Sosa)
      • iconattractor (Jesus Sosa)
      • knots3D_js (Jesus Sosa)
      • macmillan_js (Jesus Sosa)
      • recurrenceplot_js (Jesus Sosa)
      • seashell3D (Jesus Sosa)
      • sattractor3d (Jesus Sosa)
      • threepoint (Jesus Sosa)
      • prepost_circlize (Rick Sidwell)
      • prepost_affine (Rick Sidwell)
      • prepost_mobius (Rick Sidwell)
        • Prepost variations are executed both before the other variations (along with other pre_ variations) and after the other variations (along with other post_ variations). One of the two will be an inverse function, calling invtransform instead of transform. Prepost variations are identified with priority 2 (calls invtransform for pre and transform for post) or -2 (calls transform for pre and invtransform for post).—
    • updated variations:
      • hamid_js – added more variables
      • jubiq – made it respect other 3D objects instead of making it flat
      • siercarpet_js – added preserveZ
      • parplot2d_wf – added a solid variable by default no new changes. Set to 0 they react more like traditional flames
      • pre_stabilize – Added a direct color option to pre_stabilize for coloring glitch flames
    • general changes/fixes:
      • changed the default filter to the same that is used by Flamelet which creates nice sharp images,changed the default filter to the same that is used by Flamelet which creates nice sharp images,  if you do not like it, you may change it in the Preferences
      • fixed the problem with the Mac-version, which could not be installed on many Macs in previous versions (because the new APFS was used due to a bug in the build tool)
      • optimed some default settings in order to allow faster editing
      • Make random gradients without fade colors use the right number of colors.
      • Bug fixes and enhancements to parameter list
        • 1. Pre button for variation 11 didn’t work
        • 2. Slider for params with dynamic parameter expansion didn’t work
        • 3. Added tool tip with full name when parameter name is truncated
      • Fix bugs with duplicate transform
        • 1. Final transforms now duplicate as final transforms
        • 2. Normal transforms now duplicate From Xaos as well as To Xaos
      • Fix UGR gradient loading for gradients saved by Ultra Fractal
        • 1. Newer version of Ultra Fractal don’t use numnodes, so the number of colors it contains is used to determine whether interpolation is needed instead.
        • 2. The UGR parameter “smooth=yes” indicates that the curves used to fade the gradient are smoothed, not that the gradient isn’t faded. The setColorsSmooth function was changed to reflect this.
      • Make the “Add linked transform” button copy xaos
      • Fixed bug with dynamic parameter expansion
      • Stereo3d bug fixes
      • Made labels reflect the current edit plane
        • Specifically, when the edit plane is changed, the affine labels (X1, X2, Y1, Y2) and the labels on the triangles (or rectangles) now change to match the new edit plane. This will make it easier to identify just what the modified values will affect.
      • Bug fix:gradient reset button breaks range editing
      • Made random gradient generator use variable widths for the colors

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


  • JWildfire 3.30 release: Merry Christmas!

    Just released JWildfire V3.30 – with MUCH help of our contributors Gregg Helt, Rick Sidwell, Jesus Sosa and Brad Stefanov. Thank you, guys!

    Again, there are  a lot of new variations – we have now more than 500! So, you will probably also like another new feature, allowing you to (de)activate rarely used variations (on the fly).

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

    • new variations provided by Gregg Helt, Rick Sidwell, Jesus Sosa and Brad Stefanov:
      • dc_triTile, crop3D, spherecrop, loq
      • jubiQ, complex, quaternion
      • lsystem_js, lsystem3D_js, lorenz_js
      • brownian_js, dragon_js, gosperisland_js, hamid_js
      • hilbert_js, htree_js, koch_js, rsquares_js, tree_js
      • sattractor_js, wallpaper_js, hadamard_js, crown_js
      • apocarpet_js, invtree_js, siercarpet_js, woggle_js
      • lace_js, harmonograph_js, clifford_js, svensson_js
      • pre_stabilize to help stabilize glitch flames
      • pre_spherical, post_spherical
      • klein_group, inversion
    • new window to (de)active rarely used variations. When you are loading a flame (from disc or from the random generator),
      and a deactivated variation is detected, this variation will be enabled for this flame. So, you have not to worry about
      old flames or flames made by others (using another set of variations).
      Deactivated variations are indicated by a label having a font in strikethrough style.
      You may activate/deactivate variations at any time, in some cases you will have to reload the flame when you do this while
      editing.
    • new “Raster”-random-flame-generator
    • new “Outlines”-random-flame-generator
    • new “Bold”-random-gradient-generator
    • changed the distribution of random gradient generators inside the “All”-random-gradient-generator (affects random flames)
    • increased flame-thumbnail-size from 90×68 to 120×68 (16:9)
    • Experimental “Mirror Translation” toggle-button to the Affine tab. The toggle applies to all three planes XY, YZ, and ZX.
      When toggled on, if viewing pre-affine, changing translation (01 or 02 coefficients) is mirrored by reversing the translation
      (setting post-affine to -01 and -02). And vice-versa if viewing post-affine. This mirroring is very handy for some of the new
      variations I’ve added such as Inversion and KleinGroup and for existing variations such as Spherical, which use mathematical
      operations that typically in other contexts are composed with a translation T and its inverse T’ to move their center from the
      origin: G_shifted = T(G(T’)). A boolean is added to the transform in the flame so that the mirror toggle state is saved to
      and restored from flame files.

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