「深度バッファ」の版間の差分

imported>Administrator
 
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
深度バッファ(depth buffer)とは、3DCGにおいて深度情報を用いて物体の描画処理を省略し高速化するために確保されたメモリ領域である。
'''深度バッファ'''(depth buffer)とは、[[3DCG]]において深度情報(Z値)を記録しておく[[バッファ]]([[メモリ]])のことです。これを利用することで不要な描画処理を省略することができます。
深度バッファは「[[Zバッファ]]」などとも呼ばれます。いわゆる方言であり意味は同じです。


== 概要 ==
== 概要 ==
一般的に深度バッファは「0.0〜1.0」までの範囲の24ビットの[[固定小数点数]]で表されることが多い。これは処理系により異なる。16ビットや32ビットの[[浮動小数点数]]を用いるものもある。
[[パソコン]]界隈では深度バッファは「0.0〜1.0」までの範囲の24ビットの[[固定小数点数]]で表されるものが[[デファクトスタンダード]]となっています。
これは[[Direct3D]]が標準採用した形式だったためです。
ただ24ビットでは転送効率が良くないので、8ビットの[[ステンシルバッファ]]を加えて、計32ビットで処理するものが多いです。


「24ビット固定小数点数の深度バッファ」は[[DirectX]]が長らく採用してきた関係で広まっているだけである。
処理系によっては16ビットや32ビットの[[浮動小数点数]]を用いるものもあります。
 
また、24ビットでは転送効率が良くないので、8ビットに[[ステンシルバッファ]]を割り当て、計32ビットで処理することが多い。


== 深度テスト ==
== 深度テスト ==
12行目: 13行目:


これは擬似的なプログラミング言語である。
これは擬似的なプログラミング言語である。
<source>
<source lang=text>
// 深度バッファを準備する
// 深度バッファを準備する
var depthBuffer = new DepthBuffer[w,h];
var depthBuffer = new DepthBuffer[w,h];
41行目: 42行目:
* [[ステンシルバッファ]]
* [[ステンシルバッファ]]
* [[カリング]]
* [[カリング]]
[[category: 3DCG]]