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 uses the traditional client-server architecture for networking. After installing you will find the
TundraConsole on Windows) executable from the install directory, run
Tundra Startup Examples
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
--headless command line parameters. The Tundra client mode is used to connect to a server.
Demo Scenes and Applications
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.
Compiling from Sources
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:
1. 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.
2. Navigate to
BuildDepsX64_<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.
4. Once you are done setting up your build environment, hit any key to continue the script as it instructs. The full depedency build might take up to 2 hours. 5. After the script has completed, the dependencies can be found
deps-vs<VersionNumber>-<TargetArchitecture>\. The needed runtime libraries are automatically copied to
6. Now run CMake batch script corresponding to your desired build configration. This script will set up the needed build environment variables for CMake and invoke CMake to generate a tundra.sln solution.
7. 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:
1. have Doxygen installed,
cd html, and
5. open up
- 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.
This project is part of FIWARE. https://www.fiware.org/
FIWARE catalogue: Synchronization GE