Shop Forum More Submit  Join Login
About Deviant MattMale/United States Group :iconfractorium: Fractorium
Recent Activity
Deviant for 4 Years
Needs Core Membership
Statistics 29 Deviations 98 Comments 5,092 Pageviews


Magician's pocket by BoxTail Magician's pocket :iconboxtail:BoxTail 460 31
Hypertile Basics
First of all, special thanks to Zueuk who had the patience to explain me all the hypertile stuff =D
There is also an awesome hypertile tutorial that you should check out first: Hypertile Uncovered With 3D
To make a basic hypertile, you will need 2 transforms: Basic hypertile
hypertile2, rotated 180 degreesbubble (small amount, about 0.25 lets say) with pre_blur

The exact bubble size to fill a hypertile can be calculated exactly, or you can just change the amount of bubble until it fits.
The hypertile has two parameters, p and q. Basically, this means it takes p-gons, with q polygons meeting at each vertex (this do
:icontatasz:tatasz 53 15
Hypertile Uncovered With 3D by guagapunyaimel Hypertile Uncovered With 3D :iconguagapunyaimel:guagapunyaimel 142 24
Interview with Matt (Fractorium dev)

First of all , please introduce yourself to the community.

My name is Matt. I’m 35 and I live in San Diego, California, United States with my wife. I graduated with a Bachelor’s degree in computer science in 2001 and have been working ever since writing software. This project was done outside of my full-time job as a senior software developer.

And, of course, tell us about your software.

My project has several pieces and can be found here:
Before I give the details, I’d like to preface it by saying this is beta software, so you might find bugs or things that you don’t like. Rather than reject it, I would really appreciate feedback so I can incorporate good ideas into future releases.
With that out of the way, here it is:
Ember - A rewrite and redesign of the original flam3 code in C++. In addition to the rewrite, several bu
:icontatasz:tatasz 9 13
Hi there! :wave:
I was so much inactive these days that some of you maybe don't even know who am I ;)  Well, I was busy at my new job, but now I'm back, and you can try catching me at #Aposhack channel.
Apophysis 3
It is that time when you can post your thoughts or ideas about new Apophysis. Yes, it is under its way :)
Be warned though, the new major version number is not for nothing... Apophysis 3 will be a huge step forward.
The most important thing is it will support layers. Every layer can be a flame, a background,
a time-escaped fractal... and probably other types, too. A single design can have as many layers, as you can create.
Isn't it fascinating? :)
It's also one and the only moment when we can get rid of Delphi and scripting library - finally! It's in C++ with Qt4,
which means it's portable and relatively easy for other coders to mess with it as they like.
The main design is ready, skeleton code is up and running - now I ne
:iconutak3r:utak3r 14 238
Starting Out: Learning Apophysis by ChaosFissure Starting Out: Learning Apophysis :iconchaosfissure:ChaosFissure 160 67



Myself and other users discovered a severe bug in the last release that has actually been lurking for many years. When doing many rapid changes in the editor, the OpenCL renderer would occasionally report that it failed. The workaround was to switch back and forth from CPU to OpenCL.

This new release fixes that, so please go get it at

This ought to be the last release for this year, so enjoy Halloween, Thanksgiving, Christmas and New Years without further interruption!
Sadly, I regret to inform you that the previous release,, had some rather severe bugs in it, which were discovered by user darkbeam.

The changes are below.

--User changes
  -Add a button to swap the pre and post affine values for all selected xforms.

--Bug fixes
 -Remove the ability to change spinner values with +=-=, it was conflicting with other things and prevented users from entering negative values.
 -All file dialog opening in Linux would freeze. No longer using native file dialogs, they are broken.
 -Set default open path to the desktop if there is no settings file present, which will be the case on the first run.
 -Amphibole_Supergroup.ugr palette had an invalid character in two of the palette names

Please get the new release at Mac and Linux builds coming soon.

Again, I'm very sorry about this, but it's hard for me to test every piece of the project before releasing each time.
A few months ago, lyc happened to be staying/working at a house that is about an hour train ride from where I live. We hung out three times during his trip and had so much fun. We stayed up until the sun came up talking about many things. He even gave me one of his live coding ray tracing tutorials. It was great to finally meet him after five years of chatting online.

On the third and final time we hung out, it was at his place in the context of a fractal meetup. Jess Platinus ChaosFissure, and Jedakka were there and it was really fun meeting all of them for the first time. Jedakka was a fan of Fractorium, which I had not known ahead of time. Me in the front in purple, Jedakka all the way at the back.

Img 20180714 145547 by mfeemster

We kept in touch afterward via Discord and have been working furiously back and forth since July to implement a number of new features and bug fixes. He was the creative mind behind what was needed, and I of course was the implementer. In addition to that, I added a few ideas myself and even got a code merge request from a bitbucket user named Yuju Lu.

There are a lot of important changes in this update, so I urge you to get the installer from as soon as you can (Mac and Linux builds coming soon). I think you will need to fully uninstall the old version first, and you must reload the dark.qss theme if you are using it.

