Add an Appendix/Wiki page for using a GPU debugger

Open
#21 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
rust

Research direction

Start with the refraction chapter and its NaN propagation example, then run the Rust binary with the wgpu Metal backend under Xcode to verify the debugging workflow. Investigate whether the example can also be stepped through with RenderDoc on Windows or Linux; done means an appendix or wiki guide covering launch, shader stepping, resource inspection, and the root cause.

Written by the indexing model from the issue text.

Description

Add a basic guide for running Xcode and RenderDoc to step through the shader code, inspect resources, etc. Launching the Rust binary with Xcode (when running with the wgpu Metal backend on macOS) is very easy. I haven't tried debugging the example code with RenderDoc on Windows / Linux though.

The appendix can use the NaN propagation bug in the refraction chapter as an example. It should go through the process of launching the debugger and walk through it step-by-step and get to the root cause. For example:

Radiance Texture and Framebuffer:
Image

Where NaN is produced (0/0 in normalize):
Image

Because refract returns a null ray:
Image

@trevordblack

Dominant language
HTML
Stars
321
Forks
18
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from RayTracing/gpu-tracing

All issues in RayTracing/gpu-tracing

Similar issues

More Computer Graphics issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.