Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: initial shadow mapping with shadow maps hosted in an atlas #157

Merged
merged 14 commits into from
Feb 9, 2025

Conversation

schell
Copy link
Owner

@schell schell commented Feb 9, 2025

These changes add shadow mapping by hosting generated shadow maps in a shadow map atlas.

schell added 14 commits January 20, 2025 09:32
   • Cargo.lock and Cargo.toml have been updated to change the version of the
     craballoc dependency from 0.1.3 to 0.1.5.
2 Example Crate:
   • crates/example/src/lib.rs has been modified to update the lighting and shadow
     mapping logic, including changes to how shadow maps are created and used.
3 Shaders:
   • Several shader files (.spv and .wgsl) have binary differences, indicating
     updates to the compiled shader code.
4 Renderling Crate:
   • Multiple files in the crates/renderling/src directory have been updated,
     including atlas.rs, atlas/atlas_image.rs, atlas/cpu.rs, context.rs,
     draw/cpu.rs, lib.rs, light.rs, light/cpu.rs, math.rs, pbr.rs, stage.rs, and
     stage/cpu.rs.
   • These changes involve updates to the atlas and texture handling, lighting and
     shadow mapping improvements, and modifications to the rendering pipeline.
5 GLTF File:
   • The gltf/shadow_mapping_sanity_spot.blend file has binary changes, suggesting
     updates to the 3D model or scene configuration.

Overall, the changes focus on improving the rendering and lighting systems,
particularly around shadow mapping and texture management.
@schell schell marked this pull request as ready for review February 9, 2025 22:49
@schell schell merged commit c339e97 into feature/shadow-mapping Feb 9, 2025
3 of 9 checks passed
schell added a commit that referenced this pull request Feb 10, 2025
* lighting bindgroup

* initial shadow mapping API in place

* pin cargo gpu

* lots of bug fixes in the shadow mapping path

* more debugging shadow mapping

* can programmatically capture gpu traces, ugly shadows are working

* added configurable bias to shadow mapping

* shadow mapping culls front face to cut down peter panning

* 1 Cargo Files:
   • Cargo.lock and Cargo.toml have been updated to change the version of the
     craballoc dependency from 0.1.3 to 0.1.5.
2 Example Crate:
   • crates/example/src/lib.rs has been modified to update the lighting and shadow
     mapping logic, including changes to how shadow maps are created and used.
3 Shaders:
   • Several shader files (.spv and .wgsl) have binary differences, indicating
     updates to the compiled shader code.
4 Renderling Crate:
   • Multiple files in the crates/renderling/src directory have been updated,
     including atlas.rs, atlas/atlas_image.rs, atlas/cpu.rs, context.rs,
     draw/cpu.rs, lib.rs, light.rs, light/cpu.rs, math.rs, pbr.rs, stage.rs, and
     stage/cpu.rs.
   • These changes involve updates to the atlas and texture handling, lighting and
     shadow mapping improvements, and modifications to the rendering pipeline.
5 GLTF File:
   • The gltf/shadow_mapping_sanity_spot.blend file has binary changes, suggesting
     updates to the 3D model or scene configuration.

Overall, the changes focus on improving the rendering and lighting systems,
particularly around shadow mapping and texture management.

* feat: Add shadow map view management for directional and point lights

* feat: Implement `ShadowMapViews::new_six` for point light shadow maps

* moved shadow maps to a shadow map atlas, included atlas blitting

* WIP moving all lighting to the lighting slab w/ AnalayticalLightBundle

* functional shadows read out of the shadow map atlas
schell added a commit that referenced this pull request Feb 10, 2025
* lighting bindgroup

* initial shadow mapping API in place

* pin cargo gpu

* lots of bug fixes in the shadow mapping path

* more debugging shadow mapping

* can programmatically capture gpu traces, ugly shadows are working

* added configurable bias to shadow mapping

* shadow mapping culls front face to cut down peter panning

* 1 Cargo Files:
   • Cargo.lock and Cargo.toml have been updated to change the version of the
     craballoc dependency from 0.1.3 to 0.1.5.
2 Example Crate:
   • crates/example/src/lib.rs has been modified to update the lighting and shadow
     mapping logic, including changes to how shadow maps are created and used.
3 Shaders:
   • Several shader files (.spv and .wgsl) have binary differences, indicating
     updates to the compiled shader code.
4 Renderling Crate:
   • Multiple files in the crates/renderling/src directory have been updated,
     including atlas.rs, atlas/atlas_image.rs, atlas/cpu.rs, context.rs,
     draw/cpu.rs, lib.rs, light.rs, light/cpu.rs, math.rs, pbr.rs, stage.rs, and
     stage/cpu.rs.
   • These changes involve updates to the atlas and texture handling, lighting and
     shadow mapping improvements, and modifications to the rendering pipeline.
5 GLTF File:
   • The gltf/shadow_mapping_sanity_spot.blend file has binary changes, suggesting
     updates to the 3D model or scene configuration.

Overall, the changes focus on improving the rendering and lighting systems,
particularly around shadow mapping and texture management.

* feat: Add shadow map view management for directional and point lights

* feat: Implement `ShadowMapViews::new_six` for point light shadow maps

* moved shadow maps to a shadow map atlas, included atlas blitting

* WIP moving all lighting to the lighting slab w/ AnalayticalLightBundle

* functional shadows read out of the shadow map atlas
schell added a commit that referenced this pull request Feb 17, 2025
* lighting bindgroup

* initial shadow mapping API in place

* pin cargo gpu

* lots of bug fixes in the shadow mapping path

* more debugging shadow mapping

* can programmatically capture gpu traces, ugly shadows are working

* added configurable bias to shadow mapping

* shadow mapping culls front face to cut down peter panning

* 1 Cargo Files:
   • Cargo.lock and Cargo.toml have been updated to change the version of the
     craballoc dependency from 0.1.3 to 0.1.5.
2 Example Crate:
   • crates/example/src/lib.rs has been modified to update the lighting and shadow
     mapping logic, including changes to how shadow maps are created and used.
3 Shaders:
   • Several shader files (.spv and .wgsl) have binary differences, indicating
     updates to the compiled shader code.
4 Renderling Crate:
   • Multiple files in the crates/renderling/src directory have been updated,
     including atlas.rs, atlas/atlas_image.rs, atlas/cpu.rs, context.rs,
     draw/cpu.rs, lib.rs, light.rs, light/cpu.rs, math.rs, pbr.rs, stage.rs, and
     stage/cpu.rs.
   • These changes involve updates to the atlas and texture handling, lighting and
     shadow mapping improvements, and modifications to the rendering pipeline.
5 GLTF File:
   • The gltf/shadow_mapping_sanity_spot.blend file has binary changes, suggesting
     updates to the 3D model or scene configuration.

Overall, the changes focus on improving the rendering and lighting systems,
particularly around shadow mapping and texture management.

* feat: Add shadow map view management for directional and point lights

* feat: Implement `ShadowMapViews::new_six` for point light shadow maps

* moved shadow maps to a shadow map atlas, included atlas blitting

* WIP moving all lighting to the lighting slab w/ AnalayticalLightBundle

* functional shadows read out of the shadow map atlas
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant