「MonoGameでプログラマブルシェーダーを使う」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator |
imported>Administrator |
||
1行目: | 1行目: | ||
== MonoGame標準 == | == MonoGame標準 == | ||
− | + | 2019年10月時点の[[MonoGame]] 3.7.1では[[Windows]]上でのみ[[プログラマブルシェーダー]]([[fxファイル]])の[[コンパイル]]ができる。 | |
− | + | 逆を言えば[[Mac]]上の[[Visual Studio for Mac]]や[[Linux]]上の[[Xamarin Studio]]を使って開発している場合には[[プログラマブルシェーダー]]の[[コンパイル]]ができない。 | |
− | == | + | これはMonoGameのコンパイラが複数の環境に対応したコードを生成する過程の問題ある。 |
− | [[Mac]]や[[Linux]]上の[[Xamarin Studio]]で[[シェーダー]]([[fxファイル]])を使えるようにする素晴らしい[[クラウドサービス]]が登場した。その名も「[[InfinitespaceStudios.Pipeline]] | + | * まず[[SharpDX]]で[[HLSL]]を[[中間コード]]に[[コンパイル]]する(これがWindows専用)。 |
+ | * その中間コードを[[MojoShader]]に食わせて[[OpenGL]]形式([[GLSL]])に変換する。 | ||
+ | |||
+ | このため現状の実装では[[Mac]]や[[Linux]]ではどうにもならない。 | ||
+ | |||
+ | == 解決策 == | ||
+ | [[Mac]]や[[Linux]]上の[[Xamarin Studio]]で[[シェーダー]]([[fxファイル]])を使えるようにする素晴らしい[[クラウドサービス]]が登場した。その名も「[[InfinitespaceStudios.Pipeline]]」の「RemoteEffectProcessor」。 | ||
+ | |||
+ | * https://www.nuget.org/packages/InfinitespaceStudios.Pipeline/ | ||
リモート・エフェクト・プロセッサー! | リモート・エフェクト・プロセッサー! | ||
− | + | これは[[fxファイル]]を[[コンパイル]]してくれるオンラインサービスである。[[ネット]]が繋がっていれば利用できる。開発者はInfinitespace Studiosという英国紳士のようだ。こいつは凄い。 | |
− | + | ただしちょっと遅い。[[ソースコード]]は[[GitHub]]上に[[オープンソース]]として公開されており、自前で[[サーバー]]を立てることもできる。 | |
+ | |||
+ | * https://github.com/infinitespace-studios/InfinitespaceStudios.Pipeline | ||
+ | |||
+ | [[ソース]]を読むと単にWindows上でfxファイルを投げているだけのようである。さっそく[[VirtualBox]]にWindowsをぶち込んで環境構築してみた。 | ||
== 関連項目 == | == 関連項目 == | ||
+ | * [[MonoGameでHLSLにMatrixを渡す]] | ||
+ | * [[HLSL]] ([[fxファイル]]) | ||
* [[シェーダー]] | * [[シェーダー]] | ||
− | |||
* [[:Category:MonoGame|MonoGameカテゴリ]] | * [[:Category:MonoGame|MonoGameカテゴリ]] | ||
− | + | [[category: HLSL]] | |
− | |||
− | |||
− | |||
− | |||
[[category: MonoGame]] | [[category: MonoGame]] | ||
[[category: Xamarin.Studio]] | [[category: Xamarin.Studio]] | ||
− |
2019年10月31日 (木) 05:08時点における版
MonoGame標準
2019年10月時点のMonoGame 3.7.1ではWindows上でのみプログラマブルシェーダー(fxファイル)のコンパイルができる。
逆を言えばMac上のVisual Studio for MacやLinux上のXamarin Studioを使って開発している場合にはプログラマブルシェーダーのコンパイルができない。
これはMonoGameのコンパイラが複数の環境に対応したコードを生成する過程の問題ある。
このため現状の実装ではMacやLinuxではどうにもならない。
解決策
MacやLinux上のXamarin Studioでシェーダー(fxファイル)を使えるようにする素晴らしいクラウドサービスが登場した。その名も「InfinitespaceStudios.Pipeline」の「RemoteEffectProcessor」。
リモート・エフェクト・プロセッサー!
これはfxファイルをコンパイルしてくれるオンラインサービスである。ネットが繋がっていれば利用できる。開発者はInfinitespace Studiosという英国紳士のようだ。こいつは凄い。
ただしちょっと遅い。ソースコードはGitHub上にオープンソースとして公開されており、自前でサーバーを立てることもできる。
ソースを読むと単にWindows上でfxファイルを投げているだけのようである。さっそくVirtualBoxにWindowsをぶち込んで環境構築してみた。