맨위로가기

서브서피스 스캐터링

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

서브서피스 스캐터링(Subsurface scattering, SSS)은 물체 표면에서 빛이 상호작용할 때, 빛이 표면에 들어가 산란되어 재발산되는 현상을 의미한다. 렌더링 효율성을 높이기 위해 표면에서만 반사율을 계산하는 실시간 컴퓨터 그래픽스 알고리즘과 달리, SSS는 반투명한 재료의 특성을 시뮬레이션하기 위해 빛이 재료를 통과한 거리를 측정한다. SSS를 효율적으로 렌더링하기 위해 Random walk SSS, Depth Map based SSS, Texture space diffusion 등 다양한 기법이 개발되었다.

더 읽어볼만한 페이지

  • 3차원 렌더링 - 비사실적 렌더링
    비사실적 렌더링은 3D 모델이나 2D 이미지를 예술적 표현을 위해 다양한 스타일로 변환하는 컴퓨터 그래픽스 기술이며, 3D 비디오 게임, 영화 등 다양한 분야에서 활용된다.
  • 3차원 렌더링 - Z 버퍼링
    Z 버퍼링은 3차원 컴퓨터 그래픽스에서 픽셀의 깊이 정보를 저장하여 가려진 면을 제거하는 기술로, 다양한 분야에서 활용되며 Z 컬링을 통해 렌더링 성능을 향상시키지만 Z 파이팅과 같은 문제점을 야기하기도 한다.
  • 광학 - 광자
    광자는 전자기파의 기본 입자이자 빛의 입자적 성질을 나타내는 양자이며, 전하를 띠지 않고 에너지와 운동량을 가지며 다양한 기술 분야에 응용된다.
  • 광학 - 굴절
    굴절은 빛이 한 매질에서 다른 매질로 진행할 때 속도 변화로 인해 진행 방향이 꺾이는 현상이며, 렌즈, 프리즘, 광섬유 등 다양한 분야에 응용된다.
서브서피스 스캐터링
개요
설명서브서피스 스캐터링(Subsurface scattering, SSS) 또는 서브표면 산란은 빛이 물체의 표면을 뚫고 들어가 내부에서 산란되어 다른 위치에서 다시 나오는 현상이다.
특징이로 인해 물체는 빛이 투과되는 듯한 부드러운 느낌을 받게 된다.
응용 분야3D 컴퓨터 그래픽스
렌더링 기술
피부, 대리석, 왁스, 우유, 잎사귀, 안개 등 반투명 재질 표현에 사용
원리
빛의 경로빛이 표면 아래로 들어가 여러 번 산란된 후 다시 표면으로 나오면서 색상과 강도가 변화한다.
재질의 영향재질의 밀도, 구성 성분, 표면의 거칠기 등에 따라 산란 정도와 깊이가 달라진다.
렌더링 기술
구현 방법몬테카를로 레이 트레이싱
확산 근사
BSSRDF (Bidirectional scattering-surface reflectance distribution function) 모델
BSSRDF 모델표면의 한 지점에서 들어온 빛이 다른 지점으로 나가는 것을 설명하는 함수로, 서브서피스 스캐터링 효과를 정확하게 모델링한다.
고려 사항
계산 비용서브서피스 스캐터링은 계산 비용이 많이 들기 때문에 실시간 렌더링에서는 최적화된 방법이 사용된다.
파라미터 설정재질의 특성에 맞는 적절한 파라미터를 설정하는 것이 중요하며, 이는 결과물의 품질에 큰 영향을 미친다.
추가 설명
관련 용어산란
반사
렌더링

2. 렌더링 기법

오늘날 실시간 컴퓨터 그래픽스에 쓰이는 대부분의 물질들은 물체 표면에서의 빛의 상호작용만을 설명한다. 실제로, 수많은 물질들은 살짝 반투명하다: 빛은 표면에 들어간 다음 흡수되어 산란하고 재발산하는데, 이는 잠재적으로 다른 지점에서 일어난다. 피부는 매우 좋은 사례인데, 오직 6%의 반사만이 직접 반사이고, 94%는 서브서피스 스캐터링에서 비롯된다.[8]

표면 직접 반사(왼쪽)와 서브서피스 스캐터링(가운데)을 합쳐 최종 이미지를 생성한다(오른쪽).


