Skip to content

Project 5: Cindy Wei - #26

Open
chapiniwei50 wants to merge 3 commits into
CIS5650-Fall-2025:mainfrom
chapiniwei50:main
Open

Project 5: Cindy Wei#26
chapiniwei50 wants to merge 3 commits into
CIS5650-Fall-2025:mainfrom
chapiniwei50:main

Conversation

@chapiniwei50

Copy link
Copy Markdown

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

  1. Renderer Comparison

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

  1. Gaussian Count Scaling

272K Gaussians: 58-61 FPS

1.06M Gaussians: 14-19 FPS

4x more Gaussians results in 3-4x performance drop

  1. View-Frustum Culling Effectiveness

Bonsai Scene: 96.6% of Gaussians rendered (3.4% culled)

Bicycle Scene: 100% of Gaussians rendered (0% culled)

Current culling implementation needs improvement

  1. Performance Characteristics

Bonsai (272K): Average frame time 16-17ms

Bicycle (1.06M): Average frame time 60-62ms

Major bottleneck is Gaussian processing and sorting overhe

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