Crystal Space **AWOL**

Crystal Space is a free 3D game toolkit. It can be used for a variety of 3D visualization tasks. Many people will probably be interested in using Crystal Space as the basis of a 3D game, for which it is well suited.

It is divided in a main package containing an engine, a development package containing development related utilities, a documentation package containing extended HTML information.

It can optionally use OpenGL, SDL, X11and SVGALib. It can also use assembler routines using NASM and MMX extensions.

Features include:

  • Generic
    • Highly platform independent with good platform abstraction.
    • Modularized using a lightweight component framework, SCF, based upon the COM model.
    • Self contained so that many modules requires no or few external dependencies.
    • Written in standard C++ using very few non*standard extensions.
  • Comprehensive and competent
    • Contains modules for 2d and 3d graphics, sound, collision detection and dynamics via ODE and bullet as well as support modules for filesystem abstraction, xml loading etc.
    • Graphics subsystem:
      • Generic renderer abstraction with main implementation being OpenGL based
      • Supports hardware accelerated rendering on all supported platforms and cards from all well known vendors.
      • OpenGL renderer uses acceleration techniques such as vertex buffers in AGP or VRAM and asyncronious uploads.
      • Shader centric design with shaders defined in xml markup and shader programs implemented using Cg, assembly language or fixed function operations.
      • Complicated shaders can be constructed using a meta syntax as composed by simpler modules that gets combined on load.
      • Library of common shaders such as normal mapping, parallax (virtual displacement) mapping and hardware skinning.
      • Contains a software renderer with scaled down features for platforms without OpenGL and/or debugging.
    • Mesh objects:
      • Plugin based mesh object system.
      • Generic triangle based mesh with support for frame and bone based animation.
      • Terrain mesh with fast block based LOD system.
      • Configurable and extensible particle system mesh.
      • General system for static LOD on all types of meshes.
      • Bone based animation mesh using the cal3d library.
    • Collision detection and dynamics:
      • Provides bindings for ODE and bullet dynamics systems.
      • Automatic setup of collision detection meshes and synchronization of position and orientation of meshes.
      • Simplified collision detection when you don’t need the full dynamics simulation.
    • Sound system:
      • 2D and 3D sound rendering via DirectSound, Alsa, OSS and CoreAudio
      • Provides both one*time playing of effects and streaming playing in the background for music.
    • Other:
      • Filesystem abstraction layer, VFS, that handles both physical files on disk and files within ZIP files, giving virtual layout independent from platform and physical layout
      • Abstracted configuration layer with support for settings in configuration file, system dependent storage such as the registry and command line.
  • Compatible
    • Custom model and scene file format with exporters for Blender and 3d studio max and model importers for common file formats such as 3ds and md2.
    • Supports all common texture file formats including dds, jpg, png as well as some more exotic ones such as mng (animated texture format).
    • Sound loaders for wav and ogg formats.
    • All subsystems easily extendable for new file formats.


Crystal Space

Return to Games Home Page | Return to Game Engines Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.
Share this article

One comment

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.