Illumination Models and Surface-Rendering Methods - 1
[ Illumination Models and Surface-Rendering Methods - 1 ]
Physical Approach와 Practical Approach로 나뉘는데,
여기서 다루는 것은 Practical Approach인 Light Source Model에 해당한다.
[ Light Sources ]
광원
: 빛 에너지를 사방으로 방사하는 object
화면에 그려진 Object를 실제로 볼려면 빛이 있어야한다.
광원이 있어야 화면 상에 존재하는 모든 Object들이 lighting effect를 가지게 된다.
[ Properties of light sources ]
- Position (광원의 위치)
- The color of emitted light (방사되는 광원의 색깔)
- The emission direction (방사되는 방향)
- Shape (광원의 모양)
Real-Time graphics application에선 복잡한 시뮬레이션(Physical Approach)을 하는 것이 주어진 시간에 하는 것이 어려워 simple light-source model이 사용된다.
- 빛의 color component에 대해 Intensity를 나타내는 RGB로 주어진다.
[ Point Light Sources ]
가장 대표적이고 간단한 광원인 점으로 이루어진 광원이다.
Light rays
- Point Light로 부터 사방으로 방사되는 빛의 길을 의미
- 실제로 존재할 수 없지만, 수학적으로 계산하기 편하기 때문에 사용하는 것.
[ Infinitely Distant Light Sources ]
태양같은 큰 광원의 경우, 부피를 가져 계산이 힘들 수 있다.
하지만 태양의 경우 엄청나게 멀기 때문에 빛이 평행하게 같은 각도로 도달한다고 바꿔 생각할 수 있다.
무한히 멀리있는 light source의 경우 color값과 고정된 light rays가 정의 되어있어야 한다.
고정된 방향을 나타내기 위해 vector가 필요하고, light source의 위치는 중요하지 않다.
[ Radial Intensity Attenuation ]
빛이 사방으로 뻗어나갈 때, 빛의 강도가 light source로 부터 멀어짐에 따라 점점 줄어드는 것을 Attenuation(감쇄)라고 한다.
Object가 Light Source로 부터 갖는 거리를 Distance : D(l)이라고 하자.
그럼 감쇄된 intensity에 해당하는 factor를 수학적으로 다음과 같이 정의할 수 있다.
거리가 멀어질 수록 intensity가 크게 줄어듦.
광원이 무한히 멀리있을 경우 Distance를 결정할 수 없으니 계산이 불가능하다.
그러므로 Scene의 모든 Points들이 아득히 먼 광원으로 부터 거의 같은 distance에 있다고 가정한다.
[ Directional Light Sources and Spotlight Effects ]
Spotlight : 집중 조명
Object의 어떤 vertex와 light direction vector 사이의 각(α)이 limit(θl) 이내라면, 빛이 도달할 수 있다고 계산하는 것.
→ V obj, V light는 각각 Unit Vector.
cos α의 값이 θl 보다 크거나 같다면, spotlight 이내에 object가 있는 것이고
작다면 light cone의 밖에 있는 것이다.
(cos이므로 각도와 반대)
[ Angular Intensity Attenuation ]
중앙 축으로 부터 떨어진 각 al에 따라 점점 Intensity가 줄어드는 형태로 모델링 가능.
al은 attenuation exponent, 양수에 해당한다.
cos φ는 V obj와 V light를 dot product한 것에 해당한다.
이런 모델들을 정의해놔야 나중에 뒤에서 수학적으로 사용할 수 있음.
[ Reference ]
Computer Graphics with OpenGL 4th edition, Hearn, Baker