본문 바로가기

전체 글

(98)
파이프라인 - Primitive Assembly Primitive Assembly란?정점 셰이더(Vertex Shader)를 통과한 정점들을도형(Primitive) 단위로 묶는 과정입니다.이 단계는 GPU의 그래픽스 파이프라인 중 Rasterization 직전에 위치합니다.---주요 역할1. Primitive 생성여러 정점을 모아 점, 선분, 삼각형 등의 **기본 도형(Primitive)**을 구성합니다.예:GL_TRIANGLES일 경우 → 정점 3개마다 삼각형 1개 생성GL_LINES일 경우 → 정점 2개마다 선분 1개 생성2. 정점 속성 전달각 정점이 가진 속성(Position, Color, UV 등)을 Primitive에 포함시켜**보간(interpolation)**에 사용할 준비를 합니다.3. 정점 연결 방식 정의Strip, Fan, List ..
GPU의 프레임버퍼 주요 구성프레임버퍼는 여러 종류의 버퍼로 구성됩니다:1. 컬러 버퍼 (Color Buffer)픽셀의 최종 색상값(RGBA)을 저장2. 깊이 버퍼 (Depth Buffer, Z-Buffer)픽셀마다의 깊이 값 저장 (어떤 물체가 더 앞에 있는지 판단)3. 스텐실 버퍼 (Stencil Buffer)특정 픽셀의 렌더링 여부를 제어 (마스크 작업에 사용)---동작 과정 요약1. 파이프라인을 통해 처리된 픽셀 정보는 프레임버퍼에 기록됨2. GPU는 이 프레임버퍼를 기준으로 화면에 이미지를 출력3. 매 프레임마다 프레임버퍼는 새 이미지로 갱신됨---더블 버퍼링과 프레임버퍼대부분의 시스템은 더블 버퍼링을 사용백 버퍼(Back Buffer): 현재 GPU가 그림 그리고 있는 버퍼프론트 버퍼(Front Buffer): ..
Rasterization 기반의 그래픽스 파이프라인 그래픽스 파이프라인 단계 (고전적 구조)1. Vertex Processing (정점 처리)각 정점에 대해 위치, 색상, 노멀 등을 계산Vertex Shader가 실행됨모델 → 월드 → 뷰 → 클립 공간으로 좌표 변환 (MVP 행렬)---2. Primitive Assembly (도형 조립)정점들을 삼각형 등 **기하 도형(Primitive)**으로 연결보통 삼각형(triangle)이 기본 단위---3. Clipping (클리핑)화면 밖에 있는 부분은 잘라냄클립 공간 밖에 있는 도형 일부 또는 전체 제거---4. Viewport Transform클립 공간 → 정규화 장치 좌표 → 픽셀 위치(SCREEN 공간)로 변환---5. Rasterization (래스터화)삼각형을 픽셀(프래그먼트)로 쪼갬어떤 픽셀이 삼..