JP4816928B2 - 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法 - Google Patents

画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP4816928B2
JP4816928B2 JP2006157819A JP2006157819A JP4816928B2 JP 4816928 B2 JP4816928 B2 JP 4816928B2 JP 2006157819 A JP2006157819 A JP 2006157819A JP 2006157819 A JP2006157819 A JP 2006157819A JP 4816928 B2 JP4816928 B2 JP 4816928B2
Authority
JP
Japan
Prior art keywords
luminance value
shadow
value
shading
normal vector
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.)
Active
Application number
JP2006157819A
Other languages
English (en)
Other versions
JP2007328458A (ja
Inventor
宏 鈴木
克彦 大森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Corp
Sega Games Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sega Corp, Sega Games Co Ltd filed Critical Sega Corp
Priority to JP2006157819A priority Critical patent/JP4816928B2/ja
Publication of JP2007328458A publication Critical patent/JP2007328458A/ja
Application granted granted Critical
Publication of JP4816928B2 publication Critical patent/JP4816928B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Description

本発明は、仮想三次元空間に設定される事象を透視投影変換して二次元画像を生成する技術に関する。
近年のコンピュータ技術の発展に伴い、ビデオゲーム装置、シミュレータ(擬似体験装置)などに関する画像処理技術が広く一般に普及するようになっている。このようなシステムにおいては、表示される画像をより表現力豊かにすることが商品価値を高めるうえで重要となっている(例えば、特許文献1参照)。
ところで、例えばイラストタッチやこれに類する画像を用いる場合における陰影付けには、従来のより写実的な(すなわち現実世界に近い)画像を用いる場合における陰影付けの手法を適用しただけでは不十分な場合がある。
特開2004−38398号公報
そこで、本発明は、イラストタッチやこれに類する画像を用いる場合における陰影付けの表現力を高めることを可能とする画像処理技術を提供することを目的とする。
本発明は、記憶手段と演算手段を備えた画像処理装置によって実行されるプログラムであって、
前記演算手段に、
(a)仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成するステップ、
(b)前記モデルを構成する各ポリゴンに設定された法線ベクトルの各成分を色空間に変換することによって法線マップを生成するステップ、
(c)前記法線マップ上の参照点に格納されている法線ベクトルと、前記参照点の近傍の3点の法線ベクトルとを平均化するステップ、
(d)前記ステップ(c)での平均化により得られる法線ベクトルと、光源ベクトルと、ランバート照明モデルに基づき、第1の輝度値を求めるステップ、
(e)前記シャドウマップに格納された深度値と、各ピクセルの光源からの深度値とを比較し、シャドウ成分を求めるステップ、
(f)前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を得るステップ、
(g)前記第2の輝度値に基づいて、前記記憶手段から読み出した明部のテクスチャデータ及び暗部のテクスチャデータを加算し、その演算結果を前記記憶手段に格納するステップ、
を実行させることを特徴とする。このプログラムは、コンピュータ読み取り可能な記録媒体(例えば、コンパクトディスク、デジタルバーサタイルディスク等の各種ディスク)に記録されていてもよい。
上記の本発明によれば、テクスチャの陰影の境界部分のぼかし幅を画像空間で二次元的に揃える効果が得られ、陰影付けが滑らかになる。したがって、イラストタッチやこれに類する画像を用いる場合における陰影付けの表現力を高めることができる。
好ましくは、前記ステップ(d)は、
前記ステップ(c)での平均化により得られる前記法線ベクトルと、第1の光源と、前記ランバート照明モデルと、に基づき第3の輝度値を求めるステップと、
前記ステップ(c)での平均化により得られる前記法線ベクトルと、第2の光源と、前記ランバート照明モデルと、に基づき第4の輝度値を求めるステップと、
前記第3の輝度値及び前記第4の輝度値を加算するステップと、
を含む。
好ましくは、前記ステップ(g)は、前記明部のテクスチャデータに前記第2の輝度値を乗算し、この乗算結果に前記暗部のテクスチャデータを加算する。
好ましくは、上記プログラムは更に、前記演算手段に、
(h)前記ステップ(c)での平均化により得られる前記法線ベクトルと、視線ベクトルと、環境色と、に基づきフレネル項を算出するステップ、
(i)前記フレネル項を前記ステップ(g)で得られる加算後のテクスチャデータに対して加算するステップ、
を実行させることを特徴とする。
また、本発明は、記憶手段と演算手段を備えた画像処理装置であって、
前記演算手段が、
(a)仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成し、
(b)前記モデルを構成する各ポリゴンに設定された法線ベクトルの各成分を色空間に変換することによって法線マップを生成し、
(c)前記法線マップ上の参照点に格納されている法線ベクトルと、前記参照点の近傍の3点の法線ベクトルとを平均化し、
(d)前記平均化により得られる法線ベクトルと、光源ベクトルと、ランバート照明モデルに基づき、第1の輝度値を求め、
(e)前記シャドウマップに格納された深度値と、各ピクセルの光源からの深度値とを比較し、シャドウ成分を求め、
(f)前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を求め、
(g)前記第2の輝度値に基づいて、前記記憶手段から読み出した明部のテクスチャデータ及び暗部のテクスチャデータを加算し、その演算結果を前記記憶手段に格納する、
ことを特徴とする。
また、本発明は、記憶手段と演算手段を備えた画像処理装置における画像処理方法であって、
(a)前記演算手段が、仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成するステップと、
(b)前記演算手段が、前記モデルを構成する各ポリゴンに設定された法線ベクトルの各成分を色空間に変換することによって法線マップを生成するステップと、
(c)前記演算手段が、前記法線マップ上の参照点に格納されている法線ベクトルと、前記参照点の近傍の3点の法線ベクトルとを平均化するステップと、
(d)前記演算手段が、前記平均化により得られる法線ベクトルと、光源ベクトルと、ランバート照明モデルに基づき、第1の輝度値を求めるステップと、
(e)前記演算手段が、前記シャドウマップに格納された深度値と、各ピクセルの光源からの深度値とを比較し、シャドウ成分を求めるステップと、
(f)前記演算手段が、前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を求めるステップと、
(g)前記演算手段が、前記第2の輝度値に基づいて、前記記憶手段から読み出した明部のテクスチャデータ及び暗部のテクスチャデータを加算し、その演算結果を前記記憶手段に格納するステップと、
を含むことを特徴とする。
上記の各発明によれば、テクスチャの陰影の境界部分のぼかし幅を画像空間で二次元的に揃える効果が得られ、陰影付けが滑らかになる。したがって、イラストタッチやこれに類する画像を用いる場合における陰影付けの表現力を高めることができる。
他の本発明は、記憶手段と演算手段を備えた画像処理装置によって実行されるプログラムであって、前記演算手段に、
(a)仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成するステップ、
(b)前記モデルを構成する各ポリゴンに設定された法線ベクトルをピクセル単位の法線ベクトルに変換するステップ、
(c)前記ピクセル単位の法線ベクトルと、光源ベクトルと、ランバート照明モデルに基づき、第1の輝度値を求めるステップ、
(d)前記シャドウマップに格納された深度値と、各ピクセルの光源からの深度値とを比較し、シャドウ成分を求めるステップ、
(e)前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を求めるステップ、
(f)陰影付け開始輝度値と、この陰影付け開始輝度値より大きい陰影付け終了輝度値と、を有し、前記陰影付け開始輝度値と前記陰影付け終了輝度値との間は線形に増加する、という特性を有するフィルタ関数を用い、前記第2の輝度値から前記陰影付け開始輝度を減算した値を、前記陰影付け終了輝度から前記陰影付け開始輝度を減算した値、で除算することにより第3の輝度値を求めるステップ、
(g)前記第3の輝度値に基づいて、前記記憶手段から読み出した明部のテクスチャデータ及び暗部のテクスチャデータを加算し、前記記憶手段に格納するステップ、
を実行させることを特徴とする。このプログラムは、コンピュータ読み取り可能な記録媒体(例えば、コンパクトディスク、デジタルバーサタイルディスク等の各種ディスク)に記録されていてもよい。
上記の本発明によれば、フィルタ関数の特性を適宜設定することにより、テクスチャの陰影の境界のぼかし幅、ぼかし位置を調整することが可能になる。したがって、イラストタッチやこれに類する画像を用いる場合における陰影付けの表現力を高めることができる。
好ましくは、前記ステップ(f)における前記フィルタ関数は、陰影付けの境界位置tとこの境界位置を中心に設定されるグラデーション幅wをパラメータとして設定され、(t−w×0.5)が前記陰影付け開始輝度値、(t+w×0.5)が前記陰影付け終了輝度値、として用いられる。
好ましくは、前記ステップ(c)は、
前記ステップ(b)で得られるピクセル単位の前記法線ベクトルと、第1の光源と、前記ランバート照明モデルと、に基づき第4の輝度値を求めるステップと、
前記ステップ(b)で得られるピクセル単位の前記法線ベクトルと、第2の光源と、前記ランバート照明モデルと、に基づき第5の輝度値を求めるステップと、
前記第4の輝度値及び前記第5の輝度値を加算するステップと、
を含む。
好ましくは、前記ステップ(g)は、前記明部のテクスチャデータに前記第3の輝度値を乗算し、この乗算結果に前記暗部のテクスチャデータを加算する。
更に好ましくは、上記プログラムは、
(h) 前記演算手段が、前記ステップ(b)で得られるピクセル単位の前記法線ベクトルと、視線ベクトルと、環境色と、に基づきフレネル項を算出するステップ、
及び、
(i) 前記演算手段が、前記フレネル項を前記ステップ(g)で得られる加算後のテクスチャデータに対して加算するステップ、
を含むことを特徴とする。
また、本発明は、記憶手段と演算手段を備えた画像処理装置であって、
前記演算手段が、
(a)仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成し、
(b)前記モデルを構成する各ポリゴンに設定された法線ベクトルをピクセル単位の法線ベクトルに変換し、
(c)前記ピクセル単位の法線ベクトルと、光源ベクトルと、ランバート照明モデルに基づき、第1の輝度値を求め、
(d)前記シャドウマップに格納された深度値と、各ピクセルの光源からの深度値とを比較し、シャドウ成分を求め、
(e)前記シャドウ成分を前記第1輝度値に乗算して第2の輝度値を求め、
(f)陰影付け開始輝度値と、この陰影付け開始輝度値より大きい陰影付け終了輝度値と、を有し、前記陰影付け開始輝度値と前記陰影付け終了輝度値との間は線形に増加する、という特性を有するフィルタ関数を用い、前記第2の輝度値から前記陰影付け開始輝度を減算した値を、前記陰影付け終了輝度から前記陰影付け開始輝度を減算した値、で除算することにより第3の輝度値を求め、
(g)前記第3の輝度値に基づいて、前記記憶手段から読み出した明部のテクスチャデータ及び暗部のテクスチャデータを加算し、前記記憶手段に格納する、
ことを特徴とする。
また、本発明は、記憶手段と演算手段を備えた画像処理装置における画像処理方法であって、
(a)前記演算手段が、仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成するステップ、
(b)前記演算手段が、前記モデルを構成する各ポリゴンに設定された法線ベクトルをピクセル単位の法線ベクトルに変換するステップ、
(c)前記演算手段が、前記ピクセル単位の法線ベクトルと、光源ベクトルと、ランバート照明モデルに基づき、第1の輝度値を求めるステップ、
(d)前記シャドウマップに格納された深度値と、各ピクセルの光源からの深度値とを比較し、シャドウ成分を求めるステップ、
(e)前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を求めるステップ、
(f)陰影付け開始輝度値と、この陰影付け開始輝度値より大きい陰影付け終了輝度値と、を有し、前記陰影付け開始輝度値と前記陰影付け終了輝度値との間は線形に増加する、という特性を有するフィルタ関数を用い、前記第2の輝度値から前記陰影付け開始輝度を減算した値を、前記陰影付け終了輝度から前記陰影付け開始輝度を減算した値、で除算することにより第3の輝度値を求めるステップ、
(g)前記第3の輝度値に基づいて、前記記憶手段から読み出した明部のテクスチャデータ及び暗部のテクスチャデータを加算し、前記記憶手段に格納するステップ、
を含むことを特徴とする。
上記の本発明によれば、フィルタ関数の特性を適宜設定することにより、テクスチャの陰影の境界のぼかし幅、ぼかし位置を調整することが可能になる。したがって、イラストタッチやこれに類する画像を用いる場合における陰影付けの表現力を高めることができる。
本発明によれば、イラストタッチやこれに類する画像を用いる場合における陰影付けの表現力を高めることが可能となる。
以下、画像生成装置の一例としてゲーム装置を採り上げて、本発明の実施の形態について説明する。
(第1の実施形態)
図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内に存在すればよく、機能ブロック同士が統合
されていても、また、機能ブロック内部の各構成要素が他のブロックとして分離されてい
ても良い。
本実施形態のゲーム装置は以上のような構成を備えており、次に本実施形態の画像生成処理の内容について説明する。本実施形態では、仮想空間内に配置されるモデルとして人物を想定し、この人物の顔(特に鼻から顎の周辺)の画像を生成する場合について例示する。
図2は、本実施形態において想定する仮想三次元空間内の光源について模式的に示した概念図である。まず、図2を用いて光源について説明する。本実施形態では、仮想三次元空間内(シーン内)には光源が二つ存在する。図2ではこれらをそれぞれ光源a、光源bと記す。光源aは、視点(仮想カメラの位置)からの視線ベクトルに対してワールド座標系のY軸ベクトル(任意長)を加算することによって得られるベクトルを光源ベクトルとして有する平行光源である、また、光源bは、任意方向を向いている平行光源である。被写体(モデル)に対する陰影付けには光源a、bが共に使用される。また、被写体により発生する影成分の生成には光源aのみが使用される。
図3は、画像生成処理の手順を説明するフローチャートである。このフローチャートに沿って、以下に本実施形態の画像生成処理の内容を説明する。
GPU16は、仮想三次元空間内に配置されるモデルのジオメトリ情報をCPU10から取得する(ステップS10)。ここで「ジオメトリ情報」には、モデルの仮想三次元空間内での座標値やモデルを構成する各ポリゴンの情報(法線ベクトルなど)などが含まれる。
次にGPU16は、各ポリゴンの頂点座標などを含むオブジェクトデータを読み込み、所定の座標変換処理を行う(ステップS11)。具体的には、GPU16は、各ポリゴンの頂点ごとに、頂点座標を光源a(図2参照)を視点として射影空間に変換する。
次にGPU16は、射影空間での深度情報をグラフィックメモリ17に出力する(ステップS12)。ここで「深度情報」とは、各頂点の光源aからの距離(z成分)をいう。これにより、シャドウマップが生成され、グラフィックメモリ17に格納された状態となる。シャドウマップの概念模式図を図4(A)に示す。
上記処理と前後し、あるいは並行してGPU16は、上記オブジェクトデータを読み込み、以下に説明する所定の座標変換処理を行う(ステップS13)。
具体的には、GPU16は、オブジェクトデータを読み込み(ステップS13−1)、各ポリゴンの頂点ごとに、頂点座標を射影空間に変換し(ステップS13−2)、かつ法線ベクトルをビュー空間に変換する(ステップS13−3)。そして、GPU16は、このビュー空間に変換した法線ベクトルを正規化し、法線ベクトルの各成分(−1.0〜+1.0)を色空間(0.0〜1.0)に変換する(ステップS13−4)。
次にGPU16は、色空間(画像空間)に変換した法線ベクトル(法線情報)をグラフィックメモリ17に出力する(ステップS14)。この「法線情報」は、モデルを構成する各ポリゴンに設定された法線ベクトルを色データとして落とし込んだものになる。これにより、法線マップが生成され、グラフィックメモリ17に格納された状態となる。法線マップの概念模式図を図4(B)に示す。
上記処理と前後し、あるいは並行してGPU16は、上記オブジェクトデータを読み込み、所定の座標変換処理を行う(ステップS15)。
具体的には、GPU16は、読み込んだ頂点座標を射影空間に変換する(ステップS15−1)。また、GPU16は、読み込んだ頂点座標を、光源aを視点として射影空間に変換する(ステップS15−2)。また、GPU16は、頂点座標をテクスチャ座標に変換する(ステップS15−3)。
次にGPU16は、法線ベクトルを平均化する処理を行う(ステップS16)。
具体的には、GPU16は、グラフィックメモリ17に格納されている法線マップから、上記ステップS15で求めたテクスチャ座標のピクセル(画素値)を取得する(ステップS16−1)。また、GPU16は、上記ステップS15で求めたテクスチャ座標の近傍のピクセルを3点求める(ステップS16−2)。そして、GPU16は、法線マップから取得したテクスチャ座標のピクセルと上記3点のピクセルのそれそれの法線ベクトルを平均化する(ステップS16−3)。より詳細には、本ステップの処理は以下の式により表される。
normal= 0.25×(normalreference+Σnormalneighbor
ここで、「normal」は平均化された法線ベクトル、「normalreference」は法線マップ上の参照点に格納されている法線ベクトル、「normalneighbor」は法線マップ上の近傍点に格納されている法線ベクトル、をそれぞれ示している。
次にGPU16は、ランバートの照明モデルに基づいて輝度値(第1の輝度値)を算出する(ステップS17)。
具体的には、まずGPU16は、上記ステップS16において法線ベクトルが平均化されたピクセルの各成分(0.0〜1.0)を法線ベクトルの空間(−1.0〜+1.0)に変換する(ステップS17−1)。
次にGPU16は、シャドウマップに書き込まれている深度値(深度情報)を取得し、これと、現在処理しているピクセルの光源からの深度値とを比較し、シャドウ成分(影部=0.0、非影部=1.0)を求める(ステップS17−2)。この処理は以下の式により表される。
shadow= 0.0(depthmap < depthcurrent) or 1.0(depthmap ≧ depthcurrent
ここで、「shadow」はシャドウ成分、「depthmap」はシャドウマップに書き込まれている深度値、「depthcurrent」は現在処理しているピクセルの光源からの深度値、をそれぞれ示している。
次にGPU16は、上記ステップS17−1で求めた法線ベクトル(normal)と光源ベクトルaと、ランバート照明モデルに基づき、輝度値(第3の輝度値)を求める(ステップS17−3)。ここで「ランバート照明モデル」とは、拡散反射(diffuse reflection)だけでシェーディングを行う照明モデルをいい、ライトの向きとその点の法線だけで計算されるため視点がどこにあってもその点の明るさは一定である。同様に、GPU16は、上記ステップS17−1で求めた法線ベクトルと光源ベクトルbと、ランバート照明モデルに基づき、輝度値(第4の輝度値)を求める(ステップS17−4)。次にGPU16は、上記ステップS17−3で求めた輝度値に対して上記ステップS17−4で求めた輝度値を加算し(ステップ17−5)、この加算後の輝度値に対して、シャドウ成分を乗算して第2の輝度値を求める(S17−6)。これらの輝度値を求める一連の処理は以下の式により表される。
brightness=bias+shadow×Σmax(0.0,normal・lightn×intensityn
ここで、「brightness」は輝度値、「bias」は輝度値のバイアス値(基準値、中間値)、「normal」は平均化された法線ベクトル、「lightn」は光源ベクトル、「intensityn」は光源の強度、をそれぞれ示している。
次にGPU16は、明部のテクスチャデータ、暗部のテクスチャデータの2つをシステムメモリ11或いは記録媒体12から読み出し、上記ステップS17で求めた輝度値に基づき、2つのテクスチャデータを混合(加算)する(ステップS18)。テクスチャデータ(明部)の概念模式図を図5(A)、テクスチャデータ(暗部)の概念模式図を図5(B)にそれぞれ示す。ここで「明部のテクスチャデータ」とは、光が当たった場合の明るいテクスチャデータ(図示の例では顔画像のテクスチャデータ)をいう。また、「暗部のテクスチャデータ」とは、影になった場合の暗いテクスチャデータ(図示の例では顔画像のテクスチャデータ)をいう。本ステップの処理は以下の式により表される。
colorbase=brightness×colorhighlight+colordark
ここで「colorbase」は混合したテクスチャデータのカラー、「brightness」は輝度値、「colorhighlight」はテクスチャデータ(明部)のカラー、「colordark」はテクスチャデータ(暗部)のカラー、をそれぞれ示している。
上記処理と前後し、あるいは並行してGPU16は、上記ステップS17−1で求めた法線ベクトルと、視線ベクトル、および環境色に基づいてフレネル項(カラー)を算出する(ステップS19)。本ステップの処理は以下の式により表される。
intensityfresnel=max(0.0,1.0−|view・normal|×scalefresnel+biasfresnel
colorfresnel =colorambient×intensityfresnel
ここで、「intensityfresnel」はフレネルの強度、「view」は視線ベクトル、「scalefresnel」はフレネルのスケール値、「biasfresnel」はフレネルのバイアス値、「colorfresnel」はフレネル項(フレネルカラー)、「colorambient」は環境カラー、をそれぞれ示している。
次にGPU16は、上記ステップS18で求めたテクスチャデータのカラー(colorbase)と上記ステップS19で求めたフレネル項(colorfresnel)とを合成し、合成後の出力カラーをグラフィックメモリ17に出力する(ステップS20)。本ステップの処理は以下の式により表される。出力カラーの概念模式図を図6に示す。
coloroutput=colorbase+colorfresnel
ここで、「coloroutput」は出力カラー、「colorbase」は混合したテクスチャデータのカラー、「colorfresnel」はフレネル項(フレネルカラー)、をそれぞれ示している。
図7及び図8は、本実施形態において最終的に生成される二次元画像(出力カラー)の一例と、これに対する比較例の二次元画像を示す図である。図7(A)は本実施形態の二次元画像である。図7(B)は比較例の二次元画像であり、頂点単位で計算した法線ベクトルをそのまま光源計算に使用した場合の結果を示している。また、図8(A)は本実施形態の二次元画像における陰影の境界を点線で示した図であり、また、図8(B)は比較例の二次元画像における陰影の境界を点線で示した図である。本実施形態の二次元画像では、人物の顔のなかでも特に二平面のなす角度が小さい(鋭角である)部分(例えば、図示のような鼻の部位)において、陰影付けが滑らかになる。
以上のように本実施形態によれば、テクスチャの陰影の境界部分のぼかし幅を画像空間で二次元的に揃える効果が得られ、陰影付けが滑らかになる。したがって、イラストタッチの画像を用いる場合における陰影付けの表現力を高めることができる。
(第2の実施形態)
次に、第2の実施形態の画像処理技術について説明する。ゲーム装置のハードウェア構成や、光源の設定については上記第1の実施形態と同様であるため、ここでは説明を省略する(上記図1、図2参照)。
図9は、画像生成処理の手順を説明するフローチャートである。このフローチャートに沿って、以下に本実施形態の画像生成処理の内容を説明する。なお、上記第1の実施形態と重複する事項については適宜説明を省略する。
GPU16は、仮想三次元空間内に配置されるモデルのジオメトリ情報(形状、位置、方向などの情報)をCPU10から取得する(ステップS50)。
次にGPU16は、各ポリゴンの頂点座標などを含むオブジェクトデータを読み込み、所定の座標変換処理を行う(ステップS51)。具体的には、GPU16は、各ポリゴンの頂点ごとに、頂点座標を光源a(図2参照)を視点として射影空間に変換する。
次にGPU16は、射影空間での深度情報をグラフィックメモリ17に出力する(ステップS52)。これにより、グラフィックメモリ17にシャドウマップが格納された状態となる(図4(A)参照)。
上記処理と前後し、あるいは並行してGPU16は、上記オブジェクトデータを読み込み、所定の座標変換処理を行う(ステップS53)。
具体的には、まずGPU16は、読み込んだ頂点座標をワールド空間に配置する(ステップS53−1)。また、GPU16は、読み込んだ頂点座標を、光源aを視点として射影空間に変換する(ステップS53−2)。また、GPU16は、法線ベクトルをビュー空間(ワールド空間を視点を基準として変換した空間)に変換する(ステップS53−3)。
次にGPU16は、上記ステップS53−3で求めた法線ベクトルをピクセル単位の法線ベクトルに変換する処理(正規化する処理)を行う(ステップS54)。本ステップの処理は以下の式により表される。
normal=normalvertex/|normalvertex
ここで、「normal」はピクセル単位の法線ベクトル、「normalvertex」は頂点単位の法線ベクトル、をそれぞれ示している。なお、頂点単位の法線ベクトルは、頂点間については線形補間される。
次にGPU16は、ランバート照明モデルに基づいて輝度値(第1の輝度値)を算出する(ステップS55)。
具体的には、まずGPU16は、シャドウマップに書き込まれている深度値(深度情報)を取得し、これと、現在処理しているピクセルの光源からの深度値(z値)とを比較し、シャドウ成分(影部=0.0、非影部=1.0)を求める(ステップS55−1)。この処理は以下の式により表される。
shadow= 0.0(depthmap < depthcurrent) or 1.0(depthmap ≧ depthcurrent
ここで、「shadow」はシャドウ成分、「depthmap」はシャドウマップに書き込まれている深度値、「depthcurrent」は現在処理しているピクセルの光源からの深度値、をそれぞれ示している。
次にGPU16は、上記ステップS54で求めた法線ベクトル(normal)と光源ベクトルaと、ランバート照明モデルに基づき、輝度値(第4の輝度値)を求める(ステップS55−2)。同様に、GPU16は、上記ステップS54で求めた法線ベクトルと光源ベクトルbと、ランバート照明モデルに基づき、輝度値(第5の輝度値)を求める(ステップS55−3)。次にGPU16は、上記ステップS55−2で求めた輝度値に対して上記ステップS55−3で求めた輝度値を加算し(ステップ55−4)、この加算後の輝度値に対して、シャドウ成分を乗算して第2の輝度値を求める(S55−5)。これらの輝度値を求める一連の処理は以下の式により表される。
brightness=bias+shadow×Σmax(0.0,normal・lightn×intensityn
ここで、「brightness」は輝度値、「bias」は輝度値のバイアス値、「normal」は平均化された法線ベクトル、「lightn」は光源ベクトル、「intensityn」は光源の強度、をそれぞれ示している。
次にGPU16は、上記ステップS55で求めた輝度値の特性を、所定のフィルタ関数を通すことによって調整する(ステップS56)。
本実施形態では以下の式で表されるフィルタ関数が用いられる。
thresholdmin =threshold−width×0.5
thresholdmax =threshold+width×0.5
ここで、「thresholdmin」は陰影付け開始輝度値、「thresholdmax」は陰影付け終了輝度値、「threshold」は陰影の境界位置、「width」は陰影のグラデーション幅、をそれぞれ示している。
図10は、フィルタ関数をグラフにして示すものである。図示のように、このフィルタ関数は、陰影付け開始輝度値と、この陰影付け開始値より大きい陰影付け終了輝度値と、を有し、陰影付け開始値と陰影付け終了輝度値との間は線形に増加する、という特性を有する。図10に示すフィルタ関数は、threshold=0.55、width=0.1とそれぞれ設定した場合のものである。またこのフィルタ関数は、陰影付けの境界位置threshold(t)と、この境界位置を中心に設定されるグラデーション幅width(w)をパラメータとして設定されており、上記のように、(t−w×0.5)が陰影付け開始輝度値thresholdmin、(t+w×0.5)が陰影付け終了輝度値thresholdmax、としてそれぞれ用いられている。フィルタ関数を規定するパラメータとして陰影付けの境界位置とこの境界位置を中心に設定されるグラデーション幅とを用いることにより、フィルタ関数の特性の調整が直感的に行いやすくなる。
このフィルタ関数を用いた輝度値の調整は、第2の輝度値から陰影付け開始輝度を減算した値を、陰影付け終了輝度から陰影付け開始輝度を減算した値、で除算することにより行われる。具体的には、以下の式により表される。
brightnessmodified=(brightness−thresholdmin)/(thresholdmax−thresholdmin
ここで、「brightness」は第2の輝度値、「brightnessmodified」は特性調整済みの輝度値(第3の輝度値)、をそれぞれ示している。
次にGPU16は、テクスチャデータ(明部)およびテクスチャデータ(暗部)の2つ(図5参照)をシステムメモリ11或いは記録媒体12から読み出し、上記ステップS17で求めた輝度値に基づき、2つのテクスチャデータを混合する(ステップS57)。本ステップの処理は以下の式により表される。
colorbase=brightness×colorhighlight+colordark
ここで「colorbase」は混合したテクスチャデータのカラー、「brightnessmodified」は特性調整後の輝度値、「colorhighlight」はテクスチャデータ(明部)のカラー、「colordark」はテクスチャデータ(暗部)のカラー、をそれぞれ示している。
上記処理と前後し、あるいは並行してGPU16は、上記ステップS54で求めた各ピクセルごとの法線ベクトル(normal)と、視線ベクトル、および環境色に基づいてフレネル項(カラー)を算出する(ステップS58)。本ステップの処理は以下の式により表される。
intensityfresnel=max(0.0,1.0−|view・normal|×scalefresnel+biasfresnel
colorfresnel =colorambient×intensityfresnel
ここで、「intensityfresnel」はフレネルの強度、「view」は視線ベクトル、「scalefresnel」はフレネルのスケール値、「biasfresnel」はフレネルのバイアス値、「colorfresnel」はフレネル項(フレネルカラー)、「colorambient」は環境カラー、をそれぞれ示している。
次にGPU16は、上記ステップS57で求めたテクスチャデータのカラー(colorbase)と上記ステップS58で求めたフレネル項(colorfresnel)とを合成し、合成後の出力カラー(図6参照)をグラフィックメモリ17に出力する(ステップS20)。本ステップの処理は以下の式により表される。
coloroutput=colorbase+colorfresnel
ここで、「coloroutput」は出力カラー、「colorbase」は混合したテクスチャデータのカラー、「colorfresnel」はフレネル項(フレネルカラー)、をそれぞれ示している。
図11は、本実施形態において最終的に生成される二次元画像(出力カラー)の一例を示す図である。図11(A)〜図11(C)はそれぞれ上述したフィルタ関数における陰影の境界位置(threshold)および陰影のグラデーション値(width)を種々に設定した場合の画像例を示している。具体的には、図11(A)はthreshold=0.90、width=0.48と設定した場合、図11(B)はthreshold=0.90、width=1.06と設定した場合、図11(C)はthreshold=0.20、width=1.06と設定した場合、である。影の境界位置(threshold)および陰影のグラデーション値(width)を変更することにより、陰影の境界を自在に調整することが可能となる。
図12は、本実施形態において最終的に生成される二次元画像(出力カラー)の一例を示す図である。図12は、上記した関数のパラメータの1つである陰影の境界位置(threshold)の効果をより詳細に説明するために例示された画像である。図12(A)の画像ではthreshold=0.177と設定され、図12(B)の画像ではthreshold=0.253と設定され、図12(C)の画像ではthreshold=0.292と設定されている。また、これらの画像では陰影のグラデーション値がwidth≒0.0に固定して設定されている。影の境界位置(threshold)を変更することにより、明るい部分と暗い部分との境界位置が移動する。図示の例では、例えば顔の顎から頬にかけての部分や、顎から下唇にかけての部分などを参照すると、thresholdの値を可変することによる効果を確認できる。すなわち、thresholdの値を小さくすると暗い部分の面積が相対的に小さくなり、thresholdの値を大きくすると暗い部分の面積が相対的に大きくなる。また、width≒0.0に設定することにより、陰影の境界にはほとんどグラデーションがなくなることが分かる。
図13は、本実施形態において最終的に生成される二次元画像(出力カラー)の一例を示す図である。図13は、上記した関数のパラメータの1つである陰影のグラデーション値(width)の効果をより詳細に説明するために例示された画像である。図13(A)の画像ではwidth=0.0104と設定され、図13(B)の画像ではwidth=0.0365と設定され、図13(C)の画像ではwidth =0.0833と設定されている。また、これらの画像では陰影の境界位置がthreshold=0.253に固定して設定されている。陰影のグラデーション値(width)を変更することにより、明るい部分と暗い部分との境界のグラデーションの度合いを制御できる。図示の例では、例えば顔の顎から頬にかけての部分や顎から下唇にかけての部分における明部と暗部の境界を参照すると、widthの値を可変することによる効果を確認できる。すなわち、widthの値が大きいほど、明るい部分と暗い部分との境界のグラデーションが相対的に滑らかになる。
以上のようの本実施形態によれば、フィルタ関数の特性を適宜設定することにより、テクスチャの陰影の境界のぼかし幅、ぼかし位置を調整することが可能になる。したがって、イラストタッチの画像を用いる場合における陰影付けの表現力を高めることができる。
(その他の実施態様)
なお、本発明は上述した各実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では一例として人物の顔の画像を生成する場合について説明していたが、本発明の適用範囲はこれに限定されるものではない。
また、上述した実施形態では、CPU等のハードウェアを含むコンピュータに所定のプログラムを実行させることによってゲーム装置が実現されていたが、ゲーム装置に備わっていた各機能ブロックはそれぞれ専用のハードウェア等を用いて実現されていてもよい。
また、上述した実施形態では一例としてゲーム装置を採り上げていたが、本発明の適用範囲はゲーム装置に限定されるものではない。例えば、現実世界の各種体験(例えば、運転操作等)を擬似的に再現するシミュレータ装置等に対しても本発明を適用することが可能である。
一実施形態のゲーム装置の構成を示すブロック図である。 光源について模式的に示した概念図である。 第1の実施形態における画像生成処理の全体的な手順を示すフローチャートである。 シャドウマップ及び法線マップの概念図である。 テクスチャデータの概念模式図である。 出力カラーの概念模式図である。 最終的に生成される二次元画像(出力カラー)の一例と、これに対する比較例の二次元画像を示す図である。 最終的に生成される二次元画像(出力カラー)の一例と、これに対する比較例の二次元画像を示す図である。 第2の実施形態における画像生成処理の手順を説明するフローチャートである。 フィルタ関数の一例を示す図である。 最終的に生成される二次元画像(出力カラー)の一例を示す図である。 最終的に生成される二次元画像(出力カラー)の一例を示す図である。 最終的に生成される二次元画像(出力カラー)の一例を示す図である。
符号の説明
10…CPU
11…システムメモリ
12…記憶媒体
13…ブートロム
14…バスアービタ
15…ジオメトリプロセッサ
16…レンダリングプロセッサ
17…グラフィックメモリ
18…オーディオプロセッサ
19…オーディオメモリ
20…通信インタフェース(I/F)
21…ペリフェラルインターフェース

Claims (15)

  1. 記憶手段と演算手段を備えた画像処理装置によって実行されるプログラムであって、
    前記演算手段に、
    (a)仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成して前記記
    憶手段に格納するステップ、
    (b)前記モデルを構成する各ポリゴンに設定された法線ベクトルの各成分を画素値の範
    囲に正規化して色空間に変換することによって法線マップを生成して前記記憶手段に格納
    するステップ、
    (c)各ポリゴンの頂点座標をテクスチャ座標に変換するステップ、
    )前記法線マップ上の前記テクスチャ座標に格納されている法線ベクトルと、前記
    クスチャ座標に隣接する3点の法線ベクトルとを平均化するステップ、
    )前記ステップ()での平均化により得られる法線ベクトルと、光源ベクトルと、
    ランバート照明モデルに基づき、第1の輝度値を求めるステップ、
    前記頂点座標の光源からの深度値と、前記シャドウマップに格納されている、前記
    テクスチャ座標の深度値とを比較し、シャドウ成分を求めるステップ、
    )前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を得るステップ、
    )前記第2の輝度値に基づいて、前記記憶手段から読み出した、光が当たった状態の
    表示対象の画像を示す明部のテクスチャデータと、影になった場合の前記表示対象の画像
    を示す暗部のテクスチャデータを加算し、その演算結果を前記記憶手段に格納するステ
    ップ、
    を実行させることを特徴とするプログラム。
  2. 前記ステップ()は、
    前記ステップ()での平均化により得られる前記法線ベクトルと、第1の光源と、前
    記ランバート照明モデルと、に基づき第3の輝度値を求めるステップと、
    前記ステップ()での平均化により得られる前記法線ベクトルと、第2の光源と、前
    記ランバート照明モデルと、に基づき第4の輝度値を求めるステップと、
    前記第3の輝度値及び前記第4の輝度値を加算し、さらに前記シャドウ成分を乗算して
    前記第2の輝度値を得るステップと、
    を含む、請求項1に記載のプログラム。
  3. 前記ステップ()は、前記明部のテクスチャデータに前記第2の輝度値を乗算し、こ
    の乗算結果に前記暗部のテクスチャデータを加算する、請求項1に記載のプログラム。
  4. 更に、前記演算手段に、
    )前記ステップ()での平均化により得られる前記法線ベクトルと、視線ベクトル
    と、環境色と、に基づきフレネル項を算出するステップ、
    )前記フレネル項を前記ステップ()で得られる加算後のテクスチャデータに対し
    て加算するステップ、
    を実行させることを特徴とする請求項1に記載のプログラム。
  5. 請求項1乃至4のいずれか1項に記載のプログラムを記録したコンピュータ読み取り可
    能な記録媒体。
  6. 記憶手段と演算手段を備えた画像処理装置であって、
    前記演算手段は、
    (a)仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成して前記記
    憶手段に格納し
    (b)前記モデルを構成する各ポリゴンに設定された法線ベクトルの各成分を画素値の範
    囲に正規化して色空間に変換することによって法線マップを生成して前記記憶手段に格納

    (c)各ポリゴンの頂点座標をテクスチャ座標に変換し、
    )前記法線マップ上の前記テクスチャ座標に格納されている法線ベクトルと、前記
    クスチャ座標に隣接する3点の法線ベクトルとを平均化し、
    )前記平均化により得られる法線ベクトルと、光源ベクトルと、ランバート照明モデ
    ルに基づき、第1の輝度値を求め、
    前記頂点座標の光源からの深度値と、前記シャドウマップに格納されている、前記
    テクスチャ座標の深度値とを比較し、シャドウ成分を求め、
    )前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を求め、
    )前記第2の輝度値に基づいて、前記記憶手段から読み出した、光が当たった状態の
    表示対象の画像を示す明部のテクスチャデータと、影になった場合の前記表示対象の画像
    を示す暗部のテクスチャデータを加算し、その演算結果を前記記憶手段に格納する、
    ことを特徴とする画像処理装置。
  7. 記憶手段と演算手段を備えた画像処理装置における画像処理方法であって、
    (a)前記演算手段が、仮想三次元空間内に配置されるモデルに基づいてシャドウマップ
    を生成して前記記憶手段に格納するステップと、
    (b)前記演算手段が、前記モデルを構成する各ポリゴンに設定された法線ベクトルの各
    成分を色空間に変換することによって法線マップを生成して前記記憶手段に格納するステ
    ップと、
    (c)前記演算手段が、各ポリゴンの頂点座標をテクスチャ座標に変換するステップと、
    )前記演算手段が、前記法線マップ上の前記テクスチャ座標に格納されている法線ベ
    クトルと、前記テクスチャ座標に隣接する3点の法線ベクトルとを平均化するステップと

    )前記演算手段が、前記平均化により得られる法線ベクトルと、光源ベクトルと、ラ
    ンバート照明モデルに基づき、第1の輝度値を求めるステップと、
    )前記演算手段が、前記頂点座標の光源からの深度値と、前記シャドウマップに格納
    されている、前記テクスチャ座標の深度値とを比較し、シャドウ成分を求めるステップと

    )前記演算手段が、前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を
    求めるステップと、
    )前記演算手段が、前記第2の輝度値に基づいて、前記記憶手段から読み出した、光
    が当たった状態の表示対象の画像を示す明部のテクスチャデータと、影になった場合の前
    記表示対象の画像を示す暗部のテクスチャデータを加算し、その演算結果を前記記憶手
    段に格納するステップと、
    を含むことを特徴とする画像処理方法。
  8. 記憶手段と演算手段を備えた画像処理装置によって実行されるプログラムであって、
    前記演算手段に、
    (a)仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成し、前記記
    憶手段に格納するステップ、
    (b)前記モデルを構成する各ポリゴンに設定された法線ベクトルを画素値の範囲に正規
    化することによりピクセル単位の法線ベクトルに変換するステップ、
    (c)各ポリゴンの頂点座標をテクスチャ座標に変換し、
    )前記ピクセル単位の法線ベクトルと、光源ベクトルと、ランバート照明モデルに基
    づき、第1の輝度値を求めるステップ、
    前記頂点座標の光源からの深度値と、前記シャドウマップに格納されている、前記
    テクスチャ座標の深度値とを比較し、シャドウ成分を求めるステップ、
    )前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を求めるステップ、
    )陰影付け開始輝度値と、この陰影付け開始輝度値より大きい陰影付け終了輝度値と
    、を有し、前記陰影付け開始輝度値と前記陰影付け終了輝度値との間は線形に増加する、
    という特性を有するフィルタ関数を用い、前記第2の輝度値から前記陰影付け開始輝度を
    減算した値を、前記陰影付け終了輝度から前記陰影付け開始輝度を減算した値、で除算す
    ることにより第3の輝度値を求めるステップ、
    )前記第3の輝度値に基づいて、前記記憶手段から読み出した、光が当たった状態の
    表示対象の画像を示す明部のテクスチャデータと、影になった場合の前記表示対象の画像
    を示す暗部のテクスチャデータを加算し、前記記憶手段に格納するステップ、
    を実行させることを特徴とするプログラム。
  9. 前記ステップ()における前記フィルタ関数は、陰影付けの境界位置tとこの境界位
    置を中心に設定されるグラデーション幅wをパラメータとして設定され、(t−w×0.
    5)が前記陰影付け開始輝度値、(t+w×0.5)が前記陰影付け終了輝度値、として
    用いられる、請求項8に記載のプログラム。
  10. 前記ステップ()は、
    前記ステップ(b)で得られるピクセル単位の前記法線ベクトルと、第1の光源と、前
    記ランバート照明モデルと、に基づき第4の輝度値を求めるステップと、
    前記ステップ(b)で得られるピクセル単位の前記法線ベクトルと、第2の光源と、前記
    ランバート照明モデルと、に基づき第5の輝度値を求めるステップと、
    前記第4の輝度値及び前記第5の輝度値を加算するステップと、
    を含む、請求項8に記載のプログラム。
  11. 前記ステップ()は、前記明部のテクスチャデータに前記第3の輝度値を乗算し、こ
    の乗算結果に前記暗部のテクスチャデータを加算する、請求項8に記載のプログラム。
  12. 更に、前記演算手段に、
    )前記ステップ(b)で得られるピクセル単位の前記法線ベクトルと、視線ベクトル
    と、環境色と、に基づきフレネル項を算出するステップ、
    及び、
    )前記フレネル項を前記ステップ()で得られる加算後のテクスチャデータに対し
    て加算するステップ、
    を実行させることを特徴とする請求項8に記載のプログラム。
  13. 請求項8乃至12のいずれか1項に記載のプログラムを記録したコンピュータ読み取り
    可能な記録媒体。
  14. 記憶手段と演算手段を備えた画像処理装置であって、
    前記演算手段は、
    (a)仮想三次元空間内に配置されるモデルに基づいてシャドウマップを生成して前記記
    憶手段に格納し
    (b)前記モデルを構成する各ポリゴンに設定された法線ベクトルを画素値の範囲に正規
    化することによりピクセル単位の法線ベクトルに変換し、
    (c)各ポリゴンの頂点座標をテクスチャ座標に変換し、
    )前記ピクセル単位の法線ベクトルと、光源ベクトルと、ランバート照明モデルに基
    づき、第1の輝度値を求め、
    前記頂点座標の光源からの深度値と、前記シャドウマップに格納されている、前記
    テクスチャ座標の深度値とを比較し、シャドウ成分を求め、
    )前記シャドウ成分を前記第1輝度値に乗算して第2の輝度値を求め、
    )陰影付け開始輝度値と、この陰影付け開始輝度値より大きい陰影付け終了輝度値と
    、を有し、前記陰影付け開始輝度値と前記陰影付け終了輝度値との間は線形に増加する、
    という特性を有するフィルタ関数を用い、前記第2の輝度値から前記陰影付け開始輝度を
    減算した値を、前記陰影付け終了輝度から前記陰影付け開始輝度を減算した値、で除算す
    ることにより第3の輝度値を求め、
    )前記第3の輝度値に基づいて、前記記憶手段から読み出した、光が当たった状態の
    表示対象の画像を示す明部のテクスチャデータと、影になった場合の前記表示対象の画像
    を示す暗部のテクスチャデータを加算し、前記記憶手段に格納する、
    ことを特徴とする画像処理装置。
  15. 記憶手段と演算手段を備えた画像処理装置における画像処理方法であって、
    (a)前記演算手段が、仮想三次元空間内に配置されるモデルに基づいてシャドウマップ
    を生成して前記記憶手段に格納するステップ、
    (b)前記演算手段が、前記モデルを構成する各ポリゴンに設定された法線ベクトルを
    素値の範囲に正規化することによりピクセル単位の法線ベクトルに変換するステップ、
    (c)各ポリゴンの頂点座標をテクスチャ座標に変換するステップ、
    )前記演算手段が、前記ピクセル単位の法線ベクトルと、光源ベクトルと、ランバー
    ト照明モデルに基づき、第1の輝度値を求めるステップ、
    前記頂点座標の光源からの深度値と、前記シャドウマップに格納されている、前記
    テクスチャ座標の深度値とを比較し、シャドウ成分を求めるステップ、
    )前記シャドウ成分を前記第1の輝度値に乗算して第2の輝度値を求めるステップ、
    )陰影付け開始輝度値と、この陰影付け開始輝度値より大きい陰影付け終了輝度値と
    、を有し、前記陰影付け開始輝度値と前記陰影付け終了輝度値との間は線形に増加する、
    という特性を有するフィルタ関数を用い、前記第2の輝度値から前記陰影付け開始輝度を
    減算した値を、前記陰影付け終了輝度から前記陰影付け開始輝度を減算した値、で除算す
    ることにより第3の輝度値を求めるステップ、
    )前記第3の輝度値に基づいて、前記記憶手段から読み出した、光が当たった状態の
    表示対象の画像を示す明部のテクスチャデータと、影になった場合の前記表示対象の画像
    を示す暗部のテクスチャデータを加算し、前記記憶手段に格納するステップ、
    を含むことを特徴とする画像処理方法。
