RenderMan_Shading_Language
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この項目「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、オープンソースソリューションの PixieAqsis のような 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バッファ法


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:17 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef