Thought it would be good to finally share FragTool with everyone. It’s not in a perfect state at the moment but I’m not sure when I’ll have time to work on it more so I figured it would be a good day to post it.
Eventually I’ll try and make some better documentation and or some video tutorials but here is quick run down of how it works. There are a number of features, I won’t go into too much detail at the moment but this should be enough to get going.
On the left side is a panel with a radio button at the top that changes which controls are being displayed.
Formula Tab:
- select the DE surface formula (a fractal or any other DE function (distance estimation))
- iterations has will have an impact on quality and performance
- a lot of formulas will just be a cube with base settings.
Color and Light:
- adjust shading and lighting
- there are two color formulas - the second is more expensive
- shadows and reflections are both expensive (reflections more so) environment map is a cheap light reflection look
LFOs: are modulation sources route-able to any parameter selected in the mod-matrix (future UI will have the mods able to be assign directly in the gadget again)
Render:
- adjust render settings
- Detail, FudgeFactor, and MaxRaySteps will all have an impact on quality and performance.
- Standard mode renders one image per frame - useful for realtime and or general use
- Progressive is an accumulated render that renders the same frame many times to get better smoother detail and a relatively realistic DOF
- the DOF settings are no longer connected (but can be easily) they are for standard mode and use a depth map for a fake DOF
- GL_RenderMix will turn on a COMP with a regular render TOP in it. The compositor will then mix both the raymarched render with OpenGL render using depth data from both. With this function it is possible to have the raymarched surface being occluded by regular geometry and vice-versa. The render TOP in the GL_Render COMP must use the camera it’s pointing to in order to have the same camera/projections matrices.
The right tabs:
Camera:
-use controller cross to switch between controller mode and and UI mode
-there are three options for controller mode, 3dx, 3dx SpaceNav and Mouse/Keyboard. When using mouse mode the use WASDRFQE keys to translate tx,ty,tz and rotate z. The mouse is then used to rotate x and y by clicking and dragging in the viewer. Press H to reset the camera.
GeoGL:
- there is a table in GL_Render called parameters that if filled will make gadgets here that are able to be modulated and animated
ModMatrix:
-routes mod sources to any parameters
All parameters in the tabs can animated. Create a key in their respective animation COMP by pressing the K button. The slider will now become relative to the animation timeline and will set a key when moved and let go of. It will then snap back to zero. Edit animation in the animation editor at the bottom. You can turn off animation of particular channel by clicking the K button again. The animation data will still be there if turned back on unless the channel is deleted, in which case it will make a fresh channel again with it’s start and end values being the current slider value.
The top middle area stores and recalls presets. The radio button selects which panel to store or recall (either just one or all of them). The presets will store all mod, animation and parameter data.
There is also an audio processing / modulation setup, a camera take recorder / sequencer.
I’ll have to go into more detail at a later time.
You can either export a movie in standard mode by pressing the export button, or you can do a progressive render by pressing the Prog Render button.
All sliders have coarse, fine, finer, finest control - left click, lc + ctrl, lc + alt, lc + ctrl-alt respectively.
Also one very important thing:
Because of the nature of fractals and raymarching with certain settings render time can be very long. Most fractals can render at 60 fps on a Titan or 980 with the right settings but with certain settings and resolutions the framerate can drop down to 2 min frame or more… Without setting a proper key in the registry to tell Windows that it’s okay that the video card is not responding your video card can crash - either just Touch or Windows altogether. This isn’t as much of an issue now that it has the progressive renderer which keeps Touch’s framerate high while rendering a high quality render, but the default TDRDelay timeout setting is 2 seconds
To fix the issue, create this registry value
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers\TdrDelay
Disclaimer- I cannot be held responsible for machines and brains crashing, melting or exploding from heavy use of FragTool.
Also I just remembered that I have no idea if it will work on an ATI card… It may not, a while ago ATI wasn’t happy about floats set with integer characters, since then I’ve been pretty diligent but some of the GLSL code was written a while ago.
I think the whole patch needs a new UI and preset system which I would like to do in the future but for now I think it could be fun to use.
happy holidays!
cheers
Keith
Updates:
Progressive Render no longer clears to black on first frame which makes for a faster better render. ProgRender’s AnitAlias scale is now in pixel range so a value of at least 2 or 3 is now needed. When recalling presets made from before this change the value recalled will be about .67 which will have no effect and needs to be manually set higher.
Space bar starts/stops the timeline now rather than “b”. > re-starts the timeline at frame 1.
Fixed fields not updating slider positions.
Save image button now works again. This will save a jpeg and a tiff file of the current output in the project folder.
Preset morphing is now fixed. This will probably get called something else in the future because it is more like preset animating. To use:
- make a bunch of presets of the same formula type
- select the initial/start preset
- open the Preset Morph window
- select the group to morph (usually formula)
- press initialize (this will make keyframe channels for all parameters in the group)
- next select a preset in the Preset Morph list and press copy preset to make keyframes of that presets values
- you can turn “Quick Copy” on which will key the preset when selected for fast creation of keys
When exporting movies I would recommend using only progressive render. Set the render parameter “Render” to Progressive then press the “Prog Render” button to choose a folder to render out a tiff sequence. The “Export” button does work to open the export movie dialog but the timeline will be set the root timeline which is not the time that the animation or LFO’s use. If you want to use the Export Movie Dialog you’ll need to set the Timepath to “/FragTool/Anim_LFOs_Mods” manually and then close and reopen it to initialize the start and end frames. You can also leave the time path but then the render will just start and the current time. Progressive Render is much better quality also.
FragTool 3_5_Public.toe (6.35 MB)
FragTool 3_4.toe (1.45 MB)