렌더링 파이프라인
렌더링 파이프라인의 핵심적인 4단계는 위와 같다
vertex shader, fragment shader는 개발자가 직접 처리해야한다
rasterizer, output merger는 GPU가 정해진 규칙에 따라 자동으로 처리해준다
DirectX 렌더링 파이프라인
DirectX에서는 Vertex Shader와 Ratsterizer의 단계 사이에
Tesselelator와 Geometry Shader 단계가 추가로 있다
[Tesselator]
테셀레이터는
다각형을 겹치지 않고 작게 만들어 빈틈을 없애
게임 등에서 사물이나 인물등을 실제에 보다 가깝게 표현할수 있게 도와주는 기술
총 3단계로 구성된다
HullShader → Tesselation → DomainShader
Hullshader는
VertexShader에서 공간변환을 진행하지 않고 Hullshader 정점정보들을 전달해준다
Hullshader 는 폴리곤을 어떻게, 얼마나 분할하는지 결정하는 단계
DomainShader는
테셀레이터가 출력한 정점마다 한 번씩 함수 호출을 해주게 된다
테셀레이션이 활성화 되면 기존의 정점쉐이더에서 수행한 것들을 도메인 셰이더에서 수행하게 된다
예를들어 공간변환(월드 → 뷰 → 투영)이 될수 있다
실제 게임을 제작 할때는 테셀레이션보다는
로우폴리곤과 하이폴리곤 모델 두개를 따로 지원하는 경우가 많다
[Geometry Shader]
기본 폴리곤에서 정점을 추가하거나 또는 삭제하며
기하 도형을 생성, 수정, 삭제한다
Vertex Shader
Vertex Shader 단계에서는 정점들의 좌표계 변환이 핵심이다
'게임 그래픽스 > [전북대] OpenGL' 카테고리의 다른 글
[OpenGL Note] Affine Transform, Rigid Transform (0) | 2024.04.13 |
---|---|
[OpenGL Note] 2D Transform (0) | 2024.04.12 |
[OpenGL Note] 모델링 (0) | 2024.04.11 |
[OpenGL Note] 기초 수학 (0) | 2024.04.11 |
[OpenGL Note] OpenGL 라이브러리와 작동 방식 (0) | 2024.04.10 |