Back to Filament

computePracticalSplits

docs/android/dokka/filament-android/com.google.android.filament/-light-manager/-shadow-cascades/compute-practical-splits.md

1.75.01.6 KB
Original Source

//filament-android/com.google.android.filament/LightManager/ShadowCascades/computePracticalSplits

computePracticalSplits

[main]
open fun computePracticalSplits(splitPositions: Array<Float>, cascades: Int, near: Float, far: Float, lambda: Float)

Utility method to compute cascadeSplitPositions according to a practical split scheme.

The practical split scheme uses uses a lambda value to interpolate between the logrithmic and uniform split schemes. Start with a lambda value of 0.5f and adjust for your scene.

See: Zhang et al 2006, "Parallel-split shadow maps for large-scale virtual environments"

Parameters

main

splitPositionsa float array of at least size (cascades - 1) to write the split positions into
cascadesthe number of shadow cascades, at most 4
nearthe camera near plane
farthe camera far plane
lambdaa float in the range [0, 1] that interpolates between log and uniform split schemes