Yozzang의 해킹일기 💻
article thumbnail
Published 2022. 5. 29. 00:30
Illumination (조명) Computer Graphics
728x90

이번 포스트에서는 조명에 대해 다루겠다.

 

Surface Rendering (표면 묘사) : 

  • 사물의 투시 투영을 생성하고 가시적인 표면에 자연 조명 효과를 적용하면 장면의 사실적인 표시(Realistic displays)를 얻을 수 있습니다.
  • 컴퓨터 그래픽의 포토리얼리즘(Photorealism)은 사물의 정확한 표현장면의 조명 효과에 대한 적절한 물리적 묘사를 포함한다.

Light Sources

  • Viewer은 Light Source로부터 나오는 빛을 볼 때 다음과 같이 본다.
  •  불투명하고 비광택한 객체로 인해 반사된 직접 반사
  • 다른 사물로 인해 반사된 간접 반사

Point Source (점 광원) & Distributed Light Source (확산 광원)

: 이 둘은 정하는 절대적인 기준은 없고 빛과 물체의 서로간의 상대적인 크기를 가지고 정함. 또한 관측자와 물체의 위치도 영향을 미침.

  • Point Source (점 광원) : 씬(scene)의 객체 크기에 비해 치수가 작은 소스에 대한 합리적인 근사치입니다.
  • Distributed Light Source (확산 광원) : 광원의 면적이 장면의 표면에 비해 작지 않기 때문에 조명 효과를 현실적으로 근사할 수 없다.

Ambient Light (주변 광)

  • 균일한 빛을 내는 광
  • 공간적, 방향적 특성이 없다
  • 물체 표면의 모든 면과 방향에 대해 일정한 세기로 영향을 준다
  • 표면의 광학 특성(광택, 무광, 불투명, 투명)에 따라 강도가 달라진다.

Ambient Light 모델링 방정식

  • ka : 주변 반사 계수
  • Ia : 주변 광의 세기 (광학 특성에 따라 차이남, 광택, 무광...)

Diffuse Reflection (확산 반사)

  • 표면이 거칠거나 입자가 있는 경우에 발생하는 빛이 여러 방향으로 동일하게 퍼지면서 반사하는 현상

  • dA로 떨어지는 빛 에너지의 양은 cosθ에 비례한다.

Diffuse 방정식

  • kd: 확산 반사 계수
  • lp: 점광원의 세기

  • kd(확산 반사 계수)의 값이 좌측부터 차례대로 0.4, 0.55, 0.7, 0.85, 1.0
  • 그러나 해당 방정식을 활용한 경우 아래부분이 완전 검은색으로 되어 있어 거의 보이지 않는 문제가 발생함

이를 보완하기 위해 주변 광을 추가한 방정식은 아래와 같다.

해당 방정식을 활용한 결과는 다음과 같다.

  • ka(주변 반사 계수)의 값이 좌측부터 차례대로 0.0, 0.15, 0.30, 0.45, 0.60

그러나 아직 물체와 빛 사이의 거리를 고려하지 않았으므로 빛의 감솨까지 고려한 방정식은 다음과 같다.

  • c1, c2, c3 : 광원과 관련된 사용자 정의 상수
  • dL : 광원과 물질 사이의 거리
  • 또한 c1을 넣는 것은 분모가 너무 적어지는 것을 방지하기 위함이고, 1은 분모가 너무 커지는 것을 방지하기 위함이다.

해당 방정식을 활용한 결과는 다음과 같다.

마지막으로 고려해야 할 사항은 바로 색 광원이다. 

  • Od : 각 구성 요소의 확산 색상을 나타내는 변수

[그림 자료 출처: Introduction to Computer Graphics, Foley]

'Computer Graphics' 카테고리의 다른 글

Shading Models (음영 처리 모델)  (0) 2022.06.08
Specular Reflection (거울 반사)  (0) 2022.06.07
z-Buffer Algorithom  (0) 2022.05.24
Back-Face Culling  (0) 2022.05.23
Visible Surface Determination(가시 표면의 결정)  (0) 2022.05.23
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!