「MojoShader」の版間の差分
imported>Administrator 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| 43行目: | 43行目: | ||
*[[hlsl2glslfork]] | *[[hlsl2glslfork]] | ||
*[[glsl optimizer]] | *[[glsl optimizer]] | ||
[[category: シェーディング言語]] | |||
[[category: HLSL]] | |||
[[category: GLSL]] | |||
2025年9月12日 (金) 01:26時点における最新版
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