10장. 조명과 음영 학습목표 조명과 음영의 차이점을 이해한다. 지역 조명모델과 전역 조명모델의 차이점을 이해한다. 광원의 특성과 종류를 이해한다. 주변광, 확산광, 경면광 등 지역 조명모델의 요소를 이해한다. 플랫 셰이딩, 구로 셰이딩, 퐁 셰이딩 등 음영방법의 차이를 이해한다. 프로그램에 의해 지엘에서 조명 및 음영을 가하는 방법을 이해한다.
빛 하나님이 가라사대 빛이 있으라 하시매 빛이 있었고 그 빛이 하나님이 보시기에 좋았더라 하나님이 빛과 어두움을 나누사 빛을 낮이라 칭하시고 어두움을 밤이라 칭하시니라 저녁이 되며 아침이 되니 이는 첫째 날이니라 - 창세기 1:3-1:5, New International Version
조명과 음영 렌더링(Rendering) 조명(Lighting, Illumination): 물체 정점의 색상을 부여, 물체공간(Object Space) 음영(Shading, Surface Rendering):조명 결과를 이용하여 물체 면의 색상을 부여: 영상공간(Image Space)
빛의 진행 광원에서 출발 물체 표면에서 흡수 (Absorption) 반사 (Reflection) 투과(Transmission) 또는 굴절(Refraction) 물체를 본다는 것은 우리 눈으로 입사하는 빛에 의함 물체색: 광원, 물체, 관찰자 위치, 광원과 물체의 특성에 의해 결정
조명모델(Illumination Model) 전역 조명모델(Global Illumination Model):다른 물체면에서 반사되어 입사되는 빛까지 고려한 조명모델 지역 조명모델(Local Illumination Model): 광원으로부터 직접 물체면으로 입사되는 빛만을 고려한 모델
광원(Light Source) 면적광원(Area Light Source)과 점광원(Point Light Source) 면적광원을 분산 점광원(Distributed Point Light Source)으로 근사화
광원(Light Source) 위치성 광원(Positional Light Source) 옴니라이트(Omni Light), 빛이 모든(Omni) 방향으로 방사형(Radial Direction)으로 진행 광원의 위치가 중시됨. 근거리 광원 방향성 광원(Directional Light Source) 빛이 물체면을 향하여 일정한 방향으로 진행 빛의 방향이 중심됨. 원거리 광원
스포트라이트(Spot Light) 위치성 광원과 유사 빛이 방사형으로 진행 광원이 유한 거리에 존재 방향성 광원과 유사 하나의 방향을 향해서만 진행 차이점 일정한 각 범위 내로만 진행. 포로수용소의 탐조등
조명관련 벡터 물체의 색: R, G, B 별로 빛의 세기를 별도 추적. 최종적으로 합성 조명관련 벡터 입사각: 광원벡터와 법선벡터가 이루는 각
주변반사(Ambient Reflection) 광원에 직접 노출되지 않는 면에 밝기를 부여 모든 빛의 경로를 추적하기 어려움 면마다 상수 크기의 밝기를 추가 전역 조명모델 효과를 근사적으로 부여
거리에 따른 빛의 약화 거리 제곱에 반비례 Ia: 광원의 주변광 세기 Ka: 주변광 계수
주변광 계수 변화 주변광만 부여 여타 반사광 + 주변광
확산반사(Diffusive Reflection) 난반사에 해당 완벽 확산체(Perfect Diffuser)와 방향성 확산체(Directional Diffuser) 방향성 확산체 확산 방향에 시점이 있다면 물체가 더욱 밝게 보여야 함. 완벽 확산체 지역조명 모델의 그래픽 처리를 단순화하기 위해서 완벽 확산체를 가정
확산광의 세기 물체면이 서 있는 방향에 따라 다름 람베르트 법칙(Lambertian Law) 입사각: 광원벡터, 법선벡터 사이각 면의 밝기는 입사각의 코사인에 정비례. 확산광의 세기 Id: 광원의 확산광 세기 Kd: 확산광 계수
확산광 효과 면이 서 있는 방향에 따라 차등적 밝기 입체감 부여 cf. 주변광 우상단, 우측 중앙, 정중앙
경면반사(Specular Reflection) 반질반질한 표면에서 반사되는 빛 정반사에 의함 물체의 색이 아니라 광원의 색 cf. 주변광, 확산광: 광원의 색이 물체의 색과 상호작용 Ex. 확산, 확산+경면 기본적으로 입사각과 반사각이 동일 시점이 정확히 반대방향일 때 보임
경면광 분포와 퐁 반사모델 실제적으로는 Lobe 모습 퐁 반사모델(Phong Illumination Model) 광택계수(Shineness Coefficient) 경면광의 세기
약화함수(Attenuation Function) 지엘에서는 거리에 따른 약화를 수식으로 표현 a = b = 0, c = 1, a = b = .25, c = .5 , a = c = 0, b = 1
확산계수, 경면계수, 광택계수 확산계수 0.01, 0.3, 0.7 경면계수 0.0, 0.4, 0.8 광택계수 5, 40, 100
지역반사 모델
지엘의 조명 1. 광원이 여러 개인 경우는 각각의 광원에서 나오는 빛을 모두 합산 2. R, G, B 색에 대해 별도로 적용하여 합산 3. 광원특성은 반사광 종류별로 Ia, Id, Is 4. 물체특성은 반사광 종류별로 Ka, Kd, Ks
지역 조명모델 알고리즘 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 경면반사에 대해 Add R, G, B Colors Separately; 주변광, 확산광, 경면광을 합산 } Add R, G, B Colors Separately; 모든 광원의 영향을 합산 } }
음영(Shading) 음영 또는 표면 렌더링(Surface Rendering) 물체 면의 색을 부여 플랫 셰이딩(Flat Shading) 주어진 하나의 다각형 전체를 동일한 색으로 칠함. 빠르고 간단 상수 셰이딩(Constant Shading),깎은 면 셰이딩(Facet Shading) 다각형을 구성하는 다각형 정점의 위치를 평균하여 중심점(Centroid)를 구함.중심점에서의 법선벡터, 광원벡터, 시점벡터를 기준으로 조명모델이 가해지며 그 결과 색이 면 내부를 모두 채움.
플랫 셰이딩 마하밴드 효과(Mach Band Effect)
구로 셰이딩(Gouraud Shading) 다각형 내부를 서로 다른 색으로 채우는 방법 정점의 색을 보간 정점의 법선벡터를 요함. 인접면의 법선벡터를 평균하여 구함 정점의 색으로부터 내부면의 색을 선형보간 경면광을 감안하지 않음: 실제적인 정점의 법선벡터와 근사적으로 계산된 법선벡터가 완전히 일치하지 않기 때문
구로 셰이딩 플랫 셰이딩보다는 부드러움 마하 밴드 효과는 그대로 남아있음. 경우에 따라서 오류
퐁 셰이딩(Phong Shading) 정점의 색 대신 정점의 법선벡터를 보간 곡면의 기울기가 복원됨: 경면광을 부여할 수 있음.
음영결과 비교 플랫, 구로, 퐁 구로, 퐁
미세면 모델(Microfacet Model) 표면의 거칠기(Roughness)를 모델링 평균면의 방향을 기준으로 표면의 거칠기라는 매개변수를 사용해서 미세면의 굴곡이나 모양을 조절
미세면 모델(Microfacet Model) 플랫, 퐁, 블린, 쿡/토렌스 블린 셰이딩 퐁 셰이딩과 유사.경면광 성분이 더욱 부드럽게 퍼져나감. 광원이 거의 물체면과 나란히 예각으로 입사한 것과 유사 쿡/토렌스 셰이딩(메탈 셰이딩) 금속표면의 은은한 경면광 처리에 유리. cf. 퐁 모델: 플라스틱 재질 처리에 유리