生高橋
1fc747ee89
2023/01/30 (月) 20:08:15
シェーダーを複数回かけるマルチパスのことですかね。
とりあえずサンプルプロジェクトを用意しましたので、参考にどうぞ。
こちらからダウンロード
バージョンは以下で作成してます。バージョンが古いともしかしたら動かないかもしれません。
IDE 2022.11.1.56
Runtime v2022.11.1.75
内容は次の3つのシェーダーを画面全体に重ね掛けするというものです。
・歪みシェーダー
・グレースケールシェーダー
・色収差シェーダー
1,2,3キーでシェーダーの効果をオン、オフできます。
大まかな流れは次のとおりです。
- application_surfaceに対してshader1をかけたものを自作surface2に保存
- surface2に対してshader2をかけたものを自作surface3に保存
- surface3に対してshader3をかけたものを描画
となっています。
サンプルを見てなにかわからないことがあれば聞いてください。
通報 ...
サンプルが一つのオブジェクトで複数の効果だったので求めてたものとはちょっと違いましたがご教授いただきありがとうございました!
考え方を知れたのでうまく実装することができました。
surface_copyとか使わないんですね・・・。
複数オブジェクトでの実装方法を書いておきます。
Createイベント
objSurface1(レイヤーが一番下)のStepイベント
objSurface3(レイヤーが一番上)のDrawGUIイベント