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

feature: shadow mapping, directional and spot lights #145

Closed
wants to merge 315 commits into from

Conversation

schell
Copy link
Owner

@schell schell commented Dec 6, 2024

WIP

schell added 23 commits August 25, 2024 16:17
* feature: morph targets

* devlog
* using AtlasEntry

* merge AtlasFrame into AtlasTexture

* send_wrapper for JsValue in errors, devlog, readme, added Stage::get_camera
* feature: actually use multi-draw-indirect

* devlog

* pre-upkeep on the indirect slab
* feature: compute culling

* frustum and aabb bounding volumes

* recompile shaderS

* WIP on WASD mouse controls for glTF viewer, can load Sponza

* WASD mouse controls

* better texture support for glTFs

* report duplicated images

* separate example camera control

* added fps, tried tracing - it's useless

* use GltfPrimitive's bounding_box for frustum culling

* cpu side of compute culling

* frustum culling wrapup

* only cull when there are draw calls, Camera's fields are private

* debugging AABBs

* added bvol::BoundingSphere

* flipped a bunch of hit test function names

* fix tests

* workaround for weird CI rate-limiting issue

* readme
* chore: bumped rust-gpu

* consolidate drawing into new draw module, use weak refs for renderlets internally

* fixes after weak ref work

* revert back to spirv-builder v0.9.1 and regen shaders

* track rust-gpu main
* feat: use cargo-gpu instead of out-of-workspace shaders binary

* add shaders and shaders cargo alias, github workflow

* ensure CI has nightly

* ensure rustup components

* ensure CI has nightly and components

* web linkage on wasm32 only

* generate with cargo shaders

* gen shaders

* install toolchain

* shaders workflow

* readme
* use WeakHybrid in InternalRenderlet

* Occlusion culling, part one

added MipMapGenerator, depth pyramid shaders

slab buffers are created with size 1 to avoid wgpu validation bug

fixed a bug where re-staging a texture often copied to the wrong layer

debbugging led to better sphere projection for culling

update sample count so we don't invalidate every frame

debug overlay of bounding spheres

use box instead of circle for bounds in debug overlay

don't use compute culling by default

* regenerate shaders, fix merge errors, treat *.spv and *.wgsl as binary

* use cargo-gpu on branch

* clean rust-gpu checkouts (temporary)

* also clean the rust-gpu cache dir

* allow the cache to persist

* don't use bool as u32 in shaders

* change rust-gpu cache step

* update cargo gpu
devlog links
* rewrite diffuse irradiance convolution shader in Rust

* remove WGSL version of diffuse irradiance convolution fragment shader
…s changed (#146)

* fix: rebuilt shader linkage should only create a diff if Rust code has changed

* CI improvements
@schell schell force-pushed the feature/shadow-mapping-1 branch from 940a22a to 43821b0 Compare December 8, 2024 22:06
@schell schell force-pushed the feature/shadow-mapping-1 branch from 4e7e18c to d30e608 Compare December 27, 2024 20:48
@schell schell force-pushed the feature/shadow-mapping-1 branch from d30e608 to 825294a Compare December 27, 2024 21:40
@schell schell changed the base branch from main to alt-main December 27, 2024 21:46
@schell schell closed this Dec 27, 2024
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.

2 participants