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