Appearance
그림자 생성(6)~개량형 깊이 그림자 기법(1)
[칼럼 핵심 요약]
그림자 생성 기법의 주류가 되고 있는 뎁스 그림자 기법이지만, 섀도우 맵의 해상도를 충분히 높게 하지 않으면 생성한 그림자에 쟈기가 나오기 쉽다는 약점이 있음을 전회에서도 지적했다. 연구가 진행됨에 따라, 이 그림자의 쟈기를 지우는 다양한 아이디어ェ 발표되고 있다.🌐 원문 링크: 影の生成(6)~改良型デプスシャドウ技法(1) (Mynavi News)
📅 원문 발행일: 2008-07-11 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)
NOTE
💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)
- 섀도우 맵의 한계와 진화: 본문에서 다루는 캐스케이드 섀도우 맵(CSM)과 VSM 등은 여전히 실시간 렌더링의 주력이지만, 해상도 에일리어싱과 자가 차폐 오류(Shadow Acne)의 구조적 한계를 갖습니다.
- 하드웨어 가속 레이트레이싱 섀도우: 현재는 DXR/Vulkan RT를 이용한 실시간 광선 추적 섀도우(Ray-Traced Soft Shadows) 및 가상화 그림자 맵(Virtual Shadow Maps, VSM in UE5)을 통해 해상도 제약 없는 완벽한 반그림자(Penumbra) 연산이 실시간으로 이루어집니다.
📖 본문 해설
[원문 리드문] > 그림자 생성 기법의 주류가 되고 있는 깊이 그림자 기법이지만, 섀도우 맵의 해상도를 충분히 높게 하지 않으면 생성한 그림자에 쟈기가 나오기 쉽다는 약점이 있음을 전회에서도 지적했다. 연구가 진행됨에 따라, 이 그림자의 쟈기를 지우는 다양한 아이디어ェ 발표되고 있다.
현재는 그림자 생성 기법의 주류가 되고 있는 뎁스 그림자 기법이지만, 섀도우 맵의 해상도를 충분히 높게 하지 않으면 생성한 그림자에 쟈기가 나오기 쉽다는 약점이 있음을 전회에서도 지적했다.
연구가 진행됨에 따라 이 그림자의 쟈기를 지우는 다양한 아이디어가 발표되고 있다. 여기에서는, 이 깊이 그림자 기법의 개량형의 대표적인 것을 몇가지 소개해 가고 싶다.
깊이 그림자 기술의 약점을 근본적으로 해결하는 방법?
깊이 그림자 기법의 쟈기의 문제를, 이 기법의 근본으로부터 개량하는 것으로 저감해 나가려는 아이디어도 여러가지 제안되고 있어, 그 일부는 실제의 3D 게임 타이틀에도 활용되기 시작하고 있다.
깊이 그림자 기법의 쟈기는 차폐 분포를 나타내는 섀도우 맵의 해상도가 부족한 것이 주된 원인이 되고 있다.
예를 들면, 앞서 설명한 바와 같이 100m×100m의 장면의 차폐부 분포를 256×256 텍셀의 섀도우 맵에 생성했다고 하면, 약 40cm×40cm의 차폐 구조가 1텍셀로 정리되어 버린다. 파악하려고 하는 차폐 구조의 정밀도와 그 대상 범위의 언밸런스로부터 오는 것이다.
한편, 최신 세대의 DirectX 10/SM4.0 대응 GPU에 있어서의 텍스처의 최대 사이즈는 8192×8192 텍셀도 있으므로, 전출의 100m×100m의 예로 가면, 이 경우, 1텍셀로 약 3cm×3cm의 차폐 구조를 나타낼 수 있다.
그러나 시점에서 먼 곳의 차폐 구조를 3cm×3cm로 취하는 것은 지나치다. 100m 앞의 3cm 차폐 구조는 1픽셀도 안 된다. 광원으로부터 쉐도우 맵을 생성할 때의 쉐도우 맵의 해상도의 사용법은, 시점으로부터 씬을 렌더링 할 때에 필요로 하는 섀도우 맵 정밀도와는 밸런스가 잡히지 않는 것이다.
깊이 그림자 기술의 약점은 원하는 섀도우 맵의 해상도와 생성 된 섀도우 맵의 해상도의 불균형에서 태어납니다.
그렇다면, 이 불균형한 관계를 해소해 주면 되는 것은 아닐까.
이러한 발상으로부터 다양한 깊이의 그림자 기법의 개량판이 제창되어 왔다.
퍼스펙티브 섀도우 맵 기법 ~ 깊이 섀도우 기법의 개량판 그 제 1 형태
그 중 하나가 2002년 독일 에어랑겐 뉘른베르크 대학(University of Erlangen-Nuremberg)의 Marc Stamminger 씨 등이 SIGGRAPH 2002에서 발표한 '퍼스펙티브 섀도우 맵 기법'(PSM:Perspective Shadow Maps)이다.
깊이 그림자 기술에 의한 그림자의 쟈기는 차폐 구조의 취급이 아무래도 거칠어져 버리는 시점 근처의 영역에 눈에 띈다. 그래서 「시점에 가까운 위치의 섀도우 맵을 고해상도로 생성해, 멀리 가는 것에 따라 나름대로의 해상도로 처리한다」라고 하는 발상으로 섀도우 맵의 생성을 하면 좋을까.
이 섀도우 맵 생성시의 특수한 바이어스를 가하는 방법으로서 「시야로부터의 좌표계를 배려해 생성하자」라는 아이디어를 도입한 것이 PSM 기법이다.
구체적으로는, 섀도우 맵을 투시 투영 변환(Perspective Projection)하여 생성하면 된다. 물론 「퍼스펙티브 섀도우 맵 기법」의 "Perspective"는 여기에서 왔다.
이것으로 편리하게, 가까운 위치의 섀도우 맵은 고해상도가 되어, 안쪽으로 가면서 나름대로의 해상도가 된다. 이것으로 생성되는 그림자의 퀄리티가 시점으로부터의 거리에 좌우되는 것은 개선됩니다.
PSM 기술의 개념도
이 퍼스펙티브 섀도우 맵 기법은 업계 표준의 벤치마크 소프트 「3DMark05」(Futuremark, 2004)에 채용된 것으로 주목되었다. (계속)
(트라이Z 니시카와 젠지)