SL Sharp

提供: MonoBook
2013年3月27日 (水) 02:04時点における211.126.12.202 (トーク)による版 (ページの作成:「'''SL#'''(えすえるしゃーぷ)とは、GPUで実行されるプログラマブルシェーダーを、超高級言語であるC#で書け...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

SL#(えすえるしゃーぷ)とは、GPUで実行されるプログラマブルシェーダーを、超高級言語であるC#で書けてしまうという夢のようなオープンソースフレームワークである。ライセンスMITライセンスとなっている。

概要

SL#の一番の核となる機能は、.NET Frameworkの世界で使われている中間コード形式である共通中間言語(CIL)を、DirectXで使われるHLSLOpenGLで使われるGLSLなどの各種高級シェーディング言語に変換するエンジンにある。

この変換エンジンはSL#に同梱されるクラスライブラリを使用(継承)して作られたシェーダーCILの中から自動抽出し、対象となるシェーディング言語に変換する。これによりHLSL(DirectX)とGLSL(OpenGL)の非互換の垣根を超えることができる。

さらにHLSLGLSLといったシェーディング言語に変換されたソースコードは、内部的に各種シェーディング言語のコンパイラにより暗黙的にコンパイルされたのち、自動的にGPUに送り込まれる。このためプログラマーGPUを深く意識する必要がない。

また、プログラマーVisual StudioMonoDevelopSharpDevelopといった使い慣れた統合開発環境を使用でき、コード補完構文チェックなどの恩恵を受けることができる。さらにシェーダーC#コンパイラで事前に検証されるため実行時エラーを最小限に抑えることができデバッグが捗るという利点もある。

備考

SL#はまだ実験的なライブラリであり、将来的に構文が変わる可能性などもあるので注意する必要がある。

SL#に関する不具合などについては可能な限りGitHub上の同プロジェクト宛てに報告してほしいとしている。

現段階ではジオメトリシェーダーはサポートされておらず、またC#以外のプログラミング言語F SharpBoo言語Phalangerなど)については完成度が高まってからのサポートとなる予定であるとしている。

関連ライブラリ

SL#は下記のライブラリを使用している。

関連項目

外部リンク