超雑訳 Logarithmic Perspective Shadow Maps (11)

Share

D. Brandon Lloyd氏の博士論文である,Logarithmic Perspective Shadow Mapsを適当に訳していくことにします。
今回は結論について記しているChapter.8を訳していくことにします。
誤訳があったりなど,日本語としては多々見苦しい点があるかと思いますが,そこはご容赦ください。


CHAPTER 8

Concolusion

この論文の目標は高品質で,リアルタイムアプリケーションのためのハードエッジシャドウを生成することです。シャドウマップはこの目的を達成するために最も魅力的なアルゴリズムのひとつです。なぜかというと,柔軟性と良いパフォーマンス特性であるからです。しかし,シャドウマップはエイリアシングアーティファクトを被ります。我々の焦点はシャドウマップを描画するためにより良い標本分布を使用することによってエイリアシング誤差を減らすことです。理想的には,シャドウマップクエリが生成される場所で正確なサンプルにしたいです。しかしこれは,リアルタイムパフォーマンスで扱うには困難です。なぜかというと,イレギュラーなデータ構造を必要とするアプローチは現在のハードウェア上で効率的に実装するのが難しいからです。代わりに我々は,現在のハードウェア設計によりふさわしい新しいワーピングテクニックである対数透視シャドウマップ(LogPSMs)を提案しました。このテクニックをサポートするために必要とされる対数ラスタライゼーションは既存のハードウェアに比較的少ない機能拡張を通じて実装することが可能であり,より少ない誤差で今日使われているリアルタイムシャドウマップと同等のパフォーマンスを達成する可能性があります。
既存のワーピング手法のように,LogPSMは視錐台あるいはその側面へシャドウマップの領域がしっかり適合するように透視投影を使用します。これは視線方向に沿って2次的に増加するシャドウマップサンプルの間のスペースを引き起こします。しかしながら,高い誤差を回避し,シャドウマップクエリ間のスペースに合うようにスペースは線形に増加すべきです。LogPSMは対数変換を適用することによって2次的なスペースを修正します。
我々はどのぐらいLogPSMが既存の手法を超える改善を提供できるかを決めるために深度上でのエイリアシング誤差の解析を実施しました。我々の分析の焦点は、シーンに関する情報を必要とすることなく,視錐台内の任意の点での最大誤差を最小化することでした。エイリアシングエラーの透視要素はシーンにおけるサーフェイスの向きに依存しないので,我々はこの要素を最小化しました。透視エイリアシング誤差についての尺度としてシャドウマップの次元の両方に沿った最大誤差を考慮したストレージ因子を導入しました。ストレージ因子を最小化することは最適に近いパラメータライゼーションを生みます。不運なことに,このパラメータライゼーションはかなり複雑で,それゆえ実現困難です。しかしながら,このパラメータライゼーションとして同じ最大誤差をLogPSMが持つことを示しました。既存のワーピングアルゴリズムには当てはまりません。これはLogPSMの誤差が下限に近いということを意味します。
 
 

8.1 Benefits of logarithmic perspective shadow maps

