2. 셰이더가 뭔데 그래요
컴퓨터 그래픽스 분야에서 셰이
더(shader)는 소프트웨어 명령
의 집합으로 주로 그래픽 하드웨
어의 렌더링 효과를 계산하는 데
쓰인다.
셰이더는 그래픽 처리 장치
(GPU)의 프로그래밍이 가능한
렌더링 파이프라인을 프로그래
밍하는 데 쓰인다.
요약하면 데이터 쪼가리를 모니
터 밖으로 꺼내주는 코드
4. 데이터에서 모니터까지
공간상의 좌표 화면 좌표
좌표계 변
환
픽셀 배열
Rasterize
각각의 정점에 대한 계산 :
이 정점은 화면 어디에 위치해야 할까?
빛을 어느 방향에서 얼만큼 받을까?
각각의 픽셀에
대한 계산 :
이 픽셀은
무슨 색일까?
5. 데이터에서 모니터까지
공간상의 좌표 화면 좌표
좌표계 변
환
픽셀 배열
Rasterize
각각의 정점에 대한 계산 :
이 정점은 화면 어디에 위치해야 할까?
빛을 어느 방향에서 얼만큼 받을까?
각각의 픽셀에
대한 계산 :
이 픽셀은
무슨 색일까?
정점 셰이더 픽셀 셰이더
6. 정점 셰이더에서 픽셀 셰이
더로
정점별 계산 결과물을
위치관계에 따라 선형보
간해서 픽셀 셰이더로
전달
색상 데이터를 전달한다
면 :
정점 1은 흰색,
정점 3은 검은색
-> 가운데 픽셀 셰이더
에게는 회색이 전달된다
!
3
여기는
회색!
7. 실제 코드를 봅시다
유니티의 ShaderLab 코드 안
에 nVidia의 Cg 코드가 삽입된
형태
그래서 외계어처럼 보였었구나
....
이만큼 Cg 코드
요 바깥은 ShaderLab 코드
8. 실제 코드를 봅시다
정점 셰이더 : 정점의 좌표를
화면좌표계로 옮겨라
픽셀 셰이더 :
빨갛게 칠해라