포프의 쉐이더 입문강좌 참고

화면에 출력할 픽셀의 위치와 색상을 계산하는 함수

쉐이더는 픽셀의 농담, 색조, 명암을 결정한다.

쉐이더의 종류

vertex shader

pixel shader

3D 파이프라인 : 3차원 공간에 존재하는 물체를 2차원 평면에 보여주기 위함.

원형: GPU가 알아서 처리하는 단계. (프로그래머가 제어 불가능)
사각형: 프로그래머가 제어 ⇒ 여기서 사용할 함수를 작성하는 것이 쉐이더 프로그래밍 → 정점쉐이더와 픽셀쉐이더에 사용할 함수를 하나씩 만드는 것

원형: GPU가 알아서 처리하는 단계. (프로그래머가 제어 불가능) 사각형: 프로그래머가 제어 ⇒ 여기서 사용할 함수를 작성하는 것이 쉐이더 프로그래밍 → 정점쉐이더와 픽셀쉐이더에 사용할 함수를 하나씩 만드는 것

vertex shader가 입력으로 받는 값은 3D모델 자체. == 폴리곤의 집합 == 삼각형의 집합 → 삼각형은 3개의 정점으로 구성

vertex shader가 하는 일: 3D물체를 구성하는 정점의 위치를 화면 좌표로 변환 (space transformation)

3D 물체를 구성하는 정점의 수 만큼 실행됨

출력값: 화면 공간 안에 존재하는 vertex의 위치 → 3개씩 묶으면 화면에 출력할 삼각형을 만들 수 있음

삼각형 안에 픽셀이 몇 개나 들어갈까?

화면을 구성하는 단위는 픽셀 이므로 화면에 그림을 그리기 위해서는 픽셀을 어디에 몇 개나 그려야 하는지 알아야 함