Shadow mapping generator with improved algorithms for high-altitude cameras.
This class provides three different frustum calculation methods:
- Legacy: Original fixed frustum calculation
- Adaptive: Camera altitude-aware frustum extension
- Hybrid: Blend between legacy and adaptive approaches
Usage examples:
// Enable adaptive shadows for high-altitude cameras shadowmap_generator generator; generator.enable_adaptive_shadows(true);
// Fine-tune adaptive parameters adaptive_shadow_params params; params.altitude_scale_factor = 0.3f; // Less aggressive altitude compensation params.max_altitude_boost = 50.0f; // Cap the maximum boost generator.set_adaptive_params(params);
// Use hybrid mode for gradual transition generator.set_frustum_calculation_method(frustum_calculation_method::hybrid);
// Switch back to legacy for comparison generator.set_frustum_calculation_method(frustum_calculation_method::legacy);
Definition at line 596 of file shadow.h.
void unravel::shadow::shadowmap_generator::generate_shadowmaps |
( |
const shadow_map_models_t & | model | ) |
|
begin generating
RENDERVIEW_SHADOWMAP_0_ID - Clear shadow map. (used as convenience, otherwise render_pass_1 could be cleared) RENDERVIEW_SHADOWMAP_1_ID - Craft shadow map. RENDERVIEW_VBLUR_0_ID - Vertical blur. RENDERVIEW_HBLUR_0_ID - Horizontal blur.
RENDERVIEW_SHADOWMAP_0_ID - Clear entire shadow map. RENDERVIEW_SHADOWMAP_1_ID - Craft green tetrahedron shadow face. RENDERVIEW_SHADOWMAP_2_ID - Craft yellow tetrahedron shadow face. RENDERVIEW_SHADOWMAP_3_ID - Craft blue tetrahedron shadow face. RENDERVIEW_SHADOWMAP_4_ID - Craft red tetrahedron shadow face. RENDERVIEW_VBLUR_0_ID - Vertical blur. RENDERVIEW_HBLUR_0_ID - Horizontal blur.
RENDERVIEW_SHADOWMAP_1_ID - Craft shadow map for first split. RENDERVIEW_SHADOWMAP_2_ID - Craft shadow map for second split. RENDERVIEW_SHADOWMAP_3_ID - Craft shadow map for third split. RENDERVIEW_SHADOWMAP_4_ID - Craft shadow map for fourth split. RENDERVIEW_VBLUR_0_ID - Vertical blur for first split. RENDERVIEW_HBLUR_0_ID - Horizontal blur for first split. RENDERVIEW_VBLUR_1_ID - Vertical blur for second split. RENDERVIEW_HBLUR_1_ID - Horizontal blur for second split. RENDERVIEW_VBLUR_2_ID - Vertical blur for third split. RENDERVIEW_HBLUR_2_ID - Horizontal blur for third split. RENDERVIEW_VBLUR_3_ID - Vertical blur for fourth split. RENDERVIEW_HBLUR_3_ID - Horizontal blur for fourth split.
Definition at line 1907 of file shadow.cpp.