지표면 산란

Subsurface scattering
직접 표면 산란(왼쪽)과 표면 아래 산란(가운데)이 오른쪽에 최종 이미지를 만듭니다.
블렌더에서의 컴퓨터 생성 지표면 산란
사람의 손 사진 속 빛의 실제 지하 산란

지표면하산란([1]SSS)은 반투명 물체의 표면을 투과하는 빛이 물질과 상호작용하여 산란되고 다른 지점에서 표면을 빠져나가는 광수송 메커니즘이다.빛은 일반적으로 표면을 투과하고 물질 내부에서 불규칙한 각도로 여러 번 반사된 후 표면에서 직접 반사되었을 때와는 다른 각도로 물질에서 다시 반사됩니다.지표면 산란은 대리석, 피부, , 왁스 우유와 같은 재료를 렌더링하는 데 필요한 사실적인 3D 컴퓨터 그래픽에 중요합니다.지표면 아래 산란을 실시하지 않으면 플라스틱이나 금속처럼 부자연스럽게 보일 수 있습니다.

렌더링 기술

오늘날 실시간 컴퓨터 그래픽에[when?] 사용되는 대부분의 재료는 물체 표면에서의 빛의 상호작용만을 설명합니다.실제로 많은 재료는 약간 반투명합니다. 빛이 표면에 침투하여 흡수, 산란 및 재방출됩니다. 이는 잠재적으로 다른 지점에서 발생할 수 있습니다.피부가 좋은 경우입니다. 반사율의 약 6%만이 직접이고 94%는 지표면 아래 [2]산란에서 발생합니다.반투명 재료의 고유한 특성은 흡수이다.물질 빛이 더 멀리 이동할수록 흡수되는 비율은 더 커집니다.이 효과를 시뮬레이션하려면 빛이 물질을 통해 이동한 거리를 측정해야 합니다.

깊이 지도 기반 SSS

깊이 지도를 이용한 깊이 추정

이 거리를 추정하는 한 가지 방법은 그림자 매핑과 유사한 방식으로 깊이 [3]맵을 사용하는 것입니다.장면이 조명의 관점에서 깊이 지도에 렌더링되어 가장 가까운 지표면까지의 거리가 저장됩니다.그런 다음 표준 투영 텍스처 매핑을 사용하여 깊이 맵을 투영하고 장면을 다시 렌더링합니다.이 패스에서 소정의 점을 음영할 때, 간단한 텍스처 룩업으로 표면에 입사한 점에서의 빛과의 거리를 얻을 수 있다.이 값을 광선이 물체를 빠져나간 지점에서 빼면 빛이 [citation needed]물체를 통과한 거리를 추정할 수 있습니다.

이 방법으로 얻을 수 있는 거리 측정은 여러 가지 방법으로 사용할 수 있습니다.이러한 방법 중 하나는 거리에 따라 기하급수적으로 떨어지는 아티스트의 1D 텍스처에 직접 인덱싱하는 것입니다.이 접근법은 다른 전통적인 조명 모델과 결합되어 대리석, , [citation needed]왁스같은 다양한 재료를 만들 수 있습니다.

모델이 볼록하지 않으면 문제가 발생할 수 있지만 깊이 박리[4] 사용하여 문제를 방지할 수 있습니다.마찬가지로 깊이 박리법을 사용하여 뼈나 근육과 같은 표면 아래의 다양한 밀도를 설명하여 보다 정확한 산란 모델을 제공할 수 있습니다.

오른쪽 왁스 헤드의 이미지에서 알 수 있듯이, 이 기술을 사용하면 물체를 통과할 때 빛이 확산되지 않고 뒷모습이 선명하게 나타납니다.이에 대한 한 가지 해결책은 깊이 지도 표면의 서로 다른 지점에서 여러 샘플을 채취하는 것입니다.또는 텍스처 공간 [citation needed]확산이라고 알려진 근사치에 대한 다른 접근법을 사용할 수 있다.

