Adaptive GammaIf you study the mathematic logic used by all flame fractals renderers today, there are in fact two erroneous assumptions in the math formula
used to convert a specific pixel's histogram value to the final pixel's RGBA color value.
Those incorrect assumptions are:
1) 100% of the points in the renderer point pool are retained by the fractal and hit the histogram.
2) Every point in the point pool is 100% fused.
For example, for the competition fractal the retained fraction is only 30% - not 100%. (See Histogram stats shown in histogram view)
That means that the calculated gamma value used to convert the histogram to the RGBA color value is incorrect.
The main effect of this error on the image is that the output image will be dimmer than it should be and color saturation be lower.
You can manually compensate for this error by just tweaking the Gamma value of course.
Fractal Architect 3D has a new optional Adaptive Gamma on/off setting. If turned on, FA will correct the gamma value for the retained point fraction and fused
fraction. The last image in the images post above was produced with Adaptive Gamma turned on.
Note the improved tonal range, brightness, and color saturation.
Of course, you could fiddle with the Gamma setting too to achieve the same affect. Adaptive Gamma just gets you a lot closer to the ideal image without you having to play with the Gamma value.
Anti-AliasingFractal Architect (all versions), Flam4CUDA for both Mac and PC uses a Gaussian Dither algorithm to achieve anti-aliasing.
Its only setting is called Super Sample Width whose units are in pixels. A good default value is 0.35 pixel.
That was the setting used in the FA images shown above.
Fractal Architect does not support Flam3 Super Sampling where you render the image to twice the size of the desired image size and have the renderer produce an image that is 1/2 the internal rendered size.
You can still do this manually in Fractal Architect by rendering to twice the desired size and by using a Photo or Image editor to reduce the final image to the desired size.
Open Source Fractal Architect OpenCL Rendering EngineThe Fractal Architect 3D OpenCL rendering engine kernels are Open Source and are licensed under GPLv3 just like Apophysis.
The kernel templates and the entire variation library source code is included in the Application bundle downloaded from the Mac App Store.
The actual OpenCL kernel source code used to build each variation set are found in the app's Application Support directory.
Being open source, it can be used by
any open source flame fractal project as an alternate renderer. (Though it may take a bit of work to do.)
Other open source projects can embed the source code into their own projects and customize it as they wish.
My only request is that they call this alternate renderer the
Fractal Architect Rendering Engine in their documentation and About window.
This is just a personal request - its not mandatory.
Being licensed under GPLv3, the license is
Irrevocable which means I can't change my mind in the future. It is yours forever.
Later this year, I plan to create an Open Source project for a demonstration basic reference renderer that will run on
Windows, Mac, and Linux. It will be able to read Apophysis, Flam3, JWildfire, and Chaotica fractal files. It will render images to any size.
Since it will be based on the Fractal Architect OpenCL Rendering Engine, it will run on any OpenCL compliant GPU and CPU.
It will be the exact same rendering engine that the Fractal Architect 3D app uses.
Being a small working renderer, I hope the simple reference implementation will encourage other open source projects to adopt the rendering engine.
Andreas, you have created some exciting new ways to combine and layer fractals in JWildfire. I would like to work with you, if you wish, to get the FA alternate renderer fully capable of supporting your new innovations. I would love to see JWildfire crank out fractals on good hardware.
Viewers please look at the awesome images Andreas' innovations make possible:
https://plus.google.com/communities/118391398023168606746Fractal Architect 3D version 3.1.1This render competition turned out to be a great assist to the FA rendering engine by exposing previously unknown render bugs.
We found 2 serious rendering issues in version 3.1.0, which is the must recent update on the Mac App Store:
1) There was a rendering artifact surrounding the central orange orb when rendering on the Nvidia GT 650M GPU.
My son correctly diagnosed the problem as a Full Warp vs Half Warp granularity issue that allowed a race condition in the point pool.
Fixed!! Thank you Steven.
2) The CPU renderer did not show the rendering artifact. Instead, the problem for CPU rendering only occurred when
a fractal had both a Final Xform and one or more transparent normal Xforms, the transparent Xforms would be visible in the rendered image.
(The GPU render did not have this problem.)
Fixed!
The effect of these renderer changes on the ATI GPU families and Intel HD Iris GPUs has not been tested yet.
I will get this tested and released later this week. Of course, Apple has to take its testing & review whack at the app too before you can get
it from the Mac App Store. So in 10 days or so, you will have the renderer fixes in the upcoming update.
.