フラグメントシェーダー

提供:ペチラボ書庫
2025年2月2日 (日) 20:23時点におけるPtt (トーク | 投稿記録)による版 (→‎座標変換(2D))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

座標変換(2D)

ピクセル座標が与えられ、テクスチャ空間から値を取ってくることを考える。

ピクセル座標を [math]\displaystyle{ p }[/math] とする。


変換後の座標を [math]\displaystyle{ p' }[/math] とする。

テクスチャ上の点 [math]\displaystyle{ p' }[/math] を変換して [math]\displaystyle{ Ap' }[/math] に移ったら [math]\displaystyle{ p }[/math] に一致する、ような [math]\displaystyle{ p' }[/math] を見つければよい。

そのまま

[math]\displaystyle{ p'=p }[/math]

平行移動

テクスチャを [math]\displaystyle{ v }[/math] だけ平行移動させる。

テクスチャを [math]\displaystyle{ v }[/math] ずらすということは、ピクセル目線だと自分が [math]\displaystyle{ -v }[/math] 動くということであり、

[math]\displaystyle{ p' = p - v }[/math]

回転移動

テクスチャを [math]\displaystyle{ \theta }[/math] だけ回転させる。

ピクセル目線だとやはり自分が [math]\displaystyle{ -\theta }[/math] だけ回転することになる。 回転行列などで計算する。

拡大・縮小

テクスチャを [math]\displaystyle{ k }[/math] 倍に拡大(縮小)する。

ピクセル目線だと自分が [math]\displaystyle{ \frac{1}{k} }[/math] 倍になれば、相手が [math]\displaystyle{ k }[/math] 倍になっているように見える。

[math]\displaystyle{ p' = \frac{p}{k} }[/math]