Crystal Space is a framework for developing
3D applications
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
written in
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
by
Jorrit Tyberghein and others. The first public release was on August 26, 1997.
It is typically used as a
game engine but the framework is more general and can be used for any kind of 3D visualization. It is very portable and runs on
Microsoft Windows,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
,
UNIX
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
, and
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
. It is also
free and open-source software, licensed under the
GNU LGPL-2.0-or-later, and was
SourceForge.net's Project of the Month for February 2003.
Engine design
Crystal Space is programmed in
object oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of p ...
C++. It is very modularly built with a number of more or less independent plugins. The
client programs use the
plugins, such as the OpenGL 3D renderer, by registering them via Crystal Space's
Shared Class Facility (SCF).
Features
Crystal Space has modules for 2D and 3D graphics, sound, collision detection and physics through
ODE
An ode (from grc, ᾠδή, ōdḗ) is a type of lyric poetry. Odes are elaborately structured poems praising or glorifying an event or individual, describing nature intellectually as well as emotionally. A classic ode is structured in three majo ...
and
Bullet.
*Graphics:
**
OpenGL rendering
**Supports
hardware acceleration from all major card vendors
**Allows use of
shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene - a process known as ''shading''. Shaders have evolved to perform a variety of speci ...
s
**Library of common shaders like
normal mapping
In 3D computer graphics, normal mapping, or Dot3 bump mapping, is a texture mapping technique used for faking the lighting of bumps and dents – an implementation of bump mapping. It is used to add details without using more polygons. A common ...
,
parallax mapping
Parallax mapping (also called offset mapping or virtual displacement mapping) is an enhancement of the bump mapping or normal mapping techniques applied to textures in 3D rendering applications such as video games. To the end user, this means t ...
and hardware skinning
**Supports
software rendering
Software rendering is the process of generating an image from a model by means of computer software. In the context of computer graphics rendering, software rendering refers to a rendering process that is not dependent upon graphics hardware AS ...
with limited features
*Mesh objects:
**Plugin-based mesh system
**Triangle-based meshes with frame and bone animation support
*Collision detection and dynamics:
**
ODE
An ode (from grc, ᾠδή, ōdḗ) is a type of lyric poetry. Odes are elaborately structured poems praising or glorifying an event or individual, describing nature intellectually as well as emotionally. A classic ode is structured in three majo ...
and
Bullet dynamics
**Simplified collision detection when full dynamic simulation is not needed
Reception and usage
The engine was for instance used for the Open
Outcast and ''
PlaneShift'' projects.
Crystal Space 1.2 Released
by Corvus Elrod on The Escapist (8 October 2007)
References
External links
* {{Dead link, date=December 2017}
on Internet Archive
)
Crystal Space engine details and reviews
{{Video game engines
1997 software
Cross-platform software
Free game engines
Free software programmed in C++
Game engines for Linux
Python (programming language)-scriptable game engines