From delta3d Wiki
Jump to: navigation, search

Frequently Asked Questions

Last updated: July 2014


How do I report defects, submit patches, or request features?

Delta3D is always looking for support from the user community. This support can be in the form of Release testing, source code for bug fixes and new features, or anything else you might think is beneficial to the Delta3D community.

The public Delta3D Bug Tracker is available here.

How do I compile the source code?

You will need to download:

Once you have all the required files, see the Tutorials section for detailed information on how to compile on your platform (particularly, Building Delta3D with CMake).

How do I access the Subversion repository?

The Subversion URL for the trunk is as follows:
https://svn.code.sf.net/p/delta3d/code/trunk/delta3d
Normally, you always want to check out the trunk, it is the mainline of the repository. However, if you want to checkout off a branch or a tag, it would look like this:
https://svn.code.sf.net/p/delta3d/code/branches/RB-2.8 https://svn.code.sf.net/p/delta3d/code/tags/REL-2.8.0
If you are working on Windows, I strongly suggest you to use TortoiseSVN. It rocks. On all other platforms, the command-line tool or the Eclipse integration plugin work very well . Here's a link to the official online book on Subversion. If you want more in-depth info (and a better introduction) read Pragmatic Version Control Using Subversion by Mike Mason.

My Delta3D examples won't run. What gives?

Most runtime errors are caused by missing dynamic libraries (.dlls). If you receive the Error message "This application has failed to start because *.dll was not found...", then you're missing the Delta3D External Dependencies. Make sure to download the latest External Dependencies and copy them to your local "delta3d" folder. You should end up with a "delta3d/ext" folder on your local machine.

(NOTE: The precompiled examples were compiled using Visual Studio and require Microsoft's runtime .dll libraries)
Add to your PATH Environment Variable (My Computer->Properties->Advanced) "delta3d/ext/bin". This will tell Windows to search for those .dll's in this folder.

If you receive an error message more like "The procedure entry point ?preMult@Matrix.... could not be located in the dynamic link library...", this means that Windows loaded a different .dll than what Delta3D was compiled with. Make sure your PATH environment variable points to the correct "delta3d/ext/bin" folder and that the "delta3d/ext" folder contains the same version of files that Delta3d was compiled with. If you have the PATH environment set to the correct folder and still get this error, try moving the "delta3d/ext/bin" to the first of the paths listed in the PATH environment.

For more information on how to install and setup your Delta3D environment, see the Installation Tutorial.

What is the Delta3D Engine?

Delta3D is an Open Source engine which can be used for games, simulations, or other graphical applications. Its modular design integrates other well-known Open Source projects such as Open Scene Graph(OSG), Bullet Physics Library, Character Animation Library (CAL3D), and OpenAL. Rather than bury the underlying modules, Delta3D just integrates them together in an easy-to-use API -- always 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 renders using OpenGL and imports a whole list of diverse file formats (.flt, .3ds, .obj, collada, etc.).

What is the 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.

All executable applications and the demo associated use the MIT license.

What platforms does it support?

Currently, delta3d is developed and tested on Windows 7 using Microsoft Visual Studio 2010/2012, OS X 10.9, and Ubuntu 10.x/11.x. All the underlying dependencies are cross-platform as well, so just about any platform should be compatible.

Why is my sky black and my scene dark when I run my application?

I don't suppose you're running the application at night, are you? The dtCore::Environment defaults to use the system's time if the application didn't directly specify a time. Try giving the dtCore::Environment a daytime value, or just wait until morning and run it again!


"LDR: LdrpWalkImportDescriptor() failed to probe..."

This is a typical error message that could occur on Windows platforms using Visual Studio. It is a result of mixing up different versions of Visual Studio, such as trying to use VS2005 libraries with a VS2008 compiled application. To ensure this does not happen, make sure that the application, the Delta3D libraries, and the Delta3D External Dependencies are all compiled with the same Visual Studio version.

How do I enable anti-aliasing?

The easiest way to enable anti-aliasing is to set the number of multi-sample bits to use. Sometime before the dtCore::DeltaWin gets created, just add the following code:
osg::DisplaySettings::instance()->setNumMultiSamples(4);
In this example, all future DeltaWin's will use 4 bits of multisampling for anti-aliasing.

The config.xml also allows you to set this value.

What is Simulation Core?

The Simulation Core repository is a library of features often required by modern 3D simulations. It is designed to help new Modeling and Simulation projects get up and running quickly. SimCore is a set of actors, components, and utilities that are designed to work in a networked simulation environment using either HLA (dtHLAGM) or client/server (dtNetGM). It is an open source addition to Delta3D and lives in the Delta3D-Extras repository. Complete info can be found in the What Is SimCore FAQ. Much of what is in Simulation Core aside from the Stealth Viewer application is planned to be moved into delta3d.

Does Delta3D have physics?

Delta3D has Physics Abstraction Layer (PAL) integrated into dtPhysics. The Bullet physics engine is the best tested in PAL, and the most complex physics applications we have developed use Bullet. The older ODE integration is slated to be removed very soon after the 2.8 release. ODE is still supported in PAL, but not as well. If you would like to contribute some to PAL, we can also accept changes to that.

What is the difference between dtGame Messages and dtCore Messages?

dtGame messaging is what most developers will use to send and receive messages in your games (especially if networking is involved). For a detailed description, see the Using Delta3D Messages in an App Thread.

dtCore messaging is considered deprecated.

What geometry file types does Delta3D support?

Delta3D mainly relies on OpenSceneGraph for geometry file loading. As such, if OSG can load the file, so can Delta3D. See the list of supported OSG plugins. Please note that the precompiled Delta3D SDK does not provide all of the listed OSG plugins, though we are including the Collada plugin now. You may be required to compile the non-standard plugins yourself.