2016-08-20 3 views
0

내 텍스처의 경우 (0, 0)에서 (16, 16)까지가는 UV 좌표가 있습니다. 이제 나는 크기가 dim (w, h)이고 위치가 rec (x, y, w, h) 인 텍스쳐 아틀라스에이 텍스쳐를 포장했습니다. 저는 UV 좌표를 변환하여 아트라스에서 처리 할 수 ​​있도록해야하지만 최근에 뇌가 폭발 해 나 자신을 알아 내지 못합니다.텍스처 아트라스 UV 좌표 변환

좌표를 변환하는 방법?

는 (생각은 텍스처 매트릭스에 어떻게를 변환하는, 그래서 매트릭스는 대답으로 간주) 나는 마침내 나 자신을 발견

답변

0

:

translate(rec.x, rec.y) 
scale(1/dim.w, 1/dim.h) 
scale(rec.w/16, rec.h/16) 

if (invertY) 
    scale(1, -1) 
    translate(0, dim.h) 

참고 :

  • 두 가지 축척 작업을 결합 할 수 있습니다.
  • 대신당신은 3 차원 필요
  • 때문에 매트릭스
  • , 압축 해제 된 이미지의 크기를 추가하고 있기 때문에 매트릭스
  • 를 스케일링 번역 및 z = 1, Z = 0에 넣을 수 있고, 사용자는 동작을 반대로 할 수도 주문