Search Home Members Contacts
About Us
Products
Downloads
Community
Support
Pages: [1]
  Print  
Author Topic: Crystal Space vs TV3D  (Read 2633 times)
dudeman
Community Member
*
Posts: 20


« on: April 19, 2005, 03:19:14 PM »

I have seen the name Crystal Space pop up from time to time and honestly have not thought to even use it.
Here are the features:
Crystal Space is a free 6DOF portal based engine (based on the LGPL license). Current features are:

    * General Architecture:
          o True 6DOF engine with arbitrary sloped convex polygons.
          o 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, ...).
          o 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.
          o Support for 15/16-bit truecolor) and 24/32-bit (truecolor) displays.
          o Crystal Space has commandline arguments and can run at many resolutions (640x480, 800x600, ...).
          o Very configurable via commandline or configuration file.
          o 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).
          o cs-config script to make it easier for external applications to use CS.


    * Textures and Texture Mapping:
          o Textures can have any size which is a power of two and they need not be square.
          o Crystal Space supports textures with various formats including GIF, TGA, PNG, BMP, JPG, and others. Also MNG/JNG images (animated) are supported.
          o It is possible to map a texture on a polygon in various ways (rotated, scaled, mirrored, ...).
          o Perspective correct texture mapping with interpolation every 16 pixels (for software renderer). OpenGL has of course true perspective correction.
          o Transparent and semi-transparent textures allowing for see-through water surfaces and windows.
          o 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.
          o Mipmapping to minimize memory strain on the texture cache and to have nicer looking textures when a polygon is far away.
          o Support for dynamic textures (i.e. texture that you can render on and put on a polygon as well as normal textures).
          o New renderer supports advanced shaders for making special effects. Shaders can use CG, vertex programs, fragment programs, and more.


    * Engine Features:
          o 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.
          o Support for multi-layered and animated skyboxes and skydomes.
          o Landscape engine with support for scattering, material blending, lod, and other nice things.
          o Crystal Space supports mirrors!
          o With mirrors and alpha mapping you can create really nice shiny or reflecting surfaces.
          o Static LOD.
          o Static colored lights with real shadows. Lighting and shadows are precalculated before the world is displayed (unless you use stencil based lighting).
          o Dynamic colored lights with soft shadows!
          o Stencil shadows.
          o 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.
          o 3D animated skeletal meshes using Cal3D animation.
          o 2D sprites and a particle system using those 2D sprites.
          o Depth-correct colored volumetric fog in sectors (both software and hardware renderers).
          o Optional halo's around lights for nice atmospheric effects. Also support for lens-flares.
          o Support for curved surfaces (Beziers, ...).
          o Visibility system based on a combination of portals, kd-tree, and coverage buffer.
          o Hardware accelerated transforms (if available and with OpenGL) for all objects.


    * Portability:
          o 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).
          o 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.
          o Optional MMX support for processors that support it.


    * File Format Support:
          o Crystal Space can directly load 3DS, MDL, MD2, ASE, OBJ, or POV objects.
          o Powerful XML world file format allowing you to easily redefine the world.
          o Levels can be stored in standard compressed ZIP archives so that you can easily make a bundle of one level.
          o It's possible to make libraries of objects, textures and other game related stuff and put it all in a seperate ZIP file.
          o 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.
          o Convertors to convert Maya, Milkshape, or 3DS to models or levels is included.
          o Several Blender scripts (Python) are included to export models and levels from within Blender.


    * Various Other Features:
          o Font system plugin to support other font types. Currently CS fonts and truetype fonts are supported.
          o Moving objects.
          o Sequence manager with triggers allowing the definition of object interactions from within the level itself.
          o Hierarchical bounding box collision detection system.
          o Powerful physics library using ODE is included too. It is a dynamics modeling and simulation engine.
          o Sound support.
          o Support for 3D sound (DS3D, EAX, A3D, ...).
          o Support for various sound formats: WAV, Ogg/Vorbis, AU, AIFF, IFF, and MOD (using MikMod).
          o Window system is included which is useful for in-game menus.
          o There is also an input/output console (like in Quake) that can be activated with the 'tab' key.


Anyone ever try to do anything with it? I'm just curious. I had TV3D up and running in under a half hour. Now days later, I'm still trying to decipher the documentation for Crystal Space. Why you may ask? Nothing better to do while waiting for 6.5, I figured I'd bone up on my C++ and what better way to do it, than deciphering a huge API. Perhaps that's why no one is using it, cuz it is damn complicated. I'll probably just give up and go back to playing with 6.2 in the interim.
-D-
Logged

=Dudeman=
Wexelblat's Software Scheduling Algorithm:
Choose two: * Good; * Fast; * Cheap
GoodVillain
Community Member
*
Posts: 1626


WWW
« Reply #1 on: April 19, 2005, 03:29:21 PM »

Its all right I guess. I have played with it a bit for fun. However it supports very few compilers, mainly C++ based compilers. I would compare it with 6.2 as equal but I say 6.5 has the upper hand by a wide margin.
Logged

Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.3 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks