モデリングされた3次元物体を画像表現するための描画処理をレンダリングといいます。様々な手法があり特徴が異なりますが、生成画像にリアルさを求めると計算時間も増大するため、効率よく画像を生成するにはシーンに応じた適切な手法の使い分けや組み合わせが必要です。
VR(Virtual Reality)やゲームでの描画は基本的にリアルタイムレンダリングとなります。操作者との対話性と没入感を重視するため、グラフィックボードの性能をフル活用し、その場での非常に高速な描画が求められます。
これに対して、あらかじめレンダリングしておくことをプリレンダリングといい、映画などで用いられる動画はプリレンダリング映像です。その場で演算処理を行うわけではなく、計算時間をかけて生成されるため、実写のような写実的な表現の追求が可能です。プリレンダリング映像は常に同じように再生される一方、リアルタイムレンダリング映像は、環境や操作によって画像を変化させることができます。リアルタイムレンダリングによる表現では、高速描画を実現するためのローポリゴンモデリングやそれに合わせたテクスチャマッピングの工夫が必要となります。
●隠面消去
視点からは別の物体の陰に隠れて見えない面を描画しないようにする処理を隠面消去といいます。ハードウェアの発達とともに、スキャンライン法、Zバッファ法、レイトレーシング法などの処理法が開発されました。
■スキャンライン法
画面の走査線(スキャンライン)単位で描画処理を行います。視点と1本の走査線の延長線上に走査面を作成し、その走査面と物体の交差から表示部分を算出します。1列ごとに描画するため、少ないメモリで処理が可能です。
■Zバッファ法
画面を構成する各画素の奥行き値を記憶するメモリ領域(Zバッファ)を用意し、描画の際に同じ座標の画素の奥行き情報を比較して、最も手前にあるものだけを画面に書き込みます。多くのメモリが必要ですが、アルゴリズムが単純でハードウェア化しやすく高速処理が可能なため、リアルタイムレンダリングでよく用いられます。
■レイトレーシング法(光線追跡法)
投影面の各画素ごとに、視点に届くレイ(光線)を逆方向にたどり、レイと最初にぶつかった物体の色や材質などを計算します。光の反射、透過・屈折を表現でき写実的な画像生成に向いていますが、全画素ごとに処理を行うため多大な計算時間を必要とします。
●シェーディングと影
モデルに陰影をつける処理をシェーディングといい、物体の立体感を表現します。また、光がさえぎられてできる影の計算処理は影付け(シャドウイング)といい、シェーディングとは別の処理となります。
|
|
|
▲図1.陰と影 |
|
▲図2.シェーディング画像
|
|
|
|
▲図3.シャドウイング画像 |
|
▲図4.レイトレーシング画像
(POV-Rayオプション出力) |
画像出力:UC-win/Road Ver.3.04.05
シドニー・オペラハウスVRデータ:RoadDB サンプルデータ/世界遺産より |
●光源
モデルを照らす光源によって、シェーディングの際の計算方法も異なります。
[光源による分類]
・ 平行光線:太陽光線のように同一方向に進む。一様に照らす。
・ 点光源:1点から放射状に光が広がる。影のエッジがシャープに出る。
・ 線光源:線状に発光する。影のエッジがソフトになる。
・ 面光源:面で発光する。影のエッジがソフトになる。半影ができる。
[照射による分類]
・直射光:光源から出た光が直接物体を照らす。
・間接光:光源から出た光が壁面などで反射し回り込んで照らす。
[物体からの光]
・ 反射光:光源から出た光が物体表面または表面の浅い部分で反射した光。拡散反射成分と鏡面反射成分に分けられる。光沢のある
金属やプラスチックの表面では、ハイライトができ、これは鏡面反射成分によって表現される。
・ 透過光:物体を透過した光。屈折率の違いにより水やガラスを表現する。
・ 散乱光:微粒子によって散乱された光。
現実世界の物体は、直接光が当たらない面でも、真っ暗ではなく、わずかに明るくなっています。これは、光が物体の周囲で繰り返し反射し、直接光が当たらない面にまで回り込んで照らすためです。このような光を近似したものを環境光として扱います。環境光は周囲からの一様な光として考え、間接光を近似した光としても考えられます。この間接光の精度を高めた計算手法にラジオシティ法があり、やわらかな光と影を表現することが可能ですが計算量は膨大となります。
|
参考文献:
・『ビジュアル情報処理 -CG・画像処理入門-』CG-ARTS協会、2008年 |
|
|
(Up&Coming '09 新緑の号掲載) |
|
|
>> 製品総合カタログ
>> プレミアム会員サービス
>> ファイナンシャルサポート
|