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

raytracingcamp6-seminar-zin

Zin
September 04, 2018

 raytracingcamp6-seminar-zin

Zin

September 04, 2018
Tweet

More Decks by Zin

Other Decks in Technology

Transcript

  1. レイトレ合宿6 Zin 実装してきたこと、 これからやってみたいこと

  2. これまで実践してきたこと

  3. Blenderからシーンをエクスポート Blenderでシーンを作成 Pythonスクリプトで変換 マテリアル設定などを編集 レンダリング Blendファイル JSONファイル JSONファイル

  4. 他のレンダラー ❖Cycles ❖PBRT ❖RenderMan ❖RadeonProRender

  5. 色んなコンパイラで試してみる (C++) ❖ Windows • MSVC • Clang ❖ Linux

    (Ubuntu) • GCC • Clang ❖ macOS • GCC • Clang 私のレンダラーでのパフォーマンスは・・・ Clang (Win) [1.5x] = Clang (Ubuntu) > MSVC [1.0x] = GCC
  6. これから実践していきたいこと

  7. テストを充実させたい ❖ コードが大きくなってくると自分のレンダラーを 信じられなくなってくる ❖ 一から書き直したくなる ❖ テストを書いておきましょう

  8. テストを充実させたい ❖ 解析的なテスト • PDFの積分やエネルギー保存則、衝突判定など ❖ 機能毎のテスト • 簡単なシーンをレンダリングしてリファレンスと比較 ❖

    統合テスト • 実践的なシーンをレンダリングしてリファレンスと比較 簡単なシーンの例 実践的なシーンの例
  9. レンダラーの効率化 ❖ 年々レンダリング時間が減っていて辛い・・・ ピクセル当たりにかけられるサンプル数はどんどん減ってる ❖ レンダラーを効率化したい

  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. レンダラーのGPU実装 ❖CUDA ❖METAL ❖OpenGL (GLSL) ❖DirectX Raytracing ❖Vulkan などなど

  17. Vulkanについて ❖ 様々なOS上で動作 (Windows, Linux, macOS(MoltenVK)) ❖ Compute Shader を持っており、SPIR-Vを受け取る

  18. Vulkan compute shader実行までの流れ ❖ SPIR-V自体は中間表現言語、 何らかのプログラミング言語から変換する ❖ GLSLならglslang、OpenCLならclspv といったツールでコンパイルする

  19. 以上です