VRweb FAQ for UNIX ------------------ Here you will get answers to frequently asked questions about VRweb. They mainly cover technical aspects. The following issues are discussed on other pages at http://hyperg.iicm.tu-graz.ac.at/vrweb and in the README files: VRweb features Downloading VRweb and Copyright VRweb installation Release notes Note: the newest version of this document is always available at http://hyperg.iicm.tu-graz.ac.at/vrweb.FAQ.UNIX Recently added or updated questions/answers are marked with *. Question Overview Downloading 1. I have difficulties on downloading the binary. 2. * Is there a VRweb version for system XXX? 3. * Is there anything in German/French/Italian/Spanish/...? Getting started 1. How do I set up VRweb to run with my Web Browser? 2. How do I set up VRweb to run with Harmony? 3. How do I set up my Server to offer VRML scenes? 4. How is compression handled? 5. What does the error "no GLX extension on X-Display!" mean? 6. I get an error about incompatible shared libraries. 7. * Where is the on-line help? Source Code Compilation 1. What means the error "Can't open include file 'XXX.cf'" 2. * What means "WARNING: OS release must be N.NN for XXX." 3. g++ gives the error "`void ios::init(...)' is protected" 4. g++ gives the error "`true' was not declared in this scope" 5. Why didn't you use Motif? What's it called again, "Interviews"? Rendering Questions 1. * Which hints can I give to VRweb in my VRML file? 2. How can I disable lighting calculations for prelit scenes? 3. How can I create an SFImage (texture data) within VRML? 4. What is Mesa? Do you have an OpenGL version for system XXX? 5. * What means "NN out of 216 allocated colors do not match exactly."? 6. * VRweb shows up strange colors or uses a "bad" visual. 7. * Can I "tune" the Mesa version to be somewhat faster? ------------------------------------------------------------------------------- Downloading 1. I have difficulties on downloading the binary. Did you follow the instructions on the installation page? Make sure to use binary ftp transfer mode. The binaries are distributed as gzipped executables (no tar necessary); some browsers cut off the extension. If you download via your Web browser and you get the decompressed binary as text use the option "save link as" (typically available with the right mouse button). 2. * Is there a VRweb version for system XXX? If it is not listed on the VRweb home page: not as precompiled binary. However, you can compile the source yourself for your system (see below). These include also systems like FreeBSD, Solaris x86, SCO UNIX, Novell Unixware (source code patches already included for the last two). As we do not have the resources at the moment, the AIX version may be freezed to 1.1. The Macintosh Version is being developed by the University of Minnesota (see notes on home page). In parallel we try to cross-compile the Windows version on the Macintosh. We hope to be able for an alpha-release soon. 3. * Is there anything in German/French/Italian/Spanish/...? The User interface was translated into German and Spanish so far. Use commandline argument -lang german or -lang spanish. Up to now we did not have persons for translation into French or Italian etc., neither keeping Web pages and Help files up to date in other languages than English. ------------------------------------------------------------------------------- Getting started 1. How do I set up VRweb to run with my Web Browser? Follow the instructions on the installation page. Make sure to use the full file name in your ~/.mailcap, e.g. vrweb-1.0BetaX-SystemY when you did not rename the binary to a shorter name. The binary must have execution rights and must be found in your PATH or you include the full path of the binary. Yes, with your Web browser you need the vrweb... binary; no, you cannot use harscened without Harmony, it will just wait forever. 2. How do I set up VRweb to run with Harmony? Copy the newest harscened version into $HARMONY_HOME/bin and rename it to harscened. Next time you start harmony it will use the new VRweb version. 3. How do I set up my Server to offer VRML scenes? Hyper-G servers support VRML scenes as integral document type. For other web servers you have to create a VRML mime type. It must declare VRML files as x-wold/x-vrml. See also next question. 4. How is compression handled? Again, Hyper-G servers are automatically prepared for this: gzipped VRML files are recognised as such. Be aware that there is no special mime-type for gzipped VRML data, instead the normal type x-wold/x-vrml is used and the compression method x-gzip is reported as such. So a server mime type file may look like: AddType x-world/x-vrml wrl AddEncoding .gz x-gzip or type=x-world/x-vrml exts=wrl enc=x-gzip exts=gz See also the VRML FAQ for further information. Both the UNIX and the Windows version of VRweb are able to gunzip compressed VRML data themselves. 5. What does the error "no GLX extension on X-Display!" mean? You are trying to run an OpenGL version on a non-OpenGL capable display. See also Question "What is Mesa?". 6. I get an error about incompatible shared libraries. This occurs mainly for the Linux version, where system header files change quite often. The error message looks like "using incompatible library '/lib/libm.so.4.5.XX' Desire minor version >= 6 and found 5" or: "Undefined C library function: light C shared image". You must either upgrade your OS or compile VRweb yourself. If you have problem finding the appropriate shared libraries, you can also contact us. 7. * Where is the on-line help? Here it is: it is included with the VRweb 1.1 distribution as file help.tar.gz. Unpack it as described in README-Unix or the Installation page and browse install.html for installation instructions, and the main page vrwebhlp.html as user-guide when VRweb is running. ------------------------------------------------------------------------------- Source Code Compilation 1. What means the error "Can't open include file 'XXX.cf'" This is the X11 imake config file. We assume them to be installed in directory /usr/lib/X11/config. If it is on another place on your system, change this path in bin/scripts/hgmkmf (and on further occurances in the configuration files). When you have root access, you could also make a symbolic link from your X11 installation directory to /usr/lib/X11. Future VRweb config environments may no longer need this file. 2. * What means "WARNING: OS release must be N.NN for XXX." This means you could eventually run into problems, because you have another OS release than we developed on (although there should be no troubles to expect). bin/scripts/hgimake will make the specific defines for the platform we compiled on, you may need to slightly modify them. Be sure to run hgmkmf -a again after any changes in configuration files or scripts to make changes take effect. 3. g++ gives the error "`void ios::init(...)' is protected" This is a g++ bug. g++ seems to be confused about multiple level virtual base classes and protected member functions etc. The simplest workaround we found, is to insert a line "public:" into g++-include/streambuf.h to make the init function of class ios accessible to derived classes (very near to the end of class ios). 4. g++ gives the error "`true' was not declared in this scope" Newer releases of g++ have predefined constants for true and false. Go into vrweb/include/hyperg/utils/types.h and reactivate true and false definitons for g++ (should be near line 45). 5. Why didn't you use Motif? What's it called again, "Interviews"? Motif would imply a runtime licence and we like you to use VRweb for free. Also we made quite a lot changes and extensions to the original Interviews library, so we call it from now "IICM-Views". Also Interviews includes a very good and stable Dispatcher (at least since our adaptions :-). If you really hate Interviews you are invited to replace the user interface with another library - this is at least possible, as the Windows version of VRweb uses the MS window classes for the interface. ------------------------------------------------------------------------------- Rendering Questions 1. * Which hints can I give to VRweb in my VRML file? There is a set of (semi-)standard hints which are understood by most VRML browsers - including VRweb (as of release 1.1): # set background color (RGB values) DEF BackgroundColor Info { string "0.3 0.3 0.3" } # set preferrred viewer ("examiner" or "walk") DEF Viewer Info { string "walk" } DEF Cameras Switch { whichChild 0 DEF Entry_View PerspectiveCamera { ... } DEF Beauty PerspectiveCamera { ... } } The latter one defines a set of predefined viewpoints, which are available from a Menu. By default the first camera is chosen. Underscores in names will be replaced by spaces in the Viewpoints menu. 2. How can I disable lighting calculations for prelit scenes? In VRML 1.0 there is no standard way to do so. A common way that is understood by some browsers (including VRweb) is the following node: LightModel { model BASE_COLOR } Moreover, VRweb lets you explicitly turn off lighting via a menu option. The upcoming VRML 1.1 standard will include a possibility for turning off lighting calculations. 3. How can I create an SFImage (texture data) within VRML? If you can convert your image to the PPM format (under Unix with xv or the Net-PPM utilities) you can make use of a program called ppm2sfimg, which can be downloaded from all VRweb ftp sites in subdirectory utils (ANSI C source code). 4. What is Mesa? Do you have an OpenGL version for system XXX? Mesa is a library that maps OpenGL graphic calls to the X-protocol. You need it to get VRweb displayed on a non-OpenGL capable machine. Mesa neither needs nor benefits from any special graphics hardware. Do not expect the mesa version to run at speed of a hardware acceleated OpenGL version (see also below how to "tune" the Mesa version to your environment). We have compiled VRweb with OpenGL for SGI and Dec Alpha. (Almost) all SGI machines include OpenGL support. On Dec Alpha, OpenGL is part of the Open3D package. Run xdpyinfo on your display; it must list the extension "GLX" to be OpenGL capable. If you have OpenGL support on another platform and want to use it for VRweb, you will have to compile the source code yourself. 5. * What means "NN out of 216 allocated colors do not match exactly."? It means that Mesa is unable to allocate all colors it would like to. However these colors are approximated by the next available one, to get the best possible output - this is a very user-friendly behaviour as opposed to other programs. To work against this, you can close other color intensive application before starting VRweb or starting VRweb first. See also the question dealing with visual selection below. If you wonder why you get this message twice, see about "tuning" for Mesa below. 6. * VRweb shows up strange colors or uses a "bad" visual. For OpenGL, VRweb relies on the visual selection mechanism of OpenGL. It requires a double buffered TrueColor RGB visual with depth buffer. You may get a visual with greater color depth by using command line option -singlebuf (turns of double buffering). For Mesa, VRweb always uses the default visual of your Xserver (it is listed with the xdpyinfo command). The advantage is that no color map flashing ("technicolor") occurs this way on 8 bit displays. If you want VRweb to use another visual you can give the type with argument -visual (available: PseudoColor, TrueColor, DirectColor) or the exact visual id with argument -visual_id (e.g. 0x31, see xdpyinfo). Future versions may include an option for installing a private colormap. The MESA* environment variables used by other applications based on Mesa are not supported in this release (they are not part of the Mesa GL/GLU core libraries). If scenes are too dark, there is currently no way for a gamma correction (many scenes are originally designed for SGI Xservers which do gamma correction). You may try turn on the headlight and adjust its color. The next VRweb for Unix will use the new Mesa 1.2.4 library which includes gamma correction. 7. * Can I "tune" the Mesa version to be somewhat faster? There are several aspects that determine how fast Mesa will be: o the visual depth (see question above about how to choose it): 8bit PseudoColor (even dithered) is faster than 24bit TrueColor o usage of double buffering (option -singlebuf to turn it off): normally faster in double buffer mode o which backbuffer is used: -mesabackbuf pixmap: fast for small scenes and for wireframes -mesabackbuf image: fast for local display (shared memory usage) -mesabackbuf auto: chooses image for shadings, pixmap for wireframes o the complexity of the scene o whether VRweb is run and displayed locally or remote etc. The default settings should give you almost the fastest display under most circumstances. For special situation however, you can experiment with the settings. By default, VRweb switches to wireframe while navigating through the scene. ------------------------------------------------------------------------------- Last updated: Michael Pichler, November 28 1995.