Depth Buffer

depthTest

depthWrite

🚬 물체가 화면에 렌더링 되는 기준

<aside> 💡 화면에 렌더링된다는 것을 화면의 픽셀을 차지했다고 생각하자 (땅따먹기) 기본적으로 나중에 그려지는 물체가 픽셀을 차지하려고 한다. (실제로 앞에 있든 뒤에 있든 상관 없음) 그러므로 나중에 그려지는 물체를 기준으로 생각해야한다.

</aside>

결론적으로 나중에 그려진 물체가 왠만하면 픽셀을 뺏고 싶어하는 건데, 인간적으로 상대방의 depth 를 고려해주는 물체면 depth 에 맞게 픽셀을 양보하고, 그런거 신경 안쓰면 그냥 픽셀 뺏어버린다.

참고

스크린샷 2024-01-13 오전 1.14.26.png

이렇게 큐브 2개 살짝 겹쳐놓고

blackCubeMaterial.renderOrder = 1;
whiteCubeMaterial.renderOrder = 2;

렌더링 순서 바꿔보면서 depthTest, depthWrite 바꿔가며 테스트 해보면 어떤 차이가 있는지 실험해 볼 수 있다.