Copyright © 1994, 1996, 1999 Information Geometers Ltd and The University of Bath
This version of svLis uses Apple OpenGL (see the file README_MAC in the main svLis folder for details where to get it, and how to set it up), an implementation of OpenGL. Note that it is currently a pre-release, and as such there may be problems with it.
The svLis distribution file for Macintosh is a .sit file which should be unstuffed with Stuffit Expander. A folder called Svlis will be created. This folder and the OpenGL SDK folder should be put in the same location on your disk. (The latter contains the OpenGL distribution including headers and stub libraries needed for building programs which use OpenGL, although in simple cases you will probably just use the graphics procedures provided by svLis rather than writing OpenGL yourself.) Note that the Mesa system extensions and appropriate enabler should be placed in the System Extensions folder.
To build svLis, you will need Metrowerks CodeWarrior Pro 4 or later. You must start by building the svLis precompiled headers, and then the svLis user library, before trying to build the example programs. See below.
Three project files are supplied. Follow the instructions below in the order given.
The first project file, SvlisHeader.mcp, builds the svLis precompiled headers which are needed for fast compilation of the other two projects.
Open this project, select svlis.pch++, and choose Precompile from the Project menu. This builds the precompiled header and puts it in the include folder. (You will only ever need to do this again if you change any of the header files.)
The second project file, SvlisUserLib.mcp, builds the svLis User Library (for making the parts of svLis that are user-modifiable); sources to build a default version of the library are provided.
Open this project, and choose Make from the Project menu. This builds the svLis User Library, SvlisUserLib, and puts it in the bin folder. (You only ever need to do this after changing any of the files in the sv_user folder.)
The third project file, SvlisExamples.mcp, builds the example programs. There are targets for each example, and an All target which makes all the example programs.
Open this project, select the All target (or the target for a particular program), and chose Make.
The files and directories that you will end up with in the Svlis folder will be:
SvLis uses SIOUX for console output. To avoid problems, you should not change any of the SIOUX settings.
After you've done those 3 steps check if all is working by runing the program sv_tst_1 in the bin folder. This will create a single file in the directory results called sv_tst.mod (examine it with CodeWarrior if you like; it will start something like:
SvLis(3)
# SvLis created this file on Sun Feb 21 15:59:16 1999
model
{
268482224 L 0
box\interval\0, 10/, interval\0, 10/, interval\0, 10//
set_list
[
268482032 0
set
(
268481656 7 0 &
set
(
268481600 1 0
primitive
<
268481528 3 0 -
primitive
<
.
.
.
.
though the numbers will be different). The file created is a svLis model
of a cube intersected with a sphere. If you run
sv_tst_2 in the
bin
folder this will read the model, then divide and facet it, then print some
statistics. Finally running sv_tst_g should produce a picture
of the model. The faceting of this picture
is deliberately crude; you can refine it by picking the `Facet quality'
menu item with the RightButton menu. Typing `?'
in the graphics window gives a list of options and an explanation of how
OpenGL deals with a 3 button mouse on the Mac by using control, option and
command. Also, if you turn texturing on from the menu, you should get the
svLis logo tiled across the flat faces.
Note that the example programs are built with a reasonable amount of memory and stack space, but if you produce a larger model, or refine the example on a lot, you may run out of memory, and need to use larger values. This can be adjusted using the target settings panels for the project which builds the examples.
There are a number of other programs provided with svLis; for details of them see the svLis manual here.
![]()