レンダリングとは

「レンダリング(Rendering)」とは、コンピュータプログラムを用い、もととなる数値データを計算し表示を行うことです。例えば、WebサイトのHTMLファイルなどをもとに、ユーザーが閲覧できるページに表示することもレンダリングとなります。
3DCG制作の現場では、主に3次元空間の物体を2次元の画像にすること、または合成の作業で完成したものを最終的な映像に出力することを指します。現実世界のカメラ撮影とほぼ同じ意味ですが、映像の場合はレンダリングに非常に多くの時間を要します。

プリレンダリングとリアルタイムレンダリング

ゲームなどプレイを行いながらリアルタイムでレンダリングを行う「リアルタイムレンダリング」との区別をするため、「プリレンダリング」と呼ぶこともあります。
現在ではリアルタイムレンダリングでの表現も非常に高くなっていますが、ゲームプレイ中は膨大な計算処理は行うことは難しくなります。CG制作の現場では納期内であれば更にリアルな表現を追求できます。映像の場合は完成した静止画を1分間で少なくとも1800枚の画像として大量に作成するため、レンダリングには数時間や数日など膨大な時間がかかります。

さまざまなレンダリングの例

  • レイトレーシング(Ray Tracing)
    レンダリングの中でも特に一般的なレンダリング法であり、実写と区別がつかないような表現が可能です。SF映画などでも使われており、光や炎、煙などの描写が非常にリアルに表現されます。レイトレーシングのレイとは、「Ray:光」を指し、光線追跡法とも言われます。
  • トゥーンレンダリング(Toon Rendering)
    イラスト風やアニメ風といった、デフォルメされた表現にするレンダリング法です。立体的な影ではなく、単純化した影(シェーディング)をつけて2Dにように見せることから「トゥーンシェイド」とも呼ばれ、他にも「シェルシェーディング(Cel shading)」や「トゥーンシェーディング(Toon shading)」という呼び方もあります。2Dのような表現となりますが、ポリゴン数などは変わらず容量は同等かさらに多くなります。
  • ラジオシティ(Radiosity)
    形状の面のエネルギーの前処理計算を行い、レンダリングをする方法です。レイトレーシングよりもさらにリアルな表現が行うことができます。ラジオシティ法には、同じ位置に面を重ねないようにすることや、コーティクスが表現できないなど、いくつかの制約があります。また、方程式が複雑であるという点もありレイトレーシングよりも時間がかかります。
  • スキャンライン(Scanline)
    シェーディングが美しく、アニメーションの制作現場で現在も使われています。スキャンラインはディスプレイの走査線という意味で、カメラ基準で水平にスライスを行い、サーフェイスを求めるレンダリング法です。レイトレーシングとは違いレイの計算を行いません。そのため、レイトレーシングよりも早くレンダリングができますが、複雑な要素の多いシーンでは時間がかかります。
  • Zバッファ(Z-buffer)
    アルゴリズムが他のレンダリングに比べて単純であり高速化しやすいですが、バッファ確保のためのメモリ領域は大きくなり、透過処理を苦手としています。隠れている部分は省略を行い、奥行きを比較して手前の要素だけ表します。隠面消去という手法のひとつです。