ps2glversion 0.2.2Tyler Daniel, SCEA R&Dtyler_daniel@playstation.sony.com Copyright © 2001 Sony Computer Entertainment America All Rights Reserved
Introductionps2gl is an OpenGL*-like API for the ps2. It is intended to be useful for anyone looking for a familiar API on the ps2, but its main purposes in life are to provide an easier way to write games and to serve as an example of a ps2 rendering layer. In a perfect world ps2gl would be just another OpenGL* implementation, but unfortunately that is not to be. The reason, aside from licensing issues, is that many parts of the OpenGL* API are not well suited to the PlayStation 2 architecture and would require software emulation, which is not acceptable for console games. Still, all hope is not lost; many of the calls act the same as their OpenGL* counterparts, while the rest behave similarly. Finally, ps2gl is still quite young, and developers who decide to use it can expect to find bugs, inconsistencies, and incomplete features. Since ps2gl is also an open source project, its users are strongly encouraged to participate in its development. No one will be more strongly motivated to fix a bug that is holding you up than you. One of ps2gl's main design requirements is that it be easy to understand and modify. CVS (version control) write access is available to frequent contributors, and read access to the working cvs tree is always available to any developer (once it gets fixed on dualshock). Latest VersionThe latest version can always be found on the homepage: https://dualshock.scea.com/projects/ps2gl/. The homepage also hosts bug tracking, news, cvs versions, and discussion groups. Contents
InstallingAfter uncompressing the archive, the next step is to make sure you have ps2stuff installed. You'll find it on dualshock: https://dualshock.scea.com/projects/ps2stuff/. ps2stuff is a collection of utilities for dealing with the ps2 hardware; in other words, ps2stuff is the layer on top of which ps2gl is built. This package contains two sets of static libraries - one set is ps2gl and the other is ps2glut. Each set consists of three builds:
You'll find ps2gl in ps2gl/objs_* and ps2glut in ps2gl/glut/objs_*. NOTE: I have had trouble linking on linux/gcc -- I either get relocation errors or undefined symbols depending on the order the libraries appear on the command line. The only solution I could find was to include ps2gl *twice*. Here is what I have found to work (if anyone has a better solution please mail me): -lps2gl -lps2glut -lps2gl -lps2stuff Building the examplelinux/gcc chdir to ps2gl/examples. The Makefile is set up to look for ps2stuff in ../../ps2stuff, so if this is not where the ps2stuff project is, you'll need to edit the last LIB_DIRS line. Once that's done, typing 'make run' should do it. Metrowerks Load up the "logo" project file in CW. If the ps2stuff project is not in (from ps2gl/examples) ../../ps2stuff, you'll need to edit the library paths. Now the project should build and run. DocumentationThe api documentation for ps2gl is generated from source comments using a wonderful program called doxygen. The full documentation for both the external api (gl* and pgl*) and the internal implementation is included: You'll notice that internal documentation is quite scarce at the moment... It will gradually get better. BugsFor the latest bug information, check the ps2gl homepage. Bug reports should be submitted there as well. (Be sure to check the bug tracker to see if the problem has already been reported and/or resolved.) * OpenGL(R) is a registered trademark of Silicon Graphics, Inc. |