KISS Renderer Documentation
Please check http://playstation2-linux.com/projects/render for the complete version.
The KISS (Keep It Simple, Stupid) renderer is a basic Path 1 rendering library built on top of SPS2 and intmdloader. It supports backface culling, trivial clipping and a simple parallel/ambient lighting model. A set of functions are supplied for uploading VU1 microcode, geometry and texture data. The library could be used as the basis for a game engine, or as sample code when developing your own renderer.
Untar render
, sps2dev
, geommath
and intmdloader
into the same directory. VCL should be available somewhere on your PATH
.
cd render-0.5
make
The library and VU microcode can be found in the lib
directory.
- Load VU1 microcode files and generate a Path 1 upload DMA chain
- Load geometry from intmdloader files and generate a Path 1 upload DMA chain with double buffering
- Load textures from intmdloader files and generate a Path 2 upload DMA chain with synchronisation
- Set up VIF1 for double buffering
- Transform, light, clip and backface cull geometry on VU1
- Set up the DMAC and kick off chain-mode DMA transfers
- Create projection, camera and light matrices and generate Path 1 upload DMA chains for them
- Allocate, free and swap DMA buffers
- Handle non-32 bit textures in intmdloader files
- Path 3 texture transfers
- Generate camera matrices for cameras other than those looking down the Z axis
- Scene management (keeping track of where objects are, their orientation, etc.)
See the rendertest
package for a simple example of rendering an intmdloader model with multiple objects and textures.
The renderer is released under the GNU LGPL. See the file COPYING for further details.
Thanks to Sauce, Sparky and Hikey (all @users.playstation2-linux.com) for the fantastic SPS2 library. Thanks also to Sparky for the geommath and intmdloader libraries, of which this project makes extremely heavy use. Nuff respect ;)
Greets to everyone in #sps2 on irc.freenode.net!
Generated on Wed Apr 28 20:49:12 2004 for KISS Renderer by
1.3.6-20040222