예를 들어서... 128x128 텍스쳐에서 왼쪽위의 32x32텍스쳐 부분만 메쉬에다가 맵핑하고 싶습니다.
이럴 경우 메쉬에다가 u,v 셋팅하는거 말고~ 텍스쳐 메트릭스를 이용하면 된다고 하는데요..
텍스쳐매트릭스로는 텍스쳐 이동하고, 회전하는건 알겠는데...
텍스쳐에서 특정 부분만 사용하려면 어떻게 해야 하나요? 고수님들의 도움 부탁드립니다. ^^
텍스쳐 메트릭스?? ^^;
Moderator: 류광
-
- Posts: 62
- Joined: 2004-05-25 22:30
re
대충 이럴거에요~ 참고정도만 후크예를 들어서... 128x128 텍스쳐에서 왼쪽위의 32x32텍스쳐 부분만 메쉬에다가 맵핑하고 싶습니다.
선형변환을 구해보세요.
텍스쳐 크기가 w x h 일때, 이 영역이 u:[0, 1], v:[0, 1]에 해당합니다.
x0, y0에서 x1, y1 까지의 영역은 그럼,
u':[ x0/w, x1/w] ,v':[ y0/h, y1/h] 에 해당합니다.
메쉬의 텍스쳐 좌표는 [0, 1]을 기준으로 만들어져 있으므로, 텍스쳐 행렬을 설정해서, [0, 1] 영역을 각각 u', v' 영역이 되도록 만들어 주면 됩니다.
u' = (x1-x0)/w u + x0/w
v' = (y1-y0)/h v + y0/h
따라서 행렬은,
Code: Select all
u' (x1-x0)/w 0 0 x0/w u
v' = 0 (y1-y0)/h 0 y0/h x v
w' 0 0 1 0 w
1 0 0 0 1 1