The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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 VRML::Viewer for details on the user interface and VRML::Browser 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 XSwallow..

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 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

q

Quit the browser

Walk

Drag the mouse while mouse button 1 is pressed to move forwards/backwards or turn.

Fly

This mode is fun if you have ever played the game Descent using the keyboard (definitely worth doing ;).

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" : rotation down/up

  • "u"/"o" : rotation left/right

  • "7"/"9" : rotation about the Z axis

  • "a"/"z" : translation forwards/backwards

  • "j"/"l" : translation left/right

  • "p"/";" : 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.

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.

-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.

-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)

-best

Enables the best-quality rendering (this may slow down your frame rate considerably)

-fast

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

-geo[metry] geom

Set the initial window geometry with the usual X window format string.

-[no]colormap

Install / don't install the freewrl colormap.

-[no]lwp

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

-fontdir dir

Look for the FreeWRL fonts in directory dir. Default: ./fonts (assumes you are running in the FreeWRL build directory). This behaviour will probably change.

-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.

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 XSWALLOW

Add the following, all on one line, to your xswallow.conf. Of course, replace the directories with where your copy of freewrl is located.

        x-world/x-vrml;  vr,wrl;      
            /usr/bin/perl -Mblib=/home/tjl/c/VRML 
                         /home/tjl/c/VRML/freewrl  
                         -url %u -log /tmp/VRMLlog -save /tmp 
                         -fontdir /home/tjl/c/VRML/fonts %s ; 
            "FreeWRL Scene Viewer" "FreeWRL" ;  Embedded Vrml

after this, you need to do Edit/Preferences/Navigator/Applications (in Netscape 4.05) to enable displaying Embedded VRML with FreeWRL.

AUTHOR

Project started by Tuomas J. Lukka, with contributions of code from Bernhard Reiter, John Breen and Robin Williams. VRML::Browser also uses the mozilla javascript code.

Please send bug reports to lukka@iki.fi which will redirect them to wherever I am at the moment. 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.iki.fi/lukka/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 Tuomas J. Lukka 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

1 POD Error

The following errors were encountered while parsing the POD:

Around line 224:

Unterminated C<...> sequence