SaM3d!
A cross-platform library for 3d
applications
based on OpenGL and SDL
Goals
- provide a set of easy-to-use, platform independant functions for
3d applications (mostly games & demos) ;
- solve a few remaining portability issues (SDL and OpenGL take
care of 99% of portability problems, but there are still a few
details...).
Features
SaM3d! is in very early stages, so most of the features are planned.
In the current version :
- on-the-fly display mode (fullscreen, windowed) change ;
- render on multiple viewports ;
- rendering loop with input handling and time-based movement ;
- texture manager with predefined texture classes (textures read
from file, lightmap) ;
- file I/O based on SDL_RWops (can read files from a ZIP archive) ;
- performance counter (fps, triangles per frame...) ;
- math library (classes for vectors, quaternions, matrices,
frustum) ;
- console and logging system.
Under development :
- meshes, vertex arrays ;
- BSPs, PVS ;
- lua scripting.
Supported Platforms
SaM3d! applications compile and run under:
- Linux ;
- Windows (compiles using MinGW).
Download
You can download the sources for SaM3d! from the CVS repository on
SourceForge using the following commands (Unix environment).
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/sam3d login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/sam3d co SaM3d
If you are using Windows(TM) you really should try TortoiseCVS.
For those who really do not want to use CVS, you can download a snapshot (sep 3 2003): tgz, zip.
Credits
I would like to thank :
- Sam Lantinga for the incredible SDL library ;
- Fabio "Snowdruid" Franchello who wrote the "NeHeGL SDL codebase" I used to start with OpenGL ;
- Jeff Molofee for his fantastic site about OpenGL ;
- did I forget anyone ?