JP2006157819A 2006-06-06 2006-06-06 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法 Active JP4816928B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006157819A JP4816928B2 (ja) 2006-06-06 2006-06-06 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006157819A JP4816928B2 (ja) 2006-06-06 2006-06-06 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法

Publications (2)

Publication Number Publication Date
JP2007328458A JP2007328458A (ja) 2007-12-20
JP4816928B2 true JP4816928B2 (ja) 2011-11-16

Family

ID=38928900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006157819A Active JP4816928B2 (ja) 2006-06-06 2006-06-06 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法

Country Status (1)

Country Link
JP (1) JP4816928B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033296A (ja) * 2008-07-28 2010-02-12 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP5524146B2 (ja) * 2011-08-11 2014-06-18 株式会社ファイン パース図作成システム及びパース図作成プログラム並びにパース図作成方法
CN104134230B (zh) * 2014-01-22 2015-10-28 腾讯科技(深圳)有限公司 一种图像处理方法、装置及计算机设备
CN109379622B (zh) * 2018-10-24 2021-06-08 网易(杭州)网络有限公司 游戏中播放视频的方法和装置
CN112435285A (zh) * 2020-07-24 2021-03-02 上海幻电信息科技有限公司 法线贴图的生成方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06150017A (ja) * 1992-11-13 1994-05-31 Hitachi Ltd 三次元図形表示装置
JPH06236440A (ja) * 1993-02-08 1994-08-23 Hitachi Ltd 画像処理方法
US6018350A (en) * 1996-10-29 2000-01-25 Real 3D, Inc. Illumination and shadow simulation in a computer graphics/imaging system
JP3748545B2 (ja) * 2002-09-19 2006-02-22 株式会社ナムコ プログラム、情報記憶媒体及び画像生成装置
JP4229319B2 (ja) * 2003-05-12 2009-02-25 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
US7436405B2 (en) * 2004-05-14 2008-10-14 Microsoft Corporation Terrain rendering using nested regular grids

