遅延エフェクト
はじめに:エフェクトをかける順番で結果が変わる
YMM4の映像エフェクトはかける順番で見た目が変わります。
モザイクと縁取りを用いた例
元画像
https://gyazo.com/9b6a323b1360804033648d6e37e7290b
モザイク→縁取り
https://gyazo.com/37bab0b30a416272ff3b80923f685320
縁取り→モザイク
https://gyazo.com/be33b21c9fa58c582d5ce9072fe789ae
上のようにモザイク→縁取りとした場合と縁取り→モザイクとした場合では、描画結果が異なっています。
縁取りと拡大縮小を用いた例
元画像
https://gyazo.com/3e0ec51ad3939fde5cdb8bea3883a192
縁取り→拡大縮小(横10%)
https://gyazo.com/f723d378401e4185984d4697ac122ac2
ここでは最初に画像に縁取りがかけられて次に拡大縮小によって横に縮められています。
縁取りの後に拡大縮小させるので縁と画像が一緒に縮んでいます。
拡大縮小(横10%)→縁取り
画像を見る前にどんな見た目になるか考えてみましょう。
予想↓
まず画像が縮みます。次に縁取りがされます。
縮小の後に縁取りなので上の画像のように縁ごと縮むことはないはずです。
この予想をまとめると次のような画像になりそうです。
↓こんな感じになる?
https://gyazo.com/e32c6f7750e92a84838ed9a4088dd6b2
一つ前の画像とは異なり、縁は押しつぶされない
ところが実際にはこのようになります。
↓実際の拡大縮小(横10%)→縁取り
https://gyazo.com/f723d378401e4185984d4697ac122ac2
なぜか結果が変わりません。
からくり
先ほどの縁取り→拡大縮小(横10%)と拡大縮小(横10%)→縁取りでは順番を変えたのに見た目が変わりませんでした。
じつは2つの場合でエフェクトが画像にかかる順番は変わっていません。
拡大縮小エフェクトには特別な仕様があり、エフェクトがかけられても数字だけ適応されて、実際の拡大縮小処理は全ての映像エフェクトが処理された後に行われます。
縁取り→拡大縮小(横10%)と拡大縮小(横10%)→縁取りで何が行われていたか見てみましょう。
縁取り→拡大縮小(横10%)
1. 最初
https://gyazo.com/3e0ec51ad3939fde5cdb8bea3883a192
2. 縁取りがかけられる
https://gyazo.com/c0deb615ec22d55b144c4ae7bf90f8b6
3. 拡大縮小がかけられる
ただし拡大縮小の数字だけ適応され、実際の拡大縮小は行われない。
ここでは、Zoom.X=10%となる。
https://gyazo.com/c0deb615ec22d55b144c4ae7bf90f8b6
4. 全てのエフェクトの処理が終わったので画像がZoomの値をもとに拡大縮小される。
Zoom.X=10%だったので横方向に10%の拡大縮小。
https://gyazo.com/f723d378401e4185984d4697ac122ac2
(終わり)
拡大縮小(横10%)➝縁取り
1. 最初
https://gyazo.com/3e0ec51ad3939fde5cdb8bea3883a192
2.拡大縮小がかけられる
ただし拡大縮小の数字だけ適応され、実際の拡大縮小は行われない。
ここでは、Zoom.X=10%となる。
https://gyazo.com/3e0ec51ad3939fde5cdb8bea3883a192←見た目は変わらない
3. 縁取りがかけられる
https://gyazo.com/c0deb615ec22d55b144c4ae7bf90f8b6
4. 全てのエフェクトの処理が終わったので画像がZoomの値をもとに拡大縮小される。
Zoom.X=10%だったので横方向に10%の拡大縮小。
https://gyazo.com/f723d378401e4185984d4697ac122ac2
(終わり)