メインメニューを開く

差分

MonoGameでプログラマブルシェーダーを使う

1,404 バイト追加, 2020年6月10日 (水) 01:18
編集の要約なし
 
 
== MonoGame 3.8.0から ==
2020年5月時点の[[MonoGame]] 3.8.0 (プレビュー版)から
[[Windows]]だけでなく、[[MacOS]]や[[Linux]]でも[[プログラマブルシェーダー]]の[[コンパイル]]ができるようになった。[[Mac]]や[[Linux]]では内部的に[[wine]]を用いているので若干の環境構築が必要となる。
 
=== Macでの環境構築 ===
[[xquartz]]を[[インストール]]する。
* https://www.xquartz.org/index.html
 
[[wine]]を[[インストール]]する。
この際に「64 bit support」のチェックを必ずいれること。
内部的にはwine64コマンドしか使わないので[[macOS 10.15 Catalina]]でも大丈夫。
* https://dl.winehq.org/wine-builds/macosx/download.html
 
[[7z]]を[[インストール]]する。
brew install p7zip
 
mgfxcコンパイラをインストールするスクリプトを実行する。
<source lang="bash">
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
</source>
 
mgfxcコンパイラなどは「$HOME/.winemonogame」ディレクトリに格納される。
 
環境変数を追加する。
<source lang="bash">
#bashの場合
echo 'export MGFXC_WINE_PATH="$HOME/.winemonogame"' >> ~/.profile
</source>
<source lang="bash">
#zshの場合
echo 'export MGFXC_WINE_PATH="$HOME/.winemonogame"' >> ~/.zprofile
</source>
 
== MonoGame 3.7.1まで ==
2020年4月時点の[[MonoGame]] 3.7.1では[[プログラマブルシェーダー]]([[fxファイル]])の[[コンパイル]]は「[[Windows]]上でのみ」できる。
このため現状の実装では[[Mac]]や[[Linux]]ではどうにもならない。
 === 解決策 ===
[[Mac]]や[[Linux]]上の[[Xamarin Studio]]で[[シェーダー]]([[fxファイル]])を使えるようにする素晴らしい[[クラウドサービス]]が登場した。その名も「[[InfinitespaceStudios.Pipeline]]」の「RemoteEffectProcessor」。
* https://www.nuget.org/packages/InfinitespaceStudios.Pipeline/
* [[HLSL]] ([[fxファイル]])
* [[シェーダー]]
* [[:Category:MonoGame|MonoGameカテゴリ]]
[[category: MonoGame]]
[[category: HLSL]]
[[category: MonoGame]]
[[category: Xamarin.Studio]]