「MonoGame 3.8.0以降でfxファイルをコンパイルする」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
(同じ利用者による、間の3版が非表示) | |||
5行目: | 5行目: | ||
== Macでの環境構築 == | == Macでの環境構築 == | ||
+ | [[homebrew]]を使った手順。 | ||
+ | |||
+ | === xquartzをインストールする === | ||
[[xquartz]]を[[インストール]]する。 | [[xquartz]]を[[インストール]]する。 | ||
− | + | <source lang="bash"> | |
+ | brew install --cask xquartz | ||
+ | </source> | ||
+ | === wineをインストールする === | ||
[[wine]]を[[インストール]]する。 | [[wine]]を[[インストール]]する。 | ||
− | + | wineパッケージはstable(安定版),devel(開発版),staging(突撃版)の3種類ある。 | |
− | + | * wine-stable = macOS Mojave 10.14まで、wine64を含まない | |
− | * | + | * wine-devel, wine-staging = macOS Catalina 10.15以降にも対応、wine64を含む |
+ | このうちMonoGame 3.8で必須となる「wine64」はwine-develとwine-stagingにしか含まれていない。今回は無難に「wine-devel」を選ぶ。 | ||
+ | <source lang="bash"> | ||
+ | brew tap homebrew/cask-versions | ||
+ | brew install --cask --no-quarantine wine-devel | ||
+ | </source> | ||
− | + | === p7zipをインストールする === | |
+ | [[p7zip]]を[[インストール]]する。 | ||
+ | mgfxcコンパイラは[[7z]]形式で配布されているためだ。 | ||
+ | <source lang="bash"> | ||
brew install p7zip | brew install p7zip | ||
+ | </source> | ||
− | mgfxcコンパイラの[[ダウンロード]]と[[インストール]] | + | === mgfxcをインストールする === |
− | + | mgfxcコンパイラの[[ダウンロード]]と[[インストール]]を全自動でやってくれるスクリプトを実行する。mgfxcコンパイラなどは「$HOME/.winemonogame」ディレクトリに格納される。 | |
<source lang="bash"> | <source lang="bash"> | ||
curl -O https://raw.githubusercontent.com/MonoGame/MonoGame/develop/Tools/MonoGame.Effect.Compiler/mgfxc_wine_setup.sh | curl -O https://raw.githubusercontent.com/MonoGame/MonoGame/develop/Tools/MonoGame.Effect.Compiler/mgfxc_wine_setup.sh | ||
24行目: | 39行目: | ||
</source> | </source> | ||
+ | === 環境変数を設定する === | ||
上記のスクリプトで[[環境変数]]が追加される。 | 上記のスクリプトで[[環境変数]]が追加される。 | ||
<source lang="bash"> | <source lang="bash"> | ||
36行目: | 52行目: | ||
</source> | </source> | ||
− | ただし.profileや.zprofileはターミナルから[[Visual Studio for Mac]] | + | ただし.profileや.zprofileはターミナルから[[Visual Studio for Mac]]を起動した場合のみ適用され、[[macOS]]のDockまたはLaunchPadから起動した場合は適用されない。ターミナルから起動する奇特な人はあまりいないと思われる。 |
− | |||
− | |||
+ | そこで[[launchd]]を使ってログイン時に環境変数を設定する。LaunchAgentsディレクトリにplistファイルを置けばログイン時に自動実行される。拡張子がplistならファイル名は何でもいいので今回はenvironment.plistとした。 | ||
+ | mkdir ~/Library/LaunchAgents/ | ||
vi ~/Library/LaunchAgents/environment.plist | vi ~/Library/LaunchAgents/environment.plist | ||
2021年2月24日 (水) 03:26時点における最新版
2020年5月に発表されたMonoGame 3.8.0 (プレビュー版)から Windowsだけでなく、MacOSやLinuxでもプログラマブルシェーダーのコンパイルができるようになった。
MacやLinuxでは内部的にwineを用いているので若干の環境構築が必要となる。
目次
Macでの環境構築[編集 | ソースを編集]
homebrewを使った手順。
xquartzをインストールする[編集 | ソースを編集]
brew install --cask xquartz
wineをインストールする[編集 | ソースを編集]
wineをインストールする。 wineパッケージはstable(安定版),devel(開発版),staging(突撃版)の3種類ある。
- wine-stable = macOS Mojave 10.14まで、wine64を含まない
- wine-devel, wine-staging = macOS Catalina 10.15以降にも対応、wine64を含む
このうちMonoGame 3.8で必須となる「wine64」はwine-develとwine-stagingにしか含まれていない。今回は無難に「wine-devel」を選ぶ。
brew tap homebrew/cask-versions
brew install --cask --no-quarantine wine-devel
p7zipをインストールする[編集 | ソースを編集]
p7zipをインストールする。 mgfxcコンパイラは7z形式で配布されているためだ。
brew install p7zip
mgfxcをインストールする[編集 | ソースを編集]
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から起動した場合は適用されない。ターミナルから起動する奇特な人はあまりいないと思われる。
そこでlaunchdを使ってログイン時に環境変数を設定する。LaunchAgentsディレクトリにplistファイルを置けばログイン時に自動実行される。拡張子がplistならファイル名は何でもいいので今回はenvironment.plistとした。
mkdir ~/Library/LaunchAgents/ 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ファイルのコンパイル