오늘은 뎁스 버퍼에 대해서 다뤄볼생각


뎁스 버퍼는 3d 그래픽에서 물체의 화면상 깊이를 저장하는데 사용하는 버퍼임ㅇㅇ


요게 있어야 앞에 나올 녀석이 앞에 나오고, 뒤에 나올 녀석은 뒤로감ㅋㅋ


자, 예시로 지난번에 그려본 사각형을 2중으로 한번 그려보겠음


ac5939a70001b942813e33669735c1bcc2a977c21c773585f0dabed5e42e074dc2d2552d4ea3fd29caa114c2d1971e9edecd93d77a548eb71881b25a94575f458ac5a3133436b05111ce4a766a7705


내가 원하는건 위에놈이 실제로 더 위에 표시되는건데, 결과물을 보면 아랫놈한테 덮혀지는 것을 알 수 있음ㅜㅜ


이건 깊이 테스트를 전혀 하지 않고 그냥 드로잉을 해버려서 그런거임



자 이제 깊이 테스트 관련 코드를 작성하고 돌려보자





위에 놈이 아랫놈보다 위에서 잘 돌아간다!!


웹에서 보기

https://erenengine.github.io/eren/eren_render_shared/examples/test_depth_buffer.html


WASM Test Depth Buffer

WASM Test Depth Buffer

erenengine.github.io



이제 뎁스 버퍼까지 다뤘으니 필수적인건 거의 다 다룬듯ㅋㅋ


관련 코드들


- vulkan 구현: https://github.com/erenengine/eren/tree/main/eren_vulkan_render_shared/examples/test_depth_buffer

- wgpu 구현: https://github.com/erenengine/eren/tree/main/eren_render_shared/examples/test_depth_buffer

- webgpu 구현: https://github.com/erenengine/erenjs/tree/main/eren-webgpu-render-shared/examples/test-depth-buffer

- webgl 구현: https://github.com/erenengine/erenjs/tree/main/eren-webgl-render-shared/examples/test-depth-buffer




그럼 담에 바


충성