Home - Forums - Documentation - Gallery - Bugs
m (added category)
Line 42: Line 42:
== Complete featurelist ==
== Complete featurelist ==
-
* General Architecture:
+
* Generic
-
** True 6DOF engine with arbitrary sloped convex polygons.
+
** Highly platform independent with good platform abstraction. Officially supports Linux, OSX and Windows using a wide range of compilers.
-
** Flexible plugin system which allows for plugging in other modules including scripting languages. Python, Perl, and Java scripting plugins are already included. There are also various other plugins (fonts, sound, physics, movie recording, movie playing, ...).
+
** Modularized using a lightweight component framework, SCF, based upon the COM model.
-
** Crystal Space uses SCF (Shared Class Facility) for communication between several layers (like between the 3D Engine and the 3D Rasterizer). This allows plug-and-play capabilities and other nice stuff.
+
** Self contained so that many modules requires no or few external dependencies.
-
** Support for 15/16-bit truecolor) and 24/32-bit (truecolor) displays.
+
** Written in standard C++ using very few non*standard extensions. Source available under LGPL license.
-
** Crystal Space has commandline arguments and can run at many resolutions (640x480, 800x600, ...).
+
-
** Very configurable via commandline or configuration file.
+
-
** C++ source (and optional assembler) is available. Crystal Space falls under the LGPL GNU copyleft license for libraries which means that the engine can be used in commercial products provided you can conform to the LGPL license (no, you DON'T have to release the source of your game if you use CS).
+
-
** cs-config script to make it easier for external applications to use CS.
+
-
* Textures and Texture Mapping:
+
* Comprehensive and competent
-
** Textures can have any size which is a power of two and they need not be square.
+
** Contains modules for 2d and 3d graphics, sound, collision detection and dynamics via ODE and bullet as well as support modules for filesystem abstraction, xml loading etc.
-
** Crystal Space supports textures with various formats including GIF, TGA, PNG, BMP, JPG, and others. Also MNG/JNG images (animated) are supported.
+
** Graphics subsystem:
-
** It is possible to map a texture on a polygon in various ways (rotated, scaled, mirrored, ...).
+
*** Generic renderer abstraction with main implementation being OpenGL based.
-
** Perspective correct texture mapping with interpolation every 16 pixels (for software renderer). OpenGL has of course true perspective correction.
+
*** Supports hardware accelerated rendering on all supported platforms and cards from all well known vendors.
-
** Transparent and semi-transparent textures allowing for see-through water surfaces and windows.
+
*** OpenGL renderer uses acceleration techniques such as vertex buffers in AGP or VRAM and asyncronious uploads.
-
** In addition to the usual lightmapped textures you can also use triangles which are gouraud shaded. The latest new renderer also supports stencil based realtime shadows using OpenGL hardware.
+
*** Shader centric design with shaders defined in xml markup and shader programs implemented using Cg, assembly language or fixed function operations.
-
** Mipmapping to minimize memory strain on the texture cache and to have nicer looking textures when a polygon is far away.
+
*** Complicated shaders can be constructed using a meta syntax as composed by simpler modules that gets combined on load.
-
** Support for dynamic textures (i.e. texture that you can render on and put on a polygon as well as normal textures).
+
*** Library of common shaders such as normal mapping, parallax (virtual displacement) mapping and hardware skinning.
-
** New renderer supports advanced shaders for making special effects. Shaders can use CG, vertex programs, fragment programs, and more.
+
*** Contains a software renderer with scaled down features for platforms without OpenGL and/or debugging.
 +
** Mesh objects:
 +
*** Plugin based mesh object system
 +
*** Generic triangle based mesh with support for frame and bone based animation.
 +
*** Terrain mesh with fast block based LOD system.
 +
*** Configurable and extensible particle system mesh.
 +
*** General system for static LOD on all types of meshes.
 +
** Collision detection and dynamics:
 +
*** Provides bidnings for ODE and bullet dynamics systems.
 +
*** Automatic setup of collision detection meshes and syncronization of position and orientation of meshes.
 +
*** Simplified collision detection when you don't need the full dynamics simulation
 +
** Sound system:
 +
*** 2D and 3D sound rendering via DirectSound, Alsa, OSS and CoreAudio.
 +
*** Provides both one*time playing of effects and streaming playing in the background for music.
 +
** Other:
 +
*** Filesystem abstraction layer, VFS, that handles both physical files on disk and files within ZIP files, giving virtual layout independent from platform and physical layout.
 +
*** Abstracted configuration layer with support for settings in configuration file, system dependent storage such as the registry and command line.
-
* Engine Features:
+
* Compatible
-
** Dynamic gouraud shaded sky dome (half-sphere) for a very realistic and nice looking sky. With very little programming it is possible to have a moving sun which actually modifies the color of the sky in real-time.
+
** Custom model and scene file format with exporters for Blender and 3d studio max and model importers for common file formats such as obj.
-
** Support for multi-layered and animated skyboxes and skydomes.
+
** Supports all common texture file formats including dds, jpg, png as well as some more exotic ones such as mng.
-
** Landscape engine with support for scattering, material blending, lod, and other nice things.
+
** Sound loaders for wav and ogg formats.
-
** Crystal Space supports mirrors!
+
** All subsystems easily extendable for new file formats.
-
** With mirrors and alpha mapping you can create really nice shiny or reflecting surfaces.
+
-
** Static LOD.
+
-
** Static colored lights with real shadows. Lighting and shadows are precalculated before the world is displayed (unless you use stencil based lighting).
+
-
** Dynamic colored lights with soft shadows!
+
-
** Stencil shadows.
+
-
** 3D triangle mesh sprites with frame animation. Convertors for Milkshape, Maya, Cal3d, 3DS, Quake MDL and Quake II MD2 formats to Crystal Space are included. Importers for 3DS, MDL, MD2, OBJ, POV, and ASE are also included. The meshes are actually progressive meshes allowing for dynamic LOD (level of detail) changes.
+
-
** 3D animated skeletal meshes using Cal3D animation.
+
-
** 2D sprites and a particle system using those 2D sprites.
+
-
** Depth-correct colored volumetric fog in sectors (both software and hardware renderers).
+
-
** Optional halo's around lights for nice atmospheric effects. Also support for lens-flares.
+
-
** Support for curved surfaces (Beziers, ...).
+
-
** Visibility system based on a combination of portals, kd-tree, and coverage buffer.
+
-
** Hardware accelerated transforms (if available and with OpenGL) for all objects.
+
-
 
+
-
* Portability:
+
-
** Currently Crystal Space has been ported to Unix (X Windows, OpenGL), GNU/Linux (X Windows, OpenGL), Macintosh OS/X (also with OpenGL), Windows 32-bit (DirectDraw and OpenGL).
+
-
** Optional OpenGL hardware acceleration on Windows, GNU/Linux, and Macintosh OS/X. The OpenGL port has been tested with Mesa on GNU/Linux and works very well. The other OpenGL ports will also work well.
+
-
** Optional MMX support for processors that support it.
+
-
 
+
-
* File Format Support:
+
-
** Crystal Space can directly load 3DS, MDL, MD2, ASE, OBJ, or POV objects.
+
-
** Powerful XML world file format allowing you to easily redefine the world.
+
-
** Levels can be stored in standard compressed ZIP archives so that you can easily make a bundle of one level.
+
-
** It's possible to make libraries of objects, textures and other game related stuff and put it all in a seperate ZIP file.
+
-
** A convertor to convert MAP files (from Quake/HalfLife) to CS is also included. You can use this to edit levels with QuarK/WorldCraft or other editors.
+
-
** Convertors to convert Maya, Milkshape, or 3DS to models or levels is included.
+
-
** Several Blender scripts (Python) are included to export models and levels from within Blender.
+
-
 
+
-
* Various Other Features:
+
-
** Font system plugin to support other font types. Currently CS fonts and truetype fonts are supported.
+
-
** Moving objects.
+
-
** Sequence manager with triggers allowing the definition of object interactions from within the level itself.
+
-
** Hierarchical bounding box collision detection system.
+
-
** Powerful physics library using ODE is included too. It is a dynamics modeling and simulation engine.
+
-
** Sound support.
+
-
** Support for 3D sound (DS3D, EAX, A3D, ...).
+
-
** Support for various sound formats: WAV, Ogg/Vorbis, AU, AIFF, IFF, and MOD (using MikMod).
+
-
** Window system is included which is useful for in-game menus.
+
-
** There is also an input/output console (like in Quake) that can be activated with the 'tab' key.
+
-
 
+
-
Here are things which are currently in progress:
+
-
 
+
-
* More advanced lighting system to allow for shadows under moving objects and other nice things. Also a new radiosity based lightmapping tool is in development right now.
+
-
* Work on static visibility calculation (PVS).
+
-
 
+
-
Here are several things that we plan to do for Crystal Space in the near future:
+
-
 
+
-
* We will start working on a general LOD (Level Of Detail) manager in CS.
+
You also may want to take a look at the "Comparing CS to other engines" [tiki-list_faqs.php|FAQ] entry.
You also may want to take a look at the "Comparing CS to other engines" [tiki-list_faqs.php|FAQ] entry.
[[Category:Media]]
[[Category:Media]]

Revision as of 15:38, 9 January 2007

Contents

Feature Spotlight

Version 1.0

Terrain with Foliage

Trees on a hill
Trees on a hill
Our outside terrain now feature beautiful, randomly placed foliage that will make your worlds feel less empty. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus quam nisl, vulputate nec, ultrices sit amet, porta et, sapien. Mauris nibh eros, laoreet sed, rhoncus eu, placerat et, tellus. Integer purus leo, laoreet eu, mollis id, cursus eget, metus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ultrices eros eu ipsum.


Funny Shaders

Wolf with fur shader
Wolf with fur shader
Our support for shaders will give you great possiblities of enhancing your art with the nicest, up-to-date effects. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus quam nisl, vulputate nec, ultrices sit amet, porta et, sapien. Mauris nibh eros, laoreet sed, rhoncus eu, placerat et, tellus. Integer purus leo, laoreet eu, mollis id, cursus eget, metus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ultrices eros eu ipsum.


Skeletal Animation and Dynamic Shadows

Evil character
Evil character
Skeletal animation and dynamic shadows let you characters look lifely and ever more dangerous. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus quam nisl, vulputate nec, ultrices sit amet, porta et, sapien. Mauris nibh eros, laoreet sed, rhoncus eu, placerat et, tellus. Integer purus leo, laoreet eu, mollis id, cursus eget, metus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ultrices eros eu ipsum.

upcoming Version 1.2

Terrain with Foliage

Trees on a hill
Trees on a hill
Our outside terrain now feature beautiful, randomly placed foliage that will make your worlds feel less empty. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus quam nisl, vulputate nec, ultrices sit amet, porta et, sapien. Mauris nibh eros, laoreet sed, rhoncus eu, placerat et, tellus. Integer purus leo, laoreet eu, mollis id, cursus eget, metus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ultrices eros eu ipsum.

upcoming Version 2.0

Terrain with Foliage

Trees on a hill
Trees on a hill
Our outside terrain now feature beautiful, randomly placed foliage that will make your worlds feel less empty. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus quam nisl, vulputate nec, ultrices sit amet, porta et, sapien. Mauris nibh eros, laoreet sed, rhoncus eu, placerat et, tellus. Integer purus leo, laoreet eu, mollis id, cursus eget, metus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin ultrices eros eu ipsum.

Complete featurelist

  • Generic
    • Highly platform independent with good platform abstraction. Officially supports Linux, OSX and Windows using a wide range of compilers.
    • Modularized using a lightweight component framework, SCF, based upon the COM model.
    • Self contained so that many modules requires no or few external dependencies.
    • Written in standard C++ using very few non*standard extensions. Source available under LGPL license.
  • Comprehensive and competent
    • Contains modules for 2d and 3d graphics, sound, collision detection and dynamics via ODE and bullet as well as support modules for filesystem abstraction, xml loading etc.
    • Graphics subsystem:
      • Generic renderer abstraction with main implementation being OpenGL based.
      • Supports hardware accelerated rendering on all supported platforms and cards from all well known vendors.
      • OpenGL renderer uses acceleration techniques such as vertex buffers in AGP or VRAM and asyncronious uploads.
      • Shader centric design with shaders defined in xml markup and shader programs implemented using Cg, assembly language or fixed function operations.
      • Complicated shaders can be constructed using a meta syntax as composed by simpler modules that gets combined on load.
      • Library of common shaders such as normal mapping, parallax (virtual displacement) mapping and hardware skinning.
      • Contains a software renderer with scaled down features for platforms without OpenGL and/or debugging.
    • Mesh objects:
      • Plugin based mesh object system
      • Generic triangle based mesh with support for frame and bone based animation.
      • Terrain mesh with fast block based LOD system.
      • Configurable and extensible particle system mesh.
      • General system for static LOD on all types of meshes.
    • Collision detection and dynamics:
      • Provides bidnings for ODE and bullet dynamics systems.
      • Automatic setup of collision detection meshes and syncronization of position and orientation of meshes.
      • Simplified collision detection when you don't need the full dynamics simulation
    • Sound system:
      • 2D and 3D sound rendering via DirectSound, Alsa, OSS and CoreAudio.
      • Provides both one*time playing of effects and streaming playing in the background for music.
    • Other:
      • Filesystem abstraction layer, VFS, that handles both physical files on disk and files within ZIP files, giving virtual layout independent from platform and physical layout.
      • Abstracted configuration layer with support for settings in configuration file, system dependent storage such as the registry and command line.
  • Compatible
    • Custom model and scene file format with exporters for Blender and 3d studio max and model importers for common file formats such as obj.
    • Supports all common texture file formats including dds, jpg, png as well as some more exotic ones such as mng.
    • Sound loaders for wav and ogg formats.
    • All subsystems easily extendable for new file formats.

You also may want to take a look at the "Comparing CS to other engines" [tiki-list_faqs.php|FAQ] entry.

| Article | Discussion | View source | History |