There were two substantial changes since the 8.5.1 R2 release:
The Include/
directory in the SDK now has a SpeedTree/
sub-directory before Core/
, Forest/
, and the rest of the library include directories. The figure below illustrates the difference. The intention here was to essentially add a “namespace” to the include path since the SDK include folders are somewhat commonly-used names. This change had pretty far-reaching effects across the dozens of projects in the SDK for all platforms and will require some adjustments for your own projects as well.
For example, to include Core.h
from the SDK, the include directive used to read:
#include “Core/Core.h”
But should now read:
#include “SpeedTree/Core/Core.h”
The parameters used to govern 3D and billboard LOD and fade distances caused some confusion in earlier releases. This was addressed in three areas:
1. The structure SLodProfile
, defined in Core.h
, was revamped and simplified. It now has six parameters to control run-time LOD behavior:
2. The shader constant structure SBaseTreeLayout
, defined in SdkConstantBuffers.h
, was adjusted to match the new definition of SLodProfile
. The reference application shaders (for example, 3d_trees_vs.hlsl
) were also adjusted to match.
3. The reference application’s SFC file now has three new parameters for tree populations (not grass). lod_dists
is no longer used:
m_f3dHighDetailDist
and m_f3dLowDetailDist
in SLodProfile
.m_ f3dToBillboardStartFadeDist
and m_ f3dToBillboardEndFadeDist
in SLodProfile
.m_ fFarBillboardStartFadeDist
and m_ fFarBillboardEndFadeDist
in SLodProfile
.