m (Protected "Features" [edit=sysop:move=sysop]) |
(Putting temporarily the whole page, assuming it is better than an obsolete page) |
||
| Line 1: | Line 1: | ||
| - | == | + | == CS == |
| + | * Portability | ||
| + | * Highly platform independent with good platform abstraction. Supports GNU/Linux, OSX and Windows. | ||
| + | * Support of a wide range of compilers and IDE, including gcc, MinGW/MSYS, Cygwin, Visual C++ 8 & 9. | ||
| + | * Written in standard C++ using very few non-standard extensions. | ||
| + | * Self contained so that many modules requires no or few external dependencies. | ||
| + | * File system 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. | ||
| - | + | * Modularity | |
| + | * Modularized using a lightweight component framework, SCF, based upon the COM model. Components can be easily loaded or switched. | ||
| + | * Bindings for other programming languages through SWIG: Java, Python, Perl. | ||
| + | * All subsystems easily extendable for new file formats. | ||
| - | + | * Rendering & Lighting | |
| + | * OpenGL-based engine, supports hardware accelerated rendering on all supported platforms and cards from all well known vendors. | ||
| + | * Rendering loops for custom rendering of objects. | ||
| + | * Static, pseudo-dynamic and dynamic lights. Statically and dynamically lit objects can be combined. | ||
| + | * Shadow map shadows. | ||
| + | * Multiple render targets. | ||
| + | * Rendering to textures. | ||
| - | + | * Shaders | |
| + | * Can be written in Cg, ARB, and GLSL. Shader description and mappings are defined in a XML compliant language. | ||
| + | * Support for multiple passes, vertex and fragment programs. Light selection and multiple lights in one pass possible. | ||
| + | * Node-based system for combination of shaders and post-processing effects. | ||
| + | * HDR rendering, tone mapping and eye adaptation. | ||
| + | * Fallback system of shader techniques for hardware compatibility. | ||
| + | * Cache storage of compiled shaders for faster loading. | ||
| + | * Library of available shaders and post-processing effects: diffuse, specular, bump map, glow, parallax, fur, bloom, blur, water, glass, and many others. | ||
| + | * Automatic environment mapping. | ||
| - | + | * Scene & Level Of Detail Management | |
| - | + | * Decomposition of a world in sectors with portals connecting them. Portals can be used for effects such as LOD management, streamed loading or space warping. | |
| + | * Two different cullers: frustum culling (Frustvis), and dPVS (Dynavis), which also does software occlusion culling. | ||
| + | * General system for static LOD on all types of meshes. | ||
| + | * Impostors for replacement of far meshes with a 2D object. | ||
| + | * Threaded loader for streamed loading of levels and objects. | ||
| + | * Instanciation of meshes and objects. | ||
| - | + | * Meshes | |
| + | * Many different type of meshes: general triangle mesh with skeletal animation, morphing and sockets, cal3d, sprite 2D, sprite 3D, ocean,... | ||
| + | * Terrain mesh with paging and splatting. | ||
| + | * Foliage system to dress up a scene with objects such as flora and rocks,... | ||
| + | * Decals to be added on top of other meshes. | ||
| + | * Configurable and extensible particle system mesh with billboards, emitters, physical effectors,... | ||
| + | * Halos and lens flares. | ||
| + | * Automatic triangulation of shapes. | ||
| - | + | * Animation | |
| + | * Specialized mesh for advanced skeletal animation with animation blending tree, weight skinning, morphing, and sockets. | ||
| + | * Many types of animation nodes can be combined to generate dynamically complex animations: multi-blending, Finite State Machine, random, priority, LookAt, speed (time warping). | ||
| + | * Ragdoll animation and animation of hairs & equipment. | ||
| + | * Skeletal animation and morphing for the general triangle mesh. | ||
| + | * Generic animation system for triggering of time events, moving of objects, fade in/out. | ||
| - | + | * Audio | |
| - | + | * 2D and 3D sounds with OpenAL. | |
| + | * Audio codecs: speex, ogg, wav (8- and 16-bit PCM). | ||
| + | * Provides both one-time playing of effects and streaming playing in the background for music. | ||
| - | + | * Physics & Collisions | |
| + | * Physics of rigid bodies and joints, made through a wrapper for two physics libraries: Bullet and ODE. | ||
| + | * Support of kinematic bodies for interaction between classical animation and the physical simulation. | ||
| + | * Debug plugin to visualize the physical simulation. | ||
| + | * Simplified collision detection when you don't need the full dynamics simulation. | ||
| - | + | * Data Representation | |
| - | + | * XML language for the description of each object and plugin of the whole CS. XML files can be set binary for faster loading. | |
| + | * Procedural, dynamic and animated textures. | ||
| + | * Support for many image formats: png, jpg, dds, bmp, gif, tga, mng, jng, (binary) alpha, transparency, non 2n sized images,... | ||
| + | * Importers for many 3D file format: Blender through blender2crystal, 3D Studio Max, Maya, COLLADA, and model importers for common file formats such as 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 screenshots. | ||
| + | * Font servers, FreeType2 and glyphs fonts. | ||
| - | + | * Project Management | |
| - | + | * Debugging tools: generic plugin for visual debugging of scenes, support for Valgrind. | |
| + | * Scripts for generation of new projects. | ||
| + | * Easy compilation and customization of the whole project thanks to Jam. | ||
| - | ==== Haze ==== | ||
| - | + | == CEL == | |
| - | + | ||
| - | + | * 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 behavior. | ||
| + | * Generic event system for communication between property classes. | ||
| + | * Persistence layer for saving and loading world states. | ||
| - | + | * Runtime Package Environment | |
| + | * CELStart: generic executable for all CELStart applications, only data files have to be installed. | ||
| + | * The whole logic may be written with bindings for Python, or in a XML scripting language. | ||
| - | + | * World Management | |
| + | * Avatar and Non Player Character management: synchronization of the user actions with the mesh, its position, its orientation and its collisions. | ||
| + | * Camera management with many different modes: first person, third person, tracking, isometric, horizontal. | ||
| + | * Region management: decomposition of a complete world in regions, with zoning between regions. | ||
| + | * Advanced management of portals, e.g. for closing portals that are occluded. | ||
| + | * Spawning of entities. | ||
| + | * Triggering of proximity events. | ||
| - | + | * Inventory & Interaction | |
| + | * Key and peripherals events bindings. | ||
| + | * Billboards and tooltips. | ||
| + | * Inventory system. | ||
| + | * Selecting and grabbing objects. | ||
| - | + | * Advanced Physics | |
| + | * Projectiles and damages to entities. | ||
| + | * Collision management with the ground. | ||
| + | * Advanced physical effects: fluids, thrusters, steering, explosions, attractors and repulsors. | ||
| + | * Vehicles and their physics: bikes, cars, tanks, hovercrafts, or any wheeled vehicle. | ||
| + | * Mesh deformation, e.g. for destroying gradually an object. | ||
| - | + | * Artificial Intelligence | |
| - | + | * Finite state machine for the management of the evolution of the environment. | |
| - | + | * Behavior trees to build complex artificial behaviors. | |
| - | + | * Path finding and steering behaviors. | |
| - | + | * Neural networks and genetic algorithms. | |
| - | + | ||
| - | + | ||
| - | * | + | |
| - | * | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | * | + | |
| - | + | ||
| - | * | + | |
| - | + | ||
| - | * | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
[[Category:Media]] | [[Category:Media]] | ||
Revision as of 09:31, 6 April 2010
CS
* Portability * Highly platform independent with good platform abstraction. Supports GNU/Linux, OSX and Windows. * Support of a wide range of compilers and IDE, including gcc, MinGW/MSYS, Cygwin, Visual C++ 8 & 9. * Written in standard C++ using very few non-standard extensions. * Self contained so that many modules requires no or few external dependencies. * File system 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.
* Modularity * Modularized using a lightweight component framework, SCF, based upon the COM model. Components can be easily loaded or switched. * Bindings for other programming languages through SWIG: Java, Python, Perl. * All subsystems easily extendable for new file formats.
* Rendering & Lighting * OpenGL-based engine, supports hardware accelerated rendering on all supported platforms and cards from all well known vendors. * Rendering loops for custom rendering of objects. * Static, pseudo-dynamic and dynamic lights. Statically and dynamically lit objects can be combined. * Shadow map shadows. * Multiple render targets. * Rendering to textures.
* Shaders * Can be written in Cg, ARB, and GLSL. Shader description and mappings are defined in a XML compliant language. * Support for multiple passes, vertex and fragment programs. Light selection and multiple lights in one pass possible. * Node-based system for combination of shaders and post-processing effects. * HDR rendering, tone mapping and eye adaptation. * Fallback system of shader techniques for hardware compatibility. * Cache storage of compiled shaders for faster loading. * Library of available shaders and post-processing effects: diffuse, specular, bump map, glow, parallax, fur, bloom, blur, water, glass, and many others. * Automatic environment mapping.
* Scene & Level Of Detail Management * Decomposition of a world in sectors with portals connecting them. Portals can be used for effects such as LOD management, streamed loading or space warping. * Two different cullers: frustum culling (Frustvis), and dPVS (Dynavis), which also does software occlusion culling. * General system for static LOD on all types of meshes. * Impostors for replacement of far meshes with a 2D object. * Threaded loader for streamed loading of levels and objects. * Instanciation of meshes and objects.
* Meshes * Many different type of meshes: general triangle mesh with skeletal animation, morphing and sockets, cal3d, sprite 2D, sprite 3D, ocean,... * Terrain mesh with paging and splatting. * Foliage system to dress up a scene with objects such as flora and rocks,... * Decals to be added on top of other meshes. * Configurable and extensible particle system mesh with billboards, emitters, physical effectors,... * Halos and lens flares. * Automatic triangulation of shapes.
* Animation * Specialized mesh for advanced skeletal animation with animation blending tree, weight skinning, morphing, and sockets. * Many types of animation nodes can be combined to generate dynamically complex animations: multi-blending, Finite State Machine, random, priority, LookAt, speed (time warping). * Ragdoll animation and animation of hairs & equipment. * Skeletal animation and morphing for the general triangle mesh. * Generic animation system for triggering of time events, moving of objects, fade in/out.
* Audio * 2D and 3D sounds with OpenAL. * Audio codecs: speex, ogg, wav (8- and 16-bit PCM). * Provides both one-time playing of effects and streaming playing in the background for music.
* Physics & Collisions * Physics of rigid bodies and joints, made through a wrapper for two physics libraries: Bullet and ODE. * Support of kinematic bodies for interaction between classical animation and the physical simulation. * Debug plugin to visualize the physical simulation. * Simplified collision detection when you don't need the full dynamics simulation.
* Data Representation * XML language for the description of each object and plugin of the whole CS. XML files can be set binary for faster loading. * Procedural, dynamic and animated textures. * Support for many image formats: png, jpg, dds, bmp, gif, tga, mng, jng, (binary) alpha, transparency, non 2n sized images,... * Importers for many 3D file format: Blender through blender2crystal, 3D Studio Max, Maya, COLLADA, and model importers for common file formats such as 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 screenshots. * Font servers, FreeType2 and glyphs fonts.
* Project Management * Debugging tools: generic plugin for visual debugging of scenes, support for Valgrind. * Scripts for generation of new projects. * Easy compilation and customization of the whole project thanks to Jam.
CEL
* 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 behavior. * Generic event system for communication between property classes. * Persistence layer for saving and loading world states.
* Runtime Package Environment * CELStart: generic executable for all CELStart applications, only data files have to be installed. * The whole logic may be written with bindings for Python, or in a XML scripting language.
* World Management * Avatar and Non Player Character management: synchronization of the user actions with the mesh, its position, its orientation and its collisions. * Camera management with many different modes: first person, third person, tracking, isometric, horizontal. * Region management: decomposition of a complete world in regions, with zoning between regions. * Advanced management of portals, e.g. for closing portals that are occluded. * Spawning of entities. * Triggering of proximity events.
* Inventory & Interaction * Key and peripherals events bindings. * Billboards and tooltips. * Inventory system. * Selecting and grabbing objects.
* Advanced Physics * Projectiles and damages to entities. * Collision management with the ground. * Advanced physical effects: fluids, thrusters, steering, explosions, attractors and repulsors. * Vehicles and their physics: bikes, cars, tanks, hovercrafts, or any wheeled vehicle. * Mesh deformation, e.g. for destroying gradually an object.
* Artificial Intelligence * Finite state machine for the management of the evolution of the environment. * Behavior trees to build complex artificial behaviors. * Path finding and steering behaviors. * Neural networks and genetic algorithms.
