Turbulenz SDK 0.11.0 is an update for both the Turbulenz Engine Installer and SDK components.
Please see the Change List for details on API changes.
Essential
Optional
Note
Performance of any Python modules could potentially be slower if speed-ups cannot be compiled. It is recommended that you install Visual Studio before installing the Turbulenz SDK, so that the speed-ups can be configured in the environment. If you are using a 64bit version of Python you must have installed a 64bit version of the Visual Studio compilers.
Native Engine
Local Server
Turbulenz Services
Mapping table structure has changed from “urnremapping” to “urnmapping”:
{
"urnremapping":
{
"textures/duck.png": "E91_Ym3MMRjHxq4mvC7qQQ.png",
"shaders/debug.cgfx": "IJ_nEyT7jofhyafUf-Opqg.json"
},
"version": 1.0
}
To:
{
"urnmapping":
{
"textures/duck.png": "E91_Ym3MMRjHxq4mvC7qQQ.png",
"shaders/debug.cgfx": "IJ_nEyT7jofhyafUf-Opqg.json"
},
"version": 1.0
}
You MUST make this change in order to deploy to the hub, use the metrics or viewer options on local.
The method for retrieving the mapping table has changed in this release. Previously you set the application settings on the window object in the html file and read the application settings from the window object in the js file. Now a gameSlug property is added to the window by local and hub and a GameSession object and MappingTable object are used to extract the mapping table information:
var mappingTable;
var request = function requestFn(assetName, onload)
{
return TurbulenzEngine.request(mappingTable.getURL(assetName), onload);
};
var mappingTableReceived = function mappingTableReceivedFn(mappingTable)
{
textureManager.setPathRemapping(mappingTable.urlMapping, mappingTable.assetPrefix);
shaderManager.setPathRemapping(mappingTable.urlMapping, mappingTable.assetPrefix);
loadAssets();
};
var gameSessionCreated = function gameSessionCreatedFn(gameSession)
{
var defaultMappingSettings = {
mappingTablePrefix: "staticmax/",
assetPrefix: "missing/",
mappingTableURL: "mapping_table.json"
};
mappingTable = TurbulenzServices.createMappingTable(gameSession,
mappingTableReceived,
defaultMappingSettings)
};
var gameSession = TurbulenzServices.createGameSession(gameSessionCreated);
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 IE9, may lockup the user interface. 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.
Some browsers don’t support delete on native engine object properties, e.g. delete techniqueParameters.diffuse does not work, use techniqueParameters.diffuse = undefined instead.
Sound stuttering can be heard when the browser is using 100% of CPU.
In some cases, refreshing a web page when a Turbulenz application is requesting data can leave the browser in an inconsistent state. Please avoid refreshing when the application is still loading.
In some cases on Windows 7, the SDK installer is unable to automatically open the Windows Firewall for the Local Server on a local network if UAC is enabled. To allow the Local Server to be accessed over a local network, please manually update the Windows Firewall rule.