are several elements that affect what you see when you watch G-Force: WaveShapes,
FlowFields, ColorMaps, and Scripts.
A WaveShape is responsible for visualizing a short
sound snippet into the form of line segments and dots. A WaveShape thus
consists of line segments and dots arranged in patterns resulting from the expressions
in the WaveShape file.
Imagine a chalk drawing on a chalkboard. Someone hands you a long list of commands that all resemble, "find the point (a, b) on the chalkboard, erase what's there, and in its place draw what you have drawn at point (c, d)." If you follow every command on the list in order, you're left with a different picture on your chalkboard than when you started. In effect, you've transformed your initial image into a new one. In G-Force, a FlowField acts like this list of commands, except that instead of chalkboards, it's meant for the G-Force output. A FlowField is a recipe that makes a new image or "frame" from an existing one. Like a recipe, it's meant to be used over and over. If you view a FlowField file, you'll discover that it contains two equations that express a 2D source coordinate as a function of a destination 2D coordinate.
A ColorMap defines a list of 256 RGB colors. G-Force does its work on an 8-bit image offscreen that you never see, meaning that each pixel within G-Force has a value from 0 to 255 (that is, each pixel is 8 bits). When G-Force needs to draw a pixel to the screen, it uses the current ColorMap to lookup the RGB color for the pixel value it's drawing. In other words, a ColorMap is a "map" or "color table" that has a number from 0 to 255 on the left hand side and RGB color on the right-hand side (hence, pixel values are "mapped" to full RGB colors).
Particles are WaveShapes that randomly appear and disappear every so often in G-Force. They're the extra things you see flying around in the G-Force window now and then. They're the same thing as WaveShapes except that G-Force treats particles a little differently: only one WaveShape is present at a time, while one or more particles can be present at a time (in addition to the current WaveShape). Particles are just WaveShapes that appear when G-Force rolls some dice and the dice happen to come up a certain way.
"Sprites" are particles in that they share similar properties, but are different in that they are image-like (while WaveShape particles are displayed via line drawing). In other words, a sprite particle is based from an image file, movie, or imaged text while a WaveShape particle is based on equations that describe line drawing (ie, what WaveShapes are). See the FAQ for the questions that discuss sprites.
- All Together Now
When G-Force is running (and for the purposes of this explanation), G-Force has only one WaveShape and one FlowField loaded at a time. It repeats these 5 steps:
- Use the current FlowField on the previous frame to generate a new frame.
- Sample some audio.
- Draw the current WaveShape and any running particles on the new frame.
- Colorize the new frame using the current ColorMap.
- Copy the new frame to the screen.
By default, G-Force randomly shuffles though WaveShapes, FlowFields, and ColorMaps.
Scripts are in a special format and contain G-Force commands and time indexes when they are to be executed (ie, "timecodes"). With some time and practice, you can make a script to your favorite song that does planned effects as certain beats and rhythms occur in the audio track. Learn more in the Scripts section.