以下の内容はhttps://hanecci.hatenadiary.org/entry/20130821/p1より取得しました。
概要
- CEDEC2013 の講演のうち, いくつかのグラフィックス系の講演の個人的なメモを下に書いてみました.
- 下の文章については申し訳ないですが, 僕自身の理解が足りなかったり, あるいはまだ資料が公開されていないので間違っている可能性が十分あります.
- その場合は CEDEC Digita Library などで公開される講演者の講演内容の方が正しいので, ご注意下さい.
感想
- 個人的に特に良かったと思ったセッションは以下の 2 つです.
- OpenSubdiv:オープンソースのRenderMan完全互換GPU対応サブディビジョンサーフェスライブラリ
- "グローバルイルミネーションを高速化する時空間アップサンプリング"
- 理由 : リアルタイム GI で難しいシャープなスペキュラ間接光を実現するために, 最適化の手法をうまく組み合わせていてとても勉強になりました.
OpenSubdiv: オープンソースの RenderMan 完全互換 GPU対応 サブディビジョンサーフェスライブラリ
- この講演については, 今のところもう少し調査して別途ブログ記事を書く予定です.
- 一番印象的だった内容は Pixar でのテッセレーションの使い方です.
- Pixar の映画のキャラクターモデルのベースモデルの頂点数は意外と少ない(Toy Story のウッディは約2万ポリゴン以下)けど, それに対して多くのリグやデフォーマ(4000-5000個)を設定して頂点変位のアニメーションを計算し, その後にテッセーレションをかけてポリゴンを滑らかに再分割しているらしいです. こうすると, アーティストさんがアニメーション結果の簡易プレビューがしやすいという利点もあるそうです.
- 上と同様の方法で GPU でリアルタイムにモデルをレンダリングする場合, 複雑で処理負荷が高い頂点シェーダを使ったとしても, それに対して少ないポリゴン数のモデルデータを与えて, 最後にテッセレーションしてハイポリゴンにするというアプローチができるのではないか ? という話がありました.
- あと, 講演の一部で以下の内容の紹介がありました.
- 参考文献
- Youtube SIGGRAPH 2013 OpenSubdiv の動画
- Pixar のOpenSubdivのページ
- OpenSubdiv のgithub
- 関係する論文
- Feature Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces Matthias Niessner, Charles Loop, Mark Meyer, and Tony DeRose ACM Transactions on Graphics, Vol. 31 No. 1 Article 6 January 2012
- Efficient Evaluation of Semi-Smooth Creases in Catmull-Clark Subdivision Surfaces Matthias Niessner, Charles Loop, and Guenter Greiner. Eurographics Proceedings, Cagliari, 2012
- Analytic Displacement Mapping using Hardware Tessellation Matthias Niessner, Charles Loop ACM Transactions on Graphics, To appear 2013
"グローバルイルミネーションを高速化する時空間アップサンプリング"
- ボクセルコーントレーシングで 1 回バウンスのスペキュラ間接光(リフレクション)のうち, ラフネスが滑らかな場合(コーンが細い場合)のものをリアルタイムに計算するのが今回の主な狙いです.
- しかしこの場合にはトレーシングするコーンが細くて高周波なので, きれいな結果を得るためにはより細かくて多いサンプリングが必要です.
- 従って, 毎フレームにタップ位置をずらしたサンプリングを少しずつ行い(空間アップサンプリング), さらに古いフレームの結果をブレンドして再利用します(時間アップサンプリング).
- また各アップサンプリング時のアーティファクトを避けるための重み関数などの実装の紹介していました.
"フルボディIKエンジンの作り方その2 (モーション補間編)"
- デザイナーさんが作ったキャラクターのモーションを他のモーションへと切り替える際には滑らかに遷移しないと見た目が不自然になっていしまいます.
- この問題を解決するためにあるモーションからあるモーションへと遷移するためのモーションを使って利用するという方法もありますが, その場合にはモーションの数が増えると遷移モーションが組み合わせで爆発的に増えるという問題が発生します.
- そこで, モーション <-> ポーズ と ポーズ <-> ポーズ の遷移の場合についてのモーションを綺麗につなげるための補間のアニメーションをゲーム向けの計算コストでプロシージャルに求める方法について紹介していました.
- 具体的にはモーションの遷移時の人型キャラクターの補間のモーションが不自然な状態(足が滑る, 足がめり込む, 急に加速するなど)にならないように, キャラクターの足の運びや重心位置の移動をお憂慮した上でフルボディ IK を使って, モーション遷移時の補間モーションをプロシージャル生成していました.
- ただ今のところは補間モーションのプローシージャル生成は, モーションの種類の遷移ごとの泥臭いコードになりがちで, そのような補間モーションを自動で一般的に解く方法が難しそう, という見解でした.
- 参考資料
実践クラスタードシェーディング
- DICE Battlfield3 のタイルベースドのライトカリングのようにスクリーンスペースで 2 次元的にカリングするのではなく, 下図のようにカメラの視錐台の中で 3 次元的な空間単位でカリングする内容でした.

