Skip to content

Implement shadow mapping for lights #39

Open

Description

@brmassa

Implement shadow mapping for directional and point lights.

Parent Issue

Part of the 3D scene pipeline improvements.

Current State

No shadow casting exists. Lighting is PBR (Cook-Torrance GGX in standardShader.frag) with point and directional lights, all unshadowed.

Tasks:

  • Implement shadow map rendering pass (depth pre-pass from light perspective)
  • Add shadow map textures (VkImage with depth format)
  • Implement shadow comparison in the fragment shader (PCF filtering)
  • Support directional light cascaded shadow maps (CSM)
  • Support point light shadows (cube map or dual-paraboloid)
  • Add shadow settings to light components (bias, resolution, cascade count)
  • Implement shadow debug visualization in Scene View

Acceptance Criteria:

  • Directional lights cast hard and soft shadows.
  • Point lights cast omnidirectional shadows.
  • Shadow artifacts (acne, peter-panning) are controllable via bias settings.
  • Shadow settings are configurable per-light in the Inspector.

Related:

Activity

  1. added
    c:graphicsGraphics pipeline: Vulkan, RHI, shaders, rendering
    p:mediumMedium priority — fix in next sprint
    size:L~1-2 weeks — significant feature
    t:featureNew feature implementation
    on Sep 24, 2026
  2. removed this from the milestone on Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    c:graphicsGraphics pipeline: Vulkan, RHI, shaders, renderingp:mediumMedium priority — fix in next sprintsize:L~1-2 weeks — significant featuret:featureNew feature implementation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions