learn opengl 텍스쳐

r·2022년 9월 2일
0

텍스쳐 좌표를 활용해 텍스쳐 색깔을 가져오는 과정을 샘플링이라고 한다.

우리는 vertex shader 의 세 점이 텍스쳐 좌표의 어떤 점에 해당되는지만 정해주면 된다.

float texCoords[] = {
    0.0f, 0.0f,  // lower-left corner  
    1.0f, 0.0f,  // lower-right corner
    0.5f, 1.0f   // top-center corner
};

Texture Filtering

텍스쳐 좌표는 해상도에 의존하지 않고 실수 값에 의존한다. 그러므로 opengl 은 어떤 텍스쳐 픽셀을 텍스쳐 좌표에 대응시켜야 하는지를 정해야 합니다.

  1. gl_nearest
    중심 좌표가 택스터 좌표계에 가장 가까운 택셀을 고르는 방식.
  2. gl_linear
    택스처 좌표계의 이웃한 택셀 중에 보간된 값을 가져와서 택셀 사이의 색깔들을 근사시킨다. 택셀의 센터에서 텍스터 좌표계 사이의 거리가 더 작을수록 택셀의 색깔이 더 많이 샘플링 된ㄷ다.

gl_neareast 가 비쥬얼 적으로 더 명확하게 볼 수 있지만 gl_linear 가 좀 더 현실에 가까운 결과를 반환한다.

MipMap

오브젝트가 멀리 있을수록 해상도를 낮춘다. 왜냐하면 멀리 있을 수록 어차피 사용자 눈에는 해상도 낮은 게 잘 티가 안 나기 때문이다.

profile
프론트엔드 개발자를 꿈꿉니다.

0개의 댓글