「MonoGameでプログラマブルシェーダーを使う」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(Administrator がページ「MonoGame/シェーダーを使う」を「MonoGameでプログラマブルシェーダーを使う」に移動しました)
imported>Administrator
1行目: 1行目:
 
== MonoGame標準 ==
 
== MonoGame標準 ==
2016年10月時点の[[MonoGame]] 3.5(および3.6ベータ版)では[[Windows]]上でのみ[[プログラマブルシェーダー]]([[fxファイル]])の[[コンパイル]]ができる。逆を言えば[[Mac]]や[[Linux]]上で[[Xamarin Studio]]を使って開発している場合には[[プログラマブルシェーダー]]の[[コンパイル]]できない。
+
2016年10月時点の[[MonoGame]] 3.5(および3.6ベータ版)では[[Windows]]上でのみ[[プログラマブルシェーダー]]([[fxファイル]])の[[コンパイル]]ができる。逆を言えば[[Mac]]や[[Linux]]上で[[Xamarin Studio]]を使って開発している場合には[[プログラマブルシェーダー]]の[[コンパイル]]できない。これはMonoGame付属のプログラマブルシェーダーのコンパイラが複数の環境に対応したコードを生成する過程の問題で、まず[[Direct3D]]向けにコンパイルし、その成果物を[[MojoShader]]に食わせて[[OpenGL]]形式に変換しているためである。このため現状の実装ではOpenGLしか存在しないMacやLinuxではどうにもならない。
  
これはMonoGame付属のプログラマブルシェーダーのコンパイラがDirectXとOpenGLの2種類の環境に対応したコードを吐こうとするためで、OpenGLしか存在しないMacやLinuxではどうにもならないためらしい。
+
なお、xnbファイルにコンパイルさえしてしまえば各環境で動かすことができる。
 
 
<del>なお、コンパイルしたxnbファイルは各環境で動かすことができるようである。</del>
 
  
 
== InfinitespaceStudios.Pipeline ==
 
== InfinitespaceStudios.Pipeline ==

2017年11月24日 (金) 04:14時点における版

MonoGame標準

2016年10月時点のMonoGame 3.5(および3.6ベータ版)ではWindows上でのみプログラマブルシェーダーfxファイル)のコンパイルができる。逆を言えばMacLinux上でXamarin Studioを使って開発している場合にはプログラマブルシェーダーコンパイルできない。これはMonoGame付属のプログラマブルシェーダーのコンパイラが複数の環境に対応したコードを生成する過程の問題で、まずDirect3D向けにコンパイルし、その成果物をMojoShaderに食わせてOpenGL形式に変換しているためである。このため現状の実装ではOpenGLしか存在しないMacやLinuxではどうにもならない。

なお、xnbファイルにコンパイルさえしてしまえば各環境で動かすことができる。

InfinitespaceStudios.Pipeline

MacLinux上のXamarin Studioシェーダーfxファイル)を使えるようにする素晴らしいクラウドサービスが登場した。 その名も「InfinitespaceStudios.Pipeline[1][2][3]」の「RemoteEffectProcessor」。

リモート・エフェクト・プロセッサー!

これはなんとfxファイルコンパイルしてくれるオンラインサービスである。 ネットが繋がっていれば利用できる。 開発者はInfinitespace Studiosという英国紳士のようだ。 こいつは凄い。

しかもコンテンツパイプライン用の拡張プラグインはもとより、サーバー実装もGitHub上にオープンソースとして公開されており[4][5]、自前でサーバーを立てることもできる。こいつは凄い。ソースを読むと単にWindowsマシンにfxファイルを投げているだけのようである。さっそくVirtualBoxにぶち込んでみた。

関連項目

参考文献