NAME

freewrl -- run the FreeWRL VRML97 browser on the command line


SYNOPSIS

freewrl [options] url [debugcode ...]


DESCRIPTION

See the bottom of this text for the copyright and license.

This command runs the FreeWRL VRML browser. See the VRML::Viewer manpage for details on the user interface and the VRML::Browser manpage for some other things. This manual page explains how to use the browser, how to start it on the command line, and how to use it with Netscape.


KEYS/MOUSE

FreeWRL supports, as per VRML97 spec, several different navigation modes. In each mode, the meanings of mouse movements and keystrokes are different.

Mouse button 2 + motion is usually unbound so if you want to click and drag something in the scene, use it.

In addition to the keys described below, there are some keys which work in all the modes:

d
Switch to the Fly (Keyboard input) navigation mode

f
Switch to the Fly (External Sensor input) navigation mode

e
Switch to the Examine navigation mode

w
Switch to the Walk navigation mode

v
Go to the next viewpoint in the scene

b
Go to the previous viewpoint in the scene

/
Print out the position and orientation of the current viewpoint in the current Viewpoint node's local coordinate system.

You can add the view you currently see in the window by creating a new Viewpoint node (in the same coordinate system as the one you used to go to this viewpoint) with these values.

s
Save a snapshot or (with the ``-seq'' option) start/stop saving a sequence of images. By default, snapshots are saved to freewrl.snap.NNNN.ppm and sequences to freewrl.seq.gif; see options ``-ppm'', ``-seqb'' and ``-snapb''. While saving images, freewrl is slower.

h
Toggle the headlight on or off.

q
Quit the browser

Walk

Drag the mouse while mouse button 1 is pressed to move forwards/backwards or turn. For translation in the x-y plane press mouse button 3 and drag.

Fly - keyboard mode

This mode allows translation/rotations in all planes. There are two keymappings: those from the game Descent, and a mapping using the keypad.

There is currently no mouse control, rather, all motion is controlled by 12 keys, two for each of your 6 degrees of freedom (3 translations, 3 rotations).

The default keymap in this mode is

'8'/'k' and 'Keypad Down'/'Keypad Up'
rotation down/up

'u'/'o' and 'Keypad Left'/'Keypad Right'
rotation left/right

'7'/'9' and 'Keypad 7'/'Keypad 9'
rotation about the Z axis

'a'/'z' and 'Keypad 0'/'Keypad .'
translation forwards/backwards

'j'/'l' and 'Arrow left'/'Arrow right'
translation left/right

'p'/';' and 'Arrow up'/'Arrow down'
translation up/down

It may take a while to get used to the FLY navigation mode but it is the only one with full freedom of motion currently.

Fly - External Sensor input

This mode is entered via the ``f'' key. It takes input from a file in the /tmp directory - this file contains x,y,z and quat info, and puts the viewpoint there.

As of December 17, 1999, only Polhemus code works, but Joystick input is literally around the corner.

Examine

The examine navigation mode is analogous to holding an object in your hand and rotating it to see it from various sides: your line of view always goes through the same point but you can rotate the object and translate yourself closer and farther away.

Currently, dragging with mouse button 1 pressed rotates the scene and dragging up or down mouse button 3 pressed translates you towards and away from the scene. There are no other controls.

The center around which you rotate is determined by taking the initial position and orientation of the viewpoint given in the VRML file. A ray is cast along your line of view and the closest that ray comes to the origin of the local coordinate system is defined as the origin of the rotations.

None

As the name says, there is nothing you can do in the NONE navigation mode.


OPTIONS

-url baseurl
The browser downloads the URL given as the first argument on the command line. The contents of the VRML file can refer to relative URLs just like HTML. If given, this option is used to resolve the relative URLs instead of the first commandline argument.

For example,

        freewrl -url http://www.foo.com/bigworld.wrl  tmp.wrl

can be used to run bigrworld.wrl from a copy on the local hard drive so that relative links will still work.

-best
Depreciated

