![]() |
STEVE'S PORTABLE GAME LIBRARY PAGE. |
-- Woody Allen |
PLIB is also used by many projects, here are some of the more prominent ones:
Tux the Penguin -
A Quest for herring. |
![]() |
![]() |
FlightGear |
Majik3D |
![]() |
PrettyPoly Editor |
![]() |
All of these libraries are now bundled together into a single tarball called 'PLIB' (pronounced 'plib' to rhyme with glib and nib - not 'pee-lib' or 'pee-lybe').
If you are reading this document from the source distribution on your local disk, you can find the most up to date version of PLIB here:
The online documentation is always for the latest version of PLIB, which is usually the current experimental release. If you are using the older stable release, you may want to download the documentation appropriate to that release.
Dump this into a separate directory from PLIB itself - or else all the configuration and makefiles will clash. PLIB 1.0.xx has all these examples and documents rolled into the main tarball.I'm now using the even-version-stable/odd-version-experimental version numbering scheme made popular by the Linux Kernel and others. This means that PLIB 1.0.* will be stable versions of PLIB that will only be changed to fix bugs. PLIB 1.1.* will be experimental versions that may or may not work with your applications.
PLIB 1.0.* install themselves in /usr/local/plib, but from version 1.1.0 onwards, the default location moves to /usr/include/plib (for header files) and /usr/lib (for libraries). The library names also change to libplib*.a instead of lib*.a as before.
subscribe plib-{whatever}@woodsoup.org {your-email-address} endWhere {whatever} is announce, devel or users and {your-email-address} is something like joe@joes_diner.com (don't type the {}'s )!
If you wish to sign up to multiple lists, you can put multiple 'subscribe' lines in the same email and finish it with just one 'end' command. Shortly after you email is delivered, you should get an automatic reply email asking you to confirm your request. Just do what it says and you'll be in touch.
Please do not send me personal mail in situations when one of the public mailing lists would be an appropriate forum - I hate it when people do that.
In addition, you'll need the following other libraries:
GUI Widgets | Picoscopic User Interface Library (PUI) | A fully portable GUI interface that needs only GLUT, OpenGL and C++. |
Sound Replay | Sound Library (SL) | A fully portable Audio driver suited to C++, GLUT and realtime applications that need low latency. Includes a simple 'MOD' music loader/player. |
Matrix/Vector math | Simple Geometry Library(SG) | A set of matrix and vector math functions that was specifically written to simplify the writing of efficient OpenGL programs. You need to include this code into any SSG applications. |
Scene Graph | Simple Scene Graph Library (SSG) | A scene graph library layered on top of OpenGL. |
Joystick | JS | Supports more Joysticks with more axes and buttons than GLUT. |
Fonts/Text | Fonts'n'Text Library (FNT) | Supports text output in OpenGL using texture mapped fonts. These are much faster to render than GLUT's fonts. |
./configure make make installDepending on the file permissions in /usr/local, you may need to be 'root' to perform the last step. At the end of that process, you should have a set of header files in /usr/local/plib/include and a set of corresponding libraries in /usr/local/plib/lib. There are some example programs in the 'plib-x.y.z/examples' subdirectory.
WARNING: If you are using 'Mesa' instead of an 'Official' OpenGL, please make sure you followed the instructions in the Mesa installation notes that tell you to symbolically link /usr/lib/libGL.a (or .so) and /usr/lib/libGLU.a (or .so) to their Mesa equivelents.
If you are running some non-UNIX OS, (eg MS-Windows) there may be instructions on how to build PLIB in README.{OS name}. If you have problems - or can offer to streamline the process, then please pass on your knowledge via the mailing list. In general, it isn't complicated to install - you usually just have to compile all of the source files in each directory and link each subdirectory into a separate library. Don't try to make PLIB into a M$ '.DLL' - it's not worth the effort!
If you have the Microsoft Visual C++ suite, you'll find a set of project files - one in each source directory - plus a master workspace at the top of the tree.
If you have all the Cygnus (CygWin) compiler/tools, then use the UNIX build instructions.
I have not been given build instructions for MacOS - so you'll have to wing it for now!