Crystal Space

from Wikipedia, the free encyclopedia
Crystal Space

Crystal Space 3D.png
Basic data

developer Jorrit Tyberghein et al.
Current  version 2.0.0
(July 3, 2012)
operating system Windows , Linux , macOS
programming language C ++
category 3D graphics software
License LGPL ( Free Software )
www.crystalspace3d.org

Crystal Space is a free and portable framework and SDK with a graphics engine for the representation of 3D worlds for computer games and other virtual reality applications. It is written in the C ++ programming language and distributed as free software under the terms of the GNU Lesser General Public License (LGPL) .

Crystal Space currently supports GNU / Linux , Unix , Windows and macOS . Optionally, it can use OpenGL (all platforms), SDL (all SDL platforms), X11 (Unix or GNU / Linux) and SVGALIB (GNU / Linux). It can also be used as an assembler framework with NASM and MMX.

Crystal Space is an open source - project with about 700 participants. The project was initiated by Jorrit Tyberghein in 1997. After ten years of development, version 1.0 was released on January 15, 2007.

In 2006 and 2007, RWTH Aachen University held its own developer conferences with the “Crystal Space Conference” .

use

The MMORPG " PlaneShift " is based on the CS engine. In the Apricot project, work was carried out on the further development of Blender and Crystal Space as part of the practical implementation of a 3D game . The platform game " Yo Frankie !" , Which emerged from the Apricot project, uses either Crystal Space or the Blender engine as an alternative. Crystal Core is a playable demo game about the engine, a modular, expandable first person shooter.

features

The rendering engine is modular and expandable and equipped with a physics and 3D sound engine.

Crystal Entity Layer (CEL) is an abstraction layer for controlling what is happening in the virtual world. For example, it serves as an interface for scripting, calculates movement paths through terrain and artificial intelligence.

General architecture

The Crystal Space engine works with six degrees of freedom with arbitrary sloped convex polygons. In addition, Crystal Space has a flexible plug-in system that allows modules to insert other scripting languages. Python , Perl and Java are already supported. There are also additional modules for fonts, music, physics calculations and the recording and playing of films. Crystal Space uses SCF (Shared Class Facility) for communication between different layers (for example between the graphics engine and the 3D rasterizer). This enables a plug-and-play concept to be implemented. 15/16 bit and 24/32 bit true color display and various resolutions (640 × 480 pixels, 800 × 600 pixels, ...) are supported. Crystal Space can be easily configured via the command line and configuration files .

Source code

The C ++ source code and assembly language code is available. Crystal Space is licensed under the LGPL, a GNU copyleft license with a less restrictive approach than the GPL.

Textures and texture mapping

  • Textures can be any size that matches. They don't have to be square.
  • Crystal Space supports textures with the following formats:
  • It is possible to record a texture on a polygon in different ways (rotated, scaled, mirrored, ...).
  • Transparent and semi-transparent textures allow transparent water surfaces and windows.
  • Supports dynamic textures that can be treated like simple textures.
  • The new renderer supports advanced shaders to create effects. Shaders can use CG , vertex programs, fragment programs, and others.

Engine characteristics

  • Dynamically shaded, multilayered hemispheres (SkyDome) for a very realistic sky. The movement of the sun can be done in real time to cause color change.
  • Landscape generator with the support of:
  • Aerial perspective, fog
  • Texture generation
  • Level of Detail (LOD)
  • Bare, reflective surfaces
  • Pre-calculated static lighting (light mapping) with real shadow
  • Static LOD
  • Dynamic colored lights with soft shadows
  • Geometrically correct shadow (stencil shadow)
  • Animation through key frames
  • Skeleton animation (bones) with Cal3D
  • Particle system

File converter

The software includes file converters for:

portability

Crystal Space has been ported for

Optional OpenGL hardware acceleration under Windows, GNU / Linux and Macintosh OS X as well as Linux ( Mesa )

  • Support of processor expansions (for example MMX ).

Supported file formats

Crystal Space can load the following 3D objects directly and display them in different resolutions depending on the distance (LOD):

  • 3DS
  • ASE
  • MDL
  • MD2
  • OBJ
  • POV.
  • The world to be created can be described by XML files.
  • Levels, consisting of worlds and areas, can be present as a zipped package.
  • It is possible to keep libraries of objects, textures and other things that a game needs in separate ZIP files.
  • A converter to convert MAP files (from Quake / Half-Life ) to Crystal Space is included. Game sections that were designed with QuarK / Worldcraft can also be converted.
  • Conventor for:
    • Maya (models and levels)
    • Milkshape (models and levels)
    • 3DS (models and levels)
  • Several Blender scripts ( Python ) are included in order to export the models and levels from Blender.

Various other characteristics

  • The font system plug-in supports the following font types:
  • Moving objects
  • Sequence manager with triggers allows the definition of object interactions in the level itself.
  • Collision detection, hierarchical visibility check.
  • A powerful physics library is already integrated. It is a dynamic modeling and simulation engine.
  • 3D sound of the following standards:
  • Audio formats:

A window system is already included for in-game menus . Support for an input and output console, such as that used in Quake, also exists.

literature

  • Oliver Grau: Drive motors: building games with open source engines . In. iX 09/2006, page 52

Web links

swell

  1. http://crystalspace3d.org/downloads/conference_2006/planeshift_conf.pdf
  2. - ( Memento of the original from December 14, 2010 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / crystalspace3d.org