Zバッファ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
三次元画像(上)とそのZバッファの表示(下)。奥ほど白く描いている。

Zバッファ (Z-buffering) は、3次元コンピュータグラフィックスにおいて物体の描画処理を省略し高速化するための技術、およびメモリ領域である。この分野では比較的古くから存在するローテクかつ効果的な技術であり、2005年現在では流通するほぼあらゆるハードウェアで使用することが出来る。同種のより描画精度を向上させられるWバッファという技術もあるが、こちらはあまり使われていない。

概要[編集]

まず、画面(レンダーターゲット)のあるピクセルに物体を描画する際に、物体表面の深度(奥行き)を保存しておく。次に同じピクセルに物体を描画することになった場合、保存した深度の値と今回描画する物体の深度の値の大きさを比較する。この比較の事を、Zテストと呼ぶこともある。もし今回の深度の方が大きければ、つまり奥にあれば、手前の描画済み物体に隠されて見えないので新たにピクセルへ描画処理を行わずに済むことになる。

Zバッファの基本的な原理はこのようなものであるが、このとき画面全体の深度をまとめて保存しておくメモリ領域がZバッファと呼ばれる。Zバッファは一般にテクスチャサーフェスの一形態として扱われる。

Zバッファという名前は、Z-index(三次元空間の次元軸をあらわすXYZのうちZ軸の値)を保存するバッファ(一時領域)であるところから来ている。

問題点[編集]

半透明の物体を描画する際には、Zバッファの比較だけでは正しい結果が得られない。また、メモリの制約でZバッファの精度が低い場合や、広大な空間を描画する場合ではZファイティングが発生してしまい正しい結果が得られない。