[LWN Logo]
[LWN.net]
Date: Tue, 20 Feb 2001 12:06:19 +0100
From: Jorrit Tyberghein <Jorrit.Tyberghein@uz.kuleuven.ac.be>
To: news@voodooextreme.com, ptiseo@mediaone.net, john@gagames.com, bobz@mr.net,
Subject: New release of Crystal Space 0.18r001

Crystal Space 0.18r001 Released!

Here is a beta release of Crystal Space (0.18r001).
This release corresponds to a CVS snapshot of 20 February 2001.
Note that this Crystal Space is still beta. We don't make any guarantees
about anything. We have done some work to ensure that it should work but
there are obviously many known (and unknown) bugs.
However, personally I'm feeling very confident about the state
of this release. There should be no fundamental problems with it and
many people are actually using it already now for their projects.

Here are some of the highlights of this release:
- 3D sprites, 2D sprites, and particle systems have been removed from
  the engine and are now available as plugins. This greatly improves
  modularity of the engine and it also allows external
  applications to define their own plugins. With the following
  release of CS this trend will continue as more and more of the
  engine will be placed in plugins (more on this later).
- CS supports hierarchical transformations using the plugin objects above.
- Support for 'regions' in the engine. Using this new concept it
  will be easier to dynamically load and unload big worlds in memory.
- There is a new csfx library which contains standard procedural
  textures for fire, plasma, water, and a procedurally generated
  sky box. In addition it contains an animated 2D texture.
- In contrast with 0.17 release the Python plugin is now actually working.
- Some work on fonts. There is a small font editor included
  and a utility to convert TrueType fonts to CS format.
- Sound has largely been rewritten and works fine now.
- CSWS (the CS Window System) has many new features
  like color schemes, themes, transparent windows, layout
  manager, ...
- New plugin for playing AVI/MPEG videos on textures.



We are planning to release a 1.0 release in three months or so. At least
for important parts of CS (it is likely that we will not be able to have
every feature of CS 1.0 ready).

Crystal Space is Open Source. More than 100 people have contributed in
minor and major ways. I can always use more developers. So if you feel you
have something to add to Crystal Space then mail me.

Check out http://crystal.linuxgames.com for more information and to
download the source. You can also view screenshots there. We are also
hosted on http://sourceforge.net now (for CVS and mailing list).

Crystal Space is an Open Source 3D SDK. It contains the following
large sub-parts:
        - engine: the 3D engine itself (more on its features below).
        - rasterizer: a 3D rasterizer subsystem. Currently there is support
                for OpenGL, Direct3D, Glide, and software rendering
                through different instantiations of cs3d.
        - physics library: a full features physics library that uses CS.
        - textures: a library to load verious types of graphics textures
                (PNG, GIF, JPG, BMP, TGA, ...)
        - sound: 3D and 2D sound library including libraries to load
                various types of sound files. This part of CS is currently
                not working very well. We would like to have some new
                maintainers for this code.
        - networking: low-level networking support.
        - window system: a GUI system specifically for CS.
And also a few other smaller libraries (utility library, geometry
library, ...)

