「MonoGame 3.8.0以降でfxファイルをコンパイルする」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) (→関連項目) |
Administrator (トーク | 投稿記録) |
||
24行目: | 24行目: | ||
</source> | </source> | ||
− | [[環境変数]] | + | 上記のスクリプトで[[環境変数]]が追加される。 |
<source lang="bash"> | <source lang="bash"> | ||
#bashの場合 | #bashの場合 | ||
36行目: | 36行目: | ||
</source> | </source> | ||
− | + | ただし.profileや.zprofileはターミナルから[[Visual Studio for Mac]]を起動した場合のみ適用され、macOSのDockまたはLaunchPadから起動した場合は適用されない。ターミナルから起動する奇特な人はあまりいないと思われる。 | |
+ | |||
+ | そこでLaunchDaemonを使ってログイン時に環境変数を設定する。LaunchAgentsディレクトリにplistファイルを置けばログイン時に自動実行される。拡張子がplistならファイル名は何でもいいので今回はenvironment.plistとした。 | ||
+ | |||
+ | vi ~/Library/LaunchAgents/environment.plist | ||
+ | |||
+ | 中身はこんな感じ。 | ||
+ | <source lang="xml> | ||
+ | <!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “https://www.apple.com/DTDs/PropertyList-1.0.dtd”> | ||
+ | <plist version=“1.0”> | ||
+ | <dict> | ||
+ | <key>Label</key> | ||
+ | <string>my.startup</string> | ||
+ | |||
+ | <key>ProgramArguments</key> | ||
+ | <array> | ||
+ | <string>bash</string> | ||
+ | <string>-c</string> | ||
+ | <string> | ||
+ | launchctl setenv MGFXC_WINE_PATH "$HOME/.winemonogame" | ||
+ | </string> | ||
+ | </array> | ||
+ | |||
+ | <key>RunAtLoad</key> | ||
+ | <true/> | ||
+ | </dict> | ||
+ | </plist> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | 一通り終わったら[[macOS]]から[[ログアウト]]する。 | ||
再起動でもいいぞ。 | 再起動でもいいぞ。 | ||
2020年8月12日 (水) 08:34時点における版
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
ただし.profileや.zprofileはターミナルからVisual Studio for Macを起動した場合のみ適用され、macOSのDockまたはLaunchPadから起動した場合は適用されない。ターミナルから起動する奇特な人はあまりいないと思われる。
そこでLaunchDaemonを使ってログイン時に環境変数を設定する。LaunchAgentsディレクトリにplistファイルを置けばログイン時に自動実行される。拡張子がplistならファイル名は何でもいいので今回はenvironment.plistとした。
vi ~/Library/LaunchAgents/environment.plist
中身はこんな感じ。
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “https://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=“1.0”>
<dict>
<key>Label</key>
<string>my.startup</string>
<key>ProgramArguments</key>
<array>
<string>bash</string>
<string>-c</string>
<string>
launchctl setenv MGFXC_WINE_PATH "$HOME/.winemonogame"
</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
一通り終わったらmacOSからログアウトする。
再起動でもいいぞ。
関連項目
- fxファイルのコンパイル