Game/Graphics

두깨를 알아보자

newpolaris 2017. 12. 1. 16:48

가장 간단한 것

(front face cull - back face cull)

이렇게되면 Gbuffer 계산에서 back face cull 나온다고 하면 한번더 계산해야한다.

지오메트리에 따라 depth buffer 를 계속 쓸 수 있을 지 여부가 다른데

MMD 는 투명에다가 backface 를 그려야해서 depth clear 해야하더라

그런데 back face 만 존재하는 개체 때문에 depth가 특정부분에서 크게 나온다

머 다른거 없나 해서 찾아봤는데

반투명 렌더링을위한 듀얼 깊이 버퍼링

https://interplayoflight.wordpress.com/2013/07/16/dual-depth-buffering-for-transluncency-rendering

min(depth, 1-depth) 를 계속 누적시켜 (1-g) - r 한다는 것인데

머냐 이건. 결국 화면의 최소, 화면상 최대가 되버려서;

특정 상황에서 쓸 수 있다.

여기에

http://prideout.net/blog/?p=51

gl_FrontFacing 로 back face 여부를 받아들여서 따로 누적시키는 방법도 짤막하게 나와있고

https://forum.unity.com/threads/rendering-object-thickness-volume-with-two-pass-shader.355235/

이런 저런 이야기가 있다.