Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Visual Studio

Early depth testing, Early z pass 본문

Graphics

Early depth testing, Early z pass

emacser 2024. 9. 17. 16:19

Fragment Shader (Direct X에서는 Pixel Shader) 이후 Depth test를 수행하여 Depth test에 실패한 Fragment를 폐기하는 과정을 거치는데, 이를 Fragment Shader 이전으로 앞당겨 그려지지 않을 Fragment에 대한 불필요한 Fragment Shader 연산을 하지 않도록 할 수 있다.

 

장점

- 불필요한 Fragment Shader 연산을 줄일 수 있다.

- 따라서 GPU 부하가 감소한다.

 

단점

- Fragment Shader가 깊이값을 변경하는 경우에는 의도대로 렌더링되지 않을 수 있다.

- 반투명 오브젝트가 Depth test에 실패하여 렌더링되지 않을 수 있다.

- 사용하는 Fragment shader의 연산이 가벼운 경우 Early depth test를 사용하면 오히려 성능이 떨어질 수 있다.

 

 

부록: Early z pass에 대한 설명(2 pass rendering), 대안으로 사용할 수 있는 Object Sorting에 대한 소개

https://blog.naver.com/leesg213/150074279179

 

참고자료

https://blog.naver.com/leesg213/150074279179

https://heinleinsgame.tistory.com/24

https://www.khronos.org/opengl/wiki/Early_Fragment_Test

 

 

 

 

'Graphics' 카테고리의 다른 글

[Vulkan] Push constants  (0) 2024.10.01
[Vulkan] Primary Command Buffer vs Secondary Command Buffer  (0) 2024.09.17
DirectX 11 Pipeline Stage  (0) 2022.06.07
Tessellation  (0) 2022.06.06
DirectX 디버깅 도구 : Microsoft PIX (2)  (0) 2022.06.06