定義
レンダリングとは、コンピューターの中に数字だけで保存されているシーンのデータ(主に3次元モデルと照明の情報)を、人が目で見られる最終的な画像や映像に変換する計算処理のことです。目に見えない骨組みと数式に肉付けをして、光を当てて画面として完成させる作業だといえます。
設計図を本物の写真に変える作業
建築家が紙に描いた平面図だけを見ても、建物が実際にどんな姿になるのかは想像しにくいですよね。でも、専門のイラストレーターが設計図をもとに、レンガのざらざらした質感を描き込み、日差しの角度や窓に映る影まで丁寧に描けば、写真のようなすてきな完成予想図(建築パース)が生まれます。
コンピューターグラフィックスでも、まったく同じことが起きています。コンピューターの中では、キャラクターの背丈や形といった立体は、すべて点と線の3次元座標という数字としてだけ存在しています。そこに、どんな色を塗るのか、金属のように光るのか、背後にどんな影ができるのかを決める、たくさんの物理法則が加わります。
これらの情報をすべて集めて、光と質感を計算し、1枚の完璧な絵に仕上げる作業こそがレンダリングです。レンダリングを経てはじめて、私たちは画面の中でいきいきと動く立体のキャラクターに出会えるのです。
リアルタイムレンダリングとプリレンダリング
レンダリングは、大きく2つの方式に分かれます。1つは、3Dゲームのようにユーザーの操作にすぐ反応できるよう、画面を休まず描き続ける「リアルタイムレンダリング」です。ゲーム画面は、グラフィックカードが1秒間に数十回(一般的には30〜60回、高リフレッシュレートの画面ではそれ以上)、稲妻のような速さで描き直しています。だから、キャラクターが振り向くとその変化がすぐに画面に現れます。
一方、3D映画のアニメーションや特殊効果の入った映画では、「プリレンダリング」(オフラインレンダリングとも呼ばれます)という方式を使います。観客がリアルタイムで操作する必要がないので、たくさんのコンピューターをつないだレンダーファームで、1コマ(フレーム)に数時間、作品全体では何か月もかけて計算することもあります。
時間がかかる代わりに、毛の1本1本の揺れや水滴に反射する光まで、画面のリアルさと精密さを極限まで高められます。ゲームでは即座の反応速度が大切で、映画では圧倒的な完成度が大切、というわけです。
もう少し正確にいうと:コンピューターが計算しているもの
もう少し正確にいうと、レンダリングは単なる色塗りではなく、複雑な計算です。とくにリアルな場面をつくるときは、照明から出た光が床にぶつかって跳ね返り、壁で反射して私たちの目(カメラ)に届くまでの経路を計算します。実際の計算では、カメラ側から逆向きに光線を飛ばして、光が通ってきた道をたどるのが一般的です。
光の経路を1本ずつ追いかけて計算する「レイトレーシング」や、物体の表面の質感を表現するシェーダー演算には、何兆回もの数学的な計算が必要です。とくにゲームのようなリアルタイムレンダリングでは、数千個もの演算ユニットを同時に動かすグラフィックカード(GPU)の並列演算能力がカギになります。映画用のプリレンダリングでは、GPUに加えて、たくさんのCPU(中央処理装置)をつないだレンダーファームもよく使われます。
以前は映画でしか見られなかった精巧な光の計算技術が、いまでは高性能なハードウェアの進化のおかげで、みなさんが遊ぶ家庭用ゲーム機やスマートフォンの画面でもリアルタイムで行われています。
よくある誤解
レンダリングとは、完成した画面を録画したり、動画ファイルとして保存したりする作業のことだ。
画面をファイルに圧縮して保存するのは、エンコードに近い作業です。レンダリングは、3Dシーンや編集エフェクトなどのデータから、画面のピクセルの色を1つ1つ新たに計算して作り出す処理です。動画編集ソフトでは、この計算とエンコードをまとめて「レンダリング」と呼ぶこともあります。
日常で出会う場面
3Dアニメ映画をつくるとき、たくさんのコンピューターをつないだレンダーファームで、高画質のシーンを1コマずつ精密に計算し、作品全体では何か月もかけて完成させることもあります。
3Dゲームを遊んでいるとき、グラフィックカードが1秒間に何十回も画面を計算し直しているので、キャラクターが視線を動かすとその変化がすぐに見えます。
つまり ひとことで
レンダリングとは、コンピューターの中の数字や設計図に、光・影・質感を計算で加えて、人が見られるいきいきとした映像として描き出す処理のことです。