Before compiling Sogo, you have the opportunity to change the graphics detail
level for the playfield. First of all, you can comment in the line #define
WIREFRAME in the file sogo.c. The effect is that the ground
texture will be omitted and a grid will be visible instead to speed up the
graphics. In the file createPole.c you can choose lower values for
RADIUSGRANULARITY (default: 15) and HEIGHTGRANULARITY (default:
7) to decrease the number of polygons for each pole on the playfield. Similarly,
in the source file createSphere.c you can decrease
GRANULARITY (default: 15) to decrement the number of polygons per
360 degrees of the sphere. If you wish to have "rounder" spheres, just increment
The following instructions should apply to Unix systems in general. However,
Sogo has been tested under Solaris, but there were graphical errors when
the playfield was displayed. Thus, it cannot be ensured that Sogo runs properly
on every Unix system.
You need to have the free Mesa libray installed, including GLUT, i.e. the OpenGL Utility Toolkit. In the SuSE 7.2 Linux distribution, for example, just install the packages mesa, mesa-devel, mesa3dfx, mesaglu, mesaglu-devel, mesaglut, mesaglut-devel, and mesasoft from the x3d series. Apart from that, you also need to have gcc, make, and of course an X-Server installed. You might need additional software, which is not explicitly listed here.
Compile Sogo with the following commands:
That's it for compiling the program. To use the hardware graphics accelaration, the Glide Library is needed. Sogo has been tested with the 3Dfx Glide driver for Mesa. In the SuSE 7.2 Linux distribution, this can be found in the package mesa3dfx in the x3d series. Other glide drivers might be necessary. For hardware acceleration Sogo must be run with root privileges. This can be achieved by setting the suid bit and changing the file owner to root:
chmod +s sogo
chown root sogo
If the acceleration still does not work, invoke export MESA_GLX_FX="fullscreen" in the bash before running sogo. Please refer to the documentation README.3DFX in the Mesa documentation directory for details on this. Now copy the files sogo, pole.dat, sphere.dat, marmer.ppm, and wood.ppm to some other directory, in which you want Sogo to be installed. Make sure that the owner "root" of sogo is preserved, e.g. use cp -p for copying.
You need to install the GNU-C-Compiler for Windows. These instructions assume
you have the MinGW environment installed.
It has been tested with the
version from the University of Wisconsin-Madison: Use
and read the
notes. The following documentation assumes that MinGW is installed in
the C:\Programme\GCC-2.95.2 directory. You must adjust settings
Although the MinGW manual says that the latter environment variable is not needed, it does not work without it. Also make sure you do not forget the trailing backslash, otherwise trouble will arise later.
All the required OpenGL components that are needed for compilation are already taylor-made in the Sogo directory. For details how these have been created, please refer to the documentation in the Makefile.
You have to personalize the Makefile a little bit. Set MINGW_DIR = C:\Programme\GCC-2.95.2 to your installation directory of MinGW, and set INSTALL = A: to whatever directory you want to install Sogo. Compile Sogo with by issuing these commands:
That's all. Before running SOGO.EXE make sure that the file OPENGL32.DLL is deleted from the src\windows directory. Otherwise, OpenGL will try to use the software renderer, which will not work together with the OpenGL driver installed in the system directory. To copy the required files to run Sogo, just type make install, and the .EXE file along with supplementary files will be copied to the destination specified in the Makefile.