WebGPUTracer / RayTracingCamp9
by
kugi
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
WebGPUTracer kugi(@kugi_masa) RayTracingCamp9
Slide 2
Slide 2 text
今回の目標 GPUレンダリング
Slide 3
Slide 3 text
でも... 開発環境はMacOS
Slide 4
Slide 4 text
調べていると OSやドライバに依存しない実装
Slide 5
Slide 5 text
方針 ● 現時点ではDXRやVulkan Ray Tracingには非対応 ● WebGPU Samples に Cornell box Compute Shader
Slide 6
Slide 6 text
WebGPUTracer ● 概要 ○ パストレーシングをComputeShaderで実装 ○ Multiple Importance Sampling ○ インスタンス間の通信はなし(フレーム分割) ○ wgpu-native、Dawn両方のビルドに対応 ● オブジェクト ○ Sphere ○ Quad ■ Triangleはバグが取れず断念 ● マテリアル ○ Lambert BRDF Only
Slide 7
Slide 7 text
WebGPUの苦難 ● WGSLのデバッグが大変 ● wgpu-nativeとDawnの違い ○ 書き方が微妙に違う ■ 最近は揃いつつある ○ wgpu-nativeだと本番環境でComputePipeline作成でハングする ■ 本番環境ではDawnビルド ● GitHub Actionでビルド/実行確認 ○ していたが... ある時からなぜか 「device lost」でプロセスが強制終了 ○ 最終的に同期Mくんから借りたゲーミングノートでビルド
Slide 8
Slide 8 text
出力結果 ● fps:60 ● 動画の長さ:10秒 ● サイズ:1280 x 720 ● spp:150 ● 光源:8つ ○ 近づくと点灯する7色の光源 ○ 回転して色が変わっていく光源
Slide 9
Slide 9 text
今後の目標 ● 最適化 ● オブジェクト ○ Triangle ○ objファイルなど ● マテリアル ○ Specular ○ マイクロファセットモデル ● ReSTIR