• Category Archives JWildfire
  • 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
    -gingerbread_man,
    -hopalong,
    -gumowski_mira,
    -threeply,
    -triangle,
    -crop_box, post_crop_box,
    -crop_polygon, post_crop_polygon,
    -crop_cross, post_crop_cross,
    -crop_rhombus, post_crop_rhombus,
    -crop_stars,post_crop_stars,
    -crop_trapezoid,post_crop_trapezoid,
    -crop_triangle, post_crop_triangle,
    -crop_vesica,post_crop_vesica,
    -crop_x,post_crop_x,
    -pre_zsymmetry,
    -post_zsymetry,
    -pre_c_var,
    -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
      depth-maps
    • 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  🙂


  • MB3D1.99.12 release with update to BulbTracer2

    Just released MB3D 1.99.12 as major update.

    This version comes with a big update to the new mesh generator (BTracer2):
    – even more speed
    – true vertex colors (when using PLY as export format)
    – using less memory, allowing to generate meshes with higher resolution
    In short: make it even more fun!

    See the included image “BulbTracer2r12.jpg” for a visual overview of the changes.

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

    When you have questions, feel free to contact me at thargor6@googlemail.com

    Cheers!

    P.S.: Here is an example-image, created BTracer2 and Lightwave 2019: https://www.deviantart.com/thargor6/art/Lagoon-815688330


  • MB3D1.99.7 release with BulbTracer2

    Just released MB3D 1.99.7 as major update.

    It comes with BTracer2, an major update to the mesh-generator.
    In fact, the module was rewritten, in order to achieve the following goals:
    – get much better results
    – to be much faster
    – (optionally) generate color-information
    – make it simpler to use
    In short: make it fun!

    See the included image “BulbTracer2.jpg” for a visual overview of the changes and have fun!


    When you have questions, feel free to contact me at thargor6@googlemail.com

    Cheers!

    P.S.: Here is an example-image, created BTracer2 and Lightwave 2019: https://www.deviantart.com/thargor6/art/Lagoon-815688330


  • Mandelbulb-plugin for Lightwave 2019 now supports colors

    Mandelbulb

    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-scenes for more details.
    The plugin is availalable both for Windows and MacOS.

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

    Mandelbulb (detail)
  • JWildfire 5.00 release: introducing weighting-fields as new artistic tool

    Just released JWildfire V5.00 as another major update.

    This time, introducing a new artistic concept to flame-fractals: weighting-fields.

    I had this in mind for a while, but never found the time to really “grasp” it. When you look at my fractal art, you will notice that I’m usually striving for a very energetic and organic style.

    Flame fractals support this style a lot, but I’m was often looking for “more”. Finally, weighting-fields are the implementation of what I was looking for.

    The basic idea: to add some kind of “natural disturbances” at the transform-level of the flame-fractals. But, allow that in a very artistic way by just modulating an existing fractal shape. Allow to easily try out if different “styles”.

    You may choose between different types of this kind of disturbance, for example “Perlin Fractal Noise” for a very organic style. But, you can also load image-maps (photographs) for very individual styles. Each style comes with a lot of options to tweak. You may chose a weighting-field at the transform-level. So you may even combine different weighting-fields inside one fractal in non-destructive-way.

    Currently, the following fractal-parameters may be affected by a weighting-field:

    • variation-amount
    • variation-parameter-amount (for up to three parameters per transform, like frequency of a waves-trandform)
    • color-index (allows subtle color-changing effects)

    With version 5.00, weighting-fields are integrated into JWildfire as “first-class-citizen”:

    • there is some new “weighting-field”-aspect inside random-flame-generators (similar to random-symmetry-generators or random-gradient-generators). Currently, there are 6 built-in random-weighting-field generators. The default one is “All, sparse”, which means to randomly generate weighting-field-aspects, but only for a few random flames.
    • there is new Mutation-type WEIGHT_FIELD inside MutaGen
    • there is a new “WField”-tab under the “Transformations”-tab,where you can create, edit and generate weighting-field-related effects.
    • scripting is completely supported
    • by design, the performance-impact is moderate, and you may even animate weighting-fields

    To get started, just load a favourite flame of yours and the press the new “WFld”-button at the left of the preview-area. Repeat it multiple times to see what is possible.

    To see what is going on, select a transform and enter the “WField”-tab under the “Transformations”-tab. Have a look at options and see how they change when you press the “WField”-button. Play with them while changing them manually.

    To generate random-flames with weighting-fields always enabled, change the “WField”-setting at the upper left of the main editor from “(All, sparse)” to “(All)” and hit the “Random batch”-button.

    Other new features:

    • Improved performance and stability due to an internal mechanism to evaluate costs of variations/plugins.
      There are three types of cost: initialization time, calculation time and memory consumption.
      JWildfire will prefer variations with low costs for performing “randomization-tasks” like generating random-flames.
      There will be even variations/plugins which become completely “counted out” and never be touched in such operations. This will improve general performance and stability, but also give variation/plugin-developers additional the freedom.
      They may try out new things freely, without the danger of compromising the whole application.
    • new option to specify the number of random-flames, generated during program-start (tina.initial_random_batch.size, defaults to 3)
    • new coloring type: DISTANCE, provided by Rick Sidwell: Uses the gradient indexed by the distance the transform moved the point.
      Color determines the starting point and Speed controls how far along the gradient each unit of distance moves from there. Like other coloring types, Speed -1 sets the color to the specified color. The input color is ignored, so unlike the others Speed 1 will still change the color. DISTANCE is especially effective for coloring flames made with a single non-blur transform (blur transforms ignore the input point, so the distance and thus the color of each point is random).
    • new COLOR_TYPE-Mutation for MutaGen to randomly apply the new color-types (NONE, DIFFUSION, TARGET, TARGETG, DISTANCE)
    • significant performance-improvement in the refreshing-behaviour in the UI, you especially notice this when changing variations in the “Nonlinear”-tab
    • new way of resetting params of variations to their defaults (as suggested by Michael Bourne):
      •  double-click at the “Var x”-label to reset all parameters to their defaults
      • double click at a specific param-label to reset it’s value to the default value (you need expand the param-panel to access the labels) Please note, that there are some parameters which have random defaults.
    •  this way of resetting params may also used at the “WField”-tab (but is not available at all other places, yet).
    • Rick added added some new tips to TipsOfTheDay.html, and a new preference to remember the last tip shown at startup and display the next one at the next startup.
    • new “juliascope3Db”-variation, provided by Brad Stefanov
    • new “waves22”-variation, provided by Brad Stefanov
    • new “waves23”-variation, provided by Brad Stefanov
    • new “waves3”-variation, provided by Brad Stefanov
    • new “waves42”-variation, provided by Brad Stefanov
    • new “waves4”-variation, provided by Brad Stefanov
    • new “waves22”-variation, provided by Brad Stefanov
    • new “hex_modulus”-variation, provided by Brad Stefanov
    • new “truchet_hex_crop”-variation, provided by Brad Stefanov
    • new “truchet_hex_fill”-variation, provided by Brad Stefanov
    • new “dc_triantess-variation”, provided by Jesus Sosa
    • new “dc_poincaredisc”, provided by Jesus Sosa
    • new “dc_worley”, provided by Jesus Sosa
    • new “dc_glypho”, provided by Jesus Sosa
    • new “dc_fingerprint”, provided by Jesus Sosa
    • new “dc_pentatiles”, provided by Jesus Sosa
    • new “dc_quadtree”, provided by Jesus Sosa
    • new “dc_sunflower”, provided by Jesus Sosa
    • new “dc_gabornoise”, provided by Jesus Sosa
    • new “dc_cairotiles”, provided by Jesus Sosa
    • new “dc_moebiuslog”, provided by Jesus Sosa
    • new “dc_inversion”, provided by Jesus Sosa
    • Rick has updated the text in the About-section

    Thanks Rick, Michael, Brad and Jesus (just in random order) for their valuable contributions!

    Just click the “Random flames” button to start playing around and have fun – click the “WFld”-button to have even more fun 🙂