One of the key changes is how the mouse and keyboard control the adjusting of affines. We've decided to make the default behavior be rotate only, and only allow scaling when holding shift. For a full breakdown of the new controls, see here:

I've also added a number of optimizations that will give a roughly 1-5% speedup in various cases on both the CPU and GPU. It's not much, but free performance is always nice.

As always, I welcome all feedback either here, in Discord or via email. I hope you enjoy this new version!

Here is the full list of features and bug fixes with the more important ones in bold.

--User changes
 -Double clicking on width or height spinner now resizes both, but scales to the one double clicked.
 -Make variation tree background colors for zero and non-zero be theme-able. (Before, using the dark theme made it so you couldn't have a different color for included variations. Now you can. Credit: Yuju Lu.)
 -Give tabs a height of 4px in the qss files. Looks a little large on 4k screens, but just right on HD screens which are much more common.
 -Allow for toggling whether to interpolate between colors in the palette editor, or to do hard cuts between colors. (This was requested at the meetup, so now you have it.)
 -Allow for adjusting spinner values with the + = or up arrow keys to increase, and - _ or down arrow keys to decrease.
 -Allow for responding to global presses of + = and - _ to cycle up or down to specify which xform is set as the current one.
 -Allow for adding "layers" via xaos which will add a user-specified number of xforms, and set certain xaos values to 0 or 1.
 -Add a new menu item under the Edit menu to copy the OpenCL iteration kernel source to the clipboard.
 -Show text on the status bar which indicates that an OpenCL kernel compilation is taking place.
 -Show xform name on xform combo box when expanded. Adjust size to fit all names.
 -Prevent QSS dialog from styling its editor, which makes it easier to see text when creating styles which have custom colors for text boxes.
 -Attempt to preserve xaos when adding xform copies. Note this is not an exact copy, but just a preservation of some values based on position.
 -Add some acceleration to the changing of spinner values when dragging the right mouse button to adjust.
 -Make the pivot be the center of the viewable area when doing drag/rotate/scale with the right mouse button. (This was totally broken when the viewable area was smaller than the image size.)
 --Clamp minimum scale to 10
 --Draw a line from the mouse position to the pivot.
 -Keep a cache of the last added final xform with each flame so that it can be quickly added, removed, then added back for testing its effect.
 --This is not saved with the xml file and is solely for interactive editing.
 -Add buttons to copy and paste affine transforms.
 -Show xform names on the column headers of the xaos table.
 -Add a color-coded third column to the variations tree which shows any properties of each variation which are non-standard. The column header has a tooltip which describes what the colors mean. (You can now finally know which variations have non-standard behavior.)
 -Use a green dot for the x axis and purple dot for the y axis when drawing affines to help distinguish them more easily.
 -Change the thickness of some of the lines used to draw the affine..
 -Draw post affine circles using dashed lines.
 -Draw a transparent circle over hovered xforms.
 -Change how xforms respond to dragging. Rotate only is now the default, and scale will only happen with shift.
 --Optionally do scale and rotate when holding shift, via a setting in the options dialog.

 -Make the About box more presentable.
 -Change qss files to make the text box in the About box be the same color as the one in the style dialog, so the link text is easier to see.
 --This requires reloading the qss file.
 -Add new palettes from user Rubydeva.

--Bug fixes
 -Fix out of bounds crash in EmberGenome.
 -Show grid setting was not being preserved during program run, only on close.
 -Zooming with the mouse wheel was broken for images whose size is greater than the screen area.
 -Manually typing xform weight when the xform had a name kept getting interrupted.
 -Fix up some table layouts which seemed to have regressed/decayed over time for reasons unknown.
 -Using undo/redo would create a new flame in the library every time.
 -Solo was not being preserved when using undo/redo.
 -File filtering in open and save dialogs was broken.
 -Right clicking on integer spin boxes was causing the context menu to pop up, when it should be suppressed just like in double spin boxes.
 -Deleting xforms was still broken.
 -Snapping when dragging and holding ctrl was wrong sometimes.
 -The program would very rarely crash on startup due to some values being in an uninitialized state.
 -Pre/post assign method was wrong for Sphereblur, Concentric, RandCubes and PixelFlow.
 -Avoid an occasional divide by zero in the OpenCL renderer when using the interactive editor.
 -Only treat NaN as a bad point. Previously anything too close to zero or too close to infinity was considered a bad value. Only testing for NaN allows for infinity to be processed. Denormals are still flushed to zero. (Credit:  bezo and lyc )
Various testers have reported serious animation bugs. Upon close inspection, I found ten major animation bugs. This is unfortunate because it means all existing animations were likely wrong, and you'll need to regenerate the sequence, then re-render them. The bugs have been present since the program's initial beta release in late 2013.

--User changes
  -No longer constrain pitch, yaw or depth spinners to -180 - 180.

--Bug fixes
  -Always write animate tag on final xform when saving to Xml.
  -Clamp flame rotation values to -180 - 180 when reading a flame from Xml.
  -Events were not properly wired for user changes in the random rotations per blend controls in the sequencer.
  -Fix major UI bugs with sequencer min/max random controls which made it nearly impossible to hand type values.
  -Values from rotations per blend and rotations per blend max were not being saved to file between program runs.
  -Checking animate for an xform was not applied to all flames even if Apply All was checked.
  -Changing interpolation type, temporal filter width, temporal type, and affine interpolation type were not actually saving to the flame when changed.
  -Grid on the main window was not being drawn at the right scale initially due to some OpenGL initialization occurring in the wrong order.
  -Severe bugs in sequence generation code:
   --Motion was being applied incorrectly.
   --Improperly detected padding xforms.
   --Properly set color index on padded xforms.
   --Adding a padding final xform included a linear variation with a weight of zero to not appear empty. Made it have a weight of 1.
   --Prevent divide by zero when normalizing variation weights.
   --Was accidentally adding the placeholder value of -9999 for motion_offset to varation weights and parameters when applying motion. Set to zero if no value present.
   --When looking for specific variations during xform aligning, only presence was detected, when it should have been presence plus a weight greater than zero.
   --When adding specific variations during xform aligning, must first remove any variations of that type.
   --Two variables were unsigned when they should have been signed. This prevented large blocks of code from ever executing.
   --When interpolating affines, an EPS that was too small was used, causing affine values to interpolate incorrectly. Instead use 1e-10 to ensure results equal to flam3.

Myself and other users discovered a severe bug in the last release that has actually been lurking for many years. When doing many rapid changes in the editor, the OpenCL renderer would occasionally report that it failed. The workaround was to switch back and forth from CPU to OpenCL.

This new release fixes that, so please go get it at

This ought to be the last release for this year, so enjoy Halloween, Thanksgiving, Christmas and New Years without further interruption!


United States
Software developer and author of Fractorium. Looking to advance the tools and ideas of the fractal art community.


Add a Comment:
Ulfbritt Featured By Owner Edited Jul 30, 2018  Hobbyist General Artist
Hello! Just recently discovered Fractorium, it's an absolutely amazing program!
Many, many thanks for providing this program for free!

This is what I came up with! :)

