Skip to content

Conversation

@printer83mph
Copy link

@printer83mph printer83mph commented Oct 20, 2025

Repo Link

Live Demo

Core Features Completed

  • Naive renderer
  • Forward+ renderer
  • Clustered deferred renderer

Busy week+weekend... 2 late days used :(

Feedback

For some reason the base code didn't use Vite's public folder, and there was some other quirky base path behavior. I addressed this in printer83mph#1 along with adding some automatic formatting and some linting for TS files.

I spent a bit of time deliberating on/researching which texture types to use – obviously this is not unique to WebGPU, but a quick refresher on what these literals mean (like rgba16unorm) could be helpful

I enjoyed this assignment overall... I think exploring different graphics APIs really helps to increase overall understanding of the hardware and how we interface with it. However, I got stuck on random quirks and ended up spending a lot of time debugging in the wrong place. Maybe a smaller assignment with more building from scratch could have reduced the chances of getting stuck in this way, but I can't say for sure.

* Add node types

* Add devcontainer config

* Add prettier with config

* Format all source code

* Add more vscode config

* Add eslint with default recommended config + prettier compat

* Clean up eslint issues

* Fix tsc issues, add script

* Add code quality workflow

* Move scene resources to public folder

* Cleanup vscode integration

- Add port to devcontainer

- Add extensions.json

- Fix launch configuration

* patch: stop using eval lol

* patch: use prettier check flag
* Implement cluster selection per fragment

* wip: add clustering logic

* wip: run clustering logic with debug view

* gahhh so much debugging

* fix silly workgroup count and perspective stuffs

* switch off debug mode nonsense, turn down defaults
* wip: implement clustered deferred pipeline

* Run clustering, implement fullscreen shader

* chore: set default rendering mode to clustered deferred
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