Conix 3-D Explorer
Manufacturer: Conix Enterprises, Inc.
Reviewer: Michael J. Hammel
Most likely, many of you know about the large number of graphical features available in Mathematica (see “Mathematica version 3.0 for Linux” by Patrick Galbraith, Linux Journal, December 1998), the Swiss army knife of mathematics software. While its features are fairly good for quite a few situations, I have always felt it would be nice to combine the power of Mathematica with an OpenGL-based 3-D interface. Such a connection would offer interesting possibilities for 3-D demonstrations.
Enter 3-D Explorer. This software, from Conix Enterprises, is an add-on package to Mathematica that allows you to use OpenGL 1.0-based rendering features directly from within the Mathematica environment. A simple installation process allows you to have the software up and running in only a few minutes and provides endless possibilities.
Since I am not a Mathematica expert, my goal for this review was to find out how easy it is to install and get started with both Mathematica and Conix 3-D Explorer. I also set out to verify that the examples provided were both understandable and functional. Finally, I wanted to see if it was possible to create anything interesting with these two pieces of software in the short amount of time I had to write the review.
3-D Explorer comes packaged on two 3.5 inch floppy diskettes. The first diskette is the 3-D Explorer add-on for Mathematica; the other is a set of OpenGL libraries for use with 3-D Explorer. Installation instructions with the software were pretty basic—a single sheet of paper. I checked the Conix web site at http://www.conix3d.com/, and although it contained many samples and other information, nothing was available on how to read the diskettes. Overall, the web site does not offer much help specific to the Linux user.
Since the format of the diskettes was not specified, I relied on my UNIX experience and the knowledge that many commercial distributors seem to like the DOS format. I mounted the floppies as DOS diskettes. It worked. You can mount the diskettes with a command that looks like this:
mount -t msdos /dev/fd0 /mnt/floppy
The device you use may differ (fd1 for a second floppy drive, for example) and the mount point, /mnt/floppy, can be any existing directory that is empty. Once mounted, you can list the contents of the diskettes to see what is contained in the gzipped tar file. The installation file name on the first diskette, 3dexp101.tgz, does not match the instructions (3-DExplorer_1.0.tar.gz), but since only one installation file (plus two text files) is on that diskette, it is not hard to figure out.
A quick check of contents of the installation file shows that relative paths are used. That is, the files within the gzipped tar file do not include absolute directory paths. Unpack this file using the commands:
cd /usr/local/mathematica/AddOns/Applications tar xvzf /mnt/floppy/3dexp101.tgz
This will unpack the 3-D Explorer files under the default Mathematica AddOns directory. Doing this guarantees that Mathematica will be able to see 3-D Explorer when Mathematica starts up.
After you have installed the first diskette, you can start Mathematica to view the on-line documentation. Help on using GLExplorer is available from the Mathematica Notebook Help browser. Run Rebuild->Help Index to get access to this browser as the last step of the installation process. The on-line documentation states:
To install GLExplorer on a UNIX system, you must have a functional installation of OpenGL. On Linux systems, GLExplorer comes with OpenGL for Linux by Conix, but other OpenGL implementations may also be used.
Three things must be noted here: the first is that the on-line documentation does not refer to the package as 3-D Explorer but rather GLExplorer, so I will use the two terms interchangeably. Second, I am not sure GLExplorer works with other OpenGL implementations without installing the OpenGL package (the second diskette) from Conix. Third, since it does not appear that the Mesa libraries work (I did not try with my Xi Graphics OpenGL distribution), you must exit Mathematica and install the Conix OpenGL diskette before continuing.
In my first attempt to work with 3-D Explorer, I tried to use the Mesa libraries already installed on my system under /usr/local/lib, but these did not seem to work. The problem may be that my Mesa installation is not quite up to snuff; however, when I installed the Conix-supplied OpenGL package, I found a slew of files I would not have expected with a standard OpenGL distribution. For example, a directory called /GL was created under /usr/X11R6/lib which contained shared objects such as GLEngineClient.so.1 and GLRendererRGB565A8D32.so.1. A quick check with ldd on the executable under /usr/local/mathematica/AddOns/Applications/GLExplorer/GLLink.exe/Linux provided the following information:
libGLU.so.1 => /usr/local/lib/libGLU.so.1 libGL.so.1 => /usr/X11R6/lib/libGL.so.1.0 libXext.so.6 => /usr/X11R6/lib/libXext.so.6.3 libX11.so.6 => /usr/X11R6/lib/libX11.so.6.1 libdl.so.1 => /lib/libdl.so.1.7.14 libm.so.5 => /lib/libm.so.5.0.6 libc.so.5 => /lib/libc.so.5.3.12 libGLClientSys.so.1 => /usr/X11R6/lib/libGLClientSys.so.1.0 libXintl.so.6 => /usr/X11R6/lib/libXintl.so.6
Since libGLClientSys.so.1 is contained in the OpenGL distribution from Conix, it would appear you do indeed have to install that package in order to properly use 3-D Explorer.
The OpenGL diskette needs to be unpacked from the root directory, for example:
cd / tar xvzf /mnt/floppy/cnxgl140.tgz
Again, the file name on the diskette does not match the written instructions on the single sheet of paper that comes with the diskettes. Additionally, the single sheet of instructions says to run ldconfig after you install the OpenGL files. However, the files in the gzipped tar file on the diskette use relative paths that start with usr/X11R6/lib, so you do not have to do this as long as you first change to the root (/) directory.
Registration and/or license IDs are not required in order to use this product. Once the OpenGL package has also been installed, you are ready to try out GLExplorer. Note that Mathematica uses Motif, but the version I received for this review was statically linked—Conix's package does not require Motif to work.