1================== 2 Fyre 3================== 4 5Introduction 6------------ 7 8Fyre is a tool for producing computational artwork based on histograms of 9iterated chaotic functions. At the moment, it implements the Peter de Jong map 10in a fixed-function pipeline with an interactive GTK+ frontend and a command 11line interface for easy and efficient rendering of high-resolution, high 12quality images. 13 14This program was previously known as 'de Jong Explorer', but has been renamed 15to make way for supporting other chaotic functions. 16 17All the images you can create with this program are based on the simple Peter 18de Jong map equations: 19 20 x' = sin(a * y) - cos(b * x) 21 y' = sin(c * x) - cos(d * y) 22 23For most values of a,b,c and d the point (x,y) moves chaotically. The resulting 24image is a map of the probability that the point lies within the area 25represented by each pixel. As you let Fyre render longer it collects more 26samples and this probability map and the image becomes more accurate. 27 28The resulting probability map is treated as a High Dynamic Range image. This 29software includes some image manipulation features that let you apply linear 30interpolation and gamma correction at the full internal precision, producing a 31much higher quality image than if you tried to create the same effects using 32standard image processing tools. Additionally, Gaussian blurs can be applied 33to the image using a stochastic process that produces much more natural-looking 34images than most programs, again without losing any of the image's original 35precision. 36 37Contact info and the latest version of Fyre is available from: 38 http://fyre.navi.cx 39 40 41Quality Metric 42-------------- 43 44Fyre 1.0.0 introduces a new quality metric for determining stopping conditions 45on command-line and animation rendering. It is much more consistent across 46images than using the maximum density. A quality of 1.0 is generally "pretty 47good", and 2.0 produces a very high quality image. As usual, while this metric 48is pretty reliable, it's impossible to automatically judge aesthetics, so you 49may need to fiddle with it if you're dissatisfied with the results. 50 51 52Loading and Saving 53------------------ 54 55Unless given a .exr extension, all images saved using the GTK+ frontend or the 56-o command line option are standard PNG files containing an extra 'tEXt' chunk 57with all the parameters used to create the image. This means the image can be 58loaded back in using the -i command line option or the "Parameters -> Load from 59image" menu item. 60 61One convenient use of this is to save small low-quality images using the GUI, 62then use the -i, -q, -s, and -o options to render very high quality and/or 63large images noninteractively. 64 65When using the -o (--output) option, no GUI is presented. Instead, Fyre just 66outputs status lines every so often with the current rendering process. These 67lines include: 68 69 - percent completion 70 - current number of iterations 71 - speed in iterations per second 72 - current and target peak density values 73 - elapsed and estimated remaining time 74 75 76Animation 77--------- 78 79Fyre includes an animation subsystem. From the main explorer window, use View > 80Animation window to open the animation interface. Animations are represented as 81a list of keyframes, with a transition after each. Keyframes can be manipulated 82with the buttons at the top of the window. Transitions consist of a duration, 83in seconds, and an editable curve. This curve's presets can be used to 84transition linearly or ease in and out of keyframes, but you can also edit the 85curve for more complex effects. 86 87Each keyframe in the list also shows you the bifurcation diagram between that 88keyframe's parameters and the next. Intense black dots or lines in the 89bifurcation diagrams are fixed points or limit cycles, which usually don't look 90good in animation. 91 92You can preview the animation by dragging the two horizontal seek bars, or 93using the 'play' button. The keyframe list can be loaded from and saved to a 94custom binary format. Once you have an animation you like, you can get a higher 95quality version using File -> Render. The result will be an uncompressed .AVI 96file. You can use tools like mencoder or transcode to compress this file with 97your favorite codec. 98 99Animations can also be rendered from the command line using the -n and -o 100options together. 101 102 103Clustering 104---------- 105 106As of 0.7, Fyre supports cluster rendering. On each worker node, start up fyre 107with the -r command-line switch. On the head node, select your cluster nodes 108using either the GUI or -c on the command line. If you're dealing with a large 109cluster, the cluster-utils.sh file will probably prove useful. Clusters on the 110local network can be autodetected using UDP broadcast packets. See the -C 111command line option, or the autodetection check box in the GUI. Note that 112cluster mode cannot be used for animations at this time. 113 114 115Dependencies 116------------ 117 118Hard Dependencies: 119- GTK+ 2.0 120- libglade 121 122Soft Dependencies: 123- GTK+ 2.4 124- OpenEXR, necessary for saving .exr files 125- GNet, for clustering and remote control mode 126 127 128Compiling 129--------- 130 131Standard autotools procedure. configure, make, make install, you know the 132drill. 133 134Fyre supports Windows, using the same autotools build system. You'll need 135Cygwin to compile this under Windows, but we find a cross-compiler under Linux 136easier. The tools in the 'build' directory are used to create the final binary 137packages. 138 139 140Authors 141-------- 142 143David Trowbridge <trowbrds@cs.colorado.edu> 144Micah Dowty <micah@navi.cx> 145 146