렌더링 효율성을 높이기 위해 많은 실시간 컴퓨터 그래픽스 알고리즘은 객체의 *표면*에서만 반사율을 계산한다. 실제로는 많은 재료가 약간 반투명하다. 빛은 표면에 들어가 흡수되고, 산란되어 재방출되는데, 잠재적으로 다른 지점에서 발생한다. 피부가 좋은 예인데, 반사율의 약 6%만이 직접 반사이고, 94%는 서브서피스 스캐터링에서 발생한다.[2] 반투명 재료의 고유한 특성은 흡수이다. 빛이 재료를 더 많이 통과할수록 더 많은 빛이 흡수된다. 이러한 효과를 시뮬레이션하려면 빛이 재료를 통과한 거리를 측정해야 한다.

실시간 컴퓨터 그래픽스에서 서브서피스 스캐터링 (SSS)를 효율적으로 렌더링하기 위한 다양한 기법들이 개발되어 왔다.

;Random walk SSS

Equinox3D의 패스 트레이서에서 Random walk SSS.


Equinox3D의 패스 트레이서에서 Random walk SSS + PBR 표면 반사.


픽사(Pixar)가 발표한 이 기술은 최첨단 기술로 여겨지며, 일반적으로 패스 트레이서에 통합된다.[8] 실제 광자가 재료 안으로 광선을 추적하고, 반전된 노멀을 중심으로 람베르시안 분포를 사용하여 새로운 경로를 생성한다. 여러 단계에서 새로운 방향을 선택하여 광선을 더 멀리 산란시키는 방식으로, "random walk"라는 이름이 붙었다. 등방성 산란은 구를 따라 균일하게 무작위 방향을 선택하여 시뮬레이션된다. 비등방성 산란은 일반적으로 헤니-그린스타인 위상 함수를 사용하여 시뮬레이션된다. 사람의 피부는 비등방성 산란을 보인다.[8] 광학적 깊이/흡수는 뱁-람베르트 법칙을 사용하여 경로의 길이에 따라 적용된다. 경로는 기여도 최소 임계값 또는 최대 반복 횟수에 도달하면 재료 내부에서 종료될 수 있다. 경로(광선)가 표면에 다시 부딪히면, 전통적인 패스 트레이서와 마찬가지로 람베르시안 분포로 가중된 장면에서 복사도를 수집하는 데 사용된다. 이 기술은 직관적이며 얇은 형상 등에 강하다.[8]

;Depth Map based SSS

Depth Map based SSS는 깊이 맵(Depth Map)을 사용하여 빛이 물체를 통과한 거리를 추정하는 기법이다. 그림자 매핑과 유사하게 광원의 관점에서 깊이 맵을 생성하여 가장 가까운 표면까지의 거리를 저장한다.[3] 그런 다음 투영 텍스처 매핑을 사용하여 깊이 맵을 장면에 투영하고 다시 렌더링한다. 이 과정에서 광선이 표면에 들어간 지점과 물체를 빠져나온 지점의 거리를 빼서 빛이 물체를 통과한 거리를 추정한다.

이 거리 측정값은 아티스트가 만든 1D 텍스처를 인덱싱하여 거리에 따라 지수적으로 감소하는 값을 얻는 데 사용될 수 있다. 이러한 접근 방식은 대리석, 옥, 왁스와 같은 다양한 재료를 표현하는데 효과적이다.[8]

하지만 이 방법은 볼록하지 않은 모델에서는 문제가 발생할 수 있으며, 이는 깊이 깎기[4]를 사용하여 해결할 수 있다. 또한 깊이 깎기를 통해 표면 아래의 다양한 밀도(뼈, 근육 등)를 고려하여 더 정확한 산란 모델을 만들 수 있다.

이 기술은 빛이 물체를 통과할 때 확산되는 효과를 정확하게 표현하지 못하는 한계가 있다. 이미지에서 볼 수 있듯이 뒷면의 특징이 명확하게 보이는 현상이 발생한다. 이를 해결하기 위해 깊이 맵의 표면에서 여러 샘플을 채취하거나, 텍스처 공간 확산과 같은 근사 அணுகுமுறைகளை 사용할 수 있다.

;Texture space diffusion

