카테고리 없음

Primitive Assembly -3

일기를 쓰는 사람 2025. 4. 8. 13:07

핵심 개념 요약

Primitive Assembly는 단순히 정점을 묶는 것에 그치지 않고,
정점에 담긴 다양한 속성들(색상, 텍스처 좌표, 법선 등)을
Primitive 단위로 모아서 다음 단계로 넘깁니다.

이 속성들은 이후 Rasterization → Fragment Shader 단계에서
보간(interpolation) 되어 픽셀 수준에서 사용됩니다.


---

정점 속성이란?

각 정점(Vertex)은 단순히 위치만 있는 게 아니라 다음과 같은 속성을 가질 수 있습니다:


---

이 속성들은 Primitive에 어떻게 전달되나?

Primitive Assembly는

묶인 정점 각각의 속성을

**하나의 Primitive(삼각형 등)**에 대한 정보로 정리해서

다음 단계로 넘깁니다.


예를 들어 삼각형이 다음과 같은 정점 속성을 가진다고 가정합시다:

이 삼각형은 "Primitive"로 묶이고,
해당 속성들도 함께 묶여서 **"속성이 있는 도형"**으로 넘겨집니다.


---

Rasterization에서의 보간 예시

Rasterizer는 삼각형 내부의 각 픽셀마다
정점 속성들을 보간(interpolate) 합니다.

예: 위 삼각형의 중앙 픽셀 →

빨강 ⅓ + 초록 ⅓ + 파랑 ⅓ → 보라빛 중간 색


이 과정을 통해 색상 그라데이션, 텍스처 맵핑, 조명 계산 등이 가능해집니다.


---

보간 방식 종류


---

요약

Primitive Assembly는 단순히 정점 연결만 하지 않고,
정점의 속성 정보도 함께 Primitive 단위로 정리합니다.

이후 Rasterizer와 Fragment Shader는 이 정보를 기반으로
각 픽셀마다 속성을 보간해 셰이딩을 수행합니다.

이 구조 덕분에 그라데이션 색상, 텍스처 맵핑, 조명 효과 등이 부드럽게 표현됩니다.