|
RealXtend Tundra SDK Latest Nightly
|
Welcome to the Tundra developer documentation. This page is a site map that assembles together all the major features offered by Tundra.
DownloadObtain Tundra from
| Getting StartedFollow these first steps. |
CommunityContact Tundra developers and users at
| Technical ResourcesSee the following pages for help on working on the Tundra codebase.
|
The functionality built into Tundra is subdivided into core libraries and optional subsystems. The core libraries are sets of APIs that each expose some functionality of the Tundra system to native C++ code or scripted modules or scene entities. These interfaces are accessible directly through the root Framework object. The individual subsystems are accessible by querying the appropriate modules using the Module API.
The root object for accessing all Tundra features is the Framework object. This object drives the main loop and gives access of all the core APIs to modules and scripts. For more information, see
The Tundra SDK consists of the following set of core APIs that are accessible from client modules, components and scripts.
ModuleThe Module API gives access to all the modules registered in the system. For working with modules, see the following topics:
Classes: | EventThe Qt's signals and slots mechanism is used for communication between objects. |
ConfigImplements a uniform mechanism for modules to store their configuration data. Main documentation page. More information:
Classes: | DebugContains useful development-time mechanisms like memory tracking and execution time profiling. Topics:
Classes: |
InputProvides access to Qt input devices in a contextual order. InputAPI is available as 'input' in Javascript and 'tundra.input' in Python. Follow these topics to learn more:
Classes: | UIExposes the Tundra main window and allows clients to create and show their own Qt-based windows. UiAPI is available as 'ui' in Javascript and 'tundra.ui' in Python. Classes: |
SceneGives access to the Tundra 3D scene structure: entities, components and attributes. SceneAPI is available as 'scene' in Javascript and 'tundra.scene' in Python. Topics:
Classes: | AssetImplements the Tundra asset system and a pluggable asset provider architecture for streaming in asset data files. For more information, see
Classes:
|
ConsoleAllows modules to register new commands that are invokeable from a command line console. Also provides logging mechanism for dynamic languages. ConsoleAPI is available as 'console' in Javascript and 'tundra.console' in Python with the support for:
Classes: | ConnectionExposes the functionality related to the currently active server connection, if Tundra is connected to a server. Classes: |
ServerIf Tundra is acting as a network server, this interface can be accessed to interact with the currently active client connections. Classes: | AudioProvides functions for playing back audio on the client. Main documentation page. Topics:
Classes:
|
FrameExposes signals for frame- and time-related event processing. Topics: The Frame API is accessed through the class FrameAPI. Classes: |
The most visible part of Tundra to end-users and world builders is the Tundra scene structure. The Scene API is used to access this scene in program code. The Tundra Entity Component Reference page contains a reference documentation for all the components that make up a scene.
In addition to providing the core API, Tundra contains the following functional subsystems, implemented as sets of modules.
RendererThis subsystem consists of the rendering library and the graphics-related Tundra scene features. See the following topics for more information: Implemented by modules
|
PhysicsPhysics simulation using Bullet. Implemented by modules
|
ScriptAllows implementing modules using the Python script language as well as embedding new functionality into scene entities by using JavaScript or Python. Implemented by modules and components |
CommunicationThe subsystem of Tundra that provides video and audio communication features between clients connected to the world. See the following topics for more information: Implemented by modules
|
1.7.4