2016-08-20 10 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) 

注:

  • 2つのスケール演算を組み合わせることができます
  • / 16あなたは3次元が必要になります
  • ための行列の
  • 、アンパック画像の寸法を追加し、そのための行列の
  • をスケーリングするための翻訳およびz = 1のためのz = 0に置くことができ、あなたが操作を逆にする必要がある場合があります注文
関連する問題