MonoGameでプログラマブルシェーダーを使う
MonoGame標準
2016年10月時点のMonoGame 3.5(および3.6ベータ版)ではWindows上でのみプログラマブルシェーダー(fxファイル)のコンパイルができる。逆を言えばMacやLinux上でXamarin Studioを使って開発している場合にはプログラマブルシェーダーのコンパイルできない。これはMonoGame付属のプログラマブルシェーダーのコンパイラが複数の環境に対応したコードを生成する過程の問題で、まずDirect3D向けにコンパイルし、その成果物をMojoShaderに食わせてOpenGL形式に変換しているためである。このため現状の実装ではOpenGLしか存在しないMacやLinuxではどうにもならない。
なお、xnbファイルにコンパイルさえしてしまえば各環境で動かすことができる。
InfinitespaceStudios.Pipeline
MacやLinux上のXamarin Studioでシェーダー(fxファイル)を使えるようにする素晴らしいクラウドサービスが登場した。その名も「InfinitespaceStudios.Pipeline[1][2][3]」の「RemoteEffectProcessor」。
リモート・エフェクト・プロセッサー!
これはなんとfxファイルをコンパイルしてくれるオンラインサービスである。ネットが繋がっていれば利用できる。開発者はInfinitespace Studiosという英国紳士のようだ。こいつは凄い。
しかもコンテンツパイプライン用の拡張プラグインはもとより、サーバー実装もGitHub上にオープンソースとして公開されており[4][5]、自前でサーバーを立てることもできる。こいつは凄い。ソースを読むと単にWindowsマシンにfxファイルを投げているだけのようである。さっそくVirtualBoxにぶち込んでみた。
関連項目
参考文献
- ↑ https://pipeline.infinitespace-studios.co.uk
- ↑ https://github.com/infinitespace-studios/InfinitespaceStudios.Pipeline
- ↑ https://www.nuget.org/packages/InfinitespaceStudios.Pipeline/
- ↑ https://github.com/infinitespace-studios/InfinitespaceStudios.Pipeline
- ↑ https://www.nuget.org/packages/InfinitespaceStudios.Pipeline/