- Push constant block expanded: 160B → 176B (added vec4 shadowParams) - shadowParams: x=bias, y=sampleRadius, z=farPlane, w=unused - Fragment shader: bias and sampleRadius now read from push constants (dynamic, adjustable at runtime) - Shadow.frag: uses pc.shadowParams.z for farPlane (dynamic) - Slope-dependent bias: bias + bias*2*(1-NdotL) — adaptive - VulkanRenderer: public ShadowBias, ShadowSampleRadius, ShadowFarPlane properties - Program.cs: ImGui 'Shadow Parameters' panel with sliders: - Light Intensity (0-100), Range (5-100), RGB color - Shadow Bias (0.001-0.5), Sample Radius (0.001-0.1), Far Plane (10-120) - 'Copy Parameters to Clipboard' button — outputs all values as text - 227 tests, all pass
2.3 KiB
2.3 KiB