User Tools

Site Tools


Version - 8.5.1 R3

Release Notes

There were two substantial changes since the 8.5.1 R2 release:

SDK Include Paths

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”
Billboard and 3D Mesh Level of Detail (LOD)/Fade Distances

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:

  • m_f3dHighDetailDist: LOD value is 1.0 (highest-detailed 3D mesh) for all distances shorter than this.
  • m_f3dLowDetailDist: Distance at which lowest 3D LOD mesh will always be used.
  • m_f3dToBillboardStartFadeDist: As distance increases from this value, 3D tree fades out, billboard fades in.
  • m_f3dToBillboardEndFadeDist: Distance at which 3D tree is 100% faded out, billboard 100% faded in.
  • m_fFarBillboardStartFadeDist: If enabled, distance at which distant (on the horizon) billboards begin to fade out.
  • m_fFarBillboardEndFadeDist: If enabled, distance at which distant (on the horizon) billboards are 100% faded.

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:

  • lod_3d_dists <A> <B>: Corresponds to m_f3dHighDetailDist and m_f3dLowDetailDist in SLodProfile.
  • lod_bb_near_dists <A> <B>: Corresponds to m_ f3dToBillboardStartFadeDist and m_ f3dToBillboardEndFadeDist in SLodProfile.
  • lod_bb_far_dists <A> <B>: Corresponds to m_ fFarBillboardStartFadeDist and m_ fFarBillboardEndFadeDist in SLodProfile.