レイトレ合宿2!! レンダラー紹介 shocker_0x15

9
OPENCL PATH TRACING 渡部 心 @Shocker_0x15

Upload: shocker0x15

Post on 19-Jun-2015

650 views

Category:

Technology


5 download

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_0x15

TRANSCRIPT

Page 1: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

OPENCL PATH TRACING

渡部 心 @Shocker_0x15

Page 2: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

OpenCLでどの程度実用的なレンダラーが書けるかの実験 GPGPU(結局Graphicsだけど…)

Page 3: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

レンダラーの機能・特徴 パストレーシング 合成BSDF

多重重点的サンプリング イメージベースドライティング

被写界深度 法線マッピング BVH(midpoint) .objローダー

Page 4: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

OpenCLの制約 フラットなバッファーしかカーネルに渡せない CPU上のポインターが意味をなさない

=>インデックスで代用

コンパイラーがたまに怪しい…

SIMT実行・乏しいレジスター数/スレッド =>CPUスタイルの実装しかできてません

C言語ベース、C++のようなポリモーフィズムができない =>関数に毎回インスタンス渡す&内部のif文で模倣

Page 5: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

まぁでも… それなりの規模のレンダラーが動くことが確認できました。

GPGPUによるレイトレ NVIDIA: Optix

AMD: Fire Render とGPU2社とも良い感じ

※ただしNVIDIAはOpenCLやる気なし?

Page 6: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

結果画像

Page 7: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

おまけ

Page 8: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

おまけ

Page 9: レイトレ合宿2!! レンダラー紹介 Shocker_0x15

おまけ