IPSJ情報処理カタログ #ジョーショリ

用語集

レンダリング

れんだりんぐRendering

概 要

データから画像や映像を作り出すこと。3Dグラフィックソフトでは、物体やカメラの位置、「光の当たり具合」などを計算して、「絵」を作り出す作業のことを言う。

解 説

3Dグラフィックでは、人物や風景などの物体の形状を3次元の空間にで描きます。これらは、内部的には数式で表現されます。数学では「円柱」や「回転体」などの形状の数式を学びますが、3Dグラフィックで描く物体は、これらの形状をもっと複雑にしたものを組み合わせて作られます。

これらの物体を映像化するには、「カメラの位置」と「光源(ライトや太陽光)の位置」を決めて、カメラの位置から見える絵の「色」や「明るさ」が、どのようになるのかを計算します。この処理が「レンダリング」です。

Wikipediaより(Maximilian Schönherr)

レンダリングでは、カメラの向きによって、全体から「絵」として見える範囲が切り抜かれます。その絵がどのような色合いになるのかは、光源から出る光を計算し、物体に当たったときにはその反射率に応じて反射させるなど、複雑な計算をして決めます。当然、ある物体の後ろにある物体は隠れますし、影も付きます。
アニメーションを作るときは、カメラや物体を動かしながら、1コマ1コマレンダリングしていきます。

レンダリングの計算はとても複雑で、長い時間がかかります。また物体が多く、複雑であったり、画像が細かいほど(解像度が高いほど)、1つの絵あたりの計算量が増えるので、時間がかかります。

3Dアニメーションの製作では美しい映像が求められるため、レンダリングに何時間も、もしくは何日もかかることがあります。そのような映像を作るときは、高性能のコンピュータを何十台も組み合わせて計算します。一方ゲームの場合は、プレイヤーの動きに合わせて即時的(リアルタイム)に絵を作るため、計算を単純化します。たとえば反射や分散した光についての計算を省略することで、リアルタイムに動かせる程度の計算量で絵を作ることができるようになります。

また、物体の形状を簡単にするなどの手段も計算量を減らすのに有効な方法です。

昔のコンピュータでは、リアルタイムで3Dの映像を動かすことは夢でしたが、パソコンやスマートフォンの計算能力が高くなったため、3Dゲームがプレイヤーに快適な速度で遊べるようになりました。

実現できること

  • ・ゲーム。プレイヤーの操作に応じたインタラクティブな絵作り
  • ・アニメーション。予め配置されたオブジェクトの明るさや配置などを計算して作られる絵作り。
  • ・映画の視覚効果(VFX)。実写映像に対して3D-CGなどによって制作された特殊効果が入った絵を重畳することで新しい効果を生む手法。

将来の展開

レンダリングは、とかく計算に時間がかかります。こうした計算には従来、CPUが使われていましたが、いまではグラフィックカードに搭載されたGPU(Graphics Processing Unit)という装置が使われることがほとんどです。

GPUは、レンダリングなどで使われる計算に特化したプロセッサです。CPUで計算するのに比べて、圧倒的に速く計算できます。

処理速度が速くなれば、より高精細な映像が作れます。プレイヤーの入力に合わせてリアルタイムに操作できる3Dのゲームなども、より高精細になります。PlayStation4やPlayStation5などのゲーム機は、高性能なGPUを搭載しているため、とても美しい3D映像のゲームが楽しめます。

近年、VR(バーチャルリアリティ)などが流行っていますが、VRでもユーザーの動きに対してリアルタイムに変化する美しい3D画像が不可欠です。レンダリング速度の向上は、こうした分野の発展にも欠かせません。

PAGE TOP