{{위키데이터 속성 추적}}
'''셰이딩'''(shading) 또는 '''그림자 처리'''는 [[3차원 컴퓨터 그래픽스]] 분야의 [[렌더링]] 과정에서, 또는 [[소묘]] 과정에서 빛의 거리와 각도에 따라 물체 표면의 [[조도]]를 변화시키는 기법을 뜻한다.

== 소묘 ==
[[파일:Shading1.jpg|섬네일|셰이딩의 예]]
소묘에서 사용되는 셰이딩은 종이 위 어두운 부분에는 용구를 더 진하게 칠하거나 어두운 색의 용구를 칠하고, 밝은 부분에는 용구를 더 연하게 칠하거나 밝은 색의 용구를 칠하여 명도를 표현하는 것이다. 수직으로 교차하는 선들을 밀도를 달리하여 표현하는 교차 [[해칭]] 등의 다양한 셰이딩 기법들이 있다. 선의 밀도가 높으면 영역이 더 어두워진다.

명암을 가지고 있는 대상 위 빛의 패턴들은 종이 위에 입체의 깊이를 만들어 내는 데 도움이 된다.<ref>{{웹 인용|url=http://www.drawingwithconfidence.com/drawing-techniques/|title=Drawing Techniques|publisher=Drawing With Confidence|accessdate=06 May 2017|보존url=https://web.archive.org/web/20120506055547/http://www.drawingwithconfidence.com/Drawing-Techniques/|보존날짜=2012년 5월 6일|url-status=dead}}</ref><ref>{{웹 인용 |url=http://www.dueysdrawings.com/shading_tutorial.html |title=Shading Tutorial, How to Shade in Drawing |publisher=Dueysdrawings.com |date=2007-06-21 |accessdate=2017-05-06 |archive-date=2017-04-24 |archive-url=https://web.archive.org/web/20170424083134/http://dueysdrawings.com/shading_tutorial.html }}</ref>

== 컴퓨터 그래픽스 ==
컴퓨터 그래픽스에서 사용되는 셰이딩은 각각의 폴리곤이 표면과 빛의 각도에 따라서 밝기가 달라지므로 더욱 사실적으로 물체를 표현할 수 있고, 눈으로 식별하기도 쉬워지는 효과가 있다.

=== 광원의 각도 ===
그림자 효과는 햇빛이나 다른 광원의 각도에 따라 3차원 모형의 측면 빛깔을 바꾼다. 첫 번째 그림이 렌더링을 한 상자의 측면이지만 같은 빛깔을 띠고 있다. 모서리 선들이 이 곳에 렌더링되어 있어서 그림을 보기가 더 쉽다. 두 번째 그림은 아까와 같은 모형이지만 모서리 선이 없이 렌더링된 것이다. 상자 끝과 다음이 어디서 시작되는 지 알아보기 어렵다. 세 번째 그림은 그림자 효과를 입힌 것이며 더울 사실적이고 측면이 어디에 있는지 알아보기 쉽다.

{|
|- valign=top
|[[파일:Shading1.png|프레임|왼쪽|상자를 렌더링한 그림. 이 그림은 측면에 그림자가 없지만 모서리 선이 있어서 측면을 구분한다.]]
|[[파일:Shading2.svg|프레임|가운데|똑같은 그림이지만 모서리 선이 없다.]]
|[[파일:Shading3.PNG|프레임|오른쪽|측면에 그림자 효과를 넣어 렌더링한 그림이며 광원의 각도에 따라 빛깔을 세 가지로 나누어 보여 준다.]]
|}
=== 광원 ===
컴퓨터 그래픽스에서는 씬을 좀 더 사실적으로 [[렌더링]]하기 위해 빛을 처리하는 다양한 기법들이 사용되고, 때문에 다양한 종류의 광원이 존재한다.

==== 주위를 아우르는 빛 (환경 광원, Ambient lighting) ====
셰이딩은 빛과 밀접한 연관이 있다. 환경광원은 빛의 세기와 색이 현재 장면에 존재하는 모든 물체에 동등하게 적용되는 것을 의미한다. 렌더링 과정에서 모든 물체들은 환경광원으로부터 정의된 빛의 세기와 색깔에 따라 밝기가 조절 된다. 가장 기본적인 화면 구성에서 사용된다.

==== 한 쪽을 향하는 빛 (평행 광원, Directional lighting) ====
평행광원은 환경광원과 같이 모든 물체에 동일한 세기와 색이 적용되지만 방향을 가지는 광원이다. 셰이딩은 존재하지만 거리에 따라 세기가 달라지지는 않는다.

==== 점 광원 (Point lighting) ====
점에서부터 사방으로 퍼져나가는 빛이다.

==== 스팟 광원 (Spotlight lighting) ====
점에서부터 깔때기(cone) 모양으로 퍼지는 빛이다.

==== 측면 광원 (Area lighting) ====
면에서부터 사방으로 퍼져나가는 빛이다.

==== 공간적인 광원 (Area lighting) ====
{{빈 문단}}

=== 거리에 따른 차이 ===
{|
|-
| valign="top" style="padding:10px" |[[파일:2squares-1.jpg|300px|가운데|섬네일|두 개의 상자가 OpenGL [[렌더러]]를 통해 렌더링되어 있다.
하나의 상자가 멀리 떨어져 있어도 두 개의 앞면의 빛깔은 고르다.]]
| valign="top" style="padding:10px" |[[파일:2squares-2.jpg|300px|가운데|섬네일|같은 모형을 ARRIS CAD를 이용하여 렌더링한 것이며
"거리에 따른 차"를 넣어 더 밝게 보이는 것이 더 가까운 것으로 인식하게 만든다.]]
|}
거리에 따른 차이는 수많은 방법으로 계산할 수 있다.
* 없음
* 선형
* 3차원
* n제곱
* 다른 [[함수]]의 어떠한 수도 사용할 수 있다.

== 플랫 셰이딩 ==
'''플랫 셰이딩'''(flat shading)은 [[3차원 컴퓨터 그래픽스]]에 쓰이는 광원 기술이다. 다각형의 [[표면 정규]]와 광원 방향 간 각도, 개별 색상, 광원의 세기에 따라 한 물체의 각 [[다각형]]에 그림자를 넣는다.

== 스무스 셰이딩 ==
'''스무스 셰이딩'''(Smooth shading)은 다각형 표면의 색깔을 부드럽게 바꾸어가며 다각형을 보여주는 것을 말한다. 이 때 다각형 내부의 색깔은 다각형을 구성하는 정점(vertex)들의 색깔 데이터를 내분(interpolation)하여 계산하기 때문에 각 정점들의 색깔을 각각 정의하고 있어야 한다.

== 같이 보기 ==
{{위키공용분류}}
* [[셰이더]]
* [[3차원 컴퓨터 그래픽스]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [http://scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading 셰이딩 기법] {{웨이백|url=http://scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading |date=20170518002024 }}

{{전거 통제}}
{{토막글|컴퓨터 과학}}

[[분류:셰이딩| ]]
[[분류:소묘| ]]
[[분류:3차원 컴퓨터 그래픽스]]