OpenGL

[OpenGL] Shading과 illumination model

usingsystem 2024. 7. 1. 14:11
728x90

그래픽스 프로그램에서는 광학 시뮬레이션을 통해 색상의 자연스러운 변화를 나타냅니다. 이 과정에서 중요한 요소는 광원과 물체 표면의 상호작용입니다. 이를 통해 더욱 현실감 있는 장면을 렌더링할 수 있습니다.

쉐이딩 (Shading)

먼저, 광원(light source)에서 나오는 빛이 타겟 오브젝트에 부딪힐 때, 물체 표면의 재질(material)을 시뮬레이션해야 합니다. 재질은 금속처럼 반사성이 강한 것부터 천처럼 빛을 흡수하거나 산란시키는 것까지 다양합니다. 쉐이더(shader)는 이러한 물체 표면의 광학적 특성을 시뮬레이션하여 자연현상인 그림자, 굴절 등을 처리합니다.

즉 쉐이딩은 광원이 물체 표면에 닿아 반사, 흡수, 산란되는 과정을 시뮬레이션합니다. 이를 통해 물체의 색상과 밝기가 결정됩니다.

 

  • 광원 (Light Source)
    • 직사광 (Direct Light): 태양이나 램프와 같은 광원에서 직접 나오는 빛입니다.
    • 간접광 (Indirect Light): 물체에 반사되어 다른 물체에 도달하는 빛입니다.
  • 재질 (Material)
    • 금속 (Metallic): 고도로 반사적인 특성을 가지고 있습니다. 예: 금, 은
    • 비금속 (Non-Metallic): 빛을 흡수하거나 산란시키는 특성을 가지고 있습니다. 예: 플라스틱, 천
  • 광학 현상 (Optical Phenomena)
    • 그림자 (Shadow): 빛이 차단되어 생기는 어두운 영역
    • 굴절 (Refraction): 빛이 물체를 통과하면서 방향이 바뀌는 현상
    • 반사 (Reflection): 빛이 물체 표면에서 반사되는 현상

 

쉐이더의 주요 특성

쉐이더의 가장 중요한 두 가지 특성은 광원(light)과 물체의 표면(material)입니다. 이를 줄여서 L&M이라고 합니다.

  • Light (광원): Red, Green, Blue의 3가지 컬러 채널로 분리하여 계산하고, 이를 하나의 RGB 이미지로 합칩니다.
  • Material (물체의 표면): 물질의 표면에 따른 광학적 성질을 관리합니다. 빛을 반사시키는 성질은 물체 표면의 재질에 따라 달라집니다.

L&M 상호작용

광원(L)과 물체의 표면(M) 간의 상호작용은 매우 중요합니다. 예를 들어, 광원이 흰색(L = (1, 1, 1))이고 물체의 표면이 빨간색(M = (1, 0, 0))이라면, 쉐이딩 결과는 (1, 1, 1) * (1, 0, 0) = (1, 0, 0)이 되어 빨간색이 됩니다. 이는 우리 눈에 빨간색으로 보이게 됩니다.

일루미네이션 (Illumination)

일루미네이션은 컴퓨터 그래픽스에서 쉐이딩 기법의 이론적 근거로 사용됩니다. 일루미네이션 모델은 물체 표면의 한 점에서 빛의 밝기와 색상을 계산하는 방법입니다. 여기에는 정반사(specular reflection)와 난반사(diffuse reflection)와 같은 빛과 재질 간의 상호작용을 이용하여 물체 표면의 밝기를 계산합니다.

    1. 정반사 (Specular Reflection)
      • 특성: 빛이 특정 방향으로 반사됩니다.
      • : 금속, 유리
      • 수식: 반사각 = 입사각
      • 모델: Phong 반사 모델, Blinn-Phong 모델
    2. 난반사 (Diffuse Reflection)
      • 특성: 빛이 여러 방향으로 퍼집니다.
      • : 고무, 플라스틱
      • 수식: Lambert의 코사인 법칙 (빛의 강도는 입사각의 코사인에 비례)
      • 모델: Lambertian 반사 모델
    고급 일루미네이션 기법
    1. 글로벌 일루미네이션 (Global Illumination)
      • 정의: 모든 간접광을 포함하여 전체 장면의 빛을 계산하는 방법
      • 기법: 라디오시티, 포톤 맵핑, 경로 추적
    2. 앙비언트 오클루전 (Ambient Occlusion)
      • 정의: 물체 표면의 오목한 부분에서 빛이 덜 도달하는 효과를 시뮬레이션
      • 효과: 그림자를 더 풍부하게 하고, 물체의 형태를 더 분명히 함
    3. 서브서피스 스캐터링 (Subsurface Scattering)
      • 정의: 빛이 물체 내부를 통과하면서 산란되는 현상
      • : 피부, 왁스
      • 효과: 반투명한 물체의 현실감을 더함

 

 
728x90