텍스처 공간 확산

섹션의 시작 부분에서 설명한 바와 같이 지표면 산란의 가장 명백한 영향 중 하나는 확산 조명의 일반적인 흐림이다.확산 함수를 임의로 수정하는 것이 아니라 텍스처 공간에서 시뮬레이트함으로써 확산을 보다 정확하게 모델링할 수 있다.이 기술은 "매트릭스 새로고침"[5]에서 면을 렌더링할 때 처음 사용되었지만 실시간 렌더링 기술 영역에서도 사용됩니다.

이 방법은 정점 셰이더를 사용하여 객체의 메시를 풀며, 먼저 원래 정점 좌표를 기반으로 조명을 계산합니다.그런 다음 UV 텍스처 좌표를 정점의 화면 위치로 사용하여 정점을 다시 매핑합니다. 이는 텍스처 좌표의 [0, 1] 범위에서 정규화된 디바이스 좌표의 [-1, 1] 범위로 적절히 변환됩니다.이렇게 포장되지 않은 메쉬를 조명함으로써 물체의 조명을 나타내는 2D 이미지를 얻을 수 있으며, 이를 가공하여 라이트 맵으로 모델에 재적용 할 수 있습니다.확산을 시뮬레이션하기 위해 라이트 맵 텍스처를 간단하게 흐리게 할 수 있습니다.조명을 저해상도 텍스처로 렌더링하는 것 자체가 어느 정도 흐릿해집니다.피부 표면 아래 산란을 정확하게 모델링하기 위해 필요한 블러링의 양은 여전히 활발한 연구 중이지만, 단 한 번의 블러만으로 진정한 [6]효과를 모델링할 수 있습니다.확산의 파장에 의존하는 특성을 에뮬레이트하기 위해 (가우스) 흐림 동안 사용되는 샘플은 채널별로 가중치를 부여할 수 있습니다.이것은 어느 정도 예술적인 과정이다.인간의 피부에서 가장 넓게 산란되는 색은 빨간색이고, 그 다음에 녹색이고, 파란색은 [citation needed]산란이 거의 없습니다.

이 방법의 주요 장점은 화면 해상도에 의존하지 않는다는 것입니다.음영처리는 텍스처 맵의 텍셀당 1회만 수행되며 오브젝트 상의 모든 픽셀에 대해 수행되지 않습니다.따라서 분명한 요건은 물체의 UV 매핑이 양호하다는 것입니다. 텍스처 상의 각 점은 물체의 한 점에만 매핑되어야 합니다.또한 텍스처 공간 확산의 사용은 부드러운 그림자에 기여하는 몇 가지 요인 중 하나를 제공하여 그림자 [citation needed]매핑의 사실성 결여의 한 원인을 완화한다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Finish: Subsurface Light Transport". POV-Ray wiki. August 8, 2012.
  2. ^ Krishnaswamy, A; Baronoski, GVG (2004). "A Biophysically-based Spectral Model of Light Interaction with Human Skin" (PDF). Computer Graphics Forum. Blackwell Publishing. 23 (3): 331. doi:10.1111/j.1467-8659.2004.00764.x. S2CID 5746906.
  3. ^ Green, Simon (2004). "Real-time Approximations to Subsurface Scattering". GPU Gems. Addison-Wesley Professional: 263–278.
  4. ^ Nagy, Z; Klein, R (2003). Depth-Peeling for Texture-based Volume Rendering (PDF). 11th Pacific Conference on Computer Graphics and Applications. pp. 429–433. doi:10.1109/PCCGA.2003.1238289. ISBN 0-7695-2028-6.
  5. ^ Borshukov, G; Lewis, J. P. (2005). "Realistic human face rendering for "The Matrix Reloaded"" (PDF). Computer Graphics. ACM Press.
  6. ^ d’Eon, E (2007). "Advanced Skin Rendering" (PDF). GDC 2007.

외부 링크