Skip to content

Conversation

@grievans
Copy link

  • https://github.com/grievans/Project4-WebGPU-Forward-Plus-and-Clustered-Deferred/tree/main
  • Implemented 3 modes of rendering using WebGPU:
    • Naïve forward rendering
    • Forward+ rendering
    • Clustered Deferred rendering
  • Feedback:
    • There were a few bugs in the base code which made setting up the Github deployment and doing performance analysis difficult
      • The stats.js gui used is meant to display run time in milliseconds, but the timer used only actually times the CPU-side calls to start up the shaders used and doesn't actually wait for the GPU-side execution to finish, meaning by default it appears to always output a time of 0 or occasionally 1 millisecond (since the CPU-side code finishes almost immediately).
      • For some reason, the lightRadius constant does not pass in to the shaders properly when deployed on the web, while it does when running locally. I fixed this in my code through hard-coding its value when used in the shaders.
    • I felt relatively lost initially, mostly about the API calls for the setting up of the pipelines and buffers; I think something like a simple intro project to experiment with similar to what we have in Project 0 for CUDA could be a beneficial addition at least as an optional component just to ease into the language more.

grievans and others added 30 commits October 13, 2025 00:45
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