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++ by
Jorrit Tyberghein Jorrit is a West Frisian masculine given name derived via ''Jouwert'' (equivalent to Dutch '' Evert'') from ''Everhard'' (German " Eberhard"). It is used throughout the Netherlands since the 1960s.game engine
A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term " software engine" used in the softwar ...
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, which i ...
,
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, a ...
, 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 lapt ...
. It is also
free and open-source software
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
, licensed under the
GNU LGPL-2.0-or-later, and was
SourceForge.net
SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, Mirror site ...
'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 ...
C++. It is very modularly built with a number of more or less independent plugins. The
client programs use the
plugins
Plug-in, plug in or plugin may refer to:
* Plug-in (computing) is a software component that adds a specific feature to an existing computer program.
** Audio plug-in, adds audio signal processing features
** Photoshop plugin, a piece of software t ...
, such as the OpenGL 3D renderer, by registering them via Crystal Space's
Shared Class Facility
Shared may refer to:
* Sharing
* Shared ancestry or Common descent
* Shared care
* Shared-cost service
* Shared decision-making in medicine
* Shared delusion, various meanings
* Shared government
* Shared intelligence or collective intelligence ...
(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
A bullet is a kinetic projectile, a component of firearm ammunition that is shot from a gun barrel. Bullets are made of a variety of materials, such as copper, lead, steel, polymer, rubber and even wax. Bullets are made in various shapes and ...
.
*Graphics:
**
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
rendering
**Supports
hardware acceleration
Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calc ...
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 spec ...
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 ...
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
A bullet is a kinetic projectile, a component of firearm ammunition that is shot from a gun barrel. Bullets are made of a variety of materials, such as copper, lead, steel, polymer, rubber and even wax. Bullets are made in various shapes and ...
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