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.