Motion Compensated SNR and DR Enhancement With Motion Blur Prevention Using Multicapture
Shaderstudy Motion Blur
-
Upload
yong-gyun-im -
Category
Technology
-
view
1.357 -
download
0
Transcript of Shaderstudy Motion Blur
속도감을 표현하는데 매우 유용
낮은 fps를 부드럽게 커버해준다.
픽셀 별 속도 버퍼(velocity buffer)를 생
성해야 되기 때문에 별도의 패스가 필요하
다.
MRT를 이용하여 패스를 줄일 수 있다.
모든 scene의 shader에 속도를 계산하고 별
도의 render target으로 출력하는 코드가 추
가되어야 한다.
MRT의 성능이 좋지 않은 하드웨어가 있다.
depth buffer를 pixel shader의 texture input으로 활
용한 테크닉
depth buffer와 현재 프레임의 view-projection matrix를 이
용하여 world position을 구한다.
world position을 이전 프레임의 view-projection matrix와 연
산하여 이전 프레임의 viewport position을 구한다.
현재 프레임의 값과 이전 프레임의 값을 빼면 velocity값을 구
할 수 있다.
velocity값을 기준으로 여러 번 샘플링 한다.
기존의 엔진에 쉽게 통합 될 수 있다.
post-processing step
H : viewport-space position
M : world-view-projection matrix
W : world-space position
depth buffer와 현재 프레임의 view-projection matrix를 이용하여 world position을 구한다.
world position을 이전 프레임의 view-projection matrix와 연산하여 이전 프레임의 viewport position을
구한다.
velocity값을 기준으로 scene을 여러 번 샘플링
한다.
카메라의 움직임에 의해서만 모션 블러가 생긴다.
dynamic object는 블러가 생기지 않는다!
별도의 texture를 생성하여 dynamic object의velocity를 기록한다.
앞에서와 같이 viewport position의 차를 구하면 된다.
world-view-projection matrix를 이용한다.