Also Published As

Publication number Publication date
JP2007328458A (ja) 2007-12-20

Similar Documents

Publication Publication Date Title
JP6864449B2 (ja) イメージの明るさを調整する方法及び装置
CN110196746B (zh) 交互界面渲染方法及装置、电子设备、存储介质
US20080246760A1 (en) Method and apparatus for mapping texture onto 3-dimensional object model
JP2011107877A (ja) 画像処理装置および画像処理方法、並びにプログラム
JP2010033296A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2000251094A (ja) 画像処理装置及び画像処理方法
US9697642B2 (en) Image processing device and image processing method
JP4816928B2 (ja) 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
US20150009216A1 (en) Storage medium, image processing apparatus, image processing system and image processing method
JP2009100084A (ja) 情報処理装置、指示システム及び制御プログラム
JP3777149B2 (ja) プログラム、情報記憶媒体及び画像生成装置
CN116363288A (zh) 目标物的渲染方法、装置、存储介质及计算机设备
JP2008180797A (ja) 画像表示装置、画像表示装置の制御方法、及びコンピュータプログラム
JP5007633B2 (ja) 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
JPWO2019239462A1 (ja) 学習装置、画像生成装置、学習方法、画像生成方法及びプログラム
JP2006252426A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2007272847A (ja) 照明シミュレーション方法及び画像合成方法
JP2003168130A (ja) リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法
US20200183566A1 (en) Hybrid image rendering system
JP2007328460A (ja) 画像生成プログラム
JP3586253B2 (ja) テクスチャマッピングプログラム
GB2432499A (en) Image generation of objects distant from and near to a virtual camera
JP7116767B2 (ja) 画像処理装置およびその方法
US12002132B1 (en) Rendering using analytic signed distance fields
JP3686928B2 (ja) ゲーム装置、プログラム及び画像表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090521

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110816

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4816928

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250