본문 바로가기

카테고리 없음

Primitive Assembkly 1


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 등)**을 바탕으로
정점들을 어떻게 묶을지 결정하는 중요한 과정입니다.

이 설정이 잘못되면 도형이 깨지거나 보이지 않는 결과를 초래할 수 있습니다.

필요하시면 각 방식에 대한 그림 예시도 만들어드릴 수 있습니다.