- 지오메트리 쉐이더
- vertex stage와 tessellation stage의 다음단계이며
래스터라이저 스테이지의 이전 단계 - 프리미티브당 한 번 수행
- 프로그래밍을 통해 파이프라인 내 데이터 흐름의 양을 증가시키거나 감소시킬 수 있는 유일한 쉐이더 스테이지.
- Example
- #version 430 core
layout(triangles) in;
layout(points, max_vertices = 3) out;
void main(void)
{
int i;
for (i = 0; i < gl_in.length(); i++)
{
gl_Position = gl_in[i].gl_Position;
EmitVertex();
}
} - input으로 triangle을 받음.
- 각 쉐이더가 생성하는 점의 최대 개수가 3
- 삼각형을 처리하고 있기에 배열의 길이는 3
- EndPrimitive는 쉐이더 종료 시 자동으로 호출
- 삼각형들이 점으로 표현된다.
댓글 없음:
댓글 쓰기