Primitive Assembly의 역할 1: 정점 연결 방식 정의
Primitive Assembly는
프로그래머가 선택한 "도형 생성 방식"에 따라
정점들을 어떻게 이어서 그릴지 결정합니다.
이걸 **"Primitive Type" 또는 "Drawing Mode"**라고 부르며,
OpenGL/DirectX 등에서는 아래와 같은 옵션들이 있습니다:
---
1. 기본 방식들 (OpenGL 기준)
---
2. 예시: GL_TRIANGLES
정점 배열: V0, V1, V2, V3, V4, V5
→ 묶임 방식:
삼각형 1: V0, V1, V2
삼각형 2: V3, V4, V5
각 삼각형은 정점 3개가 독립적으로 쓰입니다.
---
3. 예시: GL_TRIANGLE_STRIP
정점 배열: V0, V1, V2, V3, V4
→ 묶임 방식:
삼각형 1: V0, V1, V2
삼각형 2: V1, V2, V3
삼각형 3: V2, V3, V4
→ 정점 재사용으로 메모리 효율과 성능 향상
단점: 정점 순서를 잘못 설정하면 삼각형 방향이 꼬일 수 있음
---
4. GPU가 Primitive Assembly에서 실제로 하는 일
1. 정점 배열을 받음
2. 선택된 도형 타입에 따라 정점을 그룹화
3. 각 그룹을 Primitive(도형)으로 변환
4. 속성과 정점 인덱스 정보 포함된 구조로 래핑
---
왜 중요한가?
정점 수를 줄이면서 더 많은 도형을 표현할 수 있음
삼각형 하나에 정점 3개를 항상 새로 쓰면 낭비가 큼
→ Strip/Fan을 쓰면 정점 중복을 줄이고 GPU 부하 감소
셰이더 계산도 줄어들어 렌더링 성능 향상
---
요약
Primitive Assembly에서 "정점 연결 방식 정의"는
**도형 생성 방식(Points, Lines, Triangles 등)**을 바탕으로
정점들을 어떻게 묶을지 결정하는 중요한 과정입니다.
이 설정이 잘못되면 도형이 깨지거나 보이지 않는 결과를 초래할 수 있습니다.
필요하시면 각 방식에 대한 그림 예시도 만들어드릴 수 있습니다.
카테고리 없음