LogPSMの主な利点の1つは視錐台全体についてより均一な誤差分布を与えることです。他の手法はシーンの異なる部分についてはLogPSMよりも実際には低い誤差を持つかもしれません。例えば,標準シャドウマップは普通遠く離れた領域についてはLogPSMよりも低い誤差を持ちますが,ニア平面近くにおいては高い誤差を犠牲にすることになります。
一般的には,LogPSMアルゴリズムは透視ワーピングに基づく同様のアルゴリズムよりも低い最大誤差を持ちます。透視ワーピングについてのストレージ因子は \(O(f/n)\) であることを示しました。ここで \(f\) と \(n\) はファー平面とニア平面の距離です。対照的に,LogPSMパラメータライゼーションは \(O(\log(f/n))\) のストレージ因子を持ちます。それゆえ,LogPSMは高い\(f/n\) を持つシーンにおいて他の手法を超えて最も素晴らしい改善を提供します。
LogPSMパラメータライゼーションは単一のシャドウマップをワープするのに使用することができ,フェースパーティショニングや\(z\)-パーティショニングといった分割テクニックと組み合わせることが可能です。単一のLogPSMシャドウマップは既存のシーン非依存のワーピングテクニックの最も優れた誤差削減を提供することができますが,全てのライト方向のサブセットについてのみとなります。ライト方向が視線方向に垂直であるときに最も誤差が低くなります。最も高い誤差はライトが後ろあるいは観測者の前であるときに発生します。そのような場合において,ワーピングは使うことができません。これらのライト方向について低い誤差をえるために,パーティショニングスキームを使用すべきです。\(z\)-パーティショニングはライトが後ろにある場合についての誤差を減らしますが,ライト方向が視線方向に垂直なときは誤差に影響を与えません。\(z\)-パーティションの数が増加するにつれて,LogPSMワーピングと透視ワーピング間の相対誤差は減ります。多数のパーティションについて,ワーピングはユニフォームパラメータライゼーションを超える小さな利益を与えます。それゆえ,LogPSMパラメータライゼーションは使用される \(z\)-パーティションが小数のみのときにユニフォームあるいは透視パラメータライゼーションを超える最もよい相対的な利点を与えます。
すべてのライト方向についてワーピングの利益を得るために,フェースパーティショニングスキームが使われるべきです。これは描画に必要とされるシャドウマップの数を増やします。同数のシャドウマップについて,透視ワーピングを組み合わせたフェースパーティショニングよりも実際には\(z\)-パーティショニングがより低い誤差を与えることを示しました(ただし,\(z\)-パーティショニングが面上で使われる場合を除きますが,このときフェースパーティショニングがシャドウマップの数が多い場合のみよりも良く,相対的な誤差はかなり小さくなります)。LogPSMにはこれは当てはまりません。フェースパーティショニングを持つLogPSMは常に\(z\)-パーティショニングよりも全てのライト方向についての最大誤差はより低くなります。しかし,十分な数のパーティションを持った \(z\)-パーティショニングスキームはLogPSMと極めて近い同じ誤差を得ることができます。セクション5.4.6で \(z\)-パーティショニングを用いてLogPSMを近似する方法について説明しました。ディレクショナルライトについて,ライト方向が悪い場合についてさえも8から16のパーティション数はLogPSMと競合し始めます。全方位ポイントライトについては,LogPSMは \(z\)-パーティショニング以上の利点を持ちます。なぜかというと,\(z\)-パーティショニングは複数の面に適用する必要があるからです。最後に,LogPSMの利益は対数ラスタライゼーションを伴うシャドウマップをいくつかレンダリングすることと \(z\)-パーティショニングを用いて数多くのシャドウマップを描画することの間のコストの相対な差を下げます。
 

8.2 Limitations

LogPSMは他のシーン非依存の手法と同じ制限を共有します。これらの手法はサーフェイスの向きに知見を持たないので,透視誤差を扱うことができません。それゆえ,画像からエイリアシングを完全に取り除くことを保証することができません。シャドウマップは透視エイリアシングを排除するためにただでさえ画像よりも数倍多くなければなりません。ほとんどのサーフェイスで許容可能な射影エイリアシングを減らすためには,シャドウマップは普通数倍多くなければなりませんが,全てのサーフェイスについてこれでも十分ではありません。これらのサンプルの多くはライトさえ見えないシーンの部分に無駄に使われます。画像中のピクセル数以上はシャドウサンプルを必要としないイレギュラーzバッファと比較すると,シーン非依存の手法はサンプルの用途面で非常に非効率になる可能性があります。
LogPSMアルゴリズムはフェースパーティショニングを使用し全てのライト方向について最も利益を与えます。過度に複雑なものでありませんが,フェースパーティショニングは \(z\)-パーティショニングのように単純ではありません。ライト位置とともにフェースパーティションの数は変化しますが,\(z\)-パーティションの数は一定のままです。フェースパーティションそれ自体を計算することは凸多面体の交差とクリッピングルーチンを必要とする可能性があります。これらのルーチンのロバストな実装は簡単ではありません。さらに,フェースパーティショニングは悪いシアリングアーティファクトを見せる可能性があります。この問題を解決するためのテクニックを提案しましたが,それらは必ずしも完全に満足のいくものではなく,付加的な複雑性を持つアルゴリズムにさせます。
おそらく,LogPSM最大の制限は現在のGPU上で対数ラスタライゼーションが利用できないことです。シーンの適応的なテッセレーションを使用するかあるいはフラグメントプログラム上でのブルートフォースラスタライゼーションを用いるどちらか一方でシミュレートすることができますが,これらのアプローチの両方は実装の複雑性を増し,かなりパフォーマンスを落とす可能性があります。我々はグラフィックスハードウェアへの修正で対数ラスタライゼーションがどのように実装可能であるかを示しました。イレギュラーzバッファのようなより良いアルゴリズムもまたハードウェアの修正で実装可能ですが,対数ラスタライゼーションに必要とされる変更はよりインクリメンタルです。しかしながら,対数ラスタライゼーションはイレギュラーzバッファよりも一般性が少ないです。実際には,影描画以外の対数ラスタライゼーションのための別のアプリケーションを思い浮かびませんでした。ダイ面積は貴重であるので,ベンダーは特化した機能よりも一般的な機能を好むでしょう。シャドウはリアルタイムアプリケーションに非常に重要な一部ですが,帯域幅とストレージを節約しようがなかろうが,ハードウェア実装のメリットが十分あるLogPSMを通じて適用される対数ラスタライゼーションは経済上の要因とシャドウマップの継続する需要に依存します。
 

