삼각형에 색상을 채우는 방법은 3가지가 있습니다.

 

1. Flat Shading(플랫 셰이딩)
 삼각형을 단색으로 채우는 방법으로 채우기 속도는 가장 빠르다.

2. Gouraud Shading(고라우드 셰이딩)

 삼각형의 각 점에 대해 색상을 부여하여 색상을 보간하여 채우는 방법입니다. OpenGL, DirectX 등 3D API에서 보통 쓰는 방식입니다. 속도는 Flat Shading 보다 떨어진다.

3. Phong Shading(퐁 셰이딩)

 삼각형에 채워지는 각각의 픽셀에 대해 색상계산하여 채우는 방법입니다. 실제 퐁쉐이딩의 정의는 법선 벡터를 보간하여 각각 픽셀의 법선벡터를 이용하여 채우는 방법입니다.

 

정점 3개를 이어만들어진 삼각형

 위와 같이 내부가 칠해지지 않은 삼각형이 있습니다. 그림의 삼각형에서 가장 상단에 있는 점에서 출발해, 삼각형의 나머지 2개의 점 중 X값이 작은 쪽의 점이 시작점, 큰 쪽의 점이 끝점인 수평선을 그려줍니다.

 

상단의 점에서 출발하여 삼각형의 양 끝점을 수평선으로 그어준 상황

 그림과 같은 삼각형을 채우기 위해서는

1. 시작점에서 나머지 삼각형의 정점을 잇는 직선의 기울기를 구합니다.

2. 시작점에서 y값을 1씩 증가했을때의 각각의 직선의 방정식을 통해 x값을 구합니다.

3. 구하여진 x값 2개와 y값으로 수평선을 긋습니다.

4. 끝점의 y값 - 시작점의 y값 만큼 반복합니다.

 

'게임 수학' 카테고리의 다른 글

왼손 좌표계, 오른손 좌표계  (0) 2019.12.17
정수만 사용해 선 빠르게 그리기  (0) 2019.12.17
NDC(Clip Space)란 무엇인가?  (0) 2019.12.17
투영 행렬 유도하기  (0) 2019.12.17
백페이스 컬링  (0) 2019.12.17

+ Recent posts