I’ve released a new build of Fragmentarium, version 0.9.12 (“Prague”). It can be downloaded at Github. (Binaries for Windows, source for Windows/Linux/Mac)
The (now standard) caveat apply: Fragmentarium is very much work in progress, and is best suited for people who like to experiment with code.
Version 0.9.12 continues to move Fragmentarium in the direction of progressive HDR rendering. The default raytracers now use accumulated rendering for anti-alias, shadowing, and DOF. To start the progressive rendering, Fragmentarium must be set to ‘Continuous’ mode. It is possible to set a maximum number of rendered frames. All 2D and 3D system now also come with tone mapping, gamma correction, and color control (see the ‘Post’ tab).
IBL Raytracing, using an HDR panorama from Blotchi at HDRLabs.
There is a new raytracer, ‘IBL-raytracer.frag’ which can be used for DE’s instead of the default raytracer. It uses Image Based Lighting from HDR panorama maps. For an example of the new IBL raytracer, see the tutorial: “25 – Image Based Lighting.frag”.
If you need to do stuff like animation, it is still possible to use the old raytracers. They can be included as: “#include “DE-Raytracer-v0.9.1.frag” or “#include “DE-Raytracer-v0.9.10.frag”
Other than that there is now better support for buffer-swap systems (e.g. reaction-diffusion and game-of-life) and better control of texture look-ups.
There are also some interesting new fragments, including the absolutely amazing LivingKIFS.frag script from Kali.
- Added maximum subframe counter (for progressive rendering).
- Added support for HDR textures (.hdr RGBE format).
- Tonemapping, color control, and Gamma correction in buffershader.
- Added support for widget for changing bound textures.
- More host defines:
123#define SubframeMax 0#define DontClearOnChange <- when sliders/camera changes, the backbuffer is not cleared.#define IterationsBetweenRedraws 20 <- makes it possible to do several steps without updating screen.
- Added texture parameters preprocessor defines:
1234#TexParameter texture GL_TEXTURE_MIN_FILTER GL_LINEAR#TexParameter texture GL_TEXTURE_MAG_FILTER GL_NEAREST#TexParameter texture GL_TEXTURE_WRAP_S GL_CLAMP#TexParameter texture GL_TEXTURE_WRAP_T GL_REPEAT
- Change of syntax: when using “#define providesColor”, now implement a ‘vec3 baseColor(vec3)’ function.
- DE-Raytracer.frag now uses a ‘Blinn-Phong with Schickl term and physical normalization’. (Which is something I found in Naty Hoffman’s Course Notes).
- DE-Raytracer.frag and Soft-Raytracer now uses new ‘3D.frag’ base class.
- Added a texture manager (should reuse and discard textures in memory automatically)
- Added option to set OpenGL refresh rate in preferences.
- Progressive2D.frag now supports custom filtering (using ‘#define providesFiltering’)
- Added support for choosing ‘#include’ through editor context menu.
- Using arrow keys now work when sliders have focus.
- Now does a ‘reset all’ when loading new system (otherwise too confusing).
- Added ‘Kali’s Creations': KaliBox, LivingKIFS, TreeBroccoli, Xray_KIFS. [Kali]
- Added Doyle-Spirals.frag [Knighty]
- Added: Droste.frag (Escher Droste effect)
- Added: Reaction-Diffusion.frag (Gray-Scott example)
- Added ‘Convolution.frag’ example (For precalculating specular and diffuse lighting from HDR panoramas)
- Added examples of working with double precision floats and emulated double precision floats: “Include/EmulatedDouble.frag”, “Theory/Mandelbrot – Emulated Doubles.frag”
- Added ‘IBL-Raytracer.frag’ (Image Based Lighting raytracer)
- Added tutorials: ‘progressive2D.frag’ and ‘pure3D.frag’
- Added experimental: ‘testScene.frag’ and ‘triplanarTexturing.frag’
- Added ‘Thorn.frag’
- Reflection is now working again in ‘DE-Raytracer.frag’
- Fixed filename case sensitivity error when doing reverse lookup of line numbers.
Some Mac users has reported problems with the latest versions of Fragmentarium. Again, I don’t own a Mac, so I cannot solve these issues without help.
For examples of images generated with the new version, take a look at the Flickr Fragmentarium stream.
Finally, please read the FAQ, before asking questions.