MonoGame 3.8.0以降でfxファイルをコンパイルする
2020年5月に発表されたMonoGame 3.8.0 (プレビュー版)から Windowsだけでなく、MacOSやLinuxでもプログラマブルシェーダーのコンパイルができるようになった。
MacやLinuxでは内部的にwineを用いているので若干の環境構築が必要となる。
Macでの環境構築
wineをインストールする。 この際に「64 bit support」のチェックを必ずいれること。 内部的にはwine64コマンドしか使わないのでmacOS 10.15 Catalinaでも大丈夫。
mgfxcコンパイラは7z形式で配布されているのでhomebrewからp7zipをインストールする。
brew install p7zip
mgfxcコンパイラのダウンロードとインストールを全自動でやってくれるスクリプトを実行する。 mgfxcコンパイラなどは「$HOME/.winemonogame」ディレクトリに格納される。
curl -O https://raw.githubusercontent.com/MonoGame/MonoGame/develop/Tools/MonoGame.Effect.Compiler/mgfxc_wine_setup.sh
chmod +x mgfxc_wine_setup.sh
./mgfxc_wine_setup.sh
環境変数を追加する。
#bashの場合
echo 'export PATH=$PATH:"/Applications/Wine Stable.app/Contents/Resources/wine/bin/"' >> ~/.profile
echo 'export MGFXC_WINE_PATH="$HOME/.winemonogame"' >> ~/.profile
#zshの場合
echo 'export PATH=$PATH:"/Applications/Wine Stable.app/Contents/Resources/wine/bin/"' >> ~/.zprofile
echo 'export MGFXC_WINE_PATH="$HOME/.winemonogame"' >> ~/.zprofile
一通り終わったらMacOSからログアウトする。 再起動でもいいぞ。
関連項目
- fxファイルのコンパイル