User Tools

Site Tools

Version 5.2

Release Notes

The 5.2 release is a minor upgrade to the SDK and was released primarily to keep in sync with changes to the SpeedTree Modeler application.

General Notes

1. More advanced wind effects added to leaf meshes. Changed include:

Macro SPEEDTREE_ADVANCED_WIND added to top of ForestRI.h. Commented out by default, but commenting it back in and compiling from the RenderInterface up to a platform's application should enable the advanced wind effects. Evaluators should have enough source in evaluation kit to do this also. When this macro is #defined, the following changes occur:

  • More advanced (and lengthier) leaf mesh vertex shader, allowing for individual leaf tumbling on those models with individual leaf meshes.
  • SIndexedTriangles::m_pLeafMeshWind added, which holds the extra wind data needed for leaf meshes only.
  • SLeafVertex format, uploaded to the leaf mesh vertex shader, adds four float values.
  • More global wind constants are uploaded, one set per base tree.

2. SRT file format changed to support new wind data, but SpeedTree Compiler now exports versions 5.0, 5.1, and 5.2 of the SRT file format. This allows users to use the latest Modeler and Compiler applications without necessarily updating to the latest SDK. To update your SRT files to 5.2, simply recompile them using the 5.2 Compiler application.

3. STF (SpeedTree Forest) file format updated to match what the world building feature of the SpeedTree Modeler (new in 5.2) now exports. 4. In Core library, CErrorHandler object and g_pEvalKey are no longer dynamically allocated to later be deleted by CCore::ShutDown(). Both now don't use the heap at all. These changes are internal and do not affect CCore's public functions.

Bug Fixes

  • In the DirectX 9.0 Render Library, CGeometryBufferDirectX9::OverwriteIndices() was passing an incorrect value for the 2nd parameter to the DirectX Lock() call.
  • In the OpenGL Render Library, CTextureOpenGL::LoadColor() did not load the correct color as passed in by the user. This resulted in some fallback textures being incorrect (e.g. if no normal map was specified on a model's trunk, the default/flat normal map used by the SDK renderer was incorrect).