レンダリング()は、データ記述言語やデータ構造で記述された情報から、コンピュータプログラムを用いて人間が受け取る画像・映像(動画)・音声などを生成することをいう。元となる情報には、物体の形状、物体を捉える視点、物体表面の質感(テクスチャマッピングに関する情報)、光源、シェーディングなどが含まれる。"render" の原義は「表現する、翻訳する、(脚本などを)上演する」などの意味。
レンダリングを行うソフトウェア、ソフトウェアパーツ、システムなどをレンダリングエンジンまたはレンダラーと呼ぶ。また、レンダリング用のサーバファームをレンダーファームと呼ぶ。
レンダリングの例 3次元オブジェクトや光源の情報から3DCGを描画する。 Adobe After Effectsなどのエフェクタがエフェクトのパラメータから映像を出力する。 OSやテキストエディタやDTPソフトが文字コードから文字を表示する。 DTMソフトがMIDIデータなどから音声信号を生成する。(特に、リアルタイム演奏ではなく事前に音声信号を生成してからそれを再生することを指す) ウェブブラウザがHTMLなどからウェブページを表示する。
どの場合も、出力データに関するコンピュータ上で作成された情報を必要とし、これをレンダリングすることで出力データを得る。
レンダリング (3DCG) thumb|300px|POV-Rayで3Dレンダリングされた画像 3次元コンピュータグラフィックスにおけるレンダリング()は3Dシーンを画像へ変換することである"レンダリング 3次元シーンを入力とした描画処理 入力:3次元物体,カメラ,光源情報 出力:画像" p.3 より引用。藤堂. (2015). 第8回 レンダリング技法1 ~基礎と概要,隠面消去~. 明治大学講義「コンピュータグラフィックス」.。
3Dシーンは3Dモデル・カメラ・光源などからなる。これを平面のディスプレイで見られるようにピクセルの集合である画像へ変換する一連の処理がレンダリングである。
レンダリング専用のソフトウェアも存在し、その場合はソフトウェア全体をレンダラーと呼ぶ。
3Dレンダリングの主な技法 主に下記の基礎的なレンダリング技法が用いられる。
ラスタライズ法 - 形状ごとに画家のアルゴリズムなどを応用して描画する。 スキャンライン法 - 走査線ごとに交差する形状を判定し描画する。 レイトレーシング法 - 画素ごとに視線と交差する形状を判定し描画する。再帰的に光線追跡をすることで鏡面反射や屈折、影などを再現できる。
これらのレンダリング技法において、様々なシェーディング(陰影付け)技法が応用される。特にポリゴン面には主に次のようなシェーディング技法が用いられる。
フラットシェーディング - 面ごとに法線に基づいて照明計算し、平坦な陰影付けを施す。 グーローシェーディング - 頂点ごとに法線に基づいて照明計算し、頂点色を補間した陰影付けを面に施す。 フォンシェーディング - 画素ごとに頂点法線を補間して照明計算し、曲面を再現した陰影付けを施す。
照明計算の技法は、当該形状表面・光源・視点の関係による直接光のみを考慮したローカルイルミネーション(局所照明)と、シーン全体の関係による間接光を考慮したグローバルイルミネーション(大域照明)に二分される。
ローカルイルミネーションの理論には、古典的にはランベルトの余弦則によるランバート反射や、経験に基づいて鏡面反射(鏡面ハイライト)をモデル化したPhongの反射モデルが用いられてきたが、後に様々な反射モデルが考案され、エネルギー保存則やマイクロファセット、オフスペキュラー、フレネル反射、異方性反射、表面化散乱の概念が導入されるなど理論の発展がある。
主なグローバルイルミネーション技法には次のようなものがある。
ラジオシティ法 - シーン全体の光エネルギー拡散分布を面単位でシミュレーションする。 フォトンマッピング法 - 光源から放射されるフォトンの経路分布をシミュレーションする。 パストレーシング法 - 入射光の再帰的な光線追跡を確率的におこなう。
グローバルイルミネーションは再現精度に従い計算量が膨大になりやすい。実用的な計算時間内ではノイズを生む場合があり、様々なノイズ除去法も利用されている。
その他、現実の物理法則を志向した「物理ベースレンダリング」や、系統誤差を導入しない「不偏レンダリング」、非写実的な(例えばトゥーンレンダリングや絵画調など)志向の「非写実的レンダリング」といった分類の考え方もある。
3Dレンダリング機能を持つ代表的なソフトウェア
脚注
参考文献
関連項目
Computer Generated Imagery 3次元コンピュータグラフィックス デジタルアート
外部リンク