[손동진] 재질과 광원

Programming/DirectX 2010. 5. 27. 17:27 Posted by 알 수 없는 사용자
1. 재질
재질이란 메시(또는 물체)의 표면 상태를 말하는 것으로 빛이 물체의 표면에서 반사되어 변화된 뒤 사람의 눈에 들어오기까지의 과정을 수학적으로 모델링하기 위해서 사용하는 값들이다.

1.1 재질의 종류
  • 주변색 (ambient)
    • 광원의 위치와 무관하게 똑같은 양으로 모든 점에서 반사되는 색
  • 확산색 (diffuse)
    • 광원에서 반사될 때 출력되는 가장 주된 색
  • 반사색 (specular)
    • 특정한 방향으로만 반사되는 색. 광원의 위치와 카메라의 위치에 따라서 달라진다.
  • 방출색 (emissive)
    • 메시 표면에서 자체적으로 방출되는 색. 단, 이 빛이 다른 메시에 영향을 주지는 못 한다.

2. 광원의 종류
  • 주변 광원 (ambient light)
    • 3차원 공간 내에서 메시의 배치나 위치와는 전혀 상관없이 똑같은 양으로 모든 곳을 비추는 빛의 강도를 말한다. 방향, 위치가 없으며 색과 강도만이 존재한다.
  • 점 광원 (point light)
    • 직관적으로 가장 쉽게 생각할 수 있는 빛이다. 예를 들면, 백열전구를 생각하면 된다. 광원의 위치에 따라 빛의 강도가 달라진다.
  • 방향성 광원 (directional light)
    • 모든 광원의 방향이 하나의 방향을 갖는 것으로 완벽하지는 않지만 태양을 예로 들 수 있다. 광원의 위치는 상관 없고, 방향이 가장 중요한 요소다.
  • 점적 광원 (spot light)
    • 정해진 위치와 범위에만 비추는 특수한 조명을 말한다. 흔히 영화나 쇼무대에서 사용하는 스포트라이트 조명을 생각하면 된다.

이들 광원 모델은 D3D의 고정함수 파이프라인을 사용할 때만 유효하고, 정점 셰이더와 픽셀 셰이더를 사용하게 되면 모두 무용지물이 된다.



* 용책 요약 (p. 161)
  • Direct3D는 방향성 광원과 점 광원, 스포트 광원의 세 가지 광원 모델을 제공하며, 광원은 환경광(ambient)과 난반사광(diffuse), 정반사광(specular)의 세 가지 빛을 발산한다.
  • 펴면의 재질은 표면과 표면에 닿는 빛과의 상호작용을 정의한다. (반사 되거나 흡수될 빛의 양을 조정하여 표면의 컬러를 결정한다.)
  • 버텍스 법선은 버텍스의 방향을 정의하며 Direct3D는 버텍스 법선을 이용해 버텍스에 빛이 닿는 각도를 계산해낸다. 버텍스의 법선이 삼각형의 법선과 동일한 경우도 있지만 부드러운 표면(구체, 원통 등)을 표현하는 경우에는 그렇지 않은 경우도 있다.