深度テストに特別なプロセスが必要です。まず、GPU デプス テストではなく、シェーダーでの正しいデプス計算を自分で知りたいです。
深度テストを無効にし、深度バッファを書き込んで深度テストと同じ効果を達成する場合:
ピクセル シェーダー:
void main(void) {
float depth = (position.z / position.w + 1.0) * 0.5
gl_FragColor = vec4(depth, depth, depth, 1.0);
}
それは正しい実装ですか?奥行の長さの違いはどうですか?(深さ16または深さ24)