DirectX 의 동작 단계(그래픽스 파이프 라인)를 보면...
쉐이더라는 용어가 계속 등장하는 것을 볼 수 있다.
각 스테이지를 부분적으로 모듈처럼 떼서 각각 구현하고 붙이고 할 수 있다. (튜닝이 쉽다)
각 스테이지와 스테이지 사이의 화살표 부분의 디테일한 구현은 실제로는 감추어져 있다.
일단 당분간 집중할 쉐이더는 Vertex Shader, Pixel Shader이다
vertex 쉐이더란 무엇인가?
하나의 프로그램이라고 생각하면 된다.
물체를 이동, 크기 변환, 회전 등을 한다. (물체에 해당하는 vertex 모두에 똑같이 적용됨)
어떠한 정보가 들어오고 어떠한 정보가 나가는가? 를 보면 된다.
예) position, color, uv가 들어오고 나가는 vertex 쉐이더.
pixel 쉐이더(fragment 쉐이더)는?
픽셀단위 작업을 한다.
궁극적으로 렌더링이란 화면에 있는 모든 픽셀들의 색을 결정하는것이 목표라는 것을 생각하면 된다.
쉐이더 토이
아래 사이트에서 쉐이더로 만든 재밌는 결과물들을 볼 수 있다.
https://www.shadertoy.com/