Crystal Space
{{Short description|Framework for developing 3D applications written in C++}}
{{Notability|Product|date=April 2023}}
{{Infobox software
| name = Crystal Space
| logo = Crystal Space logo.svg
| logo size = 200px
| screenshot =
| caption =
| developer = Jorrit Tyberghein et al.
| released = {{Start date and age|1997|08|26}}{{Cite web |url=http://gothapedia.com/manual/root/home/user/development/cs-SVN/trunk-old/docs/history.old |title=History |website=gothapedia.com |access-date=October 21, 2007 |archive-url=https://web.archive.org/web/20071021012040/http://gothapedia.com/manual/root/home/user/development/cs-SVN/trunk-old/docs/history.old |archive-date=October 21, 2007 |url-status=dead |df=mdy-all }}
| discontinued = yes
| latest_release_version = 2.0
| latest_release_date = {{Start date and age|2012|07|03}}
| latest_preview_version =
| latest_preview_date =
| operating_system =
| programming_language = C++
| platform = Cross-platform
| genre = 3D engine
| license = LGPL-2.0-or-later
| website = {{URL|https://sourceforge.net/projects/crystal/}}
}}
Crystal Space is an unmaintained framework for developing 3D applications written in C++ 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, UNIX, and Mac OS X. 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.{{cite web |url=http://sourceforge.net/potm/potm-2003-02.php |title=Project of the Month, February 2003 |publisher=SourceForge.net |access-date=2012-07-30 |archive-url=https://web.archive.org/web/20120728062832/http://sourceforge.net/potm/potm-2003-02.php |archive-date=2012-07-28 |url-status=dead }} In 2019, one of the project's main developers described it as "effectively dead and has been for a good number of years".{{cite web|url=https://sourceforge.net/p/crystal/discussion/2007/thread/c699124e08/#c552|title=Crystal Space 3D SDK / Discussion|last=Sunshine|first=Eric|date=31 January 2019|website=SourceForge|access-date=29 January 2023}}
Engine design
Crystal Space is programmed in object oriented 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 and Bullet.
- Graphics:
- OpenGL rendering
- Supports hardware acceleration from all major card vendors
- Allows use of shaders
- Library of common shaders like normal mapping, parallax mapping and hardware skinning
- Supports software rendering with limited features
- Mesh objects:
- Plugin-based mesh system
- Triangle-based meshes with frame and bone animation support
- Collision detection and dynamics:
- ODE and Bullet dynamics
- Simplified collision detection when full dynamic simulation is not needed
Reception and usage
The engine was, for instance, used for the OpenOutcast and PlaneShift projects.[https://www.escapistmagazine.com/v2/crystal-space-1-2-released/ Crystal Space 1.2 Released] by Corvus Elrod on The Escapist (8 October 2007) It was the Project of the Month on SourceForge in February 2003.{{cite web|website=Macworld|first=Peter|last=Cohen|url=https://www.macworld.com/article/157821/crystal.html|title=SourceForge highlights Crystal Space 3D game engine|date=2003-02-03|access-date=2023-02-20}}
References
{{reflist|30em}}
External links
{{Portal|Free and open-source software}}
- {{Official website|https://sourceforge.net/projects/crystal/}} at SourceForge
- [https://web.archive.org/web/20180111053638/http://devmaster.net/devdb/engines/crystal-space Crystal Space engine details and reviews] at the Internet Archive
{{Video game engines}}
Category:Cross-platform software
Category:Free software programmed in C++
Category:Game engines for Linux
Category:Python (programming language)-scriptable game engines