Tundra is a scriptable 3D internet application development platform. It is aimed primarily for application developers, as a platform for creating networked 3D worlds with customized content.
Tundra is licensed under Apache 2.0 and based on Qt and Ogre3D.
Tundra uses the traditional client-server architecture for networking. After installing you will find the Tundra
(and TundraConsole
on Windows) executable from the install directory, run Tundra --help
for available command line parameters. This executable can be configured to run a set of C++ and JavaScript plugins and act either as a client or a server. You can create your own configuration file, or use the ones provided.
Tundra --config tundra-client.json
- Starts Tundra with a client configuration which provides an user interface for connecting to Tundra servers.Tundra --connect localhost:2345;udp;TestUser
- Starts Tundra and automatically connects to a localhost server using port 2345 and UDP protocol (the Tundra server's defaults).Tundra --server --headless --port 6565 --protocol tcp
- Starts Tundra with the default plugin set in server mode serving TCP connections at port 6565.
The Tundra server defaults are port 2345 and UDP protocol, for it you can simply run Tundra --server --headless
. If no --config
parameter is provided, the default tundra.json
is used.
The Tundra server mode is used for standalone-mode editing and viewing Tundra documents. To host a 3D scene, run Tundra in dedicated mode using the --server
and --headless
command line parameters. The Tundra client mode is used to connect to a server.
See the bin/scenes folder for example demo scenes and applications. F.e.x. Tundra --file scenes/Canvas/scene.txml
Additional Tundra plugins can be found from the TundraAddons repository.
Tundra source code is available at the realXtend github repository. This repository hosts various branches for current and deprecated development lines from the realXtend team, so be sure to checkout tundra2
branch after cloning.
Tundra uses CMake as its build system and depends on various other open source projects.
Visual Studio 2008 and 2010 build environments are currently supported. Make sure that you have the latest Visual Studio Service Packs installed. Visual Studio 2012 and newer can be used to open and build the VS2010-generated Tundra solution as long as the solution is not upgraded to the newer format.
The Tundra dependencies are acquired and built using an automated build script:
- Open up the Visual Studio (x64 Win64) Command Prompt which is required in order to have the required build tools and several other utilities in your PATH.
- Navigate to
<Tundra>\tools\Windows\VS<VersionNumber>\
- Run
BuildDeps_<BuildType>
, orBuildDepsX64_<BuildType>
(if wanting to do a 64-bit build). RelWithDebInfo is recommended for the common development work, but you probably want to have the Debug builds available too.
The build script will print information what you need in order to proceed, follow the instructions carefully. You can abort the script with Ctrl+C at this point and setup your environment. - Once you are done setting up your build environment, hit any key to continue the script as it instructs. The full dependency build might take up to 2 hours.
- After the script has completed, the dependencies can be found
deps-vs<VersionNumber>-<TargetArchitecture>\
. The needed runtime libraries are automatically copied tobin\
. - Now run CMake batch script corresponding to your desired build configuration. This script will set up the needed build environment variables for CMake and invoke CMake to generate a tundra.sln solution.
- Build Tundra using the solution file.
Currently Ubuntu, Mint, Debian, and Kali are officially supported. See tools/Linux/build-deps.bash for the unified build script.
See tools/OSX/BuildDeps.bash for automated dependency and Tundra build script.
Experimental Android support exists, see android/Build-instructions.txt for the build instructions.
Tundra uses Doxygen as its main documentation tool. In order to generate and view the developer documentation, follow these steps:
- have Doxygen installed,
cd doc
,doxygen tundra.Doxyfile
,cd html
, and- open up
index.html
.
- Preferably interact with the developers already in advance before starting your work.
- Fork Tundra.
- Preferably create a feature branch for your work.
- Make sure to follow the coding conventions (doc/dox/CodingConventions.dox).
- Make a pull request.
You can find Tundra developers from IRC #realxtend-dev @ freenode
. Also check out the user-oriented mailing list and the developer-oriented mailing list.
New releases are announced on the mailing lists and at the realXtend blog. The releases are available at the realXtend Tundra Google Code project site.