Delta3D

Delta3D is an open-source gaming/simulation engine.

Delta3D's modular design integrates other well-known Open Source projects such as OpenSceneGraph, Open Dynamics Engine, Cal3D, and OpenAL, integrating them in an easy-to-use API. Rather than bury the underlying modules, Delta3D integrates them together, allowing access to the important underlying components. This provides a high-level API while still allowing the end user the optional, low-level functionality.

Delta3D has been featureed in IEEE Computer Graphics and Applications [1] and the The Journal of Defense Modeling and Simulation
[edit] Features
The primary goal of Delta3D is to provide a single, flexible API with the basic elements needed by all visualization applications. In addition to the underlying components, Delta3D provides a variety of tools such as the Simulation, Training, and Game Editor (STAGE), a BSP Compiler, particle editor, stand-alone model viewer, and a High Level Architecture (simulation) (HLA) Stealth Viewer. Further, Delta3D has an extensive architectural suite that is integrated throughout the engine. This suite includes frameworks such as the Application Base Classes (ABC) for getting started; the Dynamic Actor Layer (DAL) for Actor Proxies and Properties; signal/slot support for direct method linking; the Game Manager (GM) for actor management; pluggable terrain tools for reading, rendering, and decorating terrain; and high-level messaging for actor communication.


[edit] dtCore
Contains all the common base functionality

Input device mapping (Keyboard, Mouse, Joystick, Trackers)
Motion models (Fly, UFO, Walk, Orbit, First Person)
Environment rendering (clouds, haze, skyboxes, time of day)
Particle System Effects (Smoke, Explosion, Custom)
Terrain Rendering (Infinite Procedural terrain, Heightfield-based terrain)
File loading
.3dc, .3ds, .ac, .dw, .flt, .geo, .ive, .logo, .lwo, .lws, .md2, .obj, .osg, .tgz, .x, .zip
.bmp, .dds, .gif, .jpg, .pic, .png, .pnm, .rgb, .tga, .tiff, .txp
.wav
Camera controls (Field of View, Tripod)
Multiple camera support
Multiple window support
Physics (Rigid Body, Collision Detection, Auto-bounding shapes)
OpenGL Lighting
Bezier path nodes
Full OpenGL 2.0 support
GLSL Vertex and Fragment Shaders

[edit] dtChar
Animation blending
Ground following
Avatar feet correspond to world positioning

[edit] dtABC
High-level Application Base Components. Useful for some application development.

Application template
Weather interface (visibility, cloud coverage)
Window integration with Fast Light Toolkit (FLTK)
Widget class to ease integration with other window toolkits

[edit] dtHLA
Interface to HLA networking. Integrates internal components with user-supplied RTI.

Coordinate system conversion
Detonation interface
HLA entity interface

[edit] dtTerrain
Provides a framework for implementing terrain loading, rendering, and decorating. Pluggable architecture for renderers, readers, and decorators

Paged terrain tiles, image utilities, and noise generation
DTED reader
SOARX renderer with continuous level of detail
Procedural vegetation placement – land cover classification (LCC) support
Image overlay decorator – geoTIFF support

  dtDAL
The Dynamic Actor Layer provides a generic infrastructure for creating, accessing, and manipulating Actors.

Actor proxy and actor property architecture
Library management (Actor Registries)
Project and map loading (XML)
Actor property types: Sound, Terrain, Character, Texture, Static Mesh, Particle System, Enumeration, Actor, Color, Vec2/3/4, String, Int, Double, and more
Base engine actor proxies

  dtGUI
Direct interface with Crazy Eddie’s GUI.

UI Drawable and renderer
Extensisble skinning interface
Default GUI art

  dtGame
Provides a complete architecture for building complex games and training applications. The Game Manager (GM) is a high-level infrastructure for communicating between actors and components whether locally or in a client-server environment.

Game Actor and Proxy
GM Component architecture with plugin support - default message processor, rules component, and logger component
Message infrastructure – message and parameter factories
Network agnostic – support for single client, client/server, and playback
Message streaming for sending, receiving, and recording messages
Base client and server game managers

  dtUtil
Basic utility objects used throughout Delta3D.

File logging and Xerces XML utilities
Texture, noise, matrix, and string utilities
Library Management
Type safe enumerations

  dtBSP
Automatically breaks up loaded Objects into an optimized BSP format

Works best with interior Scenes
Exports to .osg and .ive

[edit] dtAudio
Provides high-level functionality for audio playback.

2D/3D sounds
Full control of sounds (gain, pitch, position, play, stop, pause, rewind, etc.)
Doppler effect
Efficient use of audio hardware

  dtNet
Provides high-level API for use with multiplayer networking.

Server/Client architecture
Reliable/unreliable packet transmission

  dtPython
Provides access to the API though a Python scripting interface.

Full API access
requires additional download of Python and Boost

 STAGE – Simulation, Training, and Game Editor
A complete visual editor for building your 3D maps. STAGE

Map editing – project resource and library management
Visually create and manipulate actors
Property editor and actor linking with undo/redo
Split screen viewports – Perspective plus top, side, side orthographic views
Wireframe, lighting, and textured modes
Reconfigurable user interface with undo/redo
Actor searching and global actor management
Texture, mesh, sound, and particle browsers

 Tests
Delta3D provides an extensive suite of example applications and unit tests to get you started.

29 Example test applications covering almost every aspect of Delta3D
Over 8000 lines of unit tests

  Cross Platform
Supports Windows, Linux, and Mac OS X.

MS Visual Studio 2003/2005/2008 solutions and projects
Complete SCons scripts for all other platforms.

  Utilities
Graphical Particle Effect Editor - Provides a convenient GUI and display for editing Particle Effects.
3D Model Viewer - An easy-to-use, standalone Viewer to preview 3D models.
BSP Compiler - Loads, compiles, and save generic Objects into a BSP optimized file.
HLA Graphical Stealth Viewer - A simple 3D representation of all entities on the HLA network.

  Licensing
Delta3D is released under the GNU Lesser General Public License (LGPL). The underlying modules may have their own licensing, but are at the minimum, considered Open Source and are freely distributable.

The STAGE source code which uses Trolltech's Qt is licensed under the GNU General Public License (GPL). All modifications and contributions to the STAGE editor are considered to fall under the same license.