次世代機を見据えた物理ベースリフレクタンスモデルの設計
- 参考URL : 次世代機を見据えた物理ベースリフレクタンスモデルの設計 CEDEC2013
- 背景と目的
- 対象は次世代のコンシューマゲーム機. 現世代のコンシューマ機に比べると, 次世代のコンシューマ機は ALU 性能が 5〜10倍. ALU フリーと言われている.
- もし画面の解像度を 1280x720 -> 1920x1080 にした場合にはピクセル総数は 2.25 倍 になる.
- 従って, ピクセルシェーダが ALU ネックである場合はこの問題がかなり解消される.
- 次世代コンシューマ機では ALU 性能が上がることを意識して, リフレクタンスモデルを再設計し直す.
- 物理ベース BRDF とは ?

- スペキュラ用の BRDF
- マイクロファセットの分布関数 D(m) は GGX.
- 幾何減衰率 G は GGX-Smith.
- フレネルは Spherical Gaussian で近似. ( X : Schlik の近似を, Spherical Gaussian で近似)
- ディフューズ用の BRDF
- ランバートは使わない. マイクロファセットを考慮したディフューズシェーディングがしたい.
- Oren-Nayer を改良して, 物理ベース BRDF の条件を満たすように改良する.
- 最終的な BRDF は以下のようになった.

- Ambient BRDF
- IBL 用の環境マップの事前フィルタリング : フィルタ処理用のカーネルを Phong->GGX に変更.
- Ambient BRDF : ALU 化したり, 積分計算はオフラインで計算してテクスチャに焼いて, テーブル参照する.

-
- Diffuse SH 用の Ambient BRDF は式と AmbientBRDF の両方を使う.

-
- Screen Space Local Reflection では AmbientBRDF を再利用する.

GPU 上でのvoxel構築手法について
- 講義資料
- 参考文献
- An Accurate Method for Voxelizing Polygon Meshes[Huang et al. 98]
- Fast Parallel Surface and Solid Voxelization on GPUs [Michael et al. 10]
- Octree-Based Sparse Voxelization Using the GPU Hardware Rasterizer [Cyril et al. 11]
- 本に載っている内容のモンテカルロレイトレーシングを図を多めに使ってわかりやすく説明.
- 残念ながら上の説明で時間切れになったので, OpenCL による実装については発表資料を参考にする必要がありそう.
"Compute Shader Magic 〜あなたの描画エンジンでコンピュートシェーダを活用するアイデア"
- コンピュートシェーダによる GPU 用の描画の効率化のアイディアを紹介していました.
- 具体的には スキニング, BlendShape, パーティクル, インスタンシング用のグラフィクスリソースをコンピュートシェーダで計算する最適化のアイディアなどについてです.
- 最後にカリング付きインスタンシング・コンピュートシェーダによる描画のバッチングを提案していました.
- フォトリアリスティックレンダリング用の既存の手法を日曜プログラミングで低コストでやってみよう, という内容.
- (スペキュラの) 物理ベースレンダリング
- 偏光板とカメラ, フラッシュを使ったアルベドテクスチャ撮影用のディフューズライティングとスペキュラライティングの分離
- クロムボールや HDR Shop 1.0 を使った IBL 用の環境マップの作成
- Voxel Cone Tracing
今回の CEDEC 2013 の講演のうち, 他のカンファレンスで似た講演があったもの
以上の内容はhttps://hanecci.hatenadiary.org/entry/20130821/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14