실시간 컴퓨터 그래픽스에서 사용되는 대부분의 물질들은 물체 표면에서 빛의 상호작용만을 표현한다. 그러나 실제로는 많은 물질들이 반투명하여 빛이 표면을 통과해 흡수, 산란된 후 다른 지점에서 재발산된다. 피부의 경우, 6%만이 직접 반사되고 94%는 서브서피스 스캐터링에 의해 발생한다.[8]

서브서피스 스캐터링의 효과 중 하나는 확산 조명의 흐림 현상이다. 텍스처 공간에서 확산을 시뮬레이션하여 이를 보다 정확하게 모델링할 수 있다. 이 기술은 영화 ''매트릭스 2: 리로디드''의 얼굴 렌더링에 처음 사용되었으며,[5] 실시간 렌더링 기술에도 사용된다.

이 방법은 정점 셰이더를 사용하여 객체의 메시를 언랩(unwrapping)하고, 조명을 계산한 후, UV 텍스처 좌표를 사용하여 정점을 다시 매핑한다. 이렇게 언랩된 메시에 조명을 적용하면 객체의 조명을 나타내는 2D 이미지, 즉 라이트 맵을 얻을 수 있다. 이 라이트 맵 텍스처를 흐리게(blur) 처리하여 확산을 시뮬레이션한다. 조명을 저해상도 텍스처로 렌더링하는 것만으로도 어느 정도의 흐림 효과가 발생하지만, 실제 효과를 정확히 모델링하기에는 부족하다.[6] 확산의 파장별 특성을 모방하기 위해 흐림 처리 시 채널별 가중치를 줄 수 있는데, 인간 피부의 경우 빨간색에서 가장 넓은 산란이 발생하고, 녹색, 파란색 순으로 산란이 적게 일어난다.

이 방법의 주요 장점은 텍스처 해상도에 독립적이라는 것이다. 셰이딩은 객체의 모든 픽셀이 아닌 텍스처 맵의 텍셀당 한 번만 수행된다. 단, 객체가 텍스처의 각 지점이 객체의 한 지점에만 매핑되는 UV 매핑을 가져야 한다. 텍스처 공간 확산은 소프트 섀도 구현에도 기여할 수 있다.[6]

2. 1. Random walk SSS



픽사(Pixar)가 발표한 이 기술은 최첨단 기술로 여겨지며, 일반적으로 패스 트레이서에 통합된다.[8] 실제 광자가 재료 안으로 광선을 추적하고, 반전된 노멀을 중심으로 람베르시안 분포를 사용하여 새로운 경로를 생성한다. 여러 단계에서 새로운 방향을 선택하여 광선을 더 멀리 산란시키는 방식으로, "random walk"라는 이름이 붙었다. 등방성 산란은 구를 따라 균일하게 무작위 방향을 선택하여 시뮬레이션된다. 비등방성 산란은 일반적으로 헤니-그린스타인 위상 함수를 사용하여 시뮬레이션된다. 사람의 피부는 비등방성 산란을 보인다.[8] 광학적 깊이/흡수는 뱁-람베르트 법칙을 사용하여 경로의 길이에 따라 적용된다. 경로는 기여도 최소 임계값 또는 최대 반복 횟수에 도달하면 재료 내부에서 종료될 수 있다. 경로(광선)가 표면에 다시 부딪히면, 전통적인 패스 트레이서와 마찬가지로 람베르시안 분포로 가중된 장면에서 복사도를 수집하는 데 사용된다. 이 기술은 직관적이며 얇은 형상 등에 강하다.[8]

2. 2. Depth Map based SSS

Depth Map based SSS는 깊이 맵(Depth Map)을 사용하여 빛이 물체를 통과한 거리를 추정하는 기법이다. 그림자 매핑과 유사하게 광원의 관점에서 깊이 맵을 생성하여 가장 가까운 표면까지의 거리를 저장한다.[3] 그런 다음 투영 텍스처 매핑을 사용하여 깊이 맵을 장면에 투영하고 다시 렌더링한다. 이 과정에서 광선이 표면에 들어간 지점과 물체를 빠져나온 지점의 거리를 빼서 빛이 물체를 통과한 거리를 추정한다.

