MetaSL

某社のひとに、

「MetaSL いいっすよー、某スタジオではレンダラは PRMan とか MR 使っているけど、
シェーダは MetaSL で統一して書くようにしているんだよー. きっとこの波がこれからの主流になるよー.
MetaSL の言語仕様はオープンだよー、MetaSL サポートしても訴えないから安心してー(たぶん)」

なんてことを言われたので、MetaSL にちょっと興味がでたので調べてみました.

http://www.mentalimages.com/products/mental-mill/metasl.html

MetaSL は、まあひとことで言ってしまえば、MR 向けのシェーダ言語.
レイトレ関数やライトのイテレーション、BRDFへの対応が RSL よりもより注力されて設計されています.

ただ、MetaSL 言語自体はオープンで特定のレンダラに依存するものではなく、
コンパイラ次第であるが、GLSL などのハードウェア向けグラフィックス言語へトランスレートして、
リアルタイムプレビューが出来たりする.
(レイトレ関数とか、HW では実現が難しい部分はどうなるのかな?)

そのため MetaSL の言語仕様は GLSL のように HW を意識して設計している部分もある.

MetaSL は RSL みたいに何でもできる!という感じではないが、かといって GLSL のように HW 指向、というわけではない.
その中間にあるという感じかな.そしてレイトレレンダラを意識していてレイトレのサポートが RSL よりもよい感じ.

まあある程度仕様書ができているので、これが今後の業界標準シェーダ言語になるのであれば、
「li」でもサポートを考えてみたい.
ただ仕様自体はまだ頻繁に更新されているようなのと、業者側からの提案仕様なので、
今後勝手にアップデートされたり仕様変更があるとつらい.

まあそこんところ考えると、長期的には「li」にはやはり独自の大域照明言語(GIRL)を搭載するのがいいのかなぁと思っています.