티스토리 뷰

구의 모델 좌표계(XYZ) 에서 텍스처 좌표(UV)로 매핑

 

1. 텍스처 좌표 v 매핑 (쉬운거 부터)

주황선은 구의 모델좌표로 부터 텍스처 좌표 v를 매핑하는 것을 표현한 것이다. 식은 아래와 같다.

// r은 구의 반지름 길이
uv.v = acos(posModel.y / r) / 3.141592f;

m.y는 구의 모델좌표계에서 y값이다.

예를 들어 m.y=0 일때 xz평면에 반지름이 r인 원을 텍스처 좌표계 v=0.5에 매핑됨을 알 수 있다.

 

 

2. 텍스처 좌표 u 매핑

우선 식으로 표현하면 아래와 같다.

// atan2은 모든 사분면에서 유효한 아크탄젠트 함수
uv.u = atan2(posModel.z / posModel.x) / (2 * 3.141592f) + 0.5f;

 

식이 복잡한데 식을 시각화 하면 아래와 같다.

m.y이 0일 때 텍스처 좌표(uv)의 v은 0.5이다. 이때 m.x, m.z값이 텍스처 좌표(uv)의 u값에 매핑되는 과정을 시각해 보았다.

 

식을 처음 보았을 때 이해하기 어려웠는데 순차적으로 식을 시각화 해보는 것이 이해하는데 도움이 되는것 같다.

'개인공부 > 그래픽스' 카테고리의 다른 글

블룸 효과, edge detection 기록용  (0) 2024.08.18
댓글