ShadowMap
-
[UE5] Dynamic Shadow (2/2) - Spot/Point/Rect lightUE4 & UE5/Rendering 2022. 5. 7. 02:46
[UE5] Dynamic Shadow (1/2) 최초 작성 : 2022-05-07 마지막 수정 : 2022-05-07 최재호 Updated 2020-12-17 : CubeMap 의 6면을 동시에 그리는 방식이 인스턴싱을 통해 처리한다는 설명을 추가했으며, 기존에 SV_RenderTargetArrayIndex 부분이 지오메트리에 쉐이더에서 하는 작업을 처리해준다는 설명은 잘못된 내용이라 제거 목차 1. 환경 2. 목표 3. 내용 3.1. Light가 렌더스레드에 미러링 되는 과정 3.2. Light가 렌더스레드에 추가되는 과정 3.3. Light의 Transform이 업데이트되어 렌더스레드에 반영되는 과정 3.4. Light가 렌더스레드에서 제거되는 과정 3.5. Spot light 의 쉐도우맵 렌더링 준..
-
Exponential Shadow Map(ESM)Graphics/Graphics Study 자료 2020. 4. 23. 21:57
Exponential Shadow Map(ESM) 최초작성 : 2020-04-23 마지막수정 : 2020-04-23 최재호 목표 ESM Shadow 에 대해 알아보고 실제 구현해봅니다. 개요 Standard shadow map 의 Shadow edge를 부드럽게 처리할 수 있는 기법 중 하나입니다. 구현방법도 VSM보다 간단하고, ShadowMap으로 R32 텍스쳐만 있으면 되므로 VSM 보다 더 적은 메모리를 사용합니다. 구현 SSM(Standard Shadow Map)의 경우 ShadowMap에 Depth 값을 저장합니다. 하지만 ESM의 경우 저장하는 값이 달라질 뿐 나머지 과정은 모두 동일합니다. 그리고 ShadowMap 의 필터링도 미리 처리해둘 수 있는 장점이 있습니다. 아래 그림에서 기존 S..
-
DeepShadowMap(DSM)Graphics/Graphics Study 자료 2020. 2. 25. 08:02
DeepShadowMap(DSM) 최초작성 : 2020-02-24 마지막수정 : 2020-02-24 최재호 소개 Volumetric shadow 기법 머리카락과 같은 물체에 의해서 차폐되어 그림자가 생기는 경우를 고민해보자. 이 경우 그림자는 즉시 완전히 차폐 되는 것이 아니라 일부 빛은 머리카락을 통과하여 그림자가 서서히 진해지게 된다. DSM을 통해서 이 부분을 표현할 수 있다. 링크드리스트로 Depth 정보를 연결하여 해당 픽셀의 Depth에서의 투과율 정보를 Alpha로 저장함. 아래 이미지처럼, 가려지는 횟수가 많아질 수록 Lit 값이 점점 떨어지게 됨. 일반 ShadowMap의 경우는 가려지는 즉시 해당 ShadowMap의 Depth 값 보다 카메라에서 더 멀리 있는 물체는 모두 그림자를 만들..
-
Dual Paraboloid ShadowMapGraphics/Graphics Study 자료 2020. 2. 18. 23:47
Dual Paraboloid ShadowMap 최초작성 : 2020년 2월 17일 최종수정 : 2020년 2월 17일 최재호 목표 Dual-Paraboloid Map 소개 소개 Environment or Shadow map을 생성하기 위해 사용할 수 있는 알고리즘 2개의 Paraboloid(포물면) 을 이어 붙인 형태로 아래의 공식을 사용하여 생성 위와 같은 형태의 Paraboloid 선택. (편미분하게 되면, x or y 로 딱 떨어져서 1/2를 사용하는 것 같음) Math3D.org 에서 렌더링한 Dual Paraboloid Paraboloid의 특징으로 아래와 같이 Focal Point 방향의 입사광선은 Paraboloid와 평행한 방향으로 반사된다는 것 위의 그림처럼 입사광선(In)이 있을경우 반..