Blender にイレギュラーシャドウバッファが搭載
投稿日時 2006年10月16日 | カテゴリ: テストビルド
|
Blender Gets Irregular Shadow Buffers at BlenderNation
Eugene(etr9j)氏による記事です。
通常、私たちは月末に投稿する10月のCVS レポートまで待つのですが、このアイテムは非常にクールであり、黙っていることはできませんでした。Ton氏は最近、新しいタイプのシャドウバッファ(Shadow Buffer)を CVS にコミットしました。これはいくつかの非常に興味深く新しい方法を利用し、 Blender に素晴らしい機能を与えます。
Ton氏の説明からの引用です。:
引用:今まで Blender でサポートされていた古典的(Classical)な Shadow Buffer は、Spot Lamp から見た Z 値付きの画像を作成し、その Z 値を使用して、影を受け取るかどうかを決定します。注意深くバッファの解像度とクリッピング情報を調整することにより、影の品質を設定することができます。 しかし、このシステムは常にバッファサイズの限界に悩むことになり、あらかじめ Scene 全体のために計算してスレッドタイルレンダリングシステムの一部とならないようにする必要がありました。
最近、代替の上手い方法の論文がいくつか公開されました。それは、通常の Lamp 位置の視点から画像を作成する代わりに、レンダリングされたサンプル(画像のピクセル)を "Lamp スペース" にマップし、これらのサンプルを、Scene 内の Face にシャドウを投影されるかを決定するのに利用します。 この方法は、このようなすべてのサンプルを単純に Lamp スペース内の通常のX-Yグリッドに格納できないことから、「イレギュラー Z バッファリング(Irregular Z buffering)」と呼ばれています。それぞれのサンプルは、シャドウのテストを独立して行うため、その結果は鮮明で、レイトレースシャドウのようにシャープです。この方法が Blender で使用できるようになりました。
素晴らしい技術説明でしたが、つまりどういうことでしょう? これが意味するのは、通常のシャドウマッピングのパフォーマンスの利点を保ったまま、イレギュラーシャドウバッファは、レイトレースもしくはシャドウボリュームベースのレンダラによって生成された物と同じぐらい正確なハードシャドウを生成するのに使用できるということです。他におまけとして、半透明(Transparent)シャドウが(Material パネルの "Shade A" ボタン(Shadeless と Env ボタンの並び)を通じて)できるようになりました。 サンプルがBlender.org サイトにあります。
この素晴らしい機能は、最新のCVSビルドの中の、Spot Lamp の Shadow Buffer オプションにあります。Linux と Windows のビルドが Blenderbuilds にあります(元記事を参照して下さい)。
ちなみに、当方は以前、Bias の処理が変わった所為で既存の状態と違うセルフシャドウのかかり方をするのを発見していたのですが、報告しないうちに完全に正反対の方向に進化したようです。orz
まあ、まだソフトシャドウや Halo step が実装されていないということなので、これからに期待したいところです。
|
|