Project 5: Cindy Wei - #26
Open
chapiniwei50 wants to merge 3 commits into
Open
Conversation
Removed the link formatting for the live project URL.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Project 5: Cindy Wei
Repo Link
https://github.com/chapiniwei50/Project5-WebGPU-Gaussian-Splat-Viewer/tree/main/src
Features Completed
Part 1: Point Cloud Renderer (10/10 points)
Implemented MVP calculation in vertex shader
Yellow point cloud visualization working
Part 2: Gaussian Splat Renderer (80/80 points)
Preprocessing Compute Shader (50 points):
View frustum culling with 1.2x bounding box
3D covariance computation from rotation and scale
2D conic and quad size calculation in NDC space
Spherical harmonics color evaluation
Storage of 2D Gaussian data for rasterization
Rendering Pipeline (30 points):
Depth-based sorting using radix sort
Indirect draw calls with dynamic instance count
Quad reconstruction in vertex shader
Conic-based splat evaluation in fragment shader
Exponential opacity falloff from center
Alpha blending for transparency
Part 3: Performance Analysis (10/10 points)
Complete performance analysis with real data from testing
Performance Analysis Results
272K Gaussians: Point Cloud ~60 FPS, Gaussian Renderer 58-61 FPS
1.06M Gaussians: Point Cloud ~60 FPS, Gaussian Renderer 14-19 FPS
Gaussian rendering provides color but at significant performance cost with larger scenes
272K Gaussians: 58-61 FPS
1.06M Gaussians: 14-19 FPS
4x more Gaussians results in 3-4x performance drop
Bonsai Scene: 96.6% of Gaussians rendered (3.4% culled)
Bicycle Scene: 100% of Gaussians rendered (0% culled)
Current culling implementation needs improvement
Bonsai (272K): Average frame time 16-17ms
Bicycle (1.06M): Average frame time 60-62ms
Major bottleneck is Gaussian processing and sorting overhe