How to create a Macintosh GeoWall

Andy Johnson (aej at evl.uic.edu)
Electronic Visualization Laboratory
University of Illinois at Chicago
Chicago, IL 60607


Here are two photograph of our macintosh based GeoWall while it was being set up in EVL. The left image shows a front-projected setup on its portable cart, while the right image shows a rear-projected setup (including the game controller sitting on the floor)


History:

We originally connected up a dual 1Ghz 'quicksilver' PowerPC G4 with 512M RAM and a GeForce 4MX graphics card to two InFocus 530s mounted on a Chief Slide Projector rack sitting on a portable cart from Anthro. This gave us a portable GeoWall that we could move around the elementary school we are working in, and do linear passive front-projection onto a Da-Lite portable screen. Total cost was around $13,000. We have also purchased a 5 foot by 6 foot Stewart rear projection screen including a stand for $1,700 which creates a much better display which is less practical to move between classrooms.

We bought the inFocus projectors, the rear projection screen and the slide projector stand from Rob Gag at projectorpoint.com as part of the GeoWall consorium. We went with the current high Macintosh with the high-end graphics card at the time. None of the GeoWall applciations take advantage of a second CPU, so you could probably go with a single CPU machine and do just fine while saving some money. We decided to go with the inFocus 530s, which are more expensive than the inFocus 350s but seem to get confused less often than the 350s and are brighter. We plan to use this Geowall in classroom settings so we are not planning on adding a tracking system, but if we did add tracking to turn it into an AGAVE, we would probably add on a PC with a PC-Bird tracker since we have used that effectively before.

Since the GeForce4mx graphics card on the Macintosh came with one ADC port and one VGA port we needed to buy something to get the ADC (Apple Display Connector) output of the video card to talk to the projector . We bought an ADC to VGA adapter from Dr.Bott ( $35 "VGA extractor from ADC") so we talk to both our projectors through the VGA port, but you should also be able to use an ADC to DVI adapter and then talk to one projector through DVI and the other through VGA.

When the GeForce 4ti cards became available we did a quick evaluation. The GeForce 4ti were up to 50% faster than the GeForce 4mx. Pretty much any cards later than that with dual outputs worked fine.

To give the students more buttons to play with, we investigated several USB game controllers - The Macally iShock 2 was a nice playstation-like controller. The Logitech wingman cordless rumblepad was a nice wireless solution, though a bit heavy. Another simpler controller option is the GyroMouse. CarvWare's Gamepad Companion seemed to work pretty well to map a controller to keypresses.


As of March 2007, pretty much any  Mac Pro should work fine for a geowall. Most G5s and G4s would work fine as well. I would put at least 1 gig of memory into the machine, and as good a graphics card as you can afford, preferably one with at least 128MB, and even better 256MB of texture memory. These days 256 is pretty standard so you should have no problems.

A decent configuration would be $2100 (less with educational discount) including

A bigger hard drive could be good if you want to store a lot of datasets on the machine, and more RAM never hurts.

Being able to dual (or triple) boot a mac is now very attractive since you can have a mac and a windows and a linux geowall all on the same machine. Right now bootcamp is the best solution since you can run the graphics at full speed, but the virtualization software should be able to do this at some point.

And then the rest of the items such as

These days we also prefer doing circular polarization rather than linear since that allows users to tilt their head without losing the stereo effect, and makes it easier to set up the polarizers. This option is slightly more expenive and there are fewer sites to get the filters and glasses, but it gives a better result.


System Software:

We have used OS-X 10.1.4-10.4.8. There were some significant changes in the way gcc works in 10.3, so anything compiled under 10.1 or 10.2 had to be recompiled 10.3. Given the choice I'd use the latest version available. The various programs also seem to run fine on the intel macs, though they need to be recompiled. Until we get an intel tower we won't be able to try a full intel mac-based GeoWall but the speedups on the intel hardware have been quite promising.

If you are interested in running the various applications but do not want to compile C/C++ code then you can follow these 'short' instructions. If you plan on creating your own applications or modifying the existing ones then you should go onto the 'long' instructions below.

Short - Just Running the Viewers / Applications:

Here is the process to install software to run the various GeoWall viewers / applications. Some of the viewers / applications require only OpenGL and should run on the Macintosh immediately. Others require software to be installed. You may also want to check out the 'misc' section below ...

  1. Install Inventor. (this includes Coin3d and libsimage).You can get Coin3d, an open source version of SGI's OpenInventor, from ftp://ftp.coin3d.org/pub/coin/bin/macosx/ . As of the time I'm writing this, the file you would get is Coin-2.4.5-gcc4.dmg for the most up-to-date machine and Coin3D. After installation you will have an Inventor.framework folder in /Library/Frameworks. This includes the older simage library that was previously separate.
  2. Install libjpeg. This is needed if you want to rebuild the viewer application, or use jpeg files as textures. The easiest way to do this is to grab http://www.evl.uic.edu/aej/macagave/libjpeg.dmg.sit. it will install in /usr/local/jpeg. You can also get the full source code from ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz and recompile it yourself.
  3. Install GamePad Companion. If you want to use your favourite gamepad to control the applications then you can download GamePad Companion from http://www.carvware.com/. We have registered our copy and payed our shareware fee and it works quite well as many of the applications have many keyboard commands and it can be a lot easier to map these keys to controlls on a gamepad. USB Overdrive is another similar product, but it doesn't support gamepads or joysticks yet. Eventually Apple should provide a similar capability but no word on when ...
  4. Improve the speed of Coin3D. You can get a tremendous speedup in Coin3D under OS-X (2 to 10 times faster) if you adjust the default rendercaching values. If you use the terminal to start Coin3D applications on the mac you can set these two enviornment variables to force the caching of objects with more polygons:
    setenv COIN_AUTOCACHE_LOCAL_MIN 100000
    setenv COIN_AUTOCACHE_LOCAL_MAX 1000000

