Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

プログラム説明 kgPhotonMapping v0-1-0

816 Aufrufe

Veröffentlicht am

第2回レイトレ合宿提出プログラムの説明。

Veröffentlicht in: Ingenieurwesen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

プログラム説明 kgPhotonMapping v0-1-0

  1. 1. kgPhotonMapping v0.1.0 第2回レイトレ合宿提出プログラム GPU フォトントレーサ・レンダラ kgussan@gmail.com 平成26年9月6日(土)
  2. 2. テーマ • シンプルにフォントレーシングとレンダリング をGPUで行うと、どのくらいの性能が出るか を知る。 – 再帰をどのように表現するか? – 材質感を出せるか。
  3. 3. 環境 • Windows 7 64bit • 言語 – Hlsl : compute shader – DirectX • GPU – Intel HD Graphics 4000 • ノートPCに乗っているオンボードGPU • DX11に対応してcompute shaderもOK、のはずが不安定なため に不採用。 – AMD GPU • 安定傾向のAMD環境へ • (結局当日NVIDIA環境で不安定になってしまった。)
  4. 4. アルゴリズム • フォトンマップ – 2パスのアルゴリズム • 1パス目:フォトンを光源から散布 • 2パス目:視点からレイを飛ばし、散布されたフォトンか ら必要なものを取得。 • 空間構造 – KD-TREEは構造が複雑でGPUに向かないと思 われるため不採用。 – GPUが扱いやすい形に。
  5. 5. 実装 • テクスチャマッピング – A: 128x128x4byte, B: 512x512x4 byte • ジオメトリ入力 – 球: 4K 頂点x3, ティーポッド7850頂点x2、壁36頂点 • 1920x1080 80枚 – HD7970で20分強で終了 • 1枚300kフォトンを使う – 20光源について一枚ずつ作成 – 4回繰り返す • 24Mフォトン
  6. 6. 80枚の一時画像
  7. 7. 足し合わせた出力
  8. 8. 結果 • 性能は? – 24MフォトンでHD1枚を30分 – CPUとはまだ比較しておらず • 今回の条件でノートパソコンのCPUでは30分でもフォトントレーシング終 わらず。 • 実装は? – トレースの再帰をシェーダで実装。未解析。 • 質感は? – 拡散反射、鏡面反射、屈折を実装。 – モデル配置、テクスチャ設定が適当。
  9. 9. 良いところ・悪いところ • 高速計算 • メモリ管理 – directXのマップメモリ失敗する時が あったためにdispatchを短冊状に。 • 最小限のレンダラ – Tex geomなど必要な項目対応 • マテリアル対応 – Diffuse specular reflection, refractionをシェーダで表現。 – 1dispatch で1バウンスのマルチパ スでバウンスを表現した形式のほう がレジスタ削減効果があり、実行効 率がいいかも? • リアルタイム描画への活用 – RLRなど役に立ちそう。 • メモリをたくさん食う。 – 要PPM。 • 空間構造なし。 – 要BVH。 • 描画 – 法線計算するときに両面に対応して いない。CW/CCW片対応。 – Texはbufferでcompute shaderに入 れた。Texture扱いにしてサンプラを 使いGPUの加速をするべきだった。 – ジオメトリの配置の時間がなかった。 リアルタイムビューワがあったほうが 良かったかもしれない。 • コード整理ができていない – とりあえずコードを全部出しています が、公開できる状態になっていない。
  10. 10. 最後に レイトレ合宿、いい機会ですね。 楽しませていただきました!

×