-fast
Enables the fastest rendering in exchange for poorer picture quality. This is overrides any -best options seen on the command line.

-fullscreen
Forces FreeWRL to run in fullscreen mode. Note that if your graphics drivers have an alternate way to enable fullscreen rendering it may be best to use that way instead. The fullscreen flag will not enable hardware acceleration if it has not already been enabled.

-plugin PIDstring
Tells FreeWRL that it is running within a web browser, and thus to get all URLs from the browser, use the browser for EAI, not to handle the ``q'' key, pass the XID (see X11 header file X.h) of the parent window, and to use the PID as the window title.

-geo[metry] geom
-parent xid
Set the initial window geometry with the usual X window format string.

-[no]lwp
Use / don't use libwww-perl. If you use the option -nolwp, you can only view documents on your local file system.

-zpl number
Set the Z-buffer backplane level. If your world is very big, try setting this number large. (NOTE: once NavigationInfo properly works, this option will probably be deprecated)

-log file
Log stdout and stderr into file.

-save dir
Save all the documents used in dir. Useful if you want to see what went wrong over a slow network connection.

This feature will probably be upgraded later to modify the urls and filenames in a proper way, for now it just plonks down files with names ``s0'', ``s1'' etc.

-seq
The ``s'' key will start/stop saving a sequence of images rather than saving a single snapshot.

-seqb basename
Specify base name for the sequence file. Default is ``freewrl.seq''. Sets the ``-seq'' option.

-snapb basename
Specify base name for the snapshot files. Default is ``freewrl.snap''. Unsets the ``-seq'' option.

-seqtmp basename
Specify base name for the sequence temporary files. Default is ~/freewrl_tmp.

-shutter
Forces FreeWRL to start in shutterglas stereo mode via GLX_STEREO in attributs of glXChooseVisual. This needs software and hardware like XIG DX Platiuum Xserver on a Linux PC with 3DRelevator shutterglasses or IRIX on a SGI Indigo2 Impact with crystal eyes shutterglasses. On some SGI machines, you need to switch to a stereo capable visual as root with setmon/xsetmon and then restart the X Server.

-eyedist number
Distance between the eyes of the viewer in shutter mode, default 0.06

-screendist number
Distance between screen and the eyes of the viewer in shutter mode, default 0.8

-ppm
In conjunction of ``-seq'' only, the sequence will be saved as lots of ppm files.

-maximg
Maximum number of snapshots or images in the sequence. Default is 100 to avoid filling up disk.

-eai host:port
The browser will try to connect to the socket at host:port to obtain an EAI connection. This option is mostly for internal use by the EAI libraries.

-server
FreeWRL will behave as a server : it spawns a child browser, prints its PID on STDOUT and exits. The child then reloads the url given on the command line upon receipt of a SIGUSR1 signal.

-sig
Reload the URL given on the command line upon receipt of a SIGUSR1 signal.

-ps
Allow perl scripts in vrml files. Make sure your perl scripts are secure.

-psout file
Print statements within perl scripts will -by default- go to file.

debugcode
Various strings here turn on debugging for various parts of the browser. Mostly of interest to developers, who can see the file freewrl.PL in the distribution for the codes.


USING FREEWRL WITH NETSCAPE

If Netscape is installed, and the entries in vrml.conf are correct, the FreeWRL plug-in will be installed in Netscape's system plugins folder. If you go to Netscape's Help menu and select the About Plug-ins, there should be an entry for FreeWRL with Mime Type x-world/x-vrml.


AUTHOR

Project started by Tuomas J. Lukka, continued by John Stewart.

Please send bug reports to john.stewart --at-- crc.ca including the word ``freewrl'' on the subject line will make sure that I'll notice it. Also, see the FreeWRL home page at http://www.crc.ca/FreeWRL.

There is absolutely no warranty, express or implied for this software. For details on the conditions of use, see the FreeWRL distribution.

FreeWRL is Copyright (C) 1998, 1999 Tuomas J. Lukka, John Stewart and others.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA