[ Dx11 ] (solution) 깊이 별 레이어 이미지 생성
문제
Efficient motion blur through motion vector sharing에서 아래와 같은 문제가 발생한다.
여러 물체의 모션 블러 생성 시, 각 물체의 모션 벡터를 따라 샘플을 진행한다. 그런데 물체 간 이동 방향이 서로 다를 경우, 샘플 위치에 다른 물체가 존재할 수 있다. 이러한 경우, 배경을 샘플 해야 하나, 해당 위치의 물체로 인해 배경 정보가 없어 샘플이 실패하는 경우가 생겨 이러한 현상이 발견되는 것으로 추측된다.
이를 해결하기 위해 여러 장의 이미지를 깊이 별로 저장, 사용해야 하는데 , 이를 모두 렌더링하는 것은 비용이 너무 크므로, depth peeling을 활용하고자 한다.
해결
HLSL의 discard(현재 픽셀의 결과를 출력하지 않는다)를 활용,
depth에 따른 peeling된 각 이미지를 얻을 수 있었다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.