Delta3D is an Open Source engine which can be used for games, simulations, or other graphical applications. Its modular design integrates well-known Open Source projects such as Open Scene Graph (OSG), Open Dynamics Engine (ODE), Character Animation Library (CAL3D), and OpenAL as well as projects such as Trolltech’s Qt, Crazy Eddie’s GUI (CEGUI), Xerces-C, Producer, InterSense Tracker Drivers, HawkNL, and the Game Networking Engine (GNE). Rather than bury the underlying modules, Delta3D integrates them together in an easy-to-use API which allows direct access to important underlying behavior when needed. Delta3D renders using OpenSceneGraph and OpenGL.
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), the BSP Compiler, the particle editor, a stand-alone model viewer, and a 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.
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
- Camera controls (Field of View, Tripod)
- Multiple camera support
- Multiple window support
- Physics (Rigid Body, Collision Detection, Auto-bounding shapes)
- Open GL Lighting
- Bezier path nodes
- Full OpenGL 2.0 support
- GLSL Vertex and Fragment Shaders
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 intergration with other window toolkits
Interface to HLA networking. Integrates internal components with user-supplied RTI.
- Coordinate system conversion
- Detonation interface
- HLA entity interface
Provides a framework for implementing terrain loading, rendering, and decorating. Pluggable architecture for renderers, reader, and decorators
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
Direct interface with Crazy Eddie’s GUI.
- UI Drawable and renderer
- Extensisble skinning interface
- Default GUI art
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
Basic utility objects used throughout Delta3D.
- File logging and Xerces XML utilities
- Texture, noise, matrix, and string utilities
- Library Management
- Type safe enumerations
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
Provides high-level API for use with multiplayer networking.
- Server/Client architecture
- Reliable/unreliable packet transmition
Provides access to the API though a Python scripting interface.
*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
Delta3D provides an extensive suite of example applications and unit tests to get you started.
- Example test applications covering almost aspect of Delta3D
- Over 22,000 lines of unit tests
Can be used on many different compilers and operating systems.
- Uses CMake to create make files and project/solution settings
- 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.