먼저 렌더링의 물리학을 다루는 Naty Hoffman의 Siggraph 프레젠테이션 을 읽는 것이 좋습니다 . 즉, 나는 당신의 구체적인 질문에 대답하고 그의 프리젠 테이션에서 이미지를 빌리려고 노력할 것입니다.
재료 표면의 한 지점에 닿는 하나의 가벼운 입자를 보면 반사 또는 굴절의 두 가지 작업을 수행 할 수 있습니다. 반사 된 빛은 거울과 유사하게 표면에서 반사됩니다. 굴절 된 빛이 재료 내부에서 튀어 나와 재료에서 들어가는 곳으로부터 멀어 질 수 있습니다. 마지막으로, 빛이 물질의 분자와 상호 작용할 때마다 약간의 에너지가 손실됩니다. 그것이 충분한 에너지를 잃으면, 우리는 그것을 완전히 흡수하는 것으로 간주합니다.
Naty는 "빛은 전자기파로 구성되어 있기 때문에 물질의 광학적 특성은 전기적 특성과 밀접한 관련이있다"고 말했다. 이것이 우리가 재료를 금속 또는 비금속으로 분류하는 이유입니다.
비금속은 반사와 굴절을 모두 나타냅니다.
금속 재료는 반사 만합니다. 모든 굴절 된 빛이 흡수됩니다.
재료의 분자와 빛 입자의 상호 작용을 모델링하는 것은 엄청나게 비쌀 것이다. 대신 몇 가지 가정과 단순화를합니다.
출입구 거리와 비교하여 픽셀 크기 또는 음영 영역이 큰 경우, 거리가 사실상 0이라고 가정 할 수 있습니다. 편의상 빛 상호 작용을 두 개의 다른 용어로 나눕니다. 우리는 표면 반사 항을 "정반"이라고 부르고 굴절, 흡수, 산란 및 재 굴절로 인한 용어를 "확산"이라고합니다.
그러나 이것은 꽤 큰 가정입니다. 대부분의 불투명 한 재료의 경우이 가정은 정상이며 실제와 크게 다르지 않습니다. 그러나 모든 종류의 투명성을 가진 재료의 경우 가정이 실패합니다. 예를 들어 우유, 피부, 비누 등
물질의 관찰 된 색은 흡수되지 않은 빛입니다. 이것은 반사 된 빛과 재료를 빠져 나가는 굴절 된 빛의 조합입니다. 예를 들어 순수한 녹색 물질은 녹색이 아닌 모든 빛을 흡수하므로 눈에 도달 할 수있는 유일한 빛은 녹색 빛입니다.
따라서 예술가는 재료에 대한 감쇠 기능, 즉 재료에 빛이 어떻게 흡수되는지를 제공함으로써 재료의 색상을 모델링합니다. 단순화 된 확산 / 반사 모델에서 이는 확산 색상과 반사 색상의 두 가지 색상으로 나타낼 수 있습니다. 물리 기반 재료를 사용하기 전에 예술가는 임의로 각 색상을 선택했습니다. 그러나이 두 가지 색상이 관련되어 있어야합니다. 알베도 색상이 나오는 곳입니다. 예를 들어, UE4에서는 다음과 같이 확산 및 반사 색상을 계산합니다.
DiffuseColor = AlbedoColor - AlbedoColor * Metallic;
SpecColor = lerp(0.08 * Specular.xxx, AlbedoColor, Metallic)
여기서 Metallic은 비금속의 경우 0이고 금속의 경우 1입니다. 'Specular'파라미터는 오브젝트의 스페 큘러를 제어합니다 (하지만 99 %의 재료에 대해서는 보통 0.5입니다)