RenderMan Shading Language
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/17 10:50 UTC 版)
ナビゲーションに移動 検索に移動この項目「RenderMan Shading Language」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:en:RenderMan Shading Language) 修正、加筆に協力し、現在の表現をより原文に近づけて下さる方を求めています。ノートページや履歴も参照してください。(2021年3月) |
Renderman Shading Language (略称:RSL) はRenderMan Interface Specificationのコンポーネントであり、シェーダーの定義に使われる。この言語の構文はC言語風となっている。
RSLで書かれたシェーダーは Pixar の PhotoRealistic RenderMan、DNA Research の 3Delight、Sitexgraphics の Air、オープンソースソリューションの Pixie や Aqsis のような RenderMan 準拠レンダラーであれば改変なく使用可能である。
RenderMan Shading Language では、独立関数と5種のシェーダー型(サーフェス、ライト、ボリューム、イメージャー、及びディスプレイスメント)が定義されている。
金属サーフェスを定義するサーフェスシェーダーの例:
surface metal (float Ka = 1; float Ks = 1; float roughness = 0.1;)
{
normal Nf = faceforward (normalize(N), I);
vector V = - normalize (I);
Oi = Os;
Ci = Os * Cs * (Ka * ambient() + Ks * specular (Nf, V, roughness));
}
シェーダーは Cs(表面色)、N(与えられた点での法線)、Ci(最終的な表面色)などの特殊変数を読み書きすることで、その動作を表現する。シェーダーの引数はモデルの複数オブジェクトにアタッチされる大域パラメータである(つまり1つの金属シェーダーを異なる金属などに使用できる)。シェーダーには戻り値が無いものの、関数は引数を取って値を返すように定義可能である。例えば次の関数はドット積演算子「.」を使ってベクトル長を算出する:
float length (vector v) {
return sqrt (v . v); /* .はドット積 */
}
参考文献
- Upstill, Steve (1990). The RenderMan companion : a programmer's guide to realistic computer graphics. Reading, Mass: Addison-Wesley. ISBN 0-201-50868-0
- Apodaca, Anthony; Gritz, Larry (1999). Advanced RenderMan : creating CGI for motion pictures. San Francisco: Morgan Kaufmann. ISBN 1-55860-618-1
- Cortes, Rudy; Raghavachary, Saty (2008). The RenderMan shading language guide. Boston, Mass: Thomson Course Technology. ISBN 1-59863-286-8
外部リンク
|
RenderMan Shading Language
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/25 23:42 UTC 版)
「シェーディング言語」の記事における「RenderMan Shading Language」の解説
詳細は「RenderMan Shading Language」を参照 RenderManシェーディング言語 (しばしばRSLないしSLと省略される) は、RenderManインタフェース仕様で定義されており、プロダクションレンダリングを行うのに最もよく使われているシェーディング言語である。また、この言語は最初に実装されたシェーディング言語でもある。 この言語は6つの主要なシェーダーのタイプを定義している。 Light source shaders 光源上の点から照射面上の点への光の色を計算する。 Surface shaders 照射されるオブジェクトの光学的特性モデル。入射光と物体の物理的特性を考慮することにより、照射点における最終的な色と位置を計算する。 Displacement shaders は表面の図形をその地点の色に独立して操作する。 Deformation shaders 全体の空間をある定義された図形に変換する。唯一RenderManにのみ実装されているAIR rendererは実際にこのタイプのシェーダーを実装している。 Volume shaders ボリュームを通して際の光の色を操作する。これらはフォグのような効果を生み出す。 Imager shaders 色を最終画素値に変形する。これはイメージフィルタのようなものであるが、imager shaderは量子化前のデータを操作するので、出力デバイスに表示するよりもより広いダイナミックレンジを持つ。
※この「RenderMan Shading Language」の解説は、「シェーディング言語」の解説の一部です。
「RenderMan Shading Language」を含む「シェーディング言語」の記事については、「シェーディング言語」の概要を参照ください。
- RenderMan_Shading_Languageのページへのリンク