Long - Developing Software Yourself:

Here is the process to install software to compile and run the various GeoWall viewers / applications:

  1. Install the OS-X developer tools. On new macs you can find the installer for the developer tools in Applications/Installers/Developer Tools. You will need these tools to compile anything on the Macintosh.
  2. Make sure that you can 'su' ... Using the Terminal, see if you can type 'su' .. if not then launch Netinfo Manager in Applications/Utilities. Use the menus Domain - Security - Authenticate to authenticate yourself using your password, then use Domain - Security - Enable Root User to set the root password. Choose a nice safe password.
  3. Install libjpeg. This is needed if you want to rebuild the viewer application, or use jpeg files as textures. The easiest way to do this is to grab http://www.evl.uic.edu/aej/macagave/libjpeg.dmg.sit. it will install in /usr/local/jpeg. You can also get the full source code from ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz and recompile it yourself.
  4. Install Coin3d (OpenInventor). You can get Coin3d, an open source version of SGI's OpenInventor, from ftp://ftp.coin3d.org/pub/coin/bin/macosx/ . As of the time I'm writing this the file you would get is Coin-2.4.5-gcc4.dmg. After installation you will have an Inventor.framework folder in /Library/Frameworks. This includes the older simage library that was previously separate.
  5. Install GamePad Companion. If you want to use your favourite gamepad to control the applications then you can download GamePad Companion from http://www.carvware.com/. We have registered our copy and it works quite well as many of the applications have many keyboard commands and it can be a lot easier to map these keys to controlls on a gamepad. USB Overdrive is another similar product, but it doesn't support gamepads or joysticks yet.
  6. Install fltk. If you want to recompile the front end to walkabout then you will need fltk. The source code for fltk (1.1.X) can be obtained through http://www.fltk.org - it is a 1.2 MB download. Just type ./configure and make and it should compile fine within its own directories.

Misc - other useful pieces of software


GeoWall Software:

Most of the software that drives the GeoWall under Linux will drive the wall under OS-X. Things that do not work include SGI Performer and the CAVE library, so you can't use models that end in .pfb, but .iv files work fine.

The following common GeoWall applications work on the Mac under OS-X.

Russ Burdick's stereo pair viewer 0.8.0 should run as-is http://www-users.cs.umn.edu/~wburdick/geowall/viewer.html

Immersaview

0.4

requires Inventor / Coin3d

(obtained above)

http://www.evl.uic.edu/cavern/agave/immersaview/
Walkabout 1.3.2 requires Inventor / Coin3d

(obtained above)

http://www.evl.uic.edu/aej/macagave/walkabout.html

Various Shareware/commercial packages work in stereo as well on the Mac under OS-X:

   Graphic Converter (for stereo slideshows) - http://www.graphicconverter.net/

   Partiview - http://haydenplanetarium.org/universe/partiview/

   VMD - http://www.ks.uiuc.edu/Research/vmd/

   CrystalMaker - http://www.crystalmaker.com/

   PyMol - http://pymol.sourceforge.net/

    Matlab (with the StereoView modification) - http://www.mathworks.com/ http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=4715&objectType=FILE

and Holodraw (http://www.holodraw.org/) can be useful in converting data into VRML for viewing in 3D on the GeoWall

Here are some other applciations we have been using on the mac - I can provide links if anyone is interested ...

pairviewer (simple OpenInventor stereo pair image viewer) for rgb images - now replaced by viewer requires the Inventor.framework
modelViewer (simple OpenInventor inventor model viewer) for .iv models - now replaced by Immersaview requires the Inventor.framework
fishtank (OpenInventor application used in our Elementary School science work) requires the Inventor.framework
the Field (OpenInventor application used in our Elementary School science work) requires the Inventor.framework
Round Earth (OpenInventor application used in our Elementary School science work) requires the Inventor.framework
battalion (OpenGL game) should run as-is

If you have any questions, comments, or suggestions please let me know - aej at evl.uic.edu


last update March 9, 2007

3/9/07 - updated the current 'buyable' mac configuration

7/1/06 - added in some other software that is compatible on the mac side

5/8/05 - general freshing up version numbers and configurations

3/15/04 - updates some of the issues related to coin, and updated the mac pricing

7/11/03 - updated the mac pricing

4/15/03 - added in the 2 environment variable settings which dramatically improve the speed of Coin3D applications under OS-X

12/30/02 - updated inventor.dmg and viewer.dmg for OS-X 10.2.3

9/18/02 - added some short notes re OS-X 10.2

7/30/02 - added walkabout to the software list

7/22/02 - viewer on the mac now upgraded to 0.7.3