학습목표 10장. 조명과 음영 조명과 음영의 차이점을 이해한다. 지역 조명모델과 전역 조명모델의 차이점을 이해한다. 광원의 특성과 종류를 이해한다. 주변광, 확산광, 경면광 등 지역 조명모델의 요소를 이해한다. 플랫 셰이딩, 구로 셰이딩, 퐁 셰이딩 등 음영방법의 차이를 이해한다. 프로그램에 의해 지엘에서 조명 및 음영을 가하는 방법을 이해한다.
Section 01 조명 (1 million triangles drawn with 1 color per triangle)
조명과 음영 렌더링(Rendering) 조명(Lighting, Illumination): 물체 정점의 색상을 부여, 물체공간(Object Space) 음영(Shading, Surface Rendering):조명 결과를 이용하여 물체 면의 색상을 부여: 영상공간(Image Space) [그림 10-1] 지엘 파이프라인에서의 조명과 음영 시기
물체를 본다는 것은 우리 눈으로 입사하는 빛에 의함 빛의 진행 광원에서 출발 물체 표면에서 흡수 (Absorption) 반사 (Reflection) 투과(Transmission) 또는 굴절(Refraction) 물체를 본다는 것은 우리 눈으로 입사하는 빛에 의함 물체색: 광원, 물체, 관찰자 위치, 광원과 물체의 특성에 의해 결정 [그림 10-3] 빛의 진행 I
조명모델(Illumination Model) 전역 조명모델(Global Illumination Model):다른 물체면에서 반사되어 입사되는 빛까지 고려한 조명모델 지역 조명모델(Local Illumination Model): 광원으로부터 직접 물체면으로 입사되는 빛만을 고려한 모델 [그림 10-4] 빛의 진행 II [그림 10-5] 전역 조명모델 예시
면적광원(Area Light Source)과 점광원(Point Light Source) 면적광원을 분산 점광원(Distributed Point Light Source)으로 근사화 [그림 10-6] 면적광원 [그림 10-7] 점광원 [그림 10-8] 면적광원을 분산 점광원으로
위치성 광원(Positional Light Source) 옴니라이트(Omni Light), 빛이 모든(Omni) 방향으로 방사형(Radial Direction)으로 진행 광원의 위치가 중시됨. 근거리 광원 방향성 광원(Directional Light Source) 빛이 물체면을 향하여 일정한 방향으로 진행 빛의 방향이 중심됨. 원거리 광원 [그림 10-9] 위치성 광원 [그림 10-10]방향성 광원
위치성 광원과 유사 방향성 광원과 유사 차이점 스포트라이트(Spot Light) 빛이 방사형으로 진행 광원이 유한 거리에 존재 하나의 방향을 향해서만 진행 차이점 일정한 각 범위 내로만 진행. 포로수용소의 탐조등 [그림 10-11] 스포트라이트 [그림 10-12] 스포트라이트
Section 02 지역 조명모델-조명관련 벡터 물체의 색: R, G, B 별로 빛의 세기를 별도 추적. 최종적으로 합성 조명관련 벡터 입사각: 광원벡터와 법선벡터가 이루는 각 [그림 10-13] 청색광 반사 [그림 10-13] 청색광 반사 (10.1) [그림 10-14] 조명관련 벡터
주변반사(Ambient Reflection) 광원에 직접 노출되지 않는 면에 밝기를 부여 모든 빛의 경로를 추적하기 어려움 면마다 상수 크기의 밝기를 추가 전역 조명모델 효과를 근사적으로 부여 [그림 10-15] 주변 반사
거리 제곱에 반비례 Ia: 광원의 주변광 세기 Ka: 주변광 계수 거리에 따른 빛의 약화 [그림 10-16] 광원과의 거리 (10.2)
주변광만 부여 여타 반사광 + 주변광 주변광 계수 변화 [그림 10-17] 주변광 계수 증가 [그림 10-18] 여타 반사광 + 주변광 계수 증가
확산반사(Diffusive Reflection) 난반사에 해당 완벽 확산체(Perfect Diffuser)와 방향성 확산체(Directional Diffuser) 방향성 확산체 확산 방향에 시점이 있다면 물체가 더욱 밝게 보여야 함. 완벽 확산체 지역조명 모델의 그래픽 처리를 단순화하기 위해서 완벽 확산체를 가정 [그림 10-19] 완벽 확산체 [그림 10-21] 확산 반사광 분포 [그림 10-20]방향성 확산체
물체면이 서 있는 방향에 따라 다름 확산광의 세기 확산광의 세기 람베르트 법칙(Lambertian Law) 입사각: 광원벡터, 법선벡터 사이각 면의 밝기는 입사각의 코사인에 정비례. 확산광의 세기 Id: 광원의 확산광 세기 Kd: 확산광 계수 (10.3) [그림 10-22] 확산광 (10.4)
면이 서 있는 방향에 따라 차등적 밝기 우상단, 우측 중앙, 정중앙 확산광 효과 입체감 부여 cf. 주변광 [그림 10-23] 우상단, 우측, 정중앙 광원의 확산광
경면반사(Specular Reflection) 반질반질한 표면에서 반사되는 빛 정반사에 의함 물체의 색이 아니라 광원의 색 cf. 주변광, 확산광: 광원의 색이 물체의 색과 상호작용 Ex. 확산, 확산+경면 기본적으로 입사각과 반사각이 동일 시점이 정확히 반대방향일 때 보임 [그림 10-24] 확산, 확산+경면 [그림 10-25] 경면반사
퐁 반사모델(Phong Illumination Model) 광택계수(Shineness Coefficient) 경면광 분포와 퐁 반사모델 실제적으로는 Lobe 모습 퐁 반사모델(Phong Illumination Model) 광택계수(Shineness Coefficient) 경면광의 세기 [그림 10-26] 경면광 분포 [그림 10-27] 코사인 법칙 [그림 10-28] 광택계수 증가에 따른 효과 (10.5)
약화함수(Attenuation Function) 지엘에서는 거리에 따른 약화를 수식으로 표현 a = b = 0, c = 1, a = b = .25, c = .5 , a = c = 0, b = 1 (10.6) [그림 10-29] a = b = 0, c = 1 [그림 10-30] a = b = .25, c = .5 [그림 10-31] a = c = 0, b = 1
확산계수, 경면계수, 광택계수 확산계수 0.01, 0.3, 0.7 경면계수 0.0, 0.4, 0.8 광택계수 5, 40, 100 [그림 10-32] 확산계수 0.01, 0.3, 0.7 [그림 10-33] 경면계수 0.0, 0.4, 0.8 [그림 10-34] 광택계수 5, 40, 100
지역반사 모델 [그림 10-35] 성분 분포 (10.7)
1. 광원이 여러 개인 경우는 각각의 광원에서 나오는 빛을 모두 합산 2. R, G, B 색에 대해 별도로 적용하여 합산 지엘의 조명 1. 광원이 여러 개인 경우는 각각의 광원에서 나오는 빛을 모두 합산 2. R, G, B 색에 대해 별도로 적용하여 합산 3. 광원특성은 반사광 종류별로 Ia, Id, Is 4. 물체특성은 반사광 종류별로 Ka, Kd, Ks [그림 10-37] 지엘의 조명 파라미터 [그림 10-38] 물체 파라미터, 광원 파라미터
지역 조명모델 알고리즘 For Each Object of the Scene { 모든 물체에 대해 For Each Polygon Mesh of the Object { 모든 다각형에 대해 Calculate N, L, V, R, D; 벡터 및 거리 계산 For Each Light Source { 모든 광원에 대해 For Ambient Reflection 주변반사에 대해 Calculate R, G, B Reflection Separately; 색별로 계산 For Diffuse Reflection 확산반사에 대해 For Specular Reflection 경면반사에 대해 Calculate R, G, B Reflection Separately; 색별로 계산 Add R, G, B Colors Separately; 주변광, 확산광, 경면광을 합산 } Add R, G, B Colors Separately; 모든 광원의 영향을 합산 } }
Section 03 음영-음영(Shading) 음영 또는 표면 렌더링(Surface Rendering) 물체 면의 색을 부여 플랫 셰이딩(Flat Shading) 주어진 하나의 다각형 전체를 동일한 색으로 칠함. 빠르고 간단 상수 셰이딩(Constant Shading),깎은 면 셰이딩(Facet Shading) 다각형을 구성하는 다각형 정점의 위치를 평균하여 중심점(Centroid)를 구함.중심점에서의 법선벡터, 광원벡터, 시점벡터를 기준으로 조명모델이 가해지며 그 결과 색이 면 내부를 모두 채움.
마하밴드 효과(Mach Band Effect) 플랫 셰이딩 마하밴드 효과(Mach Band Effect) [그림 10-39] 마하밴드 효과 [그림 10-40] 인식된 밝기 [그림 10-41] 마하 밴드
구로 셰이딩(Gouraud Shading) 다각형 내부를 서로 다른 색으로 채우는 방법 정점의 색을 보간 정점의 법선벡터를 요함. 인접면의 법선벡터를 평균하여 구함 정점의 색으로부터 내부면의 색을 선형보간 경면광을 감안하지 않음: 실제적인 정점의 법선벡터와 근사적으로 계산된 법선벡터가 완전히 일치하지 않기 때문 [그림 10-42] 내부점 [그림 10-44] 구로셰이딩의 보간 (10.9)
플랫 셰이딩보다는 부드러움 경우에 따라서 오류 구로 셰이딩 마하 밴드 효과는 그대로 남아있음. [그림 10-45] 플랫 셰이딩, 구로 셰이딩 [그림 10-46] 구로 셰이딩 오류
곡면의 기울기가 복원됨: 경면광을 부여할 수 있음. 퐁 셰이딩(Phong Shading) 정점의 색 대신 정점의 법선벡터를 보간 곡면의 기울기가 복원됨: 경면광을 부여할 수 있음. [그림 10-47] 법선벡터 보간 [그림 10-48] 경계선 법선벡터 [그림 10-49] 퐁 셰이딩의 곡면 복원
플랫, 구로, 퐁 구로, 퐁 음영결과 비교 [그림 10-50] 플랫, 구로, 퐁 [그림 10-50] 플랫, 구로, 퐁 [그림 10-51] 구로 셰이딩과 퐁 셰이딩
미세면 모델(Microfacet Model) 표면의 거칠기(Roughness)를 모델링 평균면의 방향을 기준으로 표면의 거칠기라는 매개변수를 사용해서 미세면의 굴곡이나 모양을 조절 [그림 10-52] 평균 면 [그림 10-53] 반사광 분포
미세면 모델(Microfacet Model) 플랫, 퐁, 블린, 쿡/토렌스 블린 셰이딩 퐁 셰이딩과 유사.경면광 성분이 더욱 부드럽게 퍼져나감. 광원이 거의 물체면과 나란히 예각으로 입사한 것과 유사 쿡/토렌스 셰이딩(메탈 셰이딩) 금속표면의 은은한 경면광 처리에 유리 cf. 퐁 모델: 플라스틱 재질 처리에 유리 [그림 10-54] 플랫, 퐁, 블린, 쿡/토렌스
Thank you