NAME
jigglypuff - save your screen by tormenting your eyes.
SYNOPSIS
jigglypuff [-display
host:display.screen] [-visual visual] [-window]
[-root] [-delay number] [-cycles number] [-wireframe]
[-fps] [-color colorspec] [-spooky] [-complexity n]
[-speed n] [-spherism n] [-hold n] [-distance
n] [-damping n]
DESCRIPTION
This draws all manners of obscene, spastic,
puffy, vaguely ball-shaped objects orbiting lazily about the
screen, with a dizzying array of mostly pointless options.
OPTIONS
- -visual visual
- Specify which visual to use. Legal values are the name of a
visual class, or the id number (decimal or hex) of a specific
visual.
- -window
- Draw on a newly-created window. This is the default.
- -root
- Draw on the root window.
- -delay number
- Per-frame delay, in microseconds. Default: 20000 (0.02
seconds.).
- -wireframe
- Render in wireframe instead of solid. Default: render solid.
- -fps | -no-fps
- Display frames per second. Default: off.
- -tetra | -no-tetra
- Whether to start the shape in the form of a tetrahedron. The
default is to start as a sphere.
- -color colorspec
- Available options for colorspec are: cycle, flowerbox,
clownpuke, chrome and #xxxxxx (i.e an (old-style) X color
specification.) Default: cycle
- -spooky n
- This option controls a kind of interesting effect obtained by
using unnormalized normal vectors (how's that for an oxymoron?) in
OpenGL. A value of zero disables the effect. Other values vary the
lengths of the normals proportionally. Okay, so it's not very
spooky. Sue me. Default: 0
- -complexity n
- Valid options are 1, 2, and 3. Everything else is treated as
though it were 2, which is the default. This controls the number of
polygons in the 'thing'. A value of 1 yields 1024, and the values
go up in powers of 4. (i.e. 4096, 16384.)
note: There is an inherent lack of stability
at lower complexity, which can cause the shape to devolve into a
'flying snotrag'.
- -speed n
- Controls how fast the blob moves around the screen. Default:
500.
- -spherism, -hold, -distance, -damping
- These options control the 'jigglyness'. The best way to explain
these is to explain how jigglypuff works. Basically, the shape is a
tetrahedron whose faces are subdivided into a number of triangles,
forming a mesh. Each of the vertices of the mesh has two different
forces applied to it: one proportional to its distance from the
surface of a sphere, and one proportional to the difference of the
distance to each of its neighbors in the mesh to a given ideal
distance. In short, one tries to move the points into the
configuration of a sphere, and the other tries to push them back
into a tetrahedron. The catch is that the points have inertia, so
they always overshoot their target, and hence they oscillate. The
magnitudes of the two forces is controlled by the options
'spherism' and 'hold'; 'distance' specifies the distance the
vertices seek to keep from their neighbors, with 500 corresponding
to the size of the start tetrahedron. e.g. if you were to give the
options '-tetra -spherism 0 -distance 500', you would end up with a
stable tetrahedron. The 'damping' option can help to keep the blob
from collapsing or flying apart. The option specifies the speed at
which damping starts, hence lower values mean more damping.
Defaults: spherism: 75; hold: 800; distance: 100; damping: 500.
- -random
- Probably the only parameter you'l ever need. Overrides almost
all of the parameters with random values. The values affected are:
speed, spherism, hold, distance, damping, spooky, color, wireframe
and tetra. Default: off
ENVIRONMENT
- DISPLAY
- to get the default host and display number.
- XENVIRONMENT
- to get the name of a resource file that overrides the global
resources stored in the RESOURCE_MANAGER property.
SEE ALSO
X(1),
xscreensaver(1)
COPYRIGHT
Copyright © 2003 by Keith Macleod.
Permission to use, copy, modify, distribute, and sell this software
and its documentation for any purpose is hereby granted without
fee, provided that the above copyright notice appear in all copies
and that both that copyright notice and this permission notice
appear in supporting documentation. No representations are made
about the suitability of this software for any purpose. It is
provided "as is" without express or implied warranty.
AUTHOR
By Keith Macleod