![見出し画像](https://assets.st-note.com/production/uploads/images/81474749/rectangle_large_type_2_dbf764f021a290d1371b8d739973eaa9.png?width=1200)
🎡OSLとGLSLの違い GLSLは通常GPU上でリアルタイムに動作し、OSLは通常CPU上でオフラインで動作します。
GLSLは通常GPU上でリアルタイムに動作し、OSLは通常CPU上でオフラインで動作します。
Open Shading Language (OSL)を使用して独自のノードを作成することも可能です。これらのノードは CPU レンダリングでのみ動作し、GPU 上で OSL コードを実行することはサポートされていないことに注意してください。
これを有効にするには、レンダリング設定でシェーディングシステムとして Open Shading Language を選択します。
OSL はノードベースのシェーディングのために設計され、各 OSL シェーダはノードセットアップの 1 つのノードに対応します。OSLシェーダを追加するには、スクリプトノードを追加して、テキストデータブロックまたは外部ファイルにリンクします。入出力ソケットは、NodeまたはText editorのupdateボタンをクリックすると、シェーダパラメータから作成されます。
Open Shading Language (OSL) は、高度なレンダラーやその他のアプリケーションでプログラム可能なシェーディングのための、小さいけれども豊富な言語です。マテリアル、ライト、ディスプレースメント、パターン生成を記述するのに適しています。およびパターン生成の記述に最適です。
OSLは、Sony Pictures Imageworksによって開発され、長編アニメーションや視覚効果に使用される社内レンダラーで使用されています。OSLは、Sony Pictures Imageworksによって開発されました。この言語仕様は、他の視覚効果やアニメーションスタジオの意見を取り入れて開発されました。他の視覚効果スタジオやアニメーションスタジオの意見も取り入れながら開発されました。
OSLは "New BSD "ライセンスで配布されています。つまり、フリーであろうと商業的であろうと、あなた自身のアプリケーションで自由に使うことができます。
![](https://assets.st-note.com/img/1661079443626-zyc9qmR9oC.png)
OSLは、C言語や他のシェーディング言語と同様の構文を持っています。しかし、高度なレンダリングアルゴリズムのために特別に設計されており、ラディアンスクロージャ、BSDF、遅延レイトレーシングなどの機能を第一級の概念として持っています。
OSLは、他のシェーディング言語にはないいくつかのユニークな特徴を持っています
ラディアンスクロージャの計算: サーフェスシェーダとボリュームシェーダは、最終的な色を直接計算するのではなく、ラディアンス(光の放射量や分布)に関する情報(クロージャ)を計算します。
ループや光線の発射のないシェーダ: シェーダは、光源に対してループを行ったり、光線を発射したりすることはしません。これは、シェーダの計算が独立して効率的に行われることを意味します。
サーフェスシェーダとライトシェーダの同一性: この文脈での「同じもの」とは、サーフェスシェーダとライトシェーダが同じように扱われることを指します。
透明性の取り扱い: 透明性は、特別なシェーディングのカテゴリとしてではなく、照明の一種として考えられます。
"ライトパス表現"によるレンダラーの出力指定: ユーザーは「ライトパス表現」という方法を使って、レンダリングの出力を詳細に指定することができます。
シェーダネットワーク: シェーダは、個別の要素が組み合わされてネットワークを形成することで構成されます。
「uniform」と「varying」キーワードの不在: OSLには「uniform」と「varying」といったキーワードが存在しない。
任意のデリバティブ: グリッドや余分なシェーディングポイントを使用せず、任意の微分が可能です。
![](https://assets.st-note.com/img/1662074147200-ASJ4A86tzq.png)
いいなと思ったら応援しよう!
![あたり帳簿](https://assets.st-note.com/production/uploads/images/146045306/profile_76a0adfc7bd4b4908ef76d29ad61ae98.png?width=600&crop=1:1,smart)