Ray Tracing - Texturing

Date:     Updated:

카테고리:

태그:

홍정모님의 그래픽스 새싹코스 강의를 듣고 정리한 내용입니다.


🐥 Texture - uv Coordinates

Texturing uv coordinates
1 2

Texturing이란 triangular polygon으로 이루어진 메시에 이미지를 덧씌우는 작업이다. 이를 위해서는 각 vertex마다 uv좌표를 지정해주어야 하고, vertex가 아닌 픽셀의 경우 앞서 배운 무게 중심 좌표계를 이용하여 uv 좌표를 구한다.


3

  • (width x heigt) 크기의 Texture인 경우
  • uv의 범위 : [0,1]
  • 픽셀 인덱스의 범위 : [0, width - 1] x [0, height - 1]
  • 이미지 좌표의 범위 : [-0.5, width - 1 + 0.5] x [-0.5, height - 1 + 0.5]


🐥 Point Sampling vs Linear Sampling

Point Sampling

Formula Result
4 result1
  • 가장 가까운 픽셀 좌표를 이용해 Texturing
  • 가벼운 연산 & Discrete한 결과.


Linear Sampling

Formula Result
5 result2
  • 주변 4개의 픽셀 값으로 linearly-interpolation
  • 조금 비싸지만 연속적인 결과.



🐥 Clamped vs Wrapped

5

위 그림은 사각형의 전체의 uv좌표를 [0,1]로 대응시킨 결과이다. 만약 uv좌표가 [0,1]을 넘어갈 경우 어떻게 처리해줄 수 있을까? 이 같은 고민을 하는 이유는 반복되는 패턴을 표현하기 위해 의도적으로 [0,1] 범위를 넘기는 경우가 존재하기 때문이다. 가장 간단하게 처리할 수 있는 방법은 [0,1]로 clipping하는 것이지만 이 방법으로는 반복되는 패턴을 표현할 수 없다. 따라서 [0,1]을 주기로 갖는 wrapping 방법을 이용한다.


Clamp Wrap
result3 result4



맨 위로 이동하기

Graphics 카테고리 내 다른 글 보러가기

댓글 남기기