RenderMan Interface Specification とは

RenderMan Interface Specification(略してRISpec)は、Pixar Animation Studiosによって開発されたオープンAPIで、3次元シーンを記述してデジタルフォトリアリスティックイメージに変換します。 RenderManシェーディング言語が含まれています。
RISpecは、モデル化プログラムとフォトリアリスティックな品質の画像を生成できるレンダリングプログラムとの間の標準的な通信プロトコル(またはインタフェース)のためのPixarの技術仕様として、PostScriptと同様の概念ですが、2Dページレイアウトではなく3Dシーンを記述します。したがって、RenderMan Interfaceプロトコルを理解しているモデリングプログラムは、RenderMan Interfaceを実装しているレンダリングソフトウェアにデータを送信することができます。
このインタフェースは、1988年に初めて公開され(バージョン3.0)、かなりの年数にわたる技術の進歩を包含することが十分に将来証明されるように設計されました。現在の改訂版は2005年11月にリリースされた3.2.1です。
RISpecを他の標準とは別に設定したのは、事前に明示的にこれらの形状を近似したポリゴンを生成するモデル化アプリケーションに頼るのではなく、クォリック・プリミティブやバイキュービック・パッチなどの高レベル・ジオメトリ・プリミティブを使用して暗黙的にジオメトリ・プリミティブを指定できることでした。当時のRISpecによって導入された別の新規性は、シェーディング言語の仕様でした。
RenderManシェーディング言語を使用すると、小さなパラメータセットを調整するだけでなく、手続き型テクスチャやシェーダと呼ばれるシェーディングプロシージャをC言語のプログラミング言語を使用して任意の複雑な方法で記述することができます。ライティング、サーフェス上のディスプレースメントは、シェーディング言語を使用してプログラムすることもできます。シェーディング言語では、各ステートメントをSIMDの方法で実行できますが、それを主張しません。 RISpecに基づくレンダラを他の多くのレンダラとは別に設定するもう1つの機能は、任意の変数を画像として出力することです。サーフェス法線、別々のライティングパスなど、レンダラから出力することができます。
RenderManは、異なるユーザーセット(OpenGLからリアルタイムのハードウェア支援レンダリング、RenderManからフォトリアリスティックなオフラインレンダリング)に向けられた2つのAPIにもかかわらず、OpenGLとほとんど共通しています。両方のAPIは、(概念的に)ジオメトリプリミティブの即時レンダリングを備えたスタックベースのステートマシンの形式をとります。いずれかのAPIを他のAPIの観点から実装することは可能です。