Open Shading Language (OSL)

syoyoさんに教えてもらったオープンソースプロジェクトの1つ→Open Shading Languageにある説明の適当翻訳↓

Open Shading Language (OSL)は小規模ながら、先進的なレンダラーや他のアプリケーションでのShaderプログラミングに適した言語であり、マテリアル、ライト、ディスプレイスメント、パターン生成等の記述にも理想的です。

OSLの特徴やより詳しい概要、現在のプロジェクト状況、今後のロードマップはこちらの説明をお読みください。また、OSLの仕様書はこちらからダウンロードできます。

OSLプロジェクトは、OSLからバイトコードのような中間アセンブリへ翻訳するコンパイラ、OSLのShaderを点の集合上でSIMD演算によって実行するインタプリタ、広範にわたる標準的なShaderの関数ライブラリ等を含む統合環境です。これらはすべて、簡単なC++ APIのライブラリとして用意されており、既存のレンダラー、コンポジットソフト、可視化ツールやその他のアプリケーションへ簡単に統合することができます。さらに、ソースコードはレンダラ固有の拡張・修正機能、GPUに変換するためのカスタムback-ends、その他の特殊なハードウェアにあわせて簡単にカスタマイズすることが可能です。

OSLはソニーピクチャーズイメージワークスが社内のレンダラで長編映画、アニメーションや視覚効果に使用するために開発しました。OSLの言語仕様は、使用を希望する他の視覚効果・アニメーションスタジオの意見も取り入れて開発されました。

知識不足により一部うまく訳せてないけど…

調べてみると、これは2009年の夏に公開された5つのプロジェクトの1つらしい。以下Webニュース記事の要約

Open Source Imageworks
Sony Pictures Digital Productionsの子会社であるSony Pictures Imageworksはコンピュータグラフィックス分野向けの開発ツールやライブラリを公開した。
公開したのは、3DのCGソフト「Maya」向けのカメラマスキング用プラグイン「Maya Reticule」、レンダリング用のプログラマブルシェーディング言語「Open Shading Language(OSL)」、ボクセル(voxel)データストレージライブラリ「Field3d」、データベースマイグレーションツール「Scala Migration」、PythonライクなC++ストリング処理ライブラリ「Pystring」の5つ。
同社ではこれまで運用環境などでLinuxなどオープンソース技術を利用しており、今回のオープンソースプロジェクトにより技術をコミュニティに還元するとしている。オープンソースにすることでコミュニティを構築し、コードの採用と改良を促進する狙い。
5つのプロジェクトの詳細情報は専用サイトから入手できる。ライセンスはNew BSD Licenseを採用した。

とりあえずグループに参加してしばらくROMるつもり。(仕様書にあるExampleから学ぼうと思ったらまだ項目だけで白紙だった)
syoyoさんに教えてもらったもう1つのオープンソースプロジェクトLuxrenderも調べてみるつもり。

関連記事

ZBrushで仮面ライダー3号を造る 仮面編 ZRemesher

PyTorch3D:3Dコンピュータービジョンライブラリ

COLMAP:オープンソースのSfM・MVSツール

参考書

『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイクダウン

TVML (TV program Making language)

動的なメモリの扱い

ZBrush4新機能ハイライト 3DCG CAMP 2010

ファンの力

OpenAR:OpenCVベースのマーカーARライブラリ

昔Mayaでモデリングしたモデルをリファインしてみようか

実写と実写の合成時の色の馴染ませテクニック

オープンソースのテクスチャマッピングシステム『Ptex』

Netron:機械学習モデルを可視化するツール

オープンソースの取引プラットフォーム

Kubric:機械学習用アノテーション付き動画生成パイプライン

3Dモデルを立体視で確認できるVRアプリを作っている

3Dグラフィックスの入門書

中学3年生が制作した短編映像作品『2045』

UnityからROSを利用できる『ROS#』

スターウォーズ エピソードVIIの予告編

Pylearn2:ディープラーニングに対応したPythonの機械学習ライブラリ

UnityでLight Shaftを表現する

ZBrushでアヴァン・ガメラを作ってみる 甲羅の修正・脚の作り込み

Unity ARKitプラグインサンプルのチュートリアルを読む

MPFB2:Blenderの人体モデリングアドオン

ZBrush 4R7

映画から想像するVR・AR時代のGUIデザイン

MB-Lab:Blenderの人体モデリングアドオン

MVStudio:オープンソースのPhotogrammetryツール

ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを作り込む

DensePose:画像中の人物表面のUV座標を推定する

映画『ジュラシック・ワールド/炎の王国』のVFXブレイクダウン まとめ

Python for Unity:UnityEditorでPythonを使えるパッケージ

3Dスキャンに基づくプロシージャルフェイシャルアニメーション

Oculus Goを購入!

Subsurface scatteringの動画

Mitsuba 3:オープンソースの研究向けレンダラ

ZBrushで人型クリーチャー

OpenCV3.3.0でsfmモジュールのビルドに成功!

ゴジラ(2014)のメイキング

OpenMesh:オープンソースの3Dメッシュデータライブラリ

コメント