JONGL is a juggling simulation program. You can watch patterns with one or more jugglers throwing almost anything from balls to chain saws. While the jugglers are doing their pattern you can watch the scene from any view you like using the mouse. Don't forget to try the mouse buttons. Jongl is free software.
Controlling the program | Format of the files read in | Listings of external files |
(6x,4)(4x,6): 6x4*
j2
to produce patterns with 1, 2 or 3 jugglers.
See the Jongl 8.0.1 specification.
6_2cnt_RRLR
and press SHIFT-Z)
jongl.prefs
:
as, ab, quick, timestretch, vrmlobjects
. You may give any parameter
from jongl.prefs
at the command line.
O=
,
animation rendering and exporting hardcopies and animations.
These points are relevant for those of you who want to write new patterns:
m/examples
which contains patterns you want to use as a start for new patterns.
list_of_people
into 4 separate lists.
4_4spin_backcross
, 6_3cnt_bc_passing
,
11_2cnt_3Person_Show
GLUT: Fatal Error in jongl: visual with necessary capabilities not found.
If you use Nvidia driver 1.0 2880 (tested on SuSE7.1) you have to set the display colour depth
to 24. Then the display driver supports the stencil buffer which jongl needs.
With the mouse the position of the observer is being moved on concentric circles around the geometric center of all objects. As a consequence you view actions with high patterns from a higher position. (See option Z=).
Mouse left/right | Observer moves left/right |
Mouse up/down: | Observer moves up/down |
Mouse up/down and | |
- left mouse button | Observer moves away/toward from/to object |
- middle mouse button or CTRL and left mouse button
| Observer's view angle increases/decreases |
left mouse button | move object along X and Y |
SHIFT + left mouse button | move object along Z |
middle mouse button or CTRL and left mouse button
| rotate object around Z |
r
to reset the view point.
?
or select Help
from the menu to get current settings.)
SPACE | stops the motion of the observer. Makes it easier to stop the observer during a three-dimensional manoeuvre quickly and at the desired position. |
RETURN or ENTER | returns to the pattern menue, so you can select a different pattern without having to leave the program |
ESC | enables you to get out of this program as fast as possible |
? | shows what all the keys are supposed to do for you |
a | Place an arrow at the current object |
b | switches mouse control from rotation to LINEAR movement and back.
You can move on tracks other than the concentric spheres, in all
six directions of space:
Pressing left mouse key: Move left/right: Observer moves left/right Mouse forward/back: Observer moves forward/back Pressing right mouse key: Mouse forward/back: Observer moves up/downWhenever you are lost, press 'r' or 'R'. (One of the more essential inputs to remember.) |
c | Change objects. The program loads all objects. The user may choose one of them which then will be juggled. |
d | Distance shading. Objects getting darker when they are farther away. |
e | Set speed to 0%. The presentation stands still and will resume 100% speed when you press 'w'. |
E | Set speed to 50%. (See 'e' and 'w'.) |
f | Show flightpaths of objects. Press 'f' again to switch the same flightpath off. Press TAB to select the next object and f to see its flightpath. All flightpaths off with 'R' or 'F'. 'a' shows the current object. |
F | Switch off all flight paths. |
g | Glowball mode. |
h | make hardcopies. The current screen is dumped into a file. The destination directory is specified in the jongl.prefs. It MUST end with a '/' or '\'. |
i | simulates infrared vision equipment. The sun is switched off (automatically) and a blurred and strange-coloured picture is shown. Very funny in connection with 'v'. Lots of activity in the presentation will improve the effect. |
j | Spread juggling props on the floor. Just to simulate convention feeling. |
J | Toggle JonglRemoteControl window. |
k | Vomiting mode. You are flying 50 cm (1.6404199 feet for you non- Europeans) behind an object chosen at random. Why this is called the vomiting mode, will become apparent latest during the sharp turns while the object is in hand. Press TAB to go to the next object. |
K | Toggle coordinate system which is useful for debugging new patterns. |
l | Switch to next language. |
m | Toggle mirror mode (reflections on the ground). |
M | Toggle height scale. One line is 1 metre. The red lines are 5, 10 and 15 metres. |
n | Toggle fog mode. |
o | Allows to move the sun in azimuth and elevation, in other words, the direction and the angle above the horizon from which the sun is shining. This will change direction and shape of the shadow. |
O | Same as 'o', but with light cone. |
p | Present POSITION of the view point (B=..) and of the observer (G=..) is inserted in the pattern file. When the program is started again, the performance will be seen with this new viewing angle. (Explanation of the parameters see further down, under 'pattern files'.) If you changed the juggled objects interactively, the chosen kind of object will be saved, too. After insertion of the parameters the program continues to run. |
P | Save last siteswap pattern in jongl notation. The destination directory can be specified with siteswapsavedir = ... in the jongl.prefs. |
q | Toggles flight queues. Or you can call it motion blur. Fucking slow. |
r | RESET for view point. (if you have fiddled around too much with the above functions...) |
R | RESET for everything. (if you have fiddled around even more) |
s | Switches shadows on the ground. |
S | Switches shading of the jugglers and objects. |
t | Toggle FPS and Speed display. |
u | Toggle the status line. |
v | Keep an eye on one object while the position of the observer
remains unchanged. The object is first chosen at random but may
be changed step by step with TAB. In addition feel free to change the observer's position using the mouse... until you are lost! Or you may, before starting this mode, press a function key on the numeric pad and have one of the jugglers keep an eye on one of the objects. |
w | Reset speed to 100%. (See 'E' and 'e'.) |
W | Toggle full screen mode. |
x | (not Windoze)
export animation in one of the following formats (use pop up menu to select)
MPEG or FLI or AnimGIF. The destination directory can be set via 'hardcopy=' in jongl.prefs |
X | export Raytracing data for POVRAY. The destination directory can be set in jongl.prefs. |
y | Show additional information in additional window. |
z | Changes objects into letters or characters or vice versa. Useful for debugging. (Will be explained later.) |
Z | Toggles inline comments. If this pattern contains inline comments you can see a short text at some objects on some flight paths. (Currently, this is very rarely used.) |
1...9,0 on the main keyboard | puts juggler number n into the center. The observer may then wander around each of the jugglers while they are passing. Switch off with 'r' or 'b'. |
F1 .. F10 | beams you into the head of the selected juggler. This will prepare you for the feeling that you will have when juggling 15 chain saws all by yourself... |
TAB | switches from object to object while "keeping an eye on" it. (See 'a', 'k' and 'v' and 'f') |
+ - | play animation faster / slower by 10% |
> < | play animation faster / slower by 1% |
It is up to the user to find out how many of these modes he can handle
simultaneously.
(NKP means numeric keypad)
e | Toggle between editor mode and viewpoint mode |
j | Add a static object to the scene. |
J | Add a juggler to the scene. |
r | Reset view. For best control while moving objects. |
0 | Set current object to height Z=0. |
TAB | Go to next object. |
DEL | Delete current object. |
Most of the 3D mode keyboard assignments still work in editor mode.
Feature | key shortcut | set path in jongl.prefs with |
---|---|---|
Hardcopy | h | hardcopy=
|
MPEG2 | x(1) | tmp=
|
Animated GIF | x(1) | tmp=
|
FLI Animation | x(1) | tmp=
|
Povray Data | shift-X | povout=
|
All of these capabilities are accessible via the "Export" pop up menu, too.
The size of the resulting snapshot or animation equals the current size of the 3d window. The speed of the animation will be the speed of the realtime 3D display (e.g. [100%]).
When exporting animations, be sure to read this first. It will save lots of time and disk space.
Some of these features may be deactivated depending on your operating system.
(1): Use jongl.prefs parameter anim=
to set which of these 3 formats
will be written when the key x is being pressed.
There are more parameters
in jongl.prefs which control animation export.
One of these is as
which stands for "animation scale".
David Byers (who implemented this) explains it:
If you use as
, every
frame is scaled using pnmscale
, so the result is an antialiased
version of the original frame. For example, if you specify as=50
,
then it is equivalent to 4x oversampling of the scene. This
oversampling is pretty important if you're scaling down to a very
small size, like I do for the videos for Isaac Orr.
If you scale the image by just making the 3D window smaller, then the
end quality of the image is far, far worse.
If you use as
be sure to set a compatible window size in jongl.prefs, because Jongl
makes no attempt to resize the 3D window.
jongl [-<object number>] [-<object name>] [--<s22j parameter>]
[+<prefs parameter>] [<pattern>]
Here some examples:
> jongl | Brings up a file selector -> select a pattern to start |
> jongl 5 | Starts pattern 5 (really this is file m/5) |
> jongl +textures=0 | Overwrites the parameter textures in jongl.prefs
. Thus jongl will start without texturing. The file selector pops up.
|
> jongl -24 3_801 | Starts pattern 3_801 (m/3_801) with object #24
(see list_of_objects to see which number belongs to which object)
|
> jongl -knife 6 | Starts pattern 6 (m/6) with knifes (v/knife.wrl) |
> jongl 66161 | Starts Jongl with the siteswap pattern 66161. There is no file with the name
"66161" therefore the converter s22j is called automatically.
|
> jongl --hcr 4.55.5 | Starts the siteswap
converter s22j
with the parameters -hcr 4.55.5 and afterwards invokes Jongl.
|
> jongl order <n> | Show all patterns of Jongl in order, every n
seconds a new pattern.
|
> jongl random <n> | Runs Jongl in random mode: a new pattern every n
seconds.
|
> jongl benchmark1 > jongl benchmark2 > jongl benchmark3 | starts one of 3 benchmarks to compute your computer's speed. Check out the complete benchmark list here. |
lists_of_people
and jongl.prefs
for details about
displaying VRML objects.
v/
directory.
The names of the objects have to match
those in list_of_objects
except for the added extension .wrl
.
JONGLDATA
followed by
one or more of the following items:
Flying objects:
command | example | legal values | meaning |
---|---|---|---|
g | g=-0.2 | (float) number | Tells Jongl that a juggler grips this object at -0.2 m below the center (0/0/0) |
r | r=1 | 0 or 1 | Means that this object is rotating when thrown (like a club)
|
t | t=b | b (ball) c (club) r (ring) | Specifies the catch type.
Currently there are two possible usages for this: a) You define a ball which is NOT made of a Sphere .
To specify the radius of this ball, use the r= option. See the
object file v/ball_standard.wrl . b) For non rotating objects it is important to set the t=b and r= parameters. See v/beermug.wrl .
|
randomcolor | randomcolor
| optional (int) 1..4 | Use random color for this object. If a parameter is given, then use the
same random color for more faces of the current object (see v/renegade_ring.wrl )
|
Jugglers:
command | example | legal values | meaning |
---|---|---|---|
hair | hair | no parameters needed | Use random skin color. Use this if you want the hair color to be automatically generated.
|
skin | skin | no parameters needed | Use random skin color. This is mandatory for all parts of the body where you can see the skin.
|
tex | tex=back | front, back or color | Use texture defined in list_of_shirts : frontBitmap or backBitmap.Or use shirtcolor defined in one of theses textures. This is to be used in parts of the shirt which do not contain a logo, e.g. the arms. |
PNG
and binary PPM
formats.
This product includes software developed by Greg Roelofs and contributors for the book, "PNG: The Definitive Guide," published by O'Reilly and Associates.
The PNG
may contain an alpha channel. That is useful to make e.g. trees.
The width and height of the texture have to be a power of 2 and they should not be larger than 256 pixels.
(Or Voodoo cards are not able to display them.) However the texture does not have to be a square.
See the file list_of_shirts.EJC
for an explanation about how to make your own shirts and
publish them.
USE
or DEF
IS
is currently working only with translation
or rotation
at PROTOS
.
scale
doesn't work.
Box{}
, ElevationGrid{}
, IndexedLineSet{}
,
PointSet{}
are not supported.
Blade JONGLDATA r=1
).
Again, one unit equals one metre.
m/
.
When you start jongl with a pattern file which starts with a number
(0 ... 9) then jongl assumes you want to see a pattern from the directory m/
(e.g.
> jongl 5
).
If the pattern name doesn´t start with a number, jongl doesn´t change the path of the
pattern file (eg. > jongl /zip/patterns/5
).
First we define various optional parameters, then the mandatory
positions of the people and finally the pattern.
It is IMPORTANT that spaces within one parameter are not
allowed. Instead of dt = 0.234
you must write dt=0.234
.
However I would like to introduce the convention that every
pattern name starts with the number of objects and that it is
divided into reasonable sections using underscores.
The name of the pattern should not be chosen too long.
Pattern files can thus be compiled from the following components:
Variable parameters with defaults Optional parameters Pattern comments Positions of the jugglers Pattern definition Bouncing Kind of throw, spin, angleIf you want to write your own patterns, please have a look at the patterns in
m/examples
, because
there are many patterns in the m
directory which use more or less old syntax and should not be
used to create new patterns.
With these parameters you can influence the happenings. But it is not necessary to adjust them as they have already reasonable initial values. a=6 Type of objects to be thrown around. (Numbering see the file 'list_of_objects'.) B=1.0,1.0,3.5,185.0 With this parameter you can define the position of the observer. The values describe the viewing angle from which you look at the scene If you have interactively achieved a nice viewing angle, just press 'P' and the above values are entered into the pattern file. dt=.25 Time elapsed between two lines of the pattern definition. With this parameter you can adjust the height of the throws, while the program is not yet able to do it itself. eps=.95 Reflection quality of bouncing balls, standard is 5 % loss. (important: eps>0) We refer here to the loss of velocity during reflection. Height loss goes with the square of loss of velocity, as the potential energy m * g * h is equal to the kinetic energy (m * v squared)/2. If the cinetic energy is reduced by 5 %, then the ball reaches only 0.95 squared = 0.9025 of its initial height. So if you want the ball to spring back to half its initial height, eps is equal to the square root of 0.5 = 0.707. g=9.81 Gravity constant in metres per second sqared. (Equivalent to 32.2 feet per second squared which may sound more familiar to you.) Positive values relate to acceleration downward. G=x,y,z Sets the centre around which the view rotates. Mostly this value is set by the program itself after the user pressed P (see Keyboard) l=1.2 Longer keep-in-hand times. According to the basic design of this program, the juggler would never hold an object in each of his hands at any one time but only alternating left and right. This is not so in reality. Most of the time you have all your hands full and only then do you throw something away, when you have to catch something shortly afterwards. In order to bring a bit of reality into this simulation program, the duration of the keep- in-hand time can be adjusted. Default values are catching 20 % earlier and throwing 20 % later (which logically adds up to a total of 40 %). s=.1 Scatter of the throwing and catching motions. To make the juggling performance look more human (that is more imperfect), the motions vary within a cube with a side length of '2*s' around the proper catching and throwing position. Z=0.0 With this parameter you can adjust the height of the observer above the floor. If you enter Z=0.0, then the 'eye' will be in the centre of that part of space that is occupied by static, throwing, flying, catching objects... Sorry, there is an explanation more simple than that: This parameter defines the height of the centre of the sphere on which the observer moves around. This centre can be changed to any value while the program runs, by pressing 'B'. After reading this long paragraph you are sure happy to see that Z= is obsolete and was replaced by G= (see above). The values given in these examples are the default values in the program.
h=4 number of hands. o=6 number of objects. q=0 Quick presentation. Normally off, if needed set q=1 (=on). Accelerates the graphics during the times of high life on the screen. (To be more precise: People become juggling coat hangers and all that's left of the tile floor is its edge.) If further acceleration is needed, the flying objects can be reduced to just a few points and lines. This has been moved to jongl.prefs. t=32 number of lines in the pattern. u=5 Frames per phase. To make the motions look more easy flowing, every phase defined in the pattern (see below) is divided into several frames. Here is where you define the number of frames. The value depends on the processor and on the complexity of the scene. Too many frames will result in a slow motion movie.
These are parameters without default values, because there are no reasonable default values. Different objects in one pattern for juggling experts Hand macros for different hand positions Additional static objects for miscellaneous junk Controlling animation rendering for vastly reduced rendering times and file sizes up to Pattern files
O=6 1#21 2#6 3#4
This parameter replaces both 'o=' and 'a='. It allows
you to get a mixture of objects into the air. In the
above example we have six objects, in fact once no. 21 (axe),
followed by twice no. 6 (ball) and thrice no. 4 (club).
The numbers have to match, in this case: 6=1+2+3
.
The sequence of objects is determined by the sequence of their appearance
in the pattern definition, as the following example shows:
-a d- -b e- -c f- ....
@A p 0 .5 1 or @B P 0 .6 1 0 .3 1
h=2 o=4 t=4 dt=.22 u=6 s=.1 p 0 0 .6 1 % Here we define the outer positions 0 -.6 1 * 1 A2 - - B3 4 - -
rel
between the first two parameters:
@L rel P .1 0 1 .1 .4 1 @R rel P .1 0 1 .1 -.4 1The point 0/0/0 is at floor height between the hands of the juggler. It is the same point where the juggler is being placed by the program.
z=2 o/basic/Bierkiste 90 -2 0 0 o/basic/Giraffe 0 2.1 0 0Behind 'z=' we fill in how many objects we want, then comes the path for the file to be read in (in object format as described above). Next is the rotation around the z axis in degrees which allows us to adjust the object as desired, and finally the x,y,z coordinates where the object is located.
Presently static objects can only be defined after the positions (p or P) of the people have been defined!
As mentioned earlier, the object names have not all been translated.
r=2 |
Set repeat value. This describes how many pattern lines are
required until all flying objects have exactly the same positions
and directions as before. This is to reduce animation rendering time
and produced file size, typically by about 90%.
It is useful for MPEG-, GIF- and raytracing-animations.
See example files 'm/7_2cnt_sng_trp' and 'm/8_PPS'. It also implies
an automatic 's=0' to get smooth cyclic movements. Be sure to deselect objects in random color , otherwise the
object colors will switch from one color to another.See Exporting hardcopies and animations for more information about this. |
Two types of COMMENTS may be included in pattern files: those which will be shown on the screen and those which are only comments to the program. ! Anything behind an exclamation mark will be shown when the program runs. % Comments behind a percent sign only serve for orientation in the % program and will not appear during the performance. Comments have to end at the end of a line, but they do not have to start at the beginning of a line. In the pattern definition they must be to the right of the definition. Example see further down.
j 15 1.2 -0.4 0 c r
key | throw | standard positions for left hand: X / Y | |
---|---|---|---|
catch | throw | ||
b | backcross | -0.2 / 0.6 | -0.8 / -0.2 |
c | cascade | 0 / 0.4 | 0 / 0.2 |
C or r | reverse cascade | 0 / 0.2 | 0 / 0.4 |
f | fountain | 0 / 0.3 | 0 / 0.3 |
S | reverse shoulder | -0.87 / 0.3 | -0.2 / 0.3 |
p 0 -1 .5 1 -1 -.5 1 * P 0 -1 .5 1.2 -1 .2 .8 -1 -.5 1.2 -1 -.2 .8 180 1 -.5 1.2 1 -.2 .8 1 .5 1.2 1 .2 .8 *
a- ! left hand throws object 'a' -2 E- -a % right hand catches 'a' 2- -EThe dash '-' means that at this point in time the relevant hand is empty. The columns refer from left to right alternating to the left and right hand(s). (Important for writing passing patterns!)
You always need a '-' between two different objects in one hand:
- a - bThis was wrong!
- a - - - bThats correct!
- 1 /2- - 3 1 - - 2 3 -In this case object 2 is thrown upward for one bounce.
1- -\\1 2- -\\2 3- -\\3Every ball from the right hand is thrown downward and bounces twice.
dt=
value in the pattern file.13_1cnt_BouncePass
for this:
. . /1 /8 - /b - /8 /5 /b /2 /8 /5 - /2 - /5 /c /2 /9 - /c . .Bouncing in combination with hand macros works only if they are given in the right order: 1st the bounce prefix, then the handmacro:
. . /L2 \5 - - \1 /R3 - - . .
Let's have a look at this rather complicated looking pattern:
The scissor pattern is a sync 4 club pattern in which a backcross
and a "frontcross" are thrown in sync. After a left backcross follows
a right backcross. The frontcross flies parallel to the jugglers body.
This pattern here has (for demonstration only) 4 different spins on
the clubs, i.e. a flat, a single, a double and a triple.
! scissors with 4 clubs dt=0.350 a=14 j 15 0 0 0 c c * (b0)1 (z90*0)2 - - (*1z-90)3 (b1)4 - - (b2)2 (z90*2)1 - - (*3z-90)4 (b3)3 - -As you have noticed, the parameters are in round brackets in front of the corresponding throw. To be legal, a set of parameters must consist of 1 character and a trailing number.
character | action | number | examples |
b,c,C,f,r,S | kind of throw (see here) | number of spins or * for default | (b*), (f2) |
z | rotation of club around Z axis (points up) | angle in degrees (front=0,left=90) | (z-90) |
* | use default kind of throw | number of spins | (*0) |
You see, (*3z-90)
means: use default kind of throw (*)
(which in this case is cascade, because of j 15 0 0 0 c c
),
throw a triple (3)
and point the
club to the right (z-90)
before the throw.
For another example, see: 11_2cnt_3_Person_Show
Here we have a more complicated example with some new commands:
'm/8_MPlex_Pass' * 8 1&2 - 3 8 - 5 3&4 7&8 6 5 - - 6 5&1 2 3 4&6 - 2 3 - 7 2&8 5&3 1 7 - - 1 4&7 6 * 12345678 18475362 You may notice between one and two new features: a) Multiplex. With the letter '&' you can hold more than one object at a time in one hand. To be more precise: as many as you want. You may catch them at different times and throw them away together (which is realistic) or not (which is unrealistic). b) Wrap around. This is shorthand writing for patterns which look as if they repeat themselves after a short time, but then they have different object numbers. Understood? Well, take passing in four- count (pass every second right hand one). If you write down how long it takes until all the objects are again where they started, then you realize that you have to do a lot of writing! It is much easier with wrap around: * -1 -4 2- 5- -3 -6 4- 1- -2 -5 3- 6- -4 -1 5- 2- * 123456 561234In detail:
Behind the pattern definition we have another '*'. The next line lists all the objects used in the pattern in any arbitrary sequence. The line below shows the replacements of the relevant objects. Let's look at the example: In the first line after the lower '*' the first figure is 1. The figure below that is 5. This means as soon as object number 1 drops out of the bottom of the pattern file, it comes back in at the top of the file as number 5. Object number 5 will be replaced by object number 3, and so on. This wrap-around trick saves ages of typing work. You only need to note each throw at least once and then concentrate on the wrap- around table.
See also 10_H_Mult_bounce
with the notation '/4&R9' and think about it!
Program->Start Editor
or press
CTRL-e
.
Now you have a different pop up menu; the flying objects are hidden.
Currently you can add or delete some jugglers and move them around.
The pop up menu enables you to change the hand movements for each
hand separately. See Kind of Throw. The real movements
of the juggler's arms change when you leave the editor.
Also, you may add some static objects like a ladder or a beercase. Optionally you can
place jugglers on top of these static objects.
The keyboard layout slightly changes in editor mode.
Mouse control is explained here.
I recommend the following procedure:
jongl 335p5p
or
jongl 333 5B35A 333 5C5A3
)
Editor Mode
from the pop up menu
Save Scene As...
from the menu and enter a name for the pattern
Quit Editor
You might want to place the jugglers in an existing pattern somewhere else.
Just invoke jongl with that pattern, use the editor to move them around and select
Save Scene And Quit
.
jongl.prefsV9 | contains settings |
lists_of_people | defines different types of jugglers |
list_of_objects | all kinds of throwable parts |
pano/ (dir) | contains data for panoramas |
jongl.prefs
is described here. But probably nobody wants
to know this.
nice objects | quick objects | |
old objects | list_of_Oldjugglers | list_of_OldQjugglers |
VRML objects | list_of_VRMLjugglers | list_of_VRMLQjugglers |
list_of_Oldjugglers
or list_of_OldQjugglers
:................................................. 9 RedYellowJuggler BlueJuggler Charlie CharlieWithHat Blondie Punk Peter JugglerWithSkirt MichelinMan Skeleton (Problems with Tesselation on Mesa) Roboter_B ................................................The first line shows the number of jugglers. The next lines contain one file name each from the directory 'o/basic' or 'v/basic'.
There is a way to manipulate the program: If you don't want to see some types of jugglers, move them to the end of the list and reduce the value in the first line such that only those people can be selected by the program who are welcome to the user.
list_of_VRMLjugglers
or list_of_VRMLQjugglers
):................................................. 2 # jugglers without textures redJuggler greenJuggler 1 # juggler with static texture EschenbachJuggler 1 # parametric juggler with different textures TShirtJuggler 1 # parametric juggler with winter clothes, no textures winterJuggler .................................................First part: 3 jugglers without textures.
list_of_shirts
. See the comment directly in that file for more information about that.
Fourth part: Data for jugglers wearing winter clothes.
................................................. 0: cube 1: flag 2: ring_simple 3: ring 4: cluster 5: club_standard 6: ball_random 7: hat 8: racket 9: guitar 10: beercase 11: pancake 12: bouncingball 13: basketball 14: club_wood 15: torch 16: stick 17: knife 18: chainsaw 19: pottedplant 20: plate 21: axe 22: threepikes 23: club_3colours 24: club_fine 25: coffin 26: baton 27: club_quick 28: beermug 29: bomb 30: club_random 31: ball_yellow ) 32: ball_beige ) 33: ball_dark_green ) colours 34: ball_light_red ) 35: ball_pink ) 1 36: ball_light_blue ) 37: ball_light_grey ) through 38: ball_white ) 39: ball_orange ) 15 40: ball_brown ) 41: ball_light_green ) 42: ball_dark_red ) 43: ball_purple ) 44: ball_dark_blue ) 45: ball_dark_grey ) 46: bottle 47: ring_random 48: child 49: renegade_ring 50: ball_yellow_l ) 51: ball_beige_l ) 52: ball_dark_green_l ) colours 53: ball_light_red_l ) 54: ball_pink_l ) 1 55: ball_light_blue_l ) 56: ball_light_grey_l ) through 57: ball_white_l ) 58: ball_orange_l ) 15 59: ball_brown_l ) 60: ball_light_green_l ) 61: ball_dark_red_l ) 62: ball_purple_l ) 63: ball_dark_blue_l ) 64: ball_dark_grey_l ) 65: bigring 66: pizza -1: EOF .................................................The figures indicate line numbers. The texts are the file names of the objects in the directories 'o' (old objects) and 'v' (VRML objects). Since the program assumes that the second string in each line is the file name, it is important not to use any spaces in the object names.
.wrl
which
does not show up in the list_of_objects
.
pano/ [1] Chessboard/ [2] Karoboden.wrl [3] properties.dat [4] thumb.gif [5] ... [6] [1] All the files go into the directory pano/ which is in the Jongl directory. [2] You may name the folder of your panorama as you like. [3] This contains the VRML data. The name must not be changed. I suggest you use one of the files of this name in the Jongl distribution. [4] Optional file. The name must not be changed. Each line of this text file contains one value. Possible values are (without double quotes): "no textures" (this panorama uses no textures) "winter" (juggler wear winter clothes) "g=3.71" (change gravity; in m/s²; used in mars pano) [5] Contains a screen shot of the panorama in GIF, size 70x70 pixels. This will be shown in the select window in the Jongl GUI, register tab "Settings". [6] You may add more files, e.g. containing PNG images for the panorama.Ludwig Klam made a lot of nice panoramas. Get them for free from his homepage.