Dragon knight by Ulfbritt

mfeemster Featured By Owner Jul 30, 2018
Hi Ulfbritt, glad you like it!

I'm currently working on some new features to make it a little more usable. Hopefully I'll have a release within the next few months.

Were you able to get it working with the GPU?

Be sure to consult all of the documentation on

If you have a certain question, just try typing some of the terms into the main search box below the download buttons and you ought to be able to find what you need.

If you still can't find what you need, you can always email me. My email is on the contact page.

Ulfbritt Featured By Owner Jul 31, 2018  Hobbyist General Artist
So far the rendering is working perfectly, I have yet to encounter any bugs. Using a NVIDIA GeForce GTX 960 at the moment :)

I'm a stereotypical starving artist, so I can't really contribute with any money, but if there's anything I could do to help out with the development, please let me know!!
Again, big thanks :hug:

mfeemster Featured By Owner Jul 31, 2018
Don't worry about any of that, I've got it covered. Just enjoy the program and keep an eye out for future releases on my page here (which will always link to the main site,

If you have any feature ideas (that aren't too insane to implement) or bug fixes to report, send them my way.

Esherymack Featured By Owner Aug 2, 2017  Hobbyist Digital Artist
Hi! :wave:
I just found Fractorium today, wanted to say thanks for a renderer that can use OpenCL, lol :D
It's a fantastic program, easy to use, fast, and produces good results. Thank you, keep up the good work :D
mfeemster Featured By Owner Aug 3, 2017
Glad you like it! There are some bugs in that version with the Mac build. I will be releasing a new version soon.

Just curious, what OS are you using and what graphics card?
Esherymack Featured By Owner Aug 3, 2017  Hobbyist Digital Artist
lol, I'm actually using it on Windows 10 (most recent version, not sure what it is, but post Creator update) on an AMD Radeon Sapphire 390x with backplate (…). So kind of a beefy computer :lmao:

Renders a 2200x1444 fractal in under 40 seconds, with results almost what I get from 3-5 hours of rendering in Apophysis, or an hour and a half in Chaotica. Super fantastic :D
mfeemster Featured By Owner Aug 14, 2017
Very glad to hear it! I run an R9 280x and love it. It was one of the last mass market cards they released which had good fp64 support.

The new version of Fractorium has been delayed a bit, as some of my testers have discovered bugs. Keep an eye on my journal for when I release it.
(1 Reply)
DotAandMe Featured By Owner Jun 1, 2016  Hobbyist Digital Artist
I'm here to wish you a really happy birthday! I wish you the better results for all you're doing!
Keep it up and don't give up, there's not a lot of people out there doing what you are :)

I hope to help you somehow in the future,
Enjo the rest of the day! :D
mfeemster Featured By Owner Jun 3, 2016
Thanks Dot, I am aiming to wrap things up by the end of this month. In the meantime, check out the website, I finally got it up!
Add a Comment: