0822 GLSL centroid

260822


GLSL을 다루다 보면,

굉장히 생소한 키워드가 나올 때가 있다.

재미있는 건

그 키워드 하나의 존재 여부가

특정 상황에서 매우 크게 작용한다는 거다.

이전부터 그렇게 생각해온 키워드들은

  • flat
  • highp, lowp

  • dFdx dFdy

이런 게 있었다.


오늘 또 알게 되었다.

centroid 라는 키워든데,

MSAA가 켜져 있다면

여러 샘플을 합치고 평균을 낸다.

이때 삼각형의 모서리같은 부분에서는

샘플링 중에 삼각형의 내부가 아니라고 판단하여

약간의 아티팩트가 발생할 수 있다.

// vs
centroid out vec2 uv;

// fs
centroid in vec2 uv;

이런 식으로 써 주면

무조건 보간값이 프리미티브의 픽셀 내부로 들어오게 된다.