オフスクリーン描画
exedit.txtには次のように書かれています。
オフスクリーンに一旦描画してから後続のフィルタ効果を処理します。
組み合わせによっては後続のフィルタ効果が正しく処理出来ない場合があります。
しかしこれを見ても効果を正しく理解できる人はかなり少ないと思います。
正しく理解するための前知識
オフスクリーン描画が無い状態の次のような図形オブジェクトがフレーム画像に描画されるまでの過程を書きます。(X50・Y25・回転45・五角形・サイズ50・縁取りサイズ25・フレーム画像サイズ320×180)
https://scrapbox.io/files/661b9635fde3440025c83302.pnghttps://scrapbox.io/files/661b9cef36b2f60025745b38.png
フィルタ内容としては図形(標準描画)と縁取りが付いています。標準描画などは最後に実行されるため、処理順は次のようになります。
図形 → 縁取り → 標準描画
1.図形 https://scrapbox.io/files/661b9d6c0f69e20025c87ff1.pngサイズに応じた図形のオブジェクトが生成されます。今回の例ではオブジェクトの画像サイズは50×50
2.縁取り https://scrapbox.io/files/661b9d345bcaa300254c2c19.png縁取り処理がされてオブジェクトのサイズが広がります。オブジェクトの画像サイズは100×100
3.標準描画 https://scrapbox.io/files/661b9d05c45870002714663a.png+https://scrapbox.io/files/661b9d345bcaa300254c2c19.png=https://scrapbox.io/files/661b9d1c24ebdd0024307157.png
フレームバッファ(領域)にオブジェクトを書き出します。標準描画のXやYや回転や拡大率などに応じた場所に合成されます。 オフスクリーン描画を付けた場合
https://scrapbox.io/files/661b9e8ba859350025cea2ee.pnghttps://scrapbox.io/files/661b9ea136b2f600257468fc.png
図形 → オフスクリーン描画 → 縁取り → 標準描画
1.図形 https://scrapbox.io/files/661b9d6c0f69e20025c87ff1.pngサイズに応じた図形のオブジェクトが生成されます。今回の例ではオブジェクトの画像サイズは50×50
2.オフスクリーン描画
https://scrapbox.io/files/661b9f315b06c70025c39a0d.png+https://scrapbox.io/files/661b9d6c0f69e20025c87ff1.png=https://scrapbox.io/files/661b9fdca2862700264ce1a7.png
フレーム画像と同じサイズのオフスクリーンにオブジェクトを書き出し、それをオブジェクトとします。標準描画のXやYや回転や拡大率などに応じた場所に合成されます。今回の例ではオブジェクトの画像サイズは320×180
3.縁取り
https://scrapbox.io/files/661ba24da3ce8c0025004816.png
縁取り処理がされてオブジェクトのサイズが広がります。今回の例ではオブジェクトの画像サイズは370×230
4.標準描画
https://scrapbox.io/files/661b9d05c45870002714663a.png+https://scrapbox.io/files/661ba24da3ce8c0025004816.png
=https://scrapbox.io/files/661b9ea136b2f600257468fc.png
フレームバッファ(領域)にオブジェクトを書き出します。オフスクリーン描画時に使用されたXやYや回転や拡大率などは参照しません。 オフスクリーン描画無しと有りの比較
https://scrapbox.io/files/661b9cef36b2f60025745b38.png https://scrapbox.io/files/661b9ea136b2f600257468fc.png
回転や拡大率などを先に反映してから後続のエフェクトが付与されるため、縁取りなども見た目が変わります。
オフスクリーン描画の説明は以上です
よくある間違いの説明にある
グループ制御に付けることでオブジェクトを纏めて…
とかそういった効果はありません。クリッピング・マスク・グラデーションなどとの組み合わせの際に、各オブジェクトの位置関係とエフェクトの掛かり方が揃うようになって纏まったように見えるというだけです。実際には個別に処理されています。
https://scrapbox.io/files/661b9fdca2862700264ce1a7.png
↓右の方をクリッピング
https://scrapbox.io/files/661bc0d4cc5d810024278d75.png
参考になるように他の正しい解説例