텍스쳐 메트릭스?? ^^;

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

텍스쳐 메트릭스?? ^^;

Post by 비회원 »

예를 들어서... 128x128 텍스쳐에서 왼쪽위의 32x32텍스쳐 부분만 메쉬에다가 맵핑하고 싶습니다.

이럴 경우 메쉬에다가 u,v 셋팅하는거 말고~ 텍스쳐 메트릭스를 이용하면 된다고 하는데요..

텍스쳐매트릭스로는 텍스쳐 이동하고, 회전하는건 알겠는데...

텍스쳐에서 특정 부분만 사용하려면 어떻게 해야 하나요? 고수님들의 도움 부탁드립니다. ^^
행인
Posts: 62
Joined: 2004-05-25 22:30

re

Post by 행인 »

예를 들어서... 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
쓰면서 테스트 해보지는 않았어요. 좋은 하루되세요~ ^^
Locked