CG用語集トップ > 第3章 レンダリング

Zバッファ法

Zバッファ法は、画素ごとに奥行き値を記録し、手前にある面だけを残す隠面消去の方法である。描こうとしている面の奥行きと、すでに記録されている奥行きを比較して表示を決める。

Zバッファ法に必要なメモリ領域

Zバッファ法の描画過程

Zバッファ法では、画面の各画素に対応する奥行き値をフレームバッファとは別の領域に記録する。新しいポリゴンを描くとき、その画素位置での奥行き値を調べ、現在記録されている値よりも手前にある場合だけ色を書き込み、Zバッファも更新する。奥にある場合は描かない。この方法では、ポリゴンをどの順番で処理しても、画素ごとに最も手前の面を残しやすい。奥行きソート法のようにポリゴン全体の描画順を決める方法とは考え方が違う。

CG制作では直接操作する用語ではないが、3Dモデルの前後関係が自然に表示される基礎になっている。面が重なっている場面でも、手前にある面だけが見えるのは、このような奥行き管理があるためである。

ゲーム開発では、Zバッファ法はリアルタイム3D描画の基本である。不透明な3Dオブジェクトの描画では、Zバッファにより前後関係を自動的に解決できる。透明物体では別途描画順の注意が必要になる。

DirectXなどの描画では、深度バッファとして実装される。深度テストを有効にすると、奥にあるピクセルは描画されず、手前にあるピクセルだけが残る。

Zバッファ法は、画素ごとに奥行きを比較する方法である。フレームバッファが色を保持するのに対し、Zバッファは奥行きを保持する点を区別する。

  • cg/rendering/z_buffer_algorithm.txt
  • 最終更新: 4週間前
  • by 127.0.0.1