JP2007328460A - 画像生成プログラム - Google Patents
画像生成プログラム Download PDFInfo
- Publication number
- JP2007328460A JP2007328460A JP2006157824A JP2006157824A JP2007328460A JP 2007328460 A JP2007328460 A JP 2007328460A JP 2006157824 A JP2006157824 A JP 2006157824A JP 2006157824 A JP2006157824 A JP 2006157824A JP 2007328460 A JP2007328460 A JP 2007328460A
- Authority
- JP
- Japan
- Prior art keywords
- reflection
- shadow
- map
- term
- diffusion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Image Generation (AREA)
Abstract
【課題】少ない演算負荷で質感の高い画像表現を可能とすること。
【解決手段】記憶手段と演算手段を備えた画像処理装置によって実行されるプログラムであって、演算手段に、(a)仮想空間内に設定された仮想光源からオブジェクトに入射する光がオブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを記憶手段から読み出すステップ、(b)光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求めるステップ、(c)オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求めるステップ、(d)拡散環境マップとシャドウ成分とを乗算することによって拡散項を求めるステップ、(e)反射環境マップとシャドウ成分の反転値とを乗算することによって反射項を求めるステップ、(f)拡散項と反射項を加算するステップ、を実行させる。
【選択図】図4
【解決手段】記憶手段と演算手段を備えた画像処理装置によって実行されるプログラムであって、演算手段に、(a)仮想空間内に設定された仮想光源からオブジェクトに入射する光がオブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを記憶手段から読み出すステップ、(b)光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求めるステップ、(c)オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求めるステップ、(d)拡散環境マップとシャドウ成分とを乗算することによって拡散項を求めるステップ、(e)反射環境マップとシャドウ成分の反転値とを乗算することによって反射項を求めるステップ、(f)拡散項と反射項を加算するステップ、を実行させる。
【選択図】図4
Description
本発明は、仮想三次元空間に設定される事象を透視投影変換して二次元画像を生成する技術に関する。
近年のコンピュータ技術の発展に伴い、ビデオゲーム装置、シミュレータ(擬似体験装置)などに関する画像処理技術が広く一般に普及するようになっている。このようなシステムにおいては、表示される画像をより表現力豊かにすることが商品価値を高めるうえで重要となっている(例えば、特許文献1参照)。例えば、仮想空間内を表す二次元画像に対して、拡散項、反射項などを考慮した照明効果を与えることにより、高い表現力(質感等)を実現する手法が種々検討されている。その一方で、TVゲーム機等における画像生成にはリアルタイム処理が求められるため、画像生成に要する演算負荷をなるべく低減したいという要望もある。
そこで、本発明は、少ない演算負荷で質感の高い画像表現を可能とする画像処理技術を提供することを目的とする。
本発明は、記憶手段と演算手段を備えた画像処理装置によって実行され、仮想三次元空間に配置されるオブジェクトに周囲の風景を映し込む環境マッピングを伴う3次元画像を生成するためのプログラムであって、
前記演算手段に、
(a)前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出すステップ、
(b)光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求めるステップ、
(c)前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求めるステップ、
(d)前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求めるステップ、
(e)前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求めるステップ、
(f)前記拡散項と前記反射項を加算するステップ、
を実行させることを特徴とする。このプログラムは、コンピュータ読み取り可能な記録媒体(例えば、コンパクトディスク、デジタルバーサタイルディスク等の各種ディスク)に記録されていてもよい。
前記演算手段に、
(a)前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出すステップ、
(b)光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求めるステップ、
(c)前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求めるステップ、
(d)前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求めるステップ、
(e)前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求めるステップ、
(f)前記拡散項と前記反射項を加算するステップ、
を実行させることを特徴とする。このプログラムは、コンピュータ読み取り可能な記録媒体(例えば、コンパクトディスク、デジタルバーサタイルディスク等の各種ディスク)に記録されていてもよい。
好ましくは、前記反射環境マップは、反射マップを球面変形して生成される。
好ましくは、前記第1のシャドウマップは、投影物と被投影物との間の距離に基づき、当該距離が小さいほど輝度が高くなるように設定される。
好ましくは、前記ステップ(b)は、前記仮想三次元空間における前記オブジェクトの周辺からの影成分をレンダリングすることによって第2のシャドウマップを生成し、当該第2のシャドウマップと前記第1のシャドウマップとを乗算することによって前記シャドウ成分を算出する。
好ましくは、上記プログラムは、
(g)前記ステップ(f)の演算結果に対してフレネル項を加算するステップ、
を更に含む。
(g)前記ステップ(f)の演算結果に対してフレネル項を加算するステップ、
を更に含む。
好ましくは、前記ステップ(e)は、前記反射環境マップと前記シャドウ成分の反転値の乗算結果に対して、更に1より大きい係数を乗算して前記反射項を算出する。
また、本発明は、記憶手段と演算手段を備え、仮想三次元空間に配置されるオブジェクトに周囲の風景を映し込む環境マッピングを伴う3次元画像を生成する画像処理装置であって、
前記演算手段が、
(a)前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出し、
(b)光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求め、
(c)前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求め、
(d)前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求め、
(e)前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求め、
(f)前記拡散項と前記反射項を加算する、
ことを特徴とする。
前記演算手段が、
(a)前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出し、
(b)光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求め、
(c)前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求め、
(d)前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求め、
(e)前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求め、
(f)前記拡散項と前記反射項を加算する、
ことを特徴とする。
また、本発明は、記憶手段と演算手段を備え、仮想三次元空間に配置されるオブジェクトに周囲の風景を映し込む環境マッピングを伴う3次元画像を生成する画像処理装置における画像処理方法であって、
(a)前記演算手段が、前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出すステップと、
(b)前記演算手段が、光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求めるステップと、
(c)前記演算手段が、前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求めるステップと、
(d)前記演算手段が、前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求めるステップと、
(e)前記演算手段が、前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求めるステップと、
(f)前記演算手段が、前記拡散項と前記反射項を加算するステップ、
を含むことを特徴とする。
(a)前記演算手段が、前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出すステップと、
(b)前記演算手段が、光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求めるステップと、
(c)前記演算手段が、前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求めるステップと、
(d)前記演算手段が、前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求めるステップと、
(e)前記演算手段が、前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求めるステップと、
(f)前記演算手段が、前記拡散項と前記反射項を加算するステップ、
を含むことを特徴とする。
上記の本発明によれば、拡散項や反射項が加味された質感の高い画像表現を少ない演算負荷で実現することが可能となる。
以下、画像処理装置の一例としてゲーム装置を採り上げて、本発明の実施の形態について説明する。
図1は、一実施形態のゲーム装置の構成を示すブロック図である。図1に示す本実施形態のゲーム装置1は、CPU(Central Processing Unit)10、システムメモリ11、記憶媒体12、ブートロム(BOOT ROM)13、バスアービタ14、GPU(Graphics Processing Unit)16、グラフィックメモリ17、オーディオプロセッサ18、オーディオメモリ19、通信インタフェース(I/F)20、ペリフェラルインターフェース21、を含んで構成されている。すなわち、本実施形態のゲーム装置1は、演算手段(演算部)としてのCPU10及びGPU16、記憶手段(記憶部)としてのシステムメモリ11、グラフィックメモリ17及びオーディオメモリ19等を含んで構成されるコンピュータ(コンピュータシステム)を備え、当該コンピュータに所定のプログラムを実行させることによってゲーム装置として機能するものである。具体的には、ゲーム装置1は、ゲーム演出を行うために、仮想三次元空間(ゲーム空間)内を仮想カメラから見た二次元画像を順次生成するとともに、効果音などの音声を生成する。
CPU(Central Processing Unit)10は、所定のプログラムを実行することによりゲーム装置1全体を制御する。
システムメモリ11は、CPU10が使用するプログラムやデータを格納する。このシステムメモリ11は、例えばDRAM(dynamic random access memory)、SRAM(static random access memory)等の半導体メモリを用いて構成される。
記憶媒体12は、ゲームプログラムや出力する画像や音声などのデータが記録されている。このプログラムデータ用ROMとしての記憶媒体12は、マスクロムやフラッシュロムなどの電気的にデータを読み出せるICメモリや、CD−ROM、DVD−ROMなどの光学的にデータを読み出せる装置と光ディスクまたは磁気ディスク等であっても良い。
ブートロム13は、ゲーム装置1を起動させた際に各ブロックを初期化するためのプログラムを格納する。
バスアービタ14は、各ブロック間でプログラムやデータのやり取りを行うバスを制御する。
GPU16は、ディスプレイに表示するオブジェクトの仮想三次元空間(ゲーム空間)での位置座標や向きの演算(ジオメトリ演算)と、このオブジェクトの向きや位置座標等に基づいてディスプレイに出力する画像を生成(描画)する処理(レンダリング)を行う。
グラフィックメモリ17は、GPU16に接続されており、画像を生成するためのデータやコマンドなど格納する。このグラフィックメモリ17は、例えばDRAM(dynamic random access memory)、SRAM(static random access memory)等の半導体メモリを用いて構成される。
オーディオプロセッサ18は、スピーカから音声出力を行うためのデータを生成する。このオーディオプロセッサ18によって生成された音声データが図示しないデジタル/アナログ変換器によってアナログ信号に変換され、スピーカに入力されることにより、スピーカから音声出力がなされる。
オーディオメモリ19は、オーディオプロセッサ18に構成されており、音声を生成するためのデータやコマンドなど格納する。このオーディオメモリ19は、例えばDRAM(dynamic random access memory)、SRAM(static random access memory)等の半導体メモリを用いて構成される。
通信インタフェース(I/F)20は、ゲーム装置1が他のゲーム装置やサーバ装置等との間でデータ通信の必要がある場合における通信処理を行う。
ペリフェラルインターフェース(I/F)21は、外部からのデータ入出力を行うインターフェースが組み込まれており、ここに周辺装置としてのペリフェラルが接続される。ここで、ペリフェラルには、マウス(ポインティングデバイス)やキーボード、ゲーム用コントローラ等のキー操作のためのスイッチ、及びタッチペンの他、プログラムの途中経過や生成したデータを保存するバックアップメモリ、表示装置、撮影装置等、画像処理装置本体あるいは他のペリフェラルに接続可能なものが含まれる。
なお、システムメモリ11、グラフィックメモリ17、サウンドメモリ19は、1つの
メモリをバスアービタ14に接続して各機能で共通に使用するようにしてもよい。また各
機能ブロックも機能として画像処理部2内に存在すればよく、機能ブロック同士が統合
されていても、また、機能ブロック内部の各構成要素が他のブロックとして分離されてい
ても良い。
メモリをバスアービタ14に接続して各機能で共通に使用するようにしてもよい。また各
機能ブロックも機能として画像処理部2内に存在すればよく、機能ブロック同士が統合
されていても、また、機能ブロック内部の各構成要素が他のブロックとして分離されてい
ても良い。
本実施形態のゲーム装置は以上のような構成を備えており、次に本実施形態の画像生成処理の内容についてフローチャート等を参照しながら説明する。本実施形態ではカーレースを模擬したゲームにおいて、仮想三次元空間に配置されるオブジェクトに周囲の風景を映し込む環境マッピングを伴う3次元画像を生成する際の処理について説明する。
図2及び図3は、画像生成処理の全体的な手順を示すフローチャートである。図2及び図3に示す一連の処理は各フレーム毎に実行される。また、図4は、画像生成処理の内容を可視化して模式的に示した概念図である。
CPU10は、ゲーム用コントローラ等の入力手段からの入力に基づき、あるいは、リプレイ時/アドバタイズ時はメモリに記憶されたオブジェクトの軌跡情報に基づき、オブジェクトの挙動(座標)を演算し、オブジェクトを仮想三次元空間内のコース上に配置する(ステップS10)。併せて、CPU10は、光源位置(固定、あるいは時間経過と共に移動する)を設定するとともに、視点位置(カメラ位置)を設定する。カメラ位置は、例えばオブジェクトの後方、一定距離の位置に設定される。ここでオブジェクトは、複数のポリゴン(例えば、三角形状ポリゴン)を組み合わせて構成されるモデル(ポリゴンモデル)である。本実施形態ではカーレースを模擬したゲームを考えているので、本ステップでは、例えばレース用のスポーツカー(車体)、このスポーツカーが走行するコース、このコース上やコース周辺に存在する障害物等を表すためのポリゴンモデルが仮想三次元空間内に適宜配置される。
次にGPU16は、反射マップを生成する(ステップS11)。具体的には、GPU16は、まず仮想三次元空間内のオブジェクト(本例では車体)の位置に視点を設定し、そこからカメラ位置に向かう方向を視線方向として反射マップ(反射用背景モデル)をレンダリングする。この反射マップは反射特性を加味した色合いに調整される。その後GPU16は、レンダリングした反射マップを変位マップに基づいて球面変形する。より詳細には、まず、変位マップ上の各ピクセルについて、反射マップにちょうど収まる大きさの球を想定した場合の該当ピクセルの法線の向きが求められ、該当ピクセルの元のUV値から上記の法線分だけオフセットした地点のUV値が求められる。この処理はプログラム起動時に行われてもよく、またプログラム実行中に適宜行われてもよく、更には、予め変位マップを作成し、そのデータを記憶媒体に格納しておいたものを読み出して用いてもよい。こうして生成された変位後のUVマップに反射マップを貼ることで、反射マップが球面変形される。これにより、魚眼レンズを通した写真に類似の反射マップが得られる。
次にGPU16は、セルフシャドウマップ及び投影シャドウマップを生成する(ステップS12)。具体的には、まず主光源から車体へ見た深度値をレンダリングすることによりパースペクティブ(perspective:遠近)シャドウマップが生成される。これが車体自身のセルフシャドウマップ(第1のシャドウマップ)として用いられる。また、セルフシャドウマップの空きチャンネルに、路面などコース周辺からの影成分をレンダリングすることにより投影シャドウマップ(第2のシャドウマップ)が生成される。なお、画像生成に用いられるオブジェクトとは別に用意されたコリジョン判定用の簡易モデルを用いて深度値をレンダリングしても良い。
また上記処理と並行し、あるいは前後して、GPU16は、予め用意された拡散キューブマップ、カラーマップ及びグロスマップを記憶媒体12から読み込み、システムメモリ11に格納する(ステップS13)。ここで「拡散キューブマップ」とは、仮想三次元空間内に設定された仮想光源からオブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定するテクスチャであり、本例では周辺環境や車体の塗装状態等によって定まる固有の拡散光を表すテクスチャである。この拡散キューブマップは、一般には6つのテクスチャを含んで構成される。また「カラーマップ」は物体表面の色情報を収めたテクスチャ(一般的なテクスチャ)であり、「グロスマップ」は物体表面の鏡面反射係数を収めたテクスチャである。
次にGPU16は、各ピクセルにおける法線の向き及び視線の向きを算出し、各ピクセルにおける法線の向き及び視線の向きをそれぞれ取り出す(ステップS14)。次にGPU16は、ステップS14で算出し、取り出した法線の向きに基づいて、反射マップから反射色(反射環境マップ)を求める(ステップS15)。この反射環境マップは、オブジェクトに映り込む発光物及び周囲の光景を規定するテクスチャである。またGPU16は、ステップS14で取り出した法線の向きに基づいて、拡散キューブマップから拡散色(拡散環境マップ)を求める(ステップS16)。
次にGPU16は、セルフシャドウマップと投影シャドウマップを乗算し(図4:calc.A参照)、この乗算結果(シャドウマップ)と、投影物と被投影物との間の距離に応じて、影の強さ(シャドウ成分)を求める(ステップS17)。そして、GPU16は、このシャドウ成分にシャドウカラーを加算することにより(図4:Calc.B参照)、各ピクセルにおける影の色(陰影)を算出する(ステップS18)。この算出結果は、主光源に照らされている部分が白、影になっている部分が影の色、という陰影を表す。投影物と被投影物との距離を考慮することにより、距離が小さい場合に影の色がより薄くなる、すなわち輝度が高くなる。
次にGPU16は、カラーマップとマテリアルカラーとを乗算することにより(図4:calc.H参照)、基本カラーを算出する(ステップS19)。ここで「マテリアルカラー」とは、車体の各パーツ等のカラーを規定するものである。
次にGPU16は、ディフューズ強度に応じて、拡散環境マップを灰色(0.5,0.5,0.5)に収束させることにより、拡散項を算出する(ステップS20)。具体的には、本ステップの処理は以下の計算式を用いて行われる(図4:calc.C参照)。ここで「ディフューズ強度」とは、光がどの程度反射されるかを示す尺度であり、例えば0〜2.0の値が設定される。
拡散項=(拡散環境マップ×影の色−0.5)×ディフューズ強度+0.5
拡散項=(拡散環境マップ×影の色−0.5)×ディフューズ強度+0.5
またGPU16は、基本カラーの色を、拡散環境マップを被合成色としてオーバーレイ合成する(ステップS21)。ここで「オーバーレイ合成」とは、基本色に応じて乗算合成とスクリーン合成とを使い分ける方式をいい、基本色のハイライトやシャドウを維持しながら既存のピクセルの上にパターンやカラーを重ねる。基本色は置き換えられるのではなく、合成色とミックスされて基本色の明るさや暗さが表現される。具体的には、被合成色の輝度が所定値(例えば0.5)より大きければレンジを広げてスクリーン加算(スクリーン合成とも言い、被合成色と合成色をそれぞれ反転した値を掛け合わせる合成方法)が行われ、輝度が所定値(例えば0.5)以下であればレンジを広げて乗算(被合成色と合成色の値を掛け合わせる)が行われる。これと、上記ステップS19の処理との組み合わせにより、車体にフルカラーレンジで着色しつつ、拡散キューブマップもフルカラーレンジで陰影を付けることができ、なおかつ、ディフューズ強度が低くなるにつれて基本カラーに収束する、というライティングモデルが得られる。
次にGPU16は、シャドウ成分(図4:calc.A参照)を反転し、これにスペキュラシャドウの値を加算することにより(図4:calc.E参照)、影の中の反射光を強調するために用いられる1より大きい係数(以後「反射光強調係数」と呼ぶ)を算出する(ステップS22)。ここで「スペキュラシャドウ」とは、人間の眼の特性、具体的には暗い所にある僅かな光を強調して受け取るという特性を表現すべく、暗部の反射の強調度を補正するための係数である。例えば、白色系(相対的に明度の高い色)のボディカラーを有するレースカーが太陽直下に配置されている場合には、白い塗料が拡散光を強く発するので、眼は主にこれを捕らえ、相対的に車体に映り込んだ周囲の景色(反射成分)があまり目立たなくなる。しかし、このレースカーが影の中に入ると、拡散光が抑えられて車体は灰色に見え、相対的に車体には鏡のように周囲の景色が映り込む。このような特性を表現するために、白色系のボディカラーを有するレースカーの材質設定として、スペキュラシャドウの値を相対的に大きな値に設定する。また、黒色系(相対的に明度の低い色)のボディカラーを有するレースカーが太陽直下に配置されている場合には、光吸収率が高く、拡散光があまり発生しないため、相対的に周囲の景色がよく車体に映り込む。このレースカーが影の中に入った場合でも、見かけのボディカラーにはあまり変化がなく、周辺の景色がよく映り込む状態となる。つまり、太陽直下でも、影に入っても、反射光の見える強さにはあまり違いが生じない。このような特性を表現するために、黒色系のボディカラーを有するレースカーの材質設定として、スペキュラシャドウの値を相対的に小さな値に設定する。
その後GPU16は、反射環境マップに対してシャドウ成分(反転)を影響させて(図4:calc.F参照)、反射項を算出する(ステップS23)。具体的には、上記ステップの処理は以下の計算式を用いて行われる。
反射項=反射環境マップ×(1−シャドウ成分(反転)×反射光強調係数)
反射項=反射環境マップ×(1−シャドウ成分(反転)×反射光強調係数)
次にGPU16は、拡散項(オーバーレイ合成が行われた後のもの)と反射項を加算し(図4:calc.G参照)、これに頂点カラー(自己遮蔽成分)を乗算し(図4:calc.I参照)、更にフレネル項を加算することにより(図4:calc.K参照)、最終的な各ピクセルの色を算出する(ステップS24)。ここで「フレネル項」とは、物理現象であるフレネル反射をシミュレートした係数である(図4:calc.J参照)。この係数を求める際には、より厳密にはフレネルの公式に基づいた演算をするとよいが、Schlickによる近似等の近似式を用いて演算負荷を軽減するのも好ましい。
以上のように本実施形態によれば、拡散項や反射項が加味された質感の高い画像表現を少ない演算負荷で実現することが可能となる。
なお、本発明は上述した各実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では一例としてカーレースを模擬したゲーム装置における画像を生成する場合について説明していたが、本発明の適用範囲はこれに限定されるものではない。
また、上述した実施形態では、CPU等のハードウェアを含むコンピュータに所定のプログラムを実行させることによってゲーム装置が実現されていたが、ゲーム装置に備わっていた各機能ブロックはそれぞれ専用のハードウェア等を用いて実現されていてもよい。
また、上述した実施形態では一例としてゲーム装置を採り上げていたが、本発明の適用範囲はゲーム装置に限定されるものではない。例えば、現実世界の各種体験(例えば、運転操作等)を擬似的に再現するシミュレータ装置等に対しても本発明を適用することが可能である。
10…CPU
11…システムメモリ
12…記憶媒体
13…ブートロム
14…バスアービタ
16…GPU
17…グラフィックメモリ
18…オーディオプロセッサ
19…オーディオメモリ
20…通信インタフェース(I/F)
21…ペリフェラルインターフェース
11…システムメモリ
12…記憶媒体
13…ブートロム
14…バスアービタ
16…GPU
17…グラフィックメモリ
18…オーディオプロセッサ
19…オーディオメモリ
20…通信インタフェース(I/F)
21…ペリフェラルインターフェース
Claims (9)
- 記憶手段と演算手段を備えた画像処理装置によって実行され、仮想三次元空間に配置されるオブジェクトに周囲の風景を映し込む環境マッピングを伴う3次元画像を生成するためのプログラムであって、
前記演算手段に、
(a)前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出すステップ、
(b)光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求めるステップ、
(c)前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求めるステップ、
(d)前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求めるステップ、
(e)前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求めるステップ、
(f)前記拡散項と前記反射項を加算するステップ、
を実行させることを特徴とするプログラム。 - 前記反射環境マップは、反射マップを球面変形して生成される、請求項1に記載のプログラム。
- 前記第1のシャドウマップは、投影物と被投影物との間の距離に基づき、当該距離が小さいほど輝度が高くなるように設定される、請求項3に記載のプログラム。
- 前記ステップ(b)は、前記仮想三次元空間における前記オブジェクトの周辺からの影成分をレンダリングすることによって第2のシャドウマップを生成し、当該第2のシャドウマップと前記第1のシャドウマップとを乗算することによって前記シャドウ成分を算出する、請求項1に記載のプログラム。
- (g)前記ステップ(f)の演算結果に対してフレネル項を加算するステップ、
を更に含む、請求項1に記載のプログラム。 - 前記ステップ(e)は、前記反射環境マップと前記シャドウ成分の反転値の乗算結果に対して、更に1より大きい係数を乗算して前記反射項を算出する、請求項1に記載のプログラム。
- 請求項1乃至6のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 記憶手段と演算手段を備え、仮想三次元空間に配置されるオブジェクトに周囲の風景を映し込む環境マッピングを伴う3次元画像を生成する画像処理装置であって、
前記演算手段が、
(a)前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出し、
(b)光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求め、
(c)前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求め、
(d)前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求め、
(e)前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求め、
(f)前記拡散項と前記反射項を加算する、
ことを特徴とする画像処理装置。 - 記憶手段と演算手段を備え、仮想三次元空間に配置されるオブジェクトに周囲の風景を映し込む環境マッピングを伴う3次元画像を生成する画像処理装置における画像処理方法であって、
(a)前記演算手段が、前記仮想三次元空間内に設定された仮想光源から前記オブジェクトに入射する光が当該オブジェクト表面で拡散することによって生じる拡散光を規定する拡散環境マップを前記記憶手段から読み出すステップと、
(b)前記演算手段が、光源から前記オブジェクトへ向かって深度値をレンダリングすることによって得られる第1のシャドウマップを含むシャドウ成分を求めるステップと、
(c)前記演算手段が、前記オブジェクトに映り込む発光物及び周囲の光景を規定する反射環境マップを求めるステップと、
(d)前記演算手段が、前記拡散環境マップと前記シャドウ成分とを乗算することによって拡散項を求めるステップと、
(e)前記演算手段が、前記反射環境マップと前記シャドウ成分の反転値とを乗算することによって反射項を求めるステップと、
(f)前記演算手段が、前記拡散項と前記反射項を加算するステップ、
を含むことを特徴とする画像処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006157824A JP2007328460A (ja) | 2006-06-06 | 2006-06-06 | 画像生成プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006157824A JP2007328460A (ja) | 2006-06-06 | 2006-06-06 | 画像生成プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007328460A true JP2007328460A (ja) | 2007-12-20 |
Family
ID=38928902
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006157824A Withdrawn JP2007328460A (ja) | 2006-06-06 | 2006-06-06 | 画像生成プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2007328460A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010198454A (ja) * | 2009-02-26 | 2010-09-09 | Nissan Motor Co Ltd | 車両用表示装置及び車両用表示方法 |
| US10132912B2 (en) | 2015-09-17 | 2018-11-20 | Thomson Licensing | Method and apparatus for estimating reflectance parameters and a position of a light source in a scene |
| CN109224448A (zh) * | 2018-09-25 | 2019-01-18 | 北京天马时空网络技术有限公司 | 一种流光渲染的方法和装置 |
| JPWO2022113246A1 (ja) * | 2020-11-26 | 2022-06-02 |
-
2006
- 2006-06-06 JP JP2006157824A patent/JP2007328460A/ja not_active Withdrawn
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010198454A (ja) * | 2009-02-26 | 2010-09-09 | Nissan Motor Co Ltd | 車両用表示装置及び車両用表示方法 |
| US10132912B2 (en) | 2015-09-17 | 2018-11-20 | Thomson Licensing | Method and apparatus for estimating reflectance parameters and a position of a light source in a scene |
| CN109224448A (zh) * | 2018-09-25 | 2019-01-18 | 北京天马时空网络技术有限公司 | 一种流光渲染的方法和装置 |
| JPWO2022113246A1 (ja) * | 2020-11-26 | 2022-06-02 | ||
| WO2022113246A1 (ja) * | 2020-11-26 | 2022-06-02 | 株式会社ソニー・インタラクティブエンタテインメント | 画像処理装置および画像処理方法 |
| JP7604521B2 (ja) | 2020-11-26 | 2024-12-23 | 株式会社ソニー・インタラクティブエンタテインメント | 画像処理装置および画像処理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4651435B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
| US7583264B2 (en) | Apparatus and program for image generation | |
| US6914612B2 (en) | Image drawing method, image drawing apparatus, recording medium, and program | |
| US20090080803A1 (en) | Image processing program, computer-readable recording medium recording the program, image processing apparatus and image processing method | |
| US6717575B2 (en) | Image drawing method, image drawing apparatus, recording medium, and program | |
| JP4995054B2 (ja) | ゲームプログラム、そのゲームプログラムを記録した記録媒体及びコンピュータ | |
| JP5007633B2 (ja) | 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法 | |
| JP2009140135A5 (ja) | ||
| JP2001275199A (ja) | 3次元音再生システム | |
| JP2001134779A (ja) | 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置 | |
| JP2007328460A (ja) | 画像生成プログラム | |
| JP5146054B2 (ja) | 仮想空間における音源より発生される音の生成制御プログラム | |
| JP4804122B2 (ja) | プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム | |
| JP4303395B2 (ja) | ゲーム装置および情報記憶媒体 | |
| JP2010055131A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
| JP5253118B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
| JP2006252426A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
| JP4816928B2 (ja) | 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法 | |
| JP4868586B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
| US7710419B2 (en) | Program, information storage medium, and image generation system | |
| JP2009064086A (ja) | 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法 | |
| US7724255B2 (en) | Program, information storage medium, and image generation system | |
| JP3574628B2 (ja) | 画像処理方法及び画像処理用プログラム | |
| JP2008310377A (ja) | 画像生成システム、プログラム、及び情報記憶媒体 | |
| JP4865471B2 (ja) | プログラム、情報記憶媒体及び画像生成システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090901 |