Platform SDK: DirectX |
3D シーンを作成するとき、2D オブジェクトを 3D オブジェクトであるかのように表示することによってパフォーマンスを向上できることがある。この考え方が、ビルボード処理技術の基になっている。
通常の意味でのビルボードは、道路沿いの掲示板のことである。Direct3D アプリケーションは、矩形ソリッドを定義し、それにテクスチャを適用することで、この種のビルボードを簡単に作成、レンダリングできる。3D グラフィックスでの特殊な意味でのビルボードは、これを拡張したものである。この意味でのビルボード処理の目的は、2D オブジェクトを 3D オブジェクトのように見せることである。この技術は、オブジェクトの画像を含むテクスチャを矩形プリミティブに適用することである。このプリミティブは、正面が常にビューアの方を向くように回転される。このオブジェクトの画像は矩形でなくても問題ない。ビルボードの部分を透明にして、表示したくないビルボード画像の部分を不可視にすることができる。
多くのゲームで、アニメーションしたスプライトにビルボード処理が採用されている。たとえば、プレーヤーが 3D の迷路を移動するとき、収集できる武器や褒美が表示される。これらは、矩形プリミティブにテクスチャを適用した典型的な 2D 画像である。ビルボード処理は、ゲームで木や潅木の画像をレンダリングするために使用されることが多い。
ビルボードに画像を適用するときは、最初に、正面がビューアの方を向くように矩形プリミティブを回転しなければならない。次に、このプリミティブを配置場所に平行移動しなければならない。その後、このプリミティブにテクスチャを適用できる。
ビルボード処理は、対称的なオブジェクト、特に垂直軸に対して対称的なオブジェクトの処理に最適である。また、ビルボード処理には、視点の高さがあまり上がらないことが必要である。ユーザーがビルボードを上から見ることが許されている場合、そのオブジェクトが 3D ではなく 2D であることがすぐにわかってしまう。