이 거리 측정값은 아티스트가 만든 1D 텍스처를 인덱싱하여 거리에 따라 지수적으로 감소하는 값을 얻는 데 사용될 수 있다. 이러한 접근 방식은 대리석, 옥, 왁스와 같은 다양한 재료를 표현하는데 효과적이다.[8]

하지만 이 방법은 볼록하지 않은 모델에서는 문제가 발생할 수 있으며, 이는 깊이 깎기[4]를 사용하여 해결할 수 있다. 또한 깊이 깎기를 통해 표면 아래의 다양한 밀도(뼈, 근육 등)를 고려하여 더 정확한 산란 모델을 만들 수 있다.

이 기술은 빛이 물체를 통과할 때 확산되는 효과를 정확하게 표현하지 못하는 한계가 있다. 이미지에서 볼 수 있듯이 뒷면의 특징이 명확하게 보이는 현상이 발생한다. 이를 해결하기 위해 깊이 맵의 표면에서 여러 샘플을 채취하거나, 텍스처 공간 확산과 같은 근사 அணுகுமுறைகளை 사용할 수 있다.

2. 3. Texture space diffusion

실시간 컴퓨터 그래픽스에서 사용되는 대부분의 물질들은 물체 표면에서 빛의 상호작용만을 표현한다. 그러나 실제로는 많은 물질들이 반투명하여 빛이 표면을 통과해 흡수, 산란된 후 다른 지점에서 재발산된다. 피부의 경우, 6%만이 직접 반사되고 94%는 서브서피스 스캐터링에 의해 발생한다.[8]

서브서피스 스캐터링의 효과 중 하나는 확산 조명의 흐림 현상이다. 텍스처 공간에서 확산을 시뮬레이션하여 이를 보다 정확하게 모델링할 수 있다. 이 기술은 영화 ''매트릭스 2: 리로디드''의 얼굴 렌더링에 처음 사용되었으며,[5] 실시간 렌더링 기술에도 사용된다.

이 방법은 정점 셰이더를 사용하여 객체의 메시를 언랩(unwrapping)하고, 조명을 계산한 후, UV 텍스처 좌표를 사용하여 정점을 다시 매핑한다. 이렇게 언랩된 메시에 조명을 적용하면 객체의 조명을 나타내는 2D 이미지, 즉 라이트 맵을 얻을 수 있다. 이 라이트 맵 텍스처를 흐리게(blur) 처리하여 확산을 시뮬레이션한다. 조명을 저해상도 텍스처로 렌더링하는 것만으로도 어느 정도의 흐림 효과가 발생하지만, 실제 효과를 정확히 모델링하기에는 부족하다.[6] 확산의 파장별 특성을 모방하기 위해 흐림 처리 시 채널별 가중치를 줄 수 있는데, 인간 피부의 경우 빨간색에서 가장 넓은 산란이 발생하고, 녹색, 파란색 순으로 산란이 적게 일어난다.

이 방법의 주요 장점은 텍스처 해상도에 독립적이라는 것이다. 셰이딩은 객체의 모든 픽셀이 아닌 텍스처 맵의 텍셀당 한 번만 수행된다. 단, 객체가 텍스처의 각 지점이 객체의 한 지점에만 매핑되는 UV 매핑을 가져야 한다. 텍스처 공간 확산은 소프트 섀도 구현에도 기여할 수 있다.[6]

3. 각주

참조

[1] 웹사이트 Finish: Subsurface Light Transport http://wiki.povray.o[...] 2012-08-08
[2] 논문 A Biophysically-based Spectral Model of Light Interaction with Human Skin http://eg04.inrialpe[...] Blackwell Publishing
[3] 논문 Real-time Approximations to Subsurface Scattering Addison-Wesley Professional
[4] 간행물 Depth-Peeling for Texture-based Volume Rendering http://cg.cs.uni-bon[...]
[5] 논문 Realistic human face rendering for "The Matrix Reloaded" http://www.scribblet[...] ACM Press
[6] 논문 Advanced Skin Rendering http://developer.dow[...]
[7] 웹인용 Finish: Subsurface Light Transport http://wiki.povray.o[...] 2012-08-08
[8] 저널 A Biophysically-based Spectral Model of Light Interaction with Human Skin http://eg04.inrialpe[...] Blackwell Publishing 2007-07-11



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com