The engine itself has the following features (shortened list):

        - True 6DOF engine with arbitrary sloped convex polygons.
        - Visibility system based on a combination of portals,
          octrees, BSP trees and c-buffer (coverage buffer).
        - Landscape engine based with adaptive LOD.
        - Mipmapping.
        - Crystal Space supports textures with various formats
          including GIF, TGA, PNG, BMP, JPG, and others.
        - Moving objects and a (currently limited) script language
          controlling the movement.
        - Flexible plugin system which allows for plugging in other
          modules including scripting languages. Preliminary work
          for integrating Python with Crystal Space is already included.
        - Transparent and semi-transparent textures allowing for
          see-through water surfaces and windows.
        - In addition to the usual lightmapped textures you can also
          use triangles which are gouroud shaded.
        - Dynamic gouroud shaded sky dome (half-sphere) for a very
          realistic and nice looking sky. With very little programming
          it is possible to have a moving sun which actually modifies
          the color of the sky in real-time.
        - Crystal Space supports mirrors!
        - With mirrors and alpha mapping you can create really nice
          shiny or reflecting surfaces.
        - Static and dynamic colored lights with real shadows.
        - 3D triangle mesh sprites with frame animation. Convertors
          for Quake MDL and Quake II MD2 formats to Crystal Space
          are included. The meshes are actually progressive meshes
          allowing for dynamic LOD (level of detail) changes. There is
          also support for skeletal sprites.
        - Curved surfaces, 3D sprites, and terrain will use hardware
          accelerated transformations if available (only with OpenGL at
          the moment).
        - Crystal Space can directly load 3DS (version 3 or later) or
          Quake MD2 models.
        - Procedural textures. You can actually let the engine render
          inside a texture and then display that texture again on a polygon
          or other entity. Some included proc textures are file, water, plasma,
          and sky.
        - Particle systems for snow, rain, fountains, fire, explosions, ...
        - Real precalculated radiosity.
        - Font server with support for truetype fonts. A font editor is also
          included.
        - Depth-correct colored volumetric fog in sectors (both
          software and hardware renderers).
        - Optional halo's around lights for nice atmospheric effects.
        - Support for curved surfaces (Beziers, ...).
        - Hierarchical bounding box collision detection system.
        - Powerful physics library is included too. It is a dynamics
          modeling and simulation engine.
        - The Crystal Clear layer is also included. This layer is
          sitting on top of Crystal Space to provide for more game
          specific functionality (Crystal Space as such is game independent).
        - Sound support (for Windows, Linux and Macintosh only currently).
        - Support for 3D sound (DS3D, EAX, A3D, ...).
        - Initial networking support for Windows and Linux/Unix
          (sockets based).
        - Support for 8-bit (palette), 15/16-bit (truecolor), and
          32-bit (truecolor) displays.
        - Support for internal 24-bit textures with a private colormap
          for every texture.
        - Optional Direct3D hardware accelaration on Windows for DX6.
          Native DX7/DX8 support is planned.
        - Optional Glide hardware acceleration on Linux, BeOS,
          and Macintosh.
        - Optional OpenGL hardware acceleration on Windows, Linux, BeOS,
          Macintosh, and OS/2. The OpenGL port has been tested with Mesa
          on Linux and works very well.
        - Optional MMX support for processors that support it.
        - Powerful ASCII world file format allowing you to easily
          redefine the world (a real editor is coming (MazeD)).
        - A tool to convert MAP files (Quake II and HalfLife) to CS
          format is also included.
        - Levels can be stored in standard compressed ZIP archives so
          that you can easily make a bundle of one level.
        - It's possible to make libraries of objects, textures and
          other game related stuff and put it all in a seperate ZIP file.
        - Crystal Space uses SCF for communication between several
          layers (like between the 3D Engine and the 3D Rasterizer).
          This allows plug-and-play capabilities and other nice stuff.
        - Crystal Space has commandline arguments and can run at many
          resolutions (320x200, 640x480, 800x600, ...).
        - Very configurable via commandline or configuration file.
        - There is also an input/output console (like in Quake) that
          can be activated with the 'tab' key.
        - C++ source (and optional assembler) is available. Crystal
          Space falls under the LGPL GNU copyleft license for libraries
          which means that the engine can be used in commercial
          products provided you can conform to the LGPL license (no,
          you DON'T have to release the source of your game if you use CS).
        - Currently Crystal Space has been ported to DOS (DJGPP),
          Unix (X Windows, OpenGL), Linux (X Windows, SVGALIB,
          Glide, OpenGL, and GGI), Macintosh (also with Glide and
          OpenGL), Windows 32-bit (DirectDraw, Direct3D, and
          OpenGL), BeOS (also with Glide and OpenGL),
          NextStep, OpenStep, MacOS/X, and OS/2 (also with OpenGL).



--
==============================================================================
Jorrit.Tyberghein@uz.kuleuven.ac.be, University Hospitals KU Leuven BELGIUM

- "What're quantum mechanics?"
- "I don't know. People who repair quantums, I suppose."
        -- (Terry Pratchett, Eric)
==============================================================================