Vertex를 GPU에서 어떻게 해석하고 사용할지에 대한 설명.
렌더링 파이프라인중에 첫번째 단계에 해당한다.
Shader에서는 아래와 같은 방식으로 정의한다.
즉, Shader에서 사용할 정점 하나하나에 대한 데이터를 가지고 있는 구조체라고 볼 수 있다.
물론 아래처럼 구조체 형식이 아닌 각각의 변수를 입력으로 받을수도 있다.
void VS(float3 iPosL : POSITION,
float4 iColor : COLOR,
out float4 oPosH : SV_POSITION,
out float4 oColor : COLOR)
{
oPosH = mul(float4(iPosL, 1.0f), gWorldViewProj);
oColor = iColor;
}
시멘틱 참조
렌더링 파이프라인을 만들 때, 아래와 같이 Layout Description을 구성한다.
책에서는 CPU에서 아래의 정점구조를 정의하고 있다.
따라서 아래와 같은 레이아웃 정의가 필요하다.
버텍스 구조가 여러개가 있다면, 그만큼의 파이프라인이 필요하다.