D3D12엔진개발-Cascade Shadow Map

뷰포인트 기준으로 거리에 따라 4단계의 Cascade Shadow Map을 적용했다.
이전 포스팅에서 언급했던것처럼 Shadow Map으로부터 SRV를 설정한 descriptor handle을 미리 준비해둔다.
오브젝트 렌더링시에 shadow적용을 받는 경우 오브젝트의 Descriptor Table의 Shadow Map영역에 Shadow Map의 descriptor을 CopyDescriptorsSimple()함수로 카피한다.
shadow적용을 받지 않는 경우는 1×1사이즈의 white텍스쳐의 Descriptor를 카피한다.
Shadow Map생성을 위해 shadow caster오브젝트들을 렌더링할땐 별도의 ID3D12GraphicsCommandList를 사용하므로 반사처리라든가 등등 pre-rendering하는 작업들과 동시에 병렬로 처리 가능하다.
다음 작업은 post processing이다.

Shadow off

d3d12_non_shadow

Shadow On

d3d12_shadow


답글 남기기

댓글을 게시하려면 다음의 방법 중 하나를 사용하여 로그인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중