Direct3D에서 깊이 성분 의 정규화는 [0, 1] 사이의 값으로 사상된다.
near, far 구간을 [0, 1]사이값으로 사상하는 함수를 g(z)라고 했을때 다음과 같다.
z에 각각 near(가까운 평면이 0), far(먼 평면이 1)를 대입해서 A,B 를 구하면 아래와 같다.
z에 near를 대입해서 B를 구하면 $B=-An$ 이 된다.
이렇게 구한 B를 위의 식에서 치환하고, z에 far를 대입하면 아래와 같이 A를 구할 수 있다.
$A+{-An \over f}$
$Af-An \over f$
$Af-An=f$
$A={f \over f-n}$
이제 최종적으로 처음 공식에 A와 B를 대입하면 아래와 같다.
$g(z)={f \over f-n}-{nf \over (f-n)z}$
이렇게 함수 g를 통해 구해진 z값은 아래 그래프와 같이 near, far 각각의 평면에 근접한 값들의 사상한 값이 몰려있음을 볼 수 있다.
언리얼3를 할 때 far plane을 거의 무한대로 밀어서 사용하는것을 보았는데, 범위를 약간 확장하는 의미가 있다.