<span>[[Image:Showcase_1_0_Foliage.jpg|thumb|left|Trees on a hill]]Crystal Space includes a foliage generator. This generator can randomly (based on user supplied input like density map and material based densities) place objects like stones, trees, grass, and so on. Especially in combination with our outside terrain engine this will make your worlds feel a lot less empty.</span>

+

* Rendering & Lighting

-

<br clear="all" />

+

** OpenGL-based engine, supports hardware accelerated rendering on all supported platforms and cards from all well known vendors.

** Dedicated Exporters for many 3D file formats: Blender up to 2.49b through blender2crystal, Blender 2.5x through B2.5CS, 3D Studio Max, Maya, and model importers for common file formats such as COLLADA, 3ds, cal3d and md2.

-

=== upcoming Version 2.0 ===

+

* User Interface

+

** Event system & peripherals: mouse, joystick, keyboard.

+

** Graphical user interface system through CEGUI.

+

** User interface widgets for wxWidgets.

+

** Text localization.

+

** Plugin fo easy video recording and uber-screenshots.

+

** Font servers, FreeType2 and glyphs fonts.

-

==== Terrain with Foliage ====

+

* Project Management

+

** Debugging tools: generic plugin for visual debugging of scenes, support for Valgrind and CppUnit.

+

** Scripts for generation of new projects.

+

** Easy compilation and customization of the whole project thanks to Jam.

Dedicated Exporters for many 3D file formats: Blender up to 2.49b through blender2crystal, Blender 2.5x through B2.5CS, 3D Studio Max, Maya, and model importers for common file formats such as COLLADA, 3ds, cal3d and md2.

User Interface

Event system & peripherals: mouse, joystick, keyboard.

Graphical user interface system through CEGUI.

User interface widgets for wxWidgets.

Text localization.

Plugin fo easy video recording and uber-screenshots.

Font servers, FreeType2 and glyphs fonts.

Project Management

Debugging tools: generic plugin for visual debugging of scenes, support for Valgrind and CppUnit.

Scripts for generation of new projects.

Easy compilation and customization of the whole project thanks to Jam.

The Crystal Entity Layer

Entity System

Each object in CEL is an entity. Entities are defined by adding them a list of property classes that defines their attributes and their behaviour.

Generic event system for communication between entities and property classes.

Persistence layer for saving and loading world states.

Experimental FTP-based network layer.

Runtime Package Environment

CELStart: generic executable for all CELStart packaged applications, only the packed data files of the applications have to be installed on the user machines.

The whole logic may be written with bindings for Python, or in a XML scripting language.

Artificial Intelligence

Behaviour trees to build complex artificial behaviours by combination of single decision nodes.