Table Of Contents

Previous topic

31.31. Turbulenz SDK 0.8.0

Next topic

31.33. Turbulenz SDK 0.6.0

This Page

31.32. Turbulenz SDK 0.7.0

31.32.1. Summary

Turbulenz SDK 0.7.0 is an update for both the Turbulenz Engine Installer and SDK components. This release includes an update to the JavaScript APIs to improve the consistency of parameter ordering. It also includes changes to the renderers and dispatching introducing the concept of ‘DrawParameters’ and multiple render passes. The renderer changes also make it easier to support custom ‘renderables’ with a similar API to ‘GeometryInstance’. Minor changes have been made to ‘local.turbulenz’, improving the functionality of the metrics and recording in JSON format.

Please see the Change List for details on API changes.

31.32.2. Requirements

Essential

Optional

31.32.3. Change List

31.32.3.1. New Features

SceneNode

  • Added enableHierarchy()

Scene

  • Scene.load() parameters now takes an optional disabled flag.

MathDevice

  • MathDevice now contains an AABB object.

GraphicsDevice

  • GraphicsDevice.setStream() now takes an optional offset flag.

Observer

  • An implmentation of the observer pattern.

31.32.3.2. Changes

  • Fix for the ForwardRenderer not working with flares and drawing white when there was no ambient light.

Standardization of parameter ordering to the following format:

  • Turbulenz Engine

  • Devices
    • Graphics Device
    • Maths Device
    • Input Device
    • Physics Device
    • Sound Device
    • ...
  • Managers
    • Texture Manager
    • Shader Manager
    • Effect Manager
    • ...
  • Parameters

  • Custom parameters
    • ...
    • ErrorCallback
    • Log

Ordering of parameters:

  • CameraController.create(camera, graphicsDevice, inputDevice, log) -> (graphicsDevice, inputDevice, camera, log)
  • CharacterController.create(matrix, graphicsDevice, inputDevice, physicsDevice, params, log) -> (graphicsDevice, inputDevice, physicsDevice, matrix, params, log)
  • loadMaterial(materialName, material, graphicsDevice, textureManager, effectManager) -> (graphicsDevice, textureManager, effectManager, materialName, material)

Removal of parameters:

  • loadingScreen.render(graphicsDevice, backgroundAlpha, textureAlpha) -> (backgroundAlpha, textureAlpha)

General renaming:

  • scene.findLight -> scene.getLight
  • scene.findMaterial -> scene.getMaterial
  • scene.findMaterialName -> scene.getMaterialName
  • fontManager.release -> fontManager.destroy

EffectManager Changes:

  • API reworked to allow custom geometry types to be supported.
  • New Effect class that maps a geometryType to a prepare object.
  • To replace EffectManager.createEffect calls see the EffectManager documentation.

Renderer Changes:

local.turbulenz changes:

  • Game Metrics recording and storing has been changed to use the JSON format instead of CSV format. Existing metrics sessions will not appear in the local server metrics view.
  • Metrics grouping, sorting and Asset List sorting logic has been moved from the controller to the JavaScript client side.

31.32.3.3. Removed

  • scene.findEffectName has been removed.

31.32.4. Known Issues

  • The MathDevice ignores JavaScript arrays as destination parameters and acts is if no destination has been given.

  • The engine requires a CPU that supports SSE2.

  • For shader support the engine requires a GPU that supports GLSL (OpenGL Shading Language).

  • The SDK HTML help search feature does not work on Chrome. See http://code.google.com/p/chromium/issues/detail?id=47416.

  • Running Turbulenz tools at the same time as the Local Server can sometimes result in access errors in “simplejson_speedupds.pyd”. Please close the Local Server before running any Turbulenz tools.

  • When running intensive JavaScript applications, such as the multiple animations sample, some browsers, such as Safari, may lockup the user interface. This is due to the JavaScript interactions. You may have to manually terminate the process to regain control. Make sure the browser you are using can handle JavaScript running at full load and scale up slowly. Turbulenz recommends Firefox.

  • The following browser(s) do not fully support the samples in development mode:
    • IE 6/7/8 - Engine not compatible
    • Opera 10.X - Engine not compatible
  • The following browser(s) do not fully support the samples in release mode:
    • IE 6 - Not compatible with the styling
    • Opera 10.X - Controls are not fully functional
  • The following browser(s) are performance limited for the samples in development mode (Don’t use the Turbulenz JavaScript Engine):
    • Chrome