개요
3차원 물체의 표면에 2차원 이미지를 입혀서 적은 삼각형으로도 높은 디테일을 표현할 수 있게 해 주는 기술이다.
uv 매핑
3차원의 물체를 2차원의 텍스쳐에 대입시키기 위해서는 3차원의 물체에 2차원의 텍스쳐에 대응되는 좌표를 주어야 한다. 그것을 uv 맵이라고 한다. uv 맵은 0부터 1 사이의 값을 가지며 (대다수의 경우- 아닌경우도 많긴하지만) 이를 통해서 텍스쳐맵에 대응하게 된다.
- [math]T_{MappingFunction} = (u,v)-\gt (0...width_{texture},0...height_{texture})[/math] 3차원 물체위의 uv맵 -> 2차원 텍스쳐위의 한 점
이에따라 [0,1]사이의 uv 맵이 [0,텍스쳐크기]의 텍스쳐 맵으로 매핑되게 된다.
oversampling
3차원 물체위의 한 픽셀이 텍스쳐위의 한점보다 덜 맺힌경우. 이경우 텍스쳐는 확대되어서 보이게 된다. 즉 물체의 크기가 텍스쳐의 크기를 over 한경우이다.
- Nearest neighbor : 최대한 가까운 텍셀을 선택해서 텍스쳐링한다.
- Bilinear interpolation : 근처의 텍셀들을 보간하여 텍스쳐링한다.
undersampling
3차원 물체위의 한 픽셀이 텍스쳐위의 한점보다 많이 맺힌경우. 이경우 텍스쳐는 축소되어서 보이게 된다. 즉 물체의 크기가 텍스쳐의 크기를 under 한 경우이다. 이 경우 높은 정도의 세밀도가 조그마한 지점에 몰릴경우 이미지에 artifact(인공적인 느낌)을 줄 수 있다. 따라서 보간을 해야 하는데, 이경우 계산시간이 너무 오래걸린다. 이를 해결하기 위해서 MIP 맵핑을 하게 된다.
MIP Mapping
여러개의 미리 필터처리된 서로 다른크기의 이미지들을 준비해서 현재 모델의 크기에 따라 다르게 적용시킨다.