レイトレ合宿2!! レンダラー紹介 shocker_0x15
DESCRIPTION
レイトレ合宿2!!(https://sites.google.com/site/raytracingcamp2/)で提出した作品のレンダリングに用いたレンダラーの紹介です。 OpenCLを用いたパストレーサーです。 現地で使用したスライドに結果画像とかを足しています。 レンダラーのソースコードはGitHubにて公開しています。 https://github.com/shocker-0x15 なお、合宿のセミナーで使用した資料もアップしています。 http://www.slideshare.net/shocker_0x15/2-38791622 Twitter: @Shocker_0x15TRANSCRIPT
OPENCL PATH TRACING
渡部 心 @Shocker_0x15
OpenCLでどの程度実用的なレンダラーが書けるかの実験 GPGPU(結局Graphicsだけど…)
レンダラーの機能・特徴 パストレーシング 合成BSDF
多重重点的サンプリング イメージベースドライティング
被写界深度 法線マッピング BVH(midpoint) .objローダー
OpenCLの制約 フラットなバッファーしかカーネルに渡せない CPU上のポインターが意味をなさない
=>インデックスで代用
コンパイラーがたまに怪しい…
SIMT実行・乏しいレジスター数/スレッド =>CPUスタイルの実装しかできてません
C言語ベース、C++のようなポリモーフィズムができない =>関数に毎回インスタンス渡す&内部のif文で模倣
まぁでも… それなりの規模のレンダラーが動くことが確認できました。
GPGPUによるレイトレ NVIDIA: Optix
AMD: Fire Render とGPU2社とも良い感じ
※ただしNVIDIAはOpenCLやる気なし?
結果画像
おまけ
おまけ
おまけ