webgpu / webgpu-samples

WebGPU Samples

Home Page:https://webgpu.github.io/webgpu-samples/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Organize the samples list

kainino0x opened this issue · comments

The samples list is slowly growing and I think it needs to be divided up into a few categories (and maybe we should have a directory page that shows the descriptions of each sample, and/or topic tags on each sample in the listing). Here's a proposed categorization:

  • WebGPU Demos
    • particles
    • cornell
    • computeBoids
    • gameOfLife
  • WebGPU Basics
    • helloTriangle
    • helloTriangleMSAA
    • rotatingCube
    • twoCubes // consider renaming for clarity
    • texturedCube
    • instancedCube
    • fractalCube
    • samplerParameters
    • cubemap
    • normalMap
    • #363 (or could be in a larger demo under Graphics Technique Implementations)
    • #150 (same)
  • Important Graphics Features
    • renderBundles
    • reversedZ
  • Important Compute Features
  • Web Platform Features
    • resizeCanvas
    • #356
    • #127
    • videoUploading
    • videoUploadingWebCodecs
    • worker
  • Compute Technique Implementations
    • bitonicSort
  • Graphics Technique Implementations
    • cameras
    • #45
    • imageBlur
    • #217
    • shadowMapping
    • deferredRendering
    • A-buffer
    • skinnedMesh
  • Benchmarks
    • animometer
    • Workload Simulator

Another proposed version based on @cmhhelgeson feedback

  • Basic Graphics
    • helloTriangle
    • helloTriangleMSAA
    • rotatingCube
    • twoCubes // consider renaming for clarity
    • texturedCube
    • instancedCube
    • fractalCube
    • samplerParameters
    • cubemap
    • #363 (or could be in a larger demo in Techniques)
    • #150 (same)
  • Important Graphics Features
    • renderBundles
    • reversedZ
  • Important Compute Features
  • Web Platform Features
    • resizeCanvas
    • #356
    • #127
    • videoUploading
    • videoUploadingWebCodecs
    • worker
  • GPGPU Techniques
    • bitonicSort
    • gameOfLife
  • Graphics Techniques w/ Compute
    • imageBlur
    • A-buffer
    • particles
    • cornell
    • computeBoids
  • Classic Graphics Techniques
    • cameras
    • deferredRendering
    • normalMap
    • shadowMapping
    • skinnedMesh
    • #45
    • #217
  • Benchmarks
    • animometer
    • Workload Simulator

Perhaps we should indicate that this issue is closed, but add a section to the READ ME that lists out the categories, samples we're still looking to solicit, and the categories those samples would ideally belong to? Effectively, we'd just be frontloading the information within this issue, and any other requisite information about how to categorize new samples to the READ ME.

Alternatively, we could just have a short sentence that encourages contributions, mentions features we would like to have samples for, and links to this issue.

I don't think the README needs info on how to categorize samples - if someone is adding a sample, they will see the comments in [slug].tsx, and the reviewer will help make sure it's in a good section.

For all the open issues I put in the list above, that was more to prove out the categories, than to decide where they would go right now. This issue isn't needed to track them. Those categorizations can be done whenever make PRs to add new samples.

We should use GitHub issues to track everything we would like to have a sample for, not try to put that in the repository.
I just triaged all the issues into labels so it'll be easy to find them. https://github.com/webgpu/webgpu-samples/labels