RecotteStudioの追加エフェクトです。
-
RecotteStudioをインストール
-
RecottePluginをインストール
-
こちらから最新版をダウンロードして
<ユーザーフォルダ>\RecottePlugin
内に展開 -
レコスタを起動すると、エフェクトが増えています
-
ビデオオブジェクトに設定したい場合はエフェクトと併用して「シェーダー適用」トランジションを追加してください
Cドライブ
└ Users
└ <ユーザー名>
└ RecottePlugin
├ README.md
├ install.bat
├ …
└ RecotteShader
├ README.md
├ effects\
└ …
-
WindowsSDKをインストール
-
build.bat
のRECOTTE
変数にfxc.exe
の在り処を書く -
build.bat
の実行
環境変数RECOTTE_SHADER_DIR
に、このリポジトリのパスを設定してください。
uh_effect_*.lua
を参考にして新しいエフェクトファイル(*.lua
)を作成します。
effects
ディレクトリは通常エフェクト、text
ディレクトリはテキスト効果エフェクト、transitions
はトランジションエフェクトに対応しますので、任意のディレクトリ以下に配置してください。
luaライブラリを追加したい場合はrecotte_shader_effect_lib
ディレクトリ以下に配置してください。この際、requireするのは相対パスではないので注意してください。
シェーダを利用したい場合は、エフェクトファイルと同じディレクトリにHLSLファイルを作成しエフェクトファイルから呼び出します。
使える変数は、引数とメインテクスチャとサンプラーcBufferのt
(時間)ぐらいです。cBufferの中身はutil.hlsl
に書いてありますが、LUAから渡されていない変数も多いようなのであまり当てになりません。
基本的には、LUAを経由します。記述できるのはフラグメントシェーダーのみです。
LUA(GUI)とやり取りできる変数はfloat6本+128bitColor4本です。これではあまりに少ないので、低精度な値を複数詰め込んで、見かけ上のパラメータ数を増やしています。util.hlsl
のUnpackedParams
構造体を確認してください。GUIからShaderへのパラメータ受け渡しはuh_util.lua
で定義済みなので特に触る必要はありませんが、ラベルとデフォルトだけはオーバーライドしておくと良いと思います。コピーしたLUAファイル内のコメントを好きなところを外して書き換えてください。
HLSLの編集が終わったら、build.bat
を実行し、シェーダーをコンパイルします。RecotteStudioを再起動して、作ったエフェクトを設定します。この時、対象が映像アセットの場合、uh_dummyのトランジションも一緒に追加してください。すると、シェーダが適用されています。
- PSの引数のposは正規化されていない(画面がFHDなら0~1920までをとる)
- PSの引数のuvpとuvは同じ値が入っている
- シェーダー適用されなくなる -> 大概は、コンパイルエラーでCSOが無い、エラーは出ない
- アイコンicooon-mono.com