MojoShader
ナビゲーションに移動
検索に移動
MojoShaderとは、オープンソースのもとで開発が行われているHLSLの中間コードを様々なシェーディング言語に変換するライブラリである。
概要
もともとはWindows向けのゲームをLinuxへ移植するために開発が始まったものらしい。 現在ではARBやGLSL、Metalなどにも対応している。
コマンドラインのツールではなくライブラリとなっている。
公式ドキュメントはなく、公式サイトには「ソースコードを読め」と書かれている。 なるほどわからん。 https://hg.icculus.org/icculus/mojoshader/file/tip/mojoshader.h
HLSLのソースコードではなく、HLSLの中間コード表現からGLSLなどのソースコードを起こすというものなので、MojoShaderに噛ます前に中間コードにしておく必要がある。 たとえばMonoGameでは中間コード化の部分にSharpDXのD3DCompilerを採用しており、その結果をMojoShaderに食わせている。 ただしSharpDXのD3DCompilerはWindowsでしか利用できない。 この点についはマイクロソフトが開発しているDirectXShaderCompilerに期待しよう。
ライセンス
zlibライセンス
採用事例
- Unreal Tournament 3
- Killing Floor
- Unity = サーフェスシェーダーにMojoShaderを採用している。本格的な部分はHLSLccを採用している。
- Super Meat Boy
- Shank
- The Benchmark
- Psychonauts
- Vessel
- MonoGame
- Urho3D
- Guncraft
- FNA
- Hive
- Khet 2.0
- Reversi