• JWildfire for macOS is now on the AppStore!

    I worked the last four weeks on a dedicated macOS build which can be distributed
    through the App Store.
    Hopefully, this will make it much easier to install updates for Mac users and
    oush the macOS-version to a higher level.

    This step really needed a lot of tweaking, because all the packaging and code-signing
    steps must be performed manually (this is because JWildfire is not made using Xcode,
    which simplifies such stuff a lot.)
    Also, it was necessary to replace almost any file-dialog with a native one.
    Only this seems (currently) to make it possible to exit the macOS-sandbox
    under macOS Catalina (otherwise you would get a “operation not permitted” or
    similar error when trying to write a file.)
    Those dialogs also look better, but lack some features of the JWildfire-dialogs.

    So, I’m really glad, that it all works now! 🙂

    To support the future of this build and to make it possible to extend tests on the
    Mac platform, I decided to make the app not free. Instead, you have to pay about
    10 bucks (once), all future updates will be free.
    You can still use the completely free (*.jar-based) build (or build by yourself),
    of course. But this will require more manual steps to install the software.

    If you once open FileDialog to select a drawer (and not a file), all further
    dialogs will not allow you to select a single file.
    (After the a restart of the app the problem is fixed).
    There is also a permanent workound (which will be included in the next update):

    Edit the file /Applications/JWildfire.app/Contents/app/JWildfire.cfg, e.g. by
    opening a terminal and entering:
    cd /Applications/JWildfire.app/Contents/app
    sudo vi JWildfire.cfg

    Then add the line “-Dapple.awt.fileDialogForDirectories=false” after the line “-Xmx4096m”,
    so that you have the section in the file:
    Save the file, and after restarting JWildfire, the problem will be fixed.

    Here is the link to the App Store: https://apps.apple.com/de/app/jwildfire/id1530646485

    Have fun!

  • JWildfire 6.10 release: new creative workflow with “Quick mutations”

    JWildfire 6.10 is now available at Steam, the Mac App Store and the offical JWildfire site.

    The major new feature are “Quick mutations”. They are located at the new “Quick mutations”-tab and allow the easy creation of small batches of variations (or mutations) of the currently selected flame. You may load any of those mutations into the main editor by double-clicking at it. This creates a new flame in a new slot and does not alter the original flame in any way. This may sound not very spectacular, but gives a new type of very creative workflow. With just a single click, you get 5 (per default) variations of your currently selected flame very quickly. You may specify what do you want to modify or just let the program decide. And of course, you can modify the modified versions and so on.The number of 5 can be changed on the fly, you can also create 500 mutations quickly if you want.

    Merry Christmas  🙂

  • JWildfire 5.60 release: with support for OptiX denoiser

    Just released JWildfire V5.60 as another major update.

    This time, adding support for NVidia’s OptiX denoiser as a powerful tool to cut down render times and improve image quality.

    The OptiX denoiser, developed by NVidia, is included in most of the common 3D rendering software like Arnold, Blender, Lightwave.
    I was enjoying it for a longer time, but did not really think about an integration into JWildfire, because such an integrationg (GPU rendering and Java programs) is always somewhat weak or unstable.
    But then, user [Phaser Rave] at the JWildfire forum, introduced us to the a command-line version of the denoiser, made by Declan Russell. I was immediately hooked and created some "dirty" integration of the tool into the render-flow to play around. I was really excited and the results where amazing, so I kept stuck to the idea and improved the  implementation.
    Now, it is loosely coupled and can not crash your JWildfire process. You will only see the options, when your system can run it. So, it will not confuse users who can not make use of it, either. All others will love it ;-) 
    And, by using the way of utilizing a command-line-tool you are even able to denoise your already rendered images!
    Please consult the comprehensive documentation inside the software ("Help -> OptiX denoiser") for more information.

    There also a lot of other useful additons, contributed by Rick Sidwell, Jesus Sosa, Whittaker Courtney and others – most in the form of new variations – thanks a lot for your efforts!

    Complete list of changes:

    – support for NVidia’s NVidia’s OptiX denoiser as a powerful tool to cut down render times and improve image quality.
    Please consult the comprehensive documentation inside the software (“Help -> OptiX denoiser”) for more information.
    – new commandline-tool to create and render random flames.
    Example: java -cp j-wildfire-5.60/lib/j-wildfire.jar org.jwildfire.cli.CreateRandomFlame -w 1200 -h 675 -q 80
    – new variations:
    -julia_outside by Whittaker Courtney
    -polarplot3d_wf by Rick Sidwell
    -polarplot2d_wf (Like yplot2d_wf, but uses polar coordinates. Fifteen presets of common polar curves) by Rick Sidwell
    -combimirror by Thomas Michels and Brad Stefanov
    -crop_box, post_crop_box,
    -crop_polygon, post_crop_polygon,
    -crop_cross, post_crop_cross,
    -crop_rhombus, post_crop_rhombus,
    -crop_triangle, post_crop_triangle,
    -post_c_var, all created by Jesus Sosa
    – new jitter-option for weighting-fields: Adds noise after transforms, so it works well with blurs as well as normal transforms, by Rick Sidwell
    – some new presets to yplot2d_wf variation, by Rick Sidwell
    – FIXED: added missing parameter colormap_filename for metaballs3d_f variation, by Rick Sidwell
    – FIXED: a bug regarding colormaps in isosfplot_wf, by Rick Sidwell
    – FIXED: a bug in the mask variation, by Rick Sidwell
    – FIXED: made js.glsl classes serializable, fixing a bug where dancing flame projects could not be saved, by Rick Sidwell
    – updated variation credits, by Rick Sidwell

    Now, just click the “Random flames” button (or new “Random”-button at the gradient-tab ) to start playing around and have fun  🙂

  • MB3D1.99.32 release with new ZBuf16Bit-module

    Just released MB3D 1.99.32. This version comes with a new module called “ZBuf16Bit” which allows you to create high-quality depth-maps/z-buffers.

    16Bit ZBuffer

    Those maps can be used in MB3D itself, of course – but are also suited to create very interesting effects in other 3D-packages like Octane Render (e.g. as displacement maps).

    Some hints:

    • first render your fractal, then hit the “Refresh”-button in the ZBuf16Bit-window to display a preview of the
    • press the “guess params”-button if you see nothing or the image is off
    • the preview is only 8Bit, while the heightmap internally is computed using 16Bit
    • adjust the depth-map using the “Z offset”, “Z scale” and “Invert ZBuffer” controls
    • antialiasing (by changing the view-resolution) of the 16Bit depth-maps is supported
    • technical note: because the Delphi-PNG’component is (very) buggy, it does not support 16bit images.
      So saving of depth-maps uses a workaround to get out a 16bit image:
      • Mandelbulb3D.exe does only write a PGM-file (which is a valid 16Bit gray image, but is only supported
        by a few programs)
      • a java-based PGM-to-PNG-converter is invoked under the hood.
        So, you will need a valid java installation to get out a 16Bit PNG-image.
        But, it is not mandatory, you can also convert the PGM-images manually, e.g. using an online-converter.
        (The converter is inside the file PNG16Util-1.0-SNAPSHOT.jar, and is not some dubious 3rd-party-library,
        but written by myself, so you can also see the sourcecode at GitHub.)

    See the file CHANGES.txt for a list of changes.

    Have fun!

  • JWildfire 5.50 release: introducing gradient-curve-editor as new artistic tool

    Just released JWildfire V5.50 as another major update.

    This time, introducing a new color-editing-function that makes it easier to control the final result: the color-curve-editor. It allows a very interactive editing of the gradient and the flame at the same time. Additionally, it allows more direct control over modifying the colors of a gradient, making it much easier to create “dramatic” effects.

    (Internally, each gradient now consist both of the “classic” part of the gradient and three new curves: hue, saturation and luminosity. Those curves belong to the flames, and are also stored within the flame-files.)


    A BIG thanks to Jesus, Rick, Brad and Michael (in no particular order) for their valuable contributions!


    Complete list of changes:

    - New "Curve Editor" for gradients at the gradient tab. This gives much more control over the final result because it allows a very interactive editing
    of the gradient and the flame at the same time. Additionally, it allows more direct control over modifying the colors of a gradient,
    making it much easier to create "dramatic" effects.

    Internally, each gradient now consist both of the "classic" part of the gradient and three new curves: hue, saturation and luminosity.
    Those curves belong to the flames, and are also stored within the flame-files.

    When loading an old flame without those curves, or assigning a "classic" gradient to a flame, the color curves are approximated.
    This usually is only a very raw approximation, but this is absolutely intended. To reach a very accurate approximation, it would require
    to have a lot of curve-points, which would make the curve very hard to edit.

    So, there is no exact synchronisation between the gradient and the colors curves, in order to not break existing flames and concepts.
    Instead, it is meant as powerful additional tool, whioch is useful in very many cases, but might not be useful in each case.

    Only when you start to edit one of the curves, the gradient is synchronized to shape of the curves. When you save and re-load a flame
    you can continue the editing of the curves.

    Each curve has a toolbar with little buttons to help with editing:
    - open a modal dialog for editing an enlarged version of a particular curve
    - create ramp-shaped curve
    - create line-shaped curve at the bottom (constant zero intensity)
    - create line-shaped curve at the middle (constant halve intensity)
    - mirror the curve at the vertical axis
    - mirror the curve at the horizontal axis (e.g., to turn a constant line of zero intensity into a line with maximum intensity)

    Two new random-gradient-generators directly support the concept of color-curves. I. e., they create random color-curves instead of random gradients.
    All existing random-gradient-generators works as before. I.e., they create only random gradients, while the color-curves are approximated from
    the gradients.

    - new "Uneven curves"-random-gradient-generator, which generated both a color-curve and a gradient (derived from this color-curve)

    - new "Uniform curves"-random-gradient-generator, which generated both a color-curve and a gradient (derived from this color-curve)

    - made "Uneven curves" the new default random-gradient-generator

    - New coloring type (by Rick Sidwell):
    CYCLIC shifts the gradient index right by the amount specified by Speed,
    wrapping as needed to cycle through gradient colors. It doesn't converge
    to a color when iterated, so some other transform needs to use DIFFUSION
    to get a stable color that CYCLIC can use as a starting point.
    CYCLIC is especially useful for coloring tilings.

    - function to create a simular gradient (using the currently loaded gradient as reference)

    - new "EDisc"-random-flame-generator

    - new "Save Gradient"-button at the gradient-tab

    - new "Random Gradient"-button direct at the gradient-tab

    - new variations (no particular order):
    - octapol (by xyrus02)
    - sinusgrid (by xyrus02)
    - csin (by zephyrtronium)
    by Jesus Sosa
    - cut_tileillusion
    - dc_fractcolor
    - cut_fractal
    - cut_zigzag
    - cut_x
    - cut_spiral
    - cut_spiralcb
    - joukowski
    - jac_elk
    - c_symmetry
    - cut_celtic
    - cut_triskel
    - cut_vasarely
    - cut_web
    - cut_spots
    - cut_btruchet
    - cut_c
    - c_var
    - cut_magfield
    - cut_btree
    - cut_2ewangtile
    - cut_alientext
    - cut_apollonian
    - cut_booleans
    - cut_bricks
    - cut_cirdes
    - cut_fingerprint
    - cut_fun
    - cut_glypho
    - cut_hexdots
    - cut_hextruchetflow
    - cut_jigsaw
    - cut_kaleido
    - cut_metaballs
    - cut_pattern
    - cut_randomtile
    - cut_rgrid
    - cut_shapes
    - cut_sincos
    - cut_snowflake
    - cut_sqcir
    - cut_sqsplits
    - cut_swarp
    - cut_triantess
    - cut_truchet
    - cut_truchetweaving
    - cut_tstruchet
    - cut_wood
    - cut_yuebing
    - dc_booleans
    - dc_butterflies
    - dc_spacefold
    - f_complex
    - msTruchet
    by Brad Stefanov
    - exp_multi (by Whittaker Courtney)
    - parallel
    - shredded (by Brad Stefanov and Rick Sidwell)
    - post_crosscrop (by Whittaker Courtney)

    - added "Lumiere Scripts" by Michael Bourne (a collection of 22 scripts) as built-in scripts
    - added "The Yugen Scripts" by Michael Bourne (a collection of 17 scripts) as built-in scripts
    - added "Keep 'Em Separated and Framed Script" by Brad Stefanov as built-in scripts
    - added "Minkowscope Painting Script" by Brad Stefanov as built-in scripts

    - fixed a nasty bug which could cause the final image to contain black stripes

    - Making a variaton a pre or post now works as intended

    - added standard shortcuts to Undo/Redo (<Strg>+Z/Y)

    - slighlty increased variation cost threshold to increase diversity in random flames

    - small optimization of the space at WField-tab

    - new README-file with hints for Linux-users

    - Additional presets added to isosfplot3d_wf variation

    - Two modes added to jubiQ variation

    - New option to specify color for DiminishZ; this is useful when using DiminishZ with a colored background

    - New coloring types descriptions in the Fractal Flames: Help window

    - New Density option for layers (by Rick Sidwell).
    Layer density allows fading some layers with respect to others to better
    balance the overall flame. It is complimentary to Weight, which controls
    the intensity of the layer to balance its brightness, but can only make
    it darker, not less dense.

    - New layer Extract button extracts the selected layer to a new flame in the editor

    - New ZBuffer controls (by Rick Sidwell)
    - ZBuffer bias makes the background appear closer. This is sometimes needed when using the ZBuffer
    for 3D photos in Facebook, which creates white splotches if the background is too far away.
    - ZBuffer filename option to select between traditional zbuf_name and name_depth (what Facebook requires).

    - New Camera tab Bank control to rotate flame around the Y axis. This rotation is normally called Roll,
    but that name is already used; Bank is a synonym. It works in conjunction with Pitch (rotate around X
    axis) and Yaw (rotate around Z axis).

    - New FastNoiseCreator in Image Processing to create images containing various types of noise

    - Change Easy movie maker FADE function to better fade between flames. A compatibility option allows using the old method.

    - Tooltips added to many controls

    - Rick Sidwell: Various fixes, including one that prevented the Mesh generator from working.
    1. Added some null pointer checks to AnimationService.java
    2. Removed print statement from Variation.java (only noticable if
    started from the command line for debugging)
    3. Fixed BokehOptionsBuggon tooltip text
    4. Corrected class for PerlinNoiseCreator so Transformation expression
    can be edited
    5. Camera distance field now allows negative distances.
    6. Motion curve for Fade to white now works.
    7. Edit gradient now puts focus on gradient so cursor keys work.
    8. Make a copy of a thumbnail flame before appending it as a layer to avoid confusing situations when editing one flame changes another.


    Now, just click the “Random flames” button (or new “Random”-button at the gradient-tab ) to start playing around and have fun  🙂