[CGs] Illumination Models

박원준·2023년 6월 9일
0

CGs

목록 보기
20/20

Light Sources

  • 컴퓨터 그래픽의 표면 묘사에 있어서 사실감 있는 표현이라는 것은 객체들에 대해 원근 투영으로 표현하고 자연적인 빛의 효과(자연광)을 보이는 면에 적용하는 것이다.

  • Photorealism :

    • 객체들에 대한 정확한 표현

    • 빛이 가지는 물리적인 속성을 잘 반영하기

    • Lighting effects : 빛의 반사, 투명도, 표면의 질감, 그림자

  • 직접 반사 : 광원으로부터 빛이 와서 물체 표면에서 반사

  • 간접 반사 : 주변의 다른 물체 표면에 빛이 닿아서 반사

  • 관측자가 물체를 본다라는 것은 광원으로부터 빛이 나와서 그 빛으로부터 물치를 본다.

  • 우리가 불투명한 비발광 물체를 볼 때, 우리는 물체의 표면에서 반사된 빛을 본다.

  • total reflected light : light sources + other reflecting surfaces

Point Source & Distributed Light Source

  • Point Source :

    • 빛을 발하는 소스가 점의 형태

    • 광원의 크기가 묘사하고자 하는 물체의 크기에 비해 작은 경우

    • 광원의 위치와 물체의 위치, 관측자의 위치 모두에게 영향을 받음

  • Distributed Light Source

    • 광원의 크기가 물체와 비슷
    • 위치에 따른 효과는 없음

Ambient Light

  • 가장 기본적인 조명

  • 모두 동일한 밝기를 부여하기 위한 조명 모델 (균일한 빛을 내는 광)

  • 공간적, 방향적인 특성이 없다. 관측자와 물체의 위치와 관계없이 모두 동일한 밝기

  • 주변광으로부터 나온 빛의 양은 물체의 모든 면과 방향에 대해 일정한 밝기이다.

  • 오직 물체의 광학적인 속성에 의해서만 주변광의 효과가 달라진다.

    • 광택나는 표면, 비광택, 불투명, 투명
  • 조명 방정식

  • KaK_{a} : 주변광 계수

    • 물체의 재질에 따라 다름

    • 값이 클수록 투명과 매끄러운 표면

  • IaI_{a} : 빛의 세기

    • 모두 동일한 값

Diffuse Reflection (확산 반사)

  • 빛을 받아서 물체 표면에서 여러 방향으로 골고루 퍼지면서 반사되는 현상

  • 거칠거나 입자가 많은 표면은 반사된 빛을 모든 방향으로 산란시키는 경향이 있다.

  • 매우 거친 무광 표면은 주로 확산 반사를 생성하므로 모든 시야 방향에서 표면이 동일하게 밝다.

  • 주어진 표면의 경우, 밝기는 광원 방향과 표면 법선 사이의 각도 θ에만 의존한다.

  • Surface 2의 경우 전체의 빛의 세기는 Surface 1과 같으나 받는 면적이 더 넓으므로 각각의 픽셀이 받는 빛의 세기는 Surface 2가 작다

  • dAdA에 떨어지는 빛 에너지 양은 cosθ\cos \theta에 비례한다.

    • θ\theta가 클수록 받는 빛의 세기가 작아짐

    • θ\theta가 작을수록 cosθ\cos \theta가 커지니 받는 빛의 세기가 커짐

확산 조명 방정식

  • 물체 표면과 광원의 방향을 반영

  • KdK_{d} : 확산 반사 계수

  • IpI_{p} : point source의 세기

  • NN = 법선 벡터

  • LL = 광원 벡터

  • 빛의 세기가 너무 약해서 관측자가 볼 수 있는 면이지만 보이지 않는 것처럼 묘사 되는 문제 있음

Total Diffuse Reflection

  • 광원과 물체 사이의 각도(방향)은 고려되었으나 거리는 고려하지 못했음

Light Source Attenuation

동일한 물질의 평행한 두 표면의 투영이 이미지에서 겹치면, 방정식 I=kaIa+kdIp(NL)I = k_{a}I_{a} + k_{d}I_{p}(N·L)는 광원과의 거리가 아무리 다르더라도 한 표면이 어디에서 떨어져 있고 다른 표면이 어디에서 시작되는지 구별하지 못한다.

따라서 빛광원 감쇠가 반영되어야 한다.

  • kaIak_{a}I_{a} : 주변광이기 때문에 공간, 방향 특성이 없음, 따라서 거리에 따라 값이 변경 안됨.

  • dLd_{L} : 광원과 물체 표면과의 거리

  • 문제 발생

    • 만약 광원이 아주 가깝다면 : dLd_{L}이 매우 작아서 fattf_{att}가 너무 민감하게, 크게 변함

    • 만약 광원이 아주 멀다면 : dLd_{L}이 매우 커서 fattf_{att}가 의미있게 변하지 않음

  • fattf_{att}값이 최대 1이 되도록 값을 조정해준다.

  • c1,c2,c3c_{1}, c_{2}, c_{3}는 광원과 연관된 사용자 정의 상수이다.

  • c1c_{1}의 경우 분모가 너무 작아지는 것을 방지하기 위해 필요.

Colored Lights & surfaces

  • R, G, B : 색의 3원소

Specular Reflection (정반사)

  • 광택나는 금속, 사과, 사람의 이마처럼 빛나는 표면에서 일어나는 빛의 반사

  • 입사각과 거의 같은 각도로 반사

    • 그러나 나머지 부분에서 반사된 빛은 확산 반사의 결과

  • NN을 기준으로 입사각(LL)과 반사각(RR)이 거의 같음

  • 관측자(VV)와 RR 사이의 각(α\alpha)이 작을수록 정반사의 효과를 더 크기 느낌

    • 즉, 관측자가 빛이 반사되는 위치에 가까이 있을수록

    • bright spot이 더 작아지고 효과가 상승

The Phong illumination model (퐁 조명 모델)

  • 이 모델은 최대 정반사율이 α\alpha가 0일 때 발생하고 α\alpha가 증가함에 따라 급격히 떨어진다.

  • 매우 빛나는 표면은 n에 대해 큰 값(예: 100 이상)으로 모델링되고 더 둔한 표면에 대해 더 작은 값(1 이하)이 사용된다.

  • 완벽한 반사체의 경우, n은 무한하다.

  • 무딘 표면의 경우 작은 nn값으로 bright spot이 크게 되도록 한다.

  • 입사광의 세기는 θ\theta에 의존함

  • 정반사 계수 : ksk_{s}의 범위는 0~1이다.

0개의 댓글