[DX] 정점 특성의 보간

김진우·2025년 7월 20일

DirectX

목록 보기
23/32
post-thumbnail

정의

정점 셰이더(Vertex Shader)에서 처리한 정점의 특성(예: 색상, 텍스처 좌표, 노멀 등)을 픽셀 단위로 전달할 때, 삼각형 내부의 픽셀들에 대해 선형적으로 계산해서 보간한다.

여기서 "정점 특성"이란 정점(vertex)이 가지는 속성들(예: 위치, 색상, 법선 벡터, 텍스처 좌표 등)을 의미한다.

주요 보간 방식

보간 방식설명
선형 보간 (Linear Interpolation)화면 공간(Screen Space) 기준으로 선형 보간을 한다. 일반적으로 가장 많이 사용된다.
Perspective-Correct Interpolation (원근 보정 보간)원근 투영 시 화면 공간에서의 선형 보간은 왜곡을 일으킴 → 보정을 적용해 실제 거리 비례로 보간한다.
Flat 보간삼각형의 한 정점 값만을 사용 (보간 X). 모든 픽셀이 동일한 값을 가진다.
NoPerspective 보간OpenGL/GLSL에서의 옵션으로 원근 보정 없이 단순 선형 보간만 사용한다.

Shader에서의 보간

HLSL / GLSL / Unity / Unreal 등에서는 각 attribute가 자동으로 보간된다.

예를 들어 HLSL에서

struct VS_OUT {
    float4 pos : SV_POSITION;
    float3 color : COLOR; // 자동 보간됨
};

color는 삼각형 정점에 따라 픽셀 셰이더에서 자동으로 보간된 값을 받는다.

0개의 댓글