Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WebGPUTracer / RayTracingCamp9

kugi
September 03, 2023

WebGPUTracer / RayTracingCamp9

WebGPU compute shader based PathTracer made for RayTracingCamp9
https://sites.google.com/view/rtcamp9/home

kugi

September 03, 2023
Tweet

More Decks by kugi

Other Decks in Programming

Transcript

  1. WebGPUTracer
 • 概要
 ◦ パストレーシングをComputeShaderで実装 
 ◦ Multiple Importance Sampling

    
 ◦ インスタンス間の通信はなし(フレーム分割) 
 ◦ wgpu-native、Dawn両方のビルドに対応 
 • オブジェクト
 ◦ Sphere
 ◦ Quad
 ▪ Triangleはバグが取れず断念 
 • マテリアル
 ◦ Lambert BRDF Only 

  2. WebGPUの苦難
 • WGSLのデバッグが大変 
 • wgpu-nativeとDawnの違い 
 ◦ 書き方が微妙に違う 


    ▪ 最近は揃いつつある 
 ◦ wgpu-nativeだと本番環境でComputePipeline作成でハングする 
 ▪ 本番環境ではDawnビルド 
 • GitHub Actionでビルド/実行確認 
 ◦ していたが... ある時からなぜか 「device lost」でプロセスが強制終了 
 ◦ 最終的に同期Mくんから借りたゲーミングノートでビルド 

  3. 出力結果
 • fps:60
 • 動画の長さ:10秒
 • サイズ:1280 x 720
 •

    spp:150
 • 光源:8つ
 ◦ 近づくと点灯する7色の光源
 ◦ 回転して色が変わっていく光源

  4. 今後の目標
 • 最適化
 • オブジェクト
 ◦ Triangle
 ◦ objファイルなど
 •

    マテリアル
 ◦ Specular
 ◦ マイクロファセットモデル 
 • ReSTIR