Delta3D is an open source engine offered at no cost. It’s fitting for a range of uses, from game development and simulations, to graphical applications. Its design is modular and includes known tools such as Open Scene Graph (OSG), Open Dynamics Engine (ODE), Character Animation Library (CAL3D), and OpenAL, as well as other contributions from Trolltech’s Qt, Crazy Eddie’s GUI (CEGUI), Xerces-C, Producer, InterSense Tracker Drivers, HawkNL, and the Game Networking Engine (GNE). Instead of concealing these core modules, Delta3D blends them seamlessly, resulting in a user-friendly API that provides direct access to essential features when required. For rendering activities, Delta3D makes use of both the OpenSceneGraph and OpenGL.
Features delta3d
Features delta3d. 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.
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)
- Open GL Lighting
- Bezier path nodes
- Full OpenGL support
- GLSL Vertex and Fragment Shaders
dtABC
High-level Application Base Components. Useful for some application development.
- Application template
- Weather interface (visibility, cloud coverage)
- Widget class to ease intergration with other window toolkits
dtHLAGM
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, reader, 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
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.
- Example test applications covering almost aspect of Delta3D
- Over 22,000 lines of unit tests
Cross Platform
Can be used on many different compilers and operating systems.
- Uses CMake to create make files and project/solution settings
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.}