Phong reflection model
전공 지식 - 컴퓨터 그래픽스
Phong reflection model
평면 위의 임의의 한 점에서 반사되어 관찰자의 눈에 들어오는 빛의 세기를 R, G, B 채널 각각에 대해 계산한다. Visibility check는 하지 않는다.
한 점에서의 색이 결정되는 과정을 네 가지로 추상화 하였다.
- Diffuse - 난반사. 평면의 단위면적당 입사하는 빛의 양과 관련이 있다.
- Specular - 정반사. 점에서 반사된 빛의 방향과 시점이 이루는 각도와 관련이 있다.
- Ambient - 공간 전체에 퍼진 빛에 의한 반사
- Emission - 점 자체가 발산하는 빛의 양(점이 광원인 경우를 고려)
오직 광원, 평면 위의 점, 관찰자만을 고려한다 (점 P 근처의 네 개의 벡터에 대해서만 계산한다)
- 𝐯 - 시점을 향한 벡터(view vector)
- 𝐫 - 광원에서 출발한 빛이 점 P에 부딪힌 후 반사되는 방향 (reflection vector)
- 𝐧 - 평면의 법선벡터 (normal vector)
- 𝒍 - 점 P에서 광원을 향하는 벡터 (incident vector)
네 개의 벡터들의 크기는 모두 1이다.
Calculation
- 𝒌a, 𝒌d, 𝒌s - 차례로 ambient coefficient, diffuse coefficient, specular coefficient. 각각의 상호작용이 일어나는 정도(물체의 특징)를 표현한다.
일반적으로 𝒌a + 𝒌d + 𝒌s < 1 (입사한 빛의 양 보다 반사되는 빛의 양이 커질 수 없기 때문) - 𝑳a, 𝑳d, 𝑳s - 차례로 ambient component, diffuse component, specular component. 각각의 상호작용이 소비하는 빛의 양이다.
- 𝒏s - shininess coefficient. 값이 클수록 highlight의 크기가 감소한다.
reference
- [3학년 2학기 컴퓨터 그래픽스 필기노트]
- OpenGL로 배우는 3차원 컴퓨터 그래픽스
Comments