ADD: Clipmap shadow better quality
This commit is contained in:
@@ -13,10 +13,29 @@ inline constexpr int kShadowCascadeCount = 4;
|
||||
inline constexpr float kShadowCSMFar = 800.0f;
|
||||
// Shadow map resolution used for stabilization (texel snapping). Must match actual image size.
|
||||
inline constexpr float kShadowMapResolution = 2048.0f;
|
||||
// Extra XY expansion for cascade footprint (safety against FOV/aspect changes)
|
||||
inline constexpr float kShadowCascadeRadiusScale = 1.1f;
|
||||
// Additive XY margin in world units beyond the scaled half-size
|
||||
inline constexpr float kShadowCascadeRadiusMargin = 10.0f;
|
||||
// Clipmap shadow configuration (used when cascades operate in clipmap mode)
|
||||
// Base coverage radius of level 0 around the camera (world units). Each level doubles the radius.
|
||||
inline constexpr float kShadowClipBaseRadius = 20.0f;
|
||||
// Pullback distance of the light eye from the clipmap center along the light direction (world units)
|
||||
inline constexpr float kShadowClipLightPullback = 160.0f;
|
||||
inline constexpr float kShadowClipBaseRadius = 30.0f;
|
||||
// When using dynamic pullback, compute it from the covered XY range of each level.
|
||||
// pullback = max(kShadowClipPullbackMin, cover * kShadowClipPullbackFactor)
|
||||
inline constexpr float kShadowClipPullbackFactor = 1.5f; // fraction of XY half-size behind center
|
||||
inline constexpr float kShadowClipForwardFactor = 1.5f; // fraction of XY half-size in front of center for zFar
|
||||
inline constexpr float kShadowClipPullbackMin = 10.0f; // lower bound on pullback so near levels don’t collapse
|
||||
// Additional Z padding for the orthographic frustum along light direction
|
||||
inline constexpr float kShadowClipZPadding = 80.0f;
|
||||
inline constexpr float kShadowClipZPadding = 40.0f;
|
||||
|
||||
// Shadow quality & filtering
|
||||
// Soft cross-fade band between cascades in light-space NDC (0..1)
|
||||
inline constexpr float kShadowBorderSmoothNDC = 0.08f;
|
||||
// Base PCF radius in texels for cascade 0; higher cascades scale up slightly
|
||||
inline constexpr float kShadowPCFBaseRadius = 1.35f;
|
||||
// Additional radius added by the farthest cascade (0..+)
|
||||
inline constexpr float kShadowPCFCascadeGain = 2.0f;
|
||||
|
||||
// Raster depth-bias parameters for shadow map rendering (tuned conservatively)
|
||||
inline constexpr float kShadowDepthBiasConstant = 1.25f;
|
||||
inline constexpr float kShadowDepthBiasSlope = 1.5f;
|
||||
|
||||
Reference in New Issue
Block a user