구라우 셰이딩

Gouraud shading
퐁 반사 모델을 이용한 구라드 쉐이드 삼각형 메쉬

Henri Goraud의 이름을 딴 Goraud shading은 폴리곤 메시로 표현되는 표면의 연속적인 음영을 생성하기 위해 컴퓨터 그래픽스에서 사용되는 보간 방법입니다.실제로 Guraud 셰이딩은 각 삼각형의 모서리 조명계산하고 삼각형으로 덮인 각 픽셀의 결과 색상을 선형 보간함으로써 삼각망에서 연속 조명을 얻기 위해 가장 자주 사용됩니다.Guraud는 1971년에 [1][2][3]이 기술을 처음 발표했다.

묘사

Guraud 쉐이딩은 다음과 같이 동작합니다.폴리곤 3D 모델에서 각 정점의 표면 법선에 대한 추정치는 각 정점에 대해 지정되거나 각 정점에서 만나는 폴리곤의 표면 법선을 평균함으로써 구해진다.이러한 추정치를 사용하여 반사 모델(예: Phong 반사 모델)에 기초한 조명 계산을 수행하여 정점에서 색 강도를 생성한다.폴리곤 메쉬로 덮인 각 스크린 픽셀에 대해 정점에서 계산된 색상 값에서 색 강도를 보간할 수 있습니다.

다른 음영 기술과의 비교

플랫 쉐이딩과 구라우 쉐이딩의 비교.

Guraud 쉐이딩은 플랫 쉐이딩보다 뛰어난 것으로 간주되며 Phong 쉐이딩에 비해 처리량이 현저히 적지만, 일반적으로 페이스가 있는 외관이 됩니다.

퐁쉐이딩에 비해 구라우쉐이딩의 강점과 약점은 보간법에 있다.메시가 정점보다 화면 공간에 더 많은 픽셀을 커버하는 경우, 정점에서의 고가의 조명 계산 샘플로부터 색값을 보간하는 것은 퐁 쉐이딩에서와 같이 각 픽셀에 대해 조명 계산을 실행하는 것보다 프로세서의 부하가 낮습니다.단, 고도로 국소화된 조명 효과(사과 표면의 반사광의 반짝임 등)는 올바르게 렌더링되지 않으며, 하이라이트가 폴리곤의 중간에 있지만 폴리곤의 정점으로 퍼지지 않으면 Guraud 렌더링에서는 명확하게 표시되지 않습니다.반대로 하이라이트가 발생하는 경우, Guraud 렌더링에서는 하이라이트가 발생할 수 있습니다.폴리곤의 정점은 이 정점에 올바르게 렌더링되지만(조명 모델이 적용되는 곳이기 때문에), 보간법을 통해 모든 인접 폴리곤에 부자연스럽게 퍼집니다.

이 문제는 렌더링에서 쉽게 발견됩니다. 렌더링에서는 모델이 회전할 때 모델의 표면을 따라 부드럽게 움직여야 합니다.대신 Guraud 쉐이딩은 모델의 인접 부분에 걸쳐 연속적으로 페이드아웃된 하이라이트를 생성하며, 의도한 스펙티컬 하이라이트가 모델의 정점과 정렬될 때 최대 강도를 나타냅니다.이 문제는 객체 내의 정점 밀도를 높임으로써 해결할 수 있지만, 어느 시점에서는 이 접근법의 수익 감소가 보다 상세한 음영 모델로 전환하는 데 유리할 것입니다.

리니어 vs.쌍곡선 보간

Guraud의 원본 논문은 선형 색 [1]보간법을 기술했습니다.1992년, Blinn은 선형 보간에 대한 정확한 대안으로 GPU에서 사용되는 쌍곡 보간을[4] 위한 효율적인 알고리즘을 발표했다.정점에서 픽셀까지 색상의 보간법의 선형 및 쌍곡선 변형은 일반적으로 "구라우 쉐이딩"이라고 불립니다.

마하 밴드

강도의 선형 보간은 Guraud shading의 일반적인 시각적 아티팩트인 마하 밴드를 트리거하는 파생 불연속성을 일으킨다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Gouraud, Henri (1971). Computer Display of Curved Surfaces, Doctoral Thesis (Thesis). University of Utah.
  2. ^ Gouraud, Henri (1971). "Continuous shading of curved surfaces" (PDF). IEEE Transactions on Computers. C-20 (6): 623–629. doi:10.1109/T-C.1971.223313.
  3. ^ Gouraud, Henri (1998). "Continuous shading of curved surfaces". In Rosalee Wolfe (ed.). Seminal Graphics: Pioneering efforts that shaped the field. ACM Press. ISBN 1-58113-052-X.
  4. ^ Blinn, James F. (July 1992). "Hyperbolic Interpolation". IEEE Computer Graphics and Applications. 12 (4): 89-94. doi:10.1109/MCG.1992.10028.