깊이 버퍼(depthBuffer)의 z
값과 인자로 준 z
값을 비교합니다. 결과는 boolean
이며, 결과가 true
라면 인자로 준 z
가 카메라와 더 가깝다는 의미이기에 현재 픽셀값을 덮어씌워야 합니다. 이 과정은 Renderer.setPixel()
함수로 수행하면 됩니다. 깊이 버퍼(depthBuffer)는 자동으로 갱신됩니다.
일반적으로 해당 함수는 Renderer.drawTriangle2D()
에서 사용됩니다. 만약 Renderer.drawTriangle2D()
의 인자로 준 material
이 zTest = false
라면, Renderer.drawTriangle2D()
는 항상 픽셀을 덮어씌우게 됩니다. 이 경우 깊이 버퍼(depthBuffer)가 갱신되지 않음에 유의하시길 바랍니다.
깊이버퍼를 초기화하고 싶다면 Renderer.clearDepthBuffer() 를 호출하시길 바랍니다. 일반적으로 이 과정은 GameEngine
에서 자동으로 수행합니다.
Renderer.zTest(screenPoint, z);
screenPoint
픽셀의 위치를 나타내는 Vector2
. 스크린 좌표(screen coordinate)는 픽셀 배열(pixelBuffer)의 인덱스를 계산하는데 사용되므로, x
, y
성분들은 모두 정수(Integer)이어야 합니다.
z
찍을 픽셀의 깊이값을 나타내는 number
.
현재 픽셀을 찍어야할지 여부를 나타내는 boolean
. true
라면 현재 픽셀로 덮어씌우면 되며 Renderer.setPixel()
을 호출하여 수행하시면 됩니다.