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
GRANULARITY.
Linux
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:
cd src/linux
make
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.
Windows
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
MinGW
version from the University of Wisconsin-Madison: Use
gcc-2.95.2-crtdll.exe
and read the
installation
notes. The following documentation assumes that MinGW is installed in
the C:\Programme\GCC-2.95.2 directory. You must adjust settings
in MINGW32.BAT:
PATH=c:\programme\gcc-2.95.2\bin;%PATH%
SET GCC_EXEC_PREFIX=c:\programme\gcc-2.95.2\lib\gcc-lib\
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:
cd src\windows
make
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.