뷰포인트 기준으로 거리에 따라 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이다.