Release Notes
This page lists all features, changes, and fixes by SpeedTree Runtime SDK version number. For more details on the latest major version, refer to the What's new page of the manual.
[10.0.1] - 2024-09-24
Requirements
- Ensure SpeedTree Modeler version 9.1.1 or newer is installed to compile .stsdk models compatible with this Runtime SDK release.
Features
In SpeedTree Viewer:
- SpeedTree Viewer is now fully supported under Mac and Linux.
- Rendering pipeline now adheres strictly to OpenGL 3.2 Core Profile (and GLSL version 1.40), with Compatibility Profile no longer supported.
Changes
In SpeedTree Viewer:
- The
cmakefile has been updated and no longer usesvcpkgto download dependencies. All dependency source code is included and compiled with the application. - The
src/folder was renamed tosource/. - Because OpenGL Core Profile does not support line thicknesses above 1.0, the 3D ortho axes are now rendered as polygons using a custom shader, not the fixed-function pipeline.
- For better cross-platform compatibility, a lower shader version was targeted and the
layout(location = X)shader syntax was replaced with manual shader attribute binding, now handled inShaderProgram::LookupAndBindAttributes. - The Renderer class has been refactored into three distinct classes for better separation of responsibilities:
Rendererremains the main rendering class, with .spm- and .stsdk-specific rendering functionality extracted into dedicated classes. This class also includes the updated axes-rendering logic.RendererStsdknow encapsulates all Runtime SDK-related rendering logic.RendererSpmnow encapsulates all Pipeline SDK-related rendering logic.
- Added more thorough OpenGL error-checking.
- Console prints now echo to
stderr. - Added V-sync control, defaulting to true to limit GPU use if desired.
- The initial call to the Pipeline SDK is now
StpInit(before the firstStpNewcall), aligning with our recommended best practices. - Replaced all
Filename*()utility functions withstd::filesystemcalls. - Replaced all
mempcycalls withstd::memcpy. - Replaced
MyPerspectiveutility function withstd::perspective.
Fixes
In SpeedTree Viewer:
- Modified the
GlfwReshapefunction for correct window-resizing on Mac. - Initial wind direction was incorrect – fixed in
Model::Loadfunction. - Updated the
ShaderProgram::Initfunction to enhance cross-platform compatibility.- Specifically, when manually binding shader uniforms and attributes (instead of using the
layout(location = X)syntax, which is avoided to maintain compatibility with lower shader versions), special attention is required for the timing and frequency ofglLinkProgramcalls. - This ensures correct binding behavior across Windows (particularly on integrated graphics systems), macOS, and Linux platforms.
- Specifically, when manually binding shader uniforms and attributes (instead of using the
- Adjusted some threading timing to
TextureLoader::LoadAllto avoid a potential lockup condition sometimes seen on Linux.
[10.0.0] - 2024-08-14
Features
- Games SDK Rebranded To Runtime SDK.
- Renewed Linux Support.
- C++20 Support.
- Xbox Series X/S Builds.
- PlayStation 5 Builds.
Changes
- Build Type Naming Convention Change (Windows).
- Standard Vertex Packers/Shaders Updated.
- SpeedWindTree.h Updates.
- GLEW_STATIC Declaration Moved.
- Linux Changes.
- Win32/32-bit Builds Removed From DirectX12 Reference Application.
- Core Library Changes.
- Reference Application Changes.
Fixes
- Windows Visual Studio Project Alignment.
- OpenGL Reference Application Bug Fixes (Windows).