この項目「RenderMan Shading Language」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:en:RenderMan Shading Language
)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. .mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}ISBN 0-201-50868-0. https://archive.org/details/rendermancompani00upst
Apodaca, Anthony; Gritz, Larry (1999). Advanced RenderMan : creating CGI for motion pictures. San Francisco: Morgan Kaufmann. ISBN 1-55860-618-1. https://archive.org/details/advancedrenderma00apod_0
Cortes, Rudy; Raghavachary, Saty (2008). The RenderMan shading language guide. Boston, Mass: Thomson Course Technology. ISBN 1-59863-286-8
外部リンク
Shading Language (RSL)のドキュメント
表
話
編
歴
3Dレンダリング
レンダリング
グラフィックスパイプライン
レンダリングエンジン
ジオメトリエンジン
レンダリング手法
ボリュームレンダリング
テッセレーション
大域照明
レイトレーシング
レイトレーシング
パストレーシング(英語版)
不偏レンダリング
ボリュームレイキャスティング(英語版)
ボリューメトリックパストレーシング(英語版)
フォトンマッピング
スペクトルレンダリング(英語版)
ビームトレーシング(英語版)
コーントレーシング(英語版)
分散レイトレーシング(英語版)
メトロポリス光輸送法(英語版)
Bezier clipping
ラスタライズ
Zオーダー法
Zバッファ法