Delta3D
Developer(s) | Delta3D |
---|---|
Stable release | 2.0.0
/ February 15, 2008 |
Repository | |
Operating system | Cross-platform |
Type | Game Engine |
License | LGPL |
Website | Delta3D Homepage |
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.
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.
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
dtChar
- Animation blending
- Ground following
- Avatar feet correspond to world positioning
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
dtHLA
Interface to HLA networking. Integrates internal components with user-supplied RTI.
- Coordinate system conversion
- Detonation interface
- HLA entity interface
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
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 transmition
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 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.