I’ve released a new build of Fragmentarium, version 0.9.1 (“Chiaroscuro”).
It can be downloaded at Github (as of now only Windows builds are available).
The usual caveats apply: Fragmentarium is very much work in progress, and is best suited for people who like to experiment with code.
The main new feature is support for dual buffers and dual shaders. The front buffer is swapped after each frame to the backbuffer, which can be accessed as: ‘uniform sampler2D backbuffer;’.
Buffers can be created as either 8-bit or 16-bit integer, or 32-bit float. The new buffers makes it possible to create accumulated ray tracing, high quality AA for 2D systems, and many types of feedback systems. The easiest way to start exploring these features is by looking at the new tutorials (see below).
- Changed UI a bit to make it easier to change from automatic to continuous rendering.
- Added context menu option to insert preset based on current settings.
- The syntax for using ‘2D.frag’ is simpler now. Just implement: “vec3 color(vec2 c);”
- Bugfix: Fixed error in 2D.frag, where changing aspect ratio would mess up viewport translation.
- Bugfix: Fixed some errors in the included fragments: Noise, Tetrahedron, and several of Knighty’s examples were missing a ‘providesInit’.
- Bugfix: Fixed specular bug in standard-raytracer.
- Bugfix: Copying from web was sometimes weird (should now strip rich text).
- Bugfix: Autosave files now creates a directory with output files (necessary since the #BufferShader directive broke the old ‘include all in one file’ system).
- Added a new ‘tutorial’ category, with examples of many features in Fragmentarium.
- Soft-Raytracer.frag – An example progressive (accumulated) ray-tracer. DOF using finite aperture, HDR and tonemapping, soft shadows, and multiple ray ambient occlusion, and sub-pixel jittered high-quality anti-alias. All very experimental.
- Progressive2D.frag, Progressive2DJulia.frag – Can be used for high-quality (progressive) anti-alias of 2D systems. Uniform disk sampling, Gaussian and Box filtering, “gamma correct” averaging of samples.
- A Quilez inspired ‘Domain Distortion’ example.
- A dual-buffered Game of Life example.
- Mandelbrot Averaged Stripe Coloring example.
- Lifted Domain Coloring example (in 2D/3D), see here.
- New ‘Theory’ category with examples of the dual number and automatic differentiation method.
- Some great new scripts from Knighty, for polyhedrons, knots, polychora, and hyperbolic tesselations. See here and here.
Some fragments fail on ATI cards. This seems to be due to faulty GLSL driver optimizations. A workaround is to lock the ‘iterations’ variable (click the padlock next to it). Adding a bailout check inside the main DE loop (e.g. ‘if (length(z)>1000.0) break;’) also seems to do the job. I don’t own an ATI card, so I cannot debug this without people helping.
Some Mac users has reported problems with the last version of Fragmentarium. Again, I don’t own a Mac, so I cannot solve these issues without help.
Finally, please read the FAQ, before asking questions.
For more examples of images generated with the new version, take a look at the Flickr Fragmentarium stream.