Skip to content

서브서피스 스캐터링(SSS)에 의한 스킨 셰이더(4)~서브서피스 스캐터링(SSS)과 스킨 셰이더(2)

[칼럼 핵심 요약]
인간의 피부는 전출의 단면도를 봐도 알 수 있듯이 지질층, 표피층, 진피층의 3층으로 이루어진다. 이것에 의해 깊게 침투한 빛은 감퇴하면서도 광범위하게 산란하는 경향이 있다. 이것이 피부의 리얼한 광산란 표현의 중대한 포인트가 되고 있다… … 라고 NVIDIA는 노려본 것이다.

🌐 원문 링크: 表面下散乱によるスキンシェーダ(4)~表面下散乱とスキンシェーダ(2) (Mynavi News)
📅 원문 발행일: 2009-04-25 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)

NOTE

💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)

  • 스크린 공간 SSS (SSSS): Jorge Jimenez 등이 제안한 화면 공간 분리 가능 서브서피스 스캐터링(Separable SSSS) 기법이 정립되면서 피부 렌더링의 성능 효율이 비약적으로 상승했습니다.
  • 다층 표면 모델 (Multi-layer SSS): 표피(Epidermis), 진피(Dermis), 피하지방층으로 세분화된 빛 흡수/산란 계수를 개별 프로파일링하여 영화 CG 수준의 디지털 휴먼 렌더링이 실시간으로 구현됩니다.

📖 본문 해설

[원문 리드문] > 인간의 피부는 전출의 단면도를 봐도 알 수 있듯이 지질층, 표피층, 진피층의 3층으로 이루어진다. 이것에 의해 깊게 침투한 빛은 감퇴하면서도 광범위하게 산란하는 경향이 있다. 이것이 피부의 리얼한 광산란 표현의 중대한 포인트가 되고 있다… … 라고 NVIDIA는 노려본 것이다.

피하의 광산란을 어떻게 취급해야 하는가?

그럼 나머지의 94%, 피하의 산란에 대해서는 어떻게 하는 것인가. 이것은 지질층에서의 반사와는 완전히 다른 방법의 접근법을 취할 필요가있다.

빛이 피하에서 어떻게 전파했는지 배려해야 하며, 그것을 일의적으로 구하기는 어렵다. 지금 그리려고 하고 있는 피부의 픽셀은 다른 위치로부터 입사한 빛의 산란광을 포함하고 있을지도 모르고, 반대로 여기에 입사하고 있는 빛이 흡수되고 있는 영향도 생각해야 한다. 제대로 잡고 있어서는 실시간으로 계산하는 것은 우선 무리다.

따라서이 어려운 계산을 간략화하는 접근법을 생각해보십시오.

우선 “빛이 산란해 다시 나올 때까지의 평균 거리는 어느 정도인가” “빛이 흡수되어 버리는 평균 빈도는 어느 정도인가”라는 것에만 주목하기로 한다.

그런데, 입사광의 약 10%는, 실은 최초의 지질층을 돌파하지만, 이 시점에서 빛의 지향성은 없어져 확산광이 되어 버린다. 또한, 그 이외의 빛은, 전술한 바와 같은 KS BRDF와 프레넬 반사를 고려한 반사광이거나, 혹은 지질을 빠져 표피에 도달한 시점까지 흡수되어 버린다.

즉, 이 지질을 빠져 온 10%의 확산광에 대해 피하 산란을 생각하면 된다. 그렇다면, 이것은 단순히 입사광에 대하여 확산 반사의 셰이딩(Shading)를 실시하여 화상의 피부 텍스처와 곱하여, 전술한 KS BRDF+프레넬 반사의 결과와 합성하는 것만으로 좋을까.

실은, 이것에 상당하는 실장을 한 것이 전절의 하프 라이프2의 피부의 표현이 된다.

이것이라도, 뭐 좋지만, 단지, 꽤 마른 느낌으로 보인다.

KS BRDF+프레넬 반사의 결과 + 확산 반사×화상 텍스처라고 이렇게 된다. 이것은 실은 하프 라이프 2식 스킨 셰이더와 거의 같다. 약간 마른 느낌으로 보입니다.KS BRDF+프레넬 반사의 결과 + 확산 반사×화상 텍스처라고 이렇게 된다. 이것은 실은 하프 라이프 2식 스킨 셰이더와 거의 같다. 약간 마른 느낌으로 보입니다.

이 마른 느낌이 되어 버리는 것은 잘 생각하면 당연한 일이다.

어느 픽셀에 주목하여, 여기에서 나오는 확산광은 그 픽셀에 입사한 광이 확산한 것만이 아니다. 인접한 다른 픽셀에 입사한 빛이 피부 내에서 산란되어 나온(출사되어 온) 확산광도 포함되기 때문이다.

그래, 이것이 피부의 촉촉한 투명감 표현과 깊은 관계가 있는 것이다. 그럼 어떻게 하면 좋을까.

NVIDIA가 인용한 것은 Craig Donner와 Henrik Wann 등이 SIGGRAPH 2005에서 발표한 'Light Diffusion in Multi-Layered Translucent Materials'라는 논문의 방법이다.

이 논문에서는 '삼층 피부 모델'이라는 개념을 채용해 의료 업계, 광학계 업계에서 측정된 산란 파라미터를 이용해 3D 모델의 디지타이즈 서비스 기업인 XYZRGB사의 고정밀 머리 모델을 활용해 몇 분의 렌더링 시간으로 리얼한 얼굴을 렌더링하는 기술을 발표했다.

엔비디아가 이 논문에서 주목한 점은 피부의 광산란은 단층이 아니라 복수층으로 처리하는 것이 리얼하게 보인다는 부분이다.

단층의 광산란은 대리석이나 왁스 같은 것의 표현에서는 나름대로 효과가 높지만, 다른 산란 파라미터를 가진 복수층으로 이루어지는 재질에 대해서는 결과가 그다지 좋지 않다. 인간의 피부는 전출의 단면도를 봐도 알 수 있듯이 지질층, 표피층, 진피층의 3층으로 이루어진다. 이것에 의해 깊게 침투한 빛은 감퇴하면서도 광범위하게 산란하는 경향이 있다. 이것이 피부의 리얼한 광산란 표현의 중대한 포인트가 되고 있다… … 라고 NVIDIA는 노려본 것이다. (계속)

왼쪽이 단층 피부 모델로 렌더링된 결과. 오른쪽이 3층의 피부 모델로 렌더링한 결과. 왼쪽은 다소 밀랍 인형처럼 보입니다.왼쪽이 단층 피부 모델로 렌더링된 결과. 오른쪽이 3층의 피부 모델로 렌더링한 결과. 왼쪽은 다소 밀랍 인형처럼 보입니다.

(트라이Z 니시카와 젠지)


🔗 연관 지식 베이스 (Wiki)

Based on Zenji Nishikawa's 3D Graphics Maniax series. Translated & Knowledge-Based for Korean Game Developers.