8.3 Future Work

この論文では,\(z\)-パーティショニングとフェースパーティショニングを用いたワーピングの組み合わせを調査しました。いくつかのレンダーパスを伴う単純なアルゴリズムに焦点を置いているので,適用的なパーティショニングを用いたワーピングの組み合わせは大々的に見ませんでした。既存のアルゴリズムのいくつかはワープしたシャドウマップを調整するために四分木を適用します。GieglとWimmer(2007a, 2007b)はLiSPSMを調整する四分木を生成することによって改善することを報告しています。我々はRMSMs(Lefohnら, 2007)を用いたワーピングを組み合わせる予備実験のいくつかをおこないました。必要とされるパーティションの数が減少されることを期待していました。驚くべきことに,実際にはパーティションの数は増えました。ワーピングは観測者に向かう視錐台の遠端から遠く離れたサンプルをシフトします。これが意味するのは遠く離れた領域は以前の者よりも高いレベルに四分木を調整する必要があることであり,一方で観測者に近い領域は同じくらい調整する必要はありません。遠く離れた領域は大きな空間的な広がりをカバーするので,ワーピングによって保存されるよりも新しいパーティションが必要とされるようにみえます。しかし,これはGieglとWimmerの結果と競合するように見えます。RMSMsがより細かい粒度(\(32 \times 32\)解像度のシャドウマップに対して \(2K \times 2K\) の解像度)を使用しているのでこれらの結果を観測するのかもしれません。より徹底的な調査を実施し,起こっていることを正確に理解するために,より理論的な分析を提供したいと思います。これらのアルゴリズムは透視と射影エイリアシングの両方を扱うことができるので,ワーピングと適用的なパーティショニングの組み合わせは特に興味深いです。
 LogPSMと既存のワーピングアルゴリズムはシーンに非依存です。これらのアルゴリズムはシーンジオメトリが視錐台内の任意の場所で見ることができることを前提にしています。しかしながら,たびたび視錐台の大きな領域が空になる場合があります。我々が示した疑似ニア平面はシーン内のオブジェクトの予測された位置についての大まかな情報を提供するの使用することが可能であり,それはさらなるシャドウマップワーピングの最適化に使用することができます。現在,疑似ニア平面は手動で設定しています。我々はシーン内の可視できる最も近いサーフェイスの近似計算をすることによって適応的に疑似ニア平面を設定するアルゴリズムを調査したいと思っています。
 この論文では,最大誤差の項で様々なアルゴリズムを分析しました。しかしその他の誤差尺度が可能性です。ワーピングパラメータを選択するために単一アルゴリズムは全てのアプリケーションについて十分ではありません。5章で述べたように,ユーザーの特定のニーズに最も合致する視錐台をまたいだ誤差プロファイル選択するためのワーピングパラメータ形状曲線と/あるいは \(z\)-パーティションの位置を対話的に操作するツールを生成したいです。
我々が提案した対数ラスタライゼーションのためにハードウェア変更を実行するために詳細分析が必要となります。詳細なパフォーマンスデータをより多く得るためにシステムのプロトタイプを構築したいと思っています。
 対数ラスタライゼーションはラスタライザーをより大きく一般化するコンテキストの大きな一部です。重要なライティングとレンダリング効果の多くは非線形ラスタライゼーションで実装可能です。例えば,反射,屈折,コースティクス,複数透視レンダリング(Houら,2006)そして全方位シャドウ(Brabecら, 2002b)など。近年におけるGPUのその他の部分はプログラマビリティの増加がみられるので,より一般的な方法でこれらの効果を処理するのを可能にするプログラマブルなラスタライザーの可能性を見ることは興味深いです。
 LogPSMは既存のワーピングアルゴリズムを超える大幅な改善を提供できますが,アーティファクトフリーなシャドウを提供するためになすための作業は残ったままです。一定(30から60FPS)を保つリアルタイムグラフィックの制約とディスプレイ解像度がかなりゆっくりと増加するようにみえるので,増加するグラフィックスハードウェアの計算力はリアルアイムパフォーマンでより洗練されたシャドウイングアルゴリズムの使用を最終的には可能にすることを望んでいます。それまでは,リアルタイムアプリケーションについて高品質なシャドウ生成は課題のままであり,開かれた研究領域であり続けます。
 
 


11回にわたって和訳をしました。
166ページと表示に長かったですが,
一通り超雑に和訳したということで,完了とさせてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください