fix: リピートモード時の拡大縮小の原点が、アライメントの設定にかかわらず左上になる問題を修正
This commit is contained in:
parent
0c4b5e5c04
commit
9daa2a9003
|
|
@ -110,9 +110,13 @@ void main() {
|
||||||
// アライメントに基づく中心で回転
|
// アライメントに基づく中心で回転
|
||||||
vec2 q = rectCenter + rot(-theta) * (p - rectCenter);
|
vec2 q = rectCenter + rot(-theta) * (p - rectCenter);
|
||||||
|
|
||||||
|
// タイルグリッドの原点をrectMin(アライメント位置)に設定
|
||||||
|
vec2 gridOrigin = rectMin - margin;
|
||||||
|
vec2 qFromOrigin = q - gridOrigin;
|
||||||
|
|
||||||
// タイルサイズ(ウォーターマーク + マージン)で正規化
|
// タイルサイズ(ウォーターマーク + マージン)で正規化
|
||||||
vec2 tile = wmSize + margin * 2.0;
|
vec2 tile = wmSize + margin * 2.0;
|
||||||
vec2 tileUv = q / tile;
|
vec2 tileUv = qFromOrigin / tile;
|
||||||
|
|
||||||
// タイル内のローカル座標(0..1)を取得
|
// タイル内のローカル座標(0..1)を取得
|
||||||
vec2 localUv = fract(tileUv);
|
vec2 localUv = fract(tileUv);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue