JP2006244011A - プログラム、情報記憶媒体及び画像生成システム - Google Patents

プログラム、情報記憶媒体及び画像生成システム Download PDF

Info

Publication number
JP2006244011A
JP2006244011A JP2005057160A JP2005057160A JP2006244011A JP 2006244011 A JP2006244011 A JP 2006244011A JP 2005057160 A JP2005057160 A JP 2005057160A JP 2005057160 A JP2005057160 A JP 2005057160A JP 2006244011 A JP2006244011 A JP 2006244011A
Authority
JP
Japan
Prior art keywords
glare
image
source
correction
value
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
Application number
JP2005057160A
Other languages
English (en)
Inventor
Kentaro Yamaguchi
兼太郎 山口
Masahito Saito
仁人 斎藤
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.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
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 Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2005057160A priority Critical patent/JP2006244011A/ja
Publication of JP2006244011A publication Critical patent/JP2006244011A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

【課題】リアルなグレア表現画像を生成できるプログラム、情報記憶媒体及び画像生成システムを提供すること。
【解決手段】 画像生成システムは、描画条件を、グレア補正オブジェクトのZ値の方が元画像のZ値よりも視点から見て遠いZ値である場合に描画を行うという条件に設定して、Zバッファに格納されている元画像のZ値を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成するグレア補正画像生成部と、元画像と前記グレア補正画像とに基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成するグレア表現画像生成部を含む。投影面に平行な平面状のグレア補正オブジェクトを描画して、グレア補正画像を生成する。グレア源が平面状である場合に、平面状のグレア源と同一平面に設定される平面状のグレア補正オブジェクトを描画して、グレア補正画像を生成する。
【選択図】 図2

Description

本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
このような画像生成システムでは、プレイヤの仮想現実感を高めるために、物体の後ろにある光によってその物体の輪郭がぼやけて見えるグレア効果についてもリアルに表現できることが望ましい。
このグレアの元となる、明るいオブジェクト或いは画面上の明るい領域を、本明細書では「グレア源」と呼ぶことにする。また、グレアを受ける側のオブジェクトを「被グレアオブジェクト」と呼ぶことにする。また、グレアを用いた画像において、画像のリアリティを更に向上させる表現として、グレア源よりも手前側(視点側)にある被グレアオブジェクトのうち、グレアが掛かる部分の色を黒っぽくする手法が考えられる。この黒みのことを、本明細書では「コントラスト」と呼ぶことにする。
このようなグレア(グロー、ハロー)効果が表現された画像を生成する技術としては、例えば特開2002−42156号公報、特開2003−85578号公報に開示される従来技術がある。
しかしながら、これらの従来技術では、グレアのコントラストについては表現できなかった。このため、グレア効果のリアルな表現が不十分であるという課題があった。
特開2002−42156号公報 特開2003−85578号公報
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、よりリアルなグレア表現画像を生成できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
本発明は、画像を生成する画像生成システムであって、描画条件を、グレア補正オブジェクトのZ値の方が元画像のZ値よりも視点から見て遠いZ値である場合に描画を行うという条件に設定して、Zバッファに格納されている元画像のZ値を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成するグレア補正画像生成部と、元画像と前記グレア補正画像とグレア源画像に基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成するグレア表現画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
本発明では、グレア補正オブジェクトのZ値の方が元画像のZ値よりも視点から見て遠いZ値である場合に描画を行うという条件に、描画条件が設定される。そしてこの描画条件に従って、Zバッファに格納されている元画像のZ値を参照しながらグレア補正オブジェクトが描画され、グレア補正画像が生成される。そして、元画像とグレア補正画像とグレア源画像(グレア源画像のぼかし画像を含む)に基づいて、グレア表現画像が生成される。このようにすれば、グレア源よりも手前側にある被グレアオブジェクトのうち、グレアが掛かる部分の色を黒っぽくする等の表現が可能になり、リアルなグレア表現画像を生成できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記グレア補正画像生成部は、投影面(projection plane, view plane)に平行な平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成するようにしてもよい。
このようにすれば、投影面に平行な平面状のグレア補正オブジェクトを配置設定するだけで済むため、少ない処理負荷でグレア表現画像を生成できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記グレア補正画像生成部は、前記グレア源が平面状である場合に、平面状の前記グレア源と同一平面に設定される平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成するようにしてもよい。
このようにすれば、グレア源や被グレアオブジェクトが投影面と平行ではない場合にも、正しいグレア表現画像を生成することが可能になる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記グレア補正画像生成部は、前記グレア源が非平面状である場合に、非平面状の前記グレア源に対して設定される近似平面と同一平面に設定される平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成するようにしてもよい。
このようにすれば、グレア源が平面状ではない場合にも、補正されたグレア効果が元画像に表現されたグレア表現画像を生成することが可能になる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、Zバッファに格納されている元画像のZ値を参照しながら、グレア源の描画処理を行って、グレア源画像を生成するグレア源描画部と、前記グレア源画像のぼかし処理を行い、前記グレア源画像のぼかし画像を生成するぼかし処理部を含み(グレア源描画部とぼかし処理部としてコンピュータを機能させ)、前記グレア表現画像生成部は、元画像と前記グレア補正画像と前記グレア源画像の前記ぼかし画像とに基づいて、前記グレア表現画像を生成するようにしてもよい。
このようにすれば、グレア源のぼかし画像により、被グレアオブジェクトの輪郭が浸食されてぼけて見えるグレア表現画像を生成できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、グレア源の3次元情報を記憶する3次元情報記憶部と、グレア源の前記3次元情報に基づいて、ぼかし処理領域の領域サイズを決定する領域サイズ決定部とを含み(3次元情報記憶部と領域サイズ決定部としてコンピュータを機能させ)、前記ぼかし処理部は、前記領域サイズで設定されるぼかし処理領域において、前記グレア源画像のぼかし処理を行うようにしてもよい。
このようにすれば、領域サイズで設定される、画面サイズよりも狭いぼかし処理領域で、ぼかし処理が行われるようになるため、処理負荷を軽減できる。またグレア源の描画はグレア源の3次元情報に基づいて行われるため、グレア源が存在しない領域にグレア効果を発生させてしまう誤動作の発生も防止できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記3次元情報記憶部は、球形状のグレア源の中心座標と半径とを、前記3次元情報として記憶し、前記グレア源描画部は、仮想カメラから見て前記中心座標よりも手前側の位置に配置される円板ビルボードオブジェクトを描画して、前記グレア源画像を生成するようにしてもよい。
このようにすれば、例えば太陽、月、電球等の球形状のグレア源のリアルなグレア表現画像を生成できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記3次元情報記憶部は、円板形状のグレア源の中心座標と半径と面の向きを表す法線ベクトルとを、前記3次元情報として記憶し、前記グレア源描画部は、前記中心座標の位置に配置され、前記法線ベクトルで面の向きが設定される、円板オブジェクトを描画して、前記グレア源画像を生成するようにしてもよい。
このようにすれば、例えば車のヘッドライト等の円板形状のグレア源のリアルなグレア表現画像を生成できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記3次元情報記憶部は、グレア源の複数の頂点座標を、前記3次元情報として記憶し、前記グレア源描画部は、前記頂点座標の頂点により構成されるオブジェクトを描画して、前記グレア源画像を生成するようにしてもよい。
このようにすれば、任意の形状のグレア源のリアルなグレア表現画像を生成できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記領域サイズ決定部は、グレア源の前記3次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成して、ぼかし処理領域のサイズを決定するようにしてもよい。
このようにすれば、ぼかし処理の領域サイズの決定を簡素な処理で実現できる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレイヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域やメインメモリとなるものであり、その機能はRAM(VRAM)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されているプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理手順をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD(液晶表示装置)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194は、プレイヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバ)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、領域サイズ決定部116、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
移動・動作処理部112は、オブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレイヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム毎(1/60秒)に順次求めるシミュレーション処理を行う。なおフレームレートは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
領域サイズ決定部116は、ぼかし処理を行う領域のサイズを決定する処理を行う。具体的には、3次元情報記憶部171がグレア源等の3次元情報を記憶する。このグレア源の3次元情報は、グレア源の位置情報や形状情報を含むことができる。そして領域サイズ決定部116は、3次元情報記憶部171から読み出されたグレア源の3次元情報に基づいて、ぼかし処理領域の領域サイズを決定する。具体的には、スクリーン座標系でのグレア源の座標(頂点座標等)を求め、画面上の処理領域の位置やサイズを決定する。なおこの領域サイズの決定は、例えば、グレア源の3次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成することで、決定できる。
例えばグレア源が球形状として設定(想定)される場合には、その中心座標と半径が3次元情報として3次元情報記憶部171に記憶される。そして領域サイズ決定部116は、これらの中心座標と半径とに基づいて、ぼかし処理領域の領域サイズを決定する。またグレア源が円板形状として設定される場合には、その中心座標と半径と法線ベクトル(円板の面の向きを表す法線ベクトル)が3次元情報として3次元情報記憶部171に記憶される。そして領域サイズ決定部116は、これらの中心座標と半径と法線ベクトルとに基づいて、ぼかし処理領域の領域サイズを決定する。またグレア源が複数の頂点で構成される任意の形状のオブジェクト(トライアングルストリップ、トライアングルファン等)として設定される場合には、グレア源の複数の頂点座標が3次元情報として3次元情報記憶部171に記憶される。そして領域サイズ決定部116は、これらの複数の頂点座標に基づいて、ぼかし処理領域の領域サイズを決定する。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ172(フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
描画部120は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
ここでテクスチャマッピング処理は、テクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部174からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。
また隠面消去処理は、例えば、各ピクセルのZ値(奥行き情報)が格納されているZバッファ176(奥行きバッファ)を用いるZバッファ法(奥行き比較法、Zテスト)により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Zバッファ176に格納されているZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブ面の描画対象ピクセルでのZ値とを比較し、描画対象ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば大きなZ値)である場合には、そのピクセルの描画処理を行うと共にZバッファ176のZ値を新たなZ値に更新する。
またαブレンディング処理は、α値(A値)に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
Q=(1−α)×R1+α×R2
Q=(1−α)×G1+α×G2
Q=(1−α)×B1+α×B2
一方、加算αブレンディングの場合には下式の処理を行う。
Q=R1+α×R2
Q=G1+α×G2
Q=B1+α×B2
また、減算αブレンディングの場合には下式の処理を行う。
Q=R1−α×R2
Q=G1−α×G2
Q=B1−α×B2
ここで、R1、G1、B1は、描画バッファ172(フレームバッファ)に既に描画されている画像(元画像)のRGB成分であり、R2、G2、B2は、描画バッファ172に描画すべき画像のRGB成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像のRGB成分である。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
描画部120は、グレア源描画部122、グレア補正画像生成部124、ぼかし処理部125、グレア表現画像生成部126を含む。なおこれらの一部を省略する構成としてもよい。
グレア源描画部122は、3次元情報記憶部171に記憶されるグレア源の3次元情報に基づいてグレア源の描画処理を行う。具体的には、Zバッファ176には、元画像の生成の際に元画像のZ値が格納されている。そしてグレア源描画部122は、Zバッファ176に格納されている元画像のZ値を参照して(Zテストを有効にして)、Zバッファ法による隠面消去を行いながら、グレア源の描画処理を行って、グレア源画像を生成する。このようにすれば、グレア源のうち、仮想カメラから見て元画像の被グレアオブジェクトにより隠れている部分を適正に隠面消去できる。
例えばグレア源が球形状として設定される場合には、グレア源描画部122は、仮想カメラから見て球の中心座標よりも手前側の位置(例えば球に接する位置)に配置される円板ビルボードオブジェクトを描画して、グレア源画像を生成する。ここでビルボードオブジェクトは、その面が仮想カメラに常に正対するように配置されるオブジェクトである。またグレア源が円板形状として設定される場合には、中心座標の位置に配置され、法線ベクトルにより設定される方向を向く、円板オブジェクトを描画して、グレア源画像を生成する。またグレア源が複数の頂点で構成されるオブジェクト(トライアングルストリップ、トライアングルファン等)として設定される場合には、これらの複数の頂点座標の頂点で構成されるオブジェクトを描画することで、グレア源画像を生成する。
グレア補正画像生成部124はグレア補正画像の生成処理を行う。具体的には、描画条件を、グレア補正オブジェクト(グレア補正プリミティブ面)のZ値の方が元画像のZ値(奥行き値)よりも視点(仮想カメラ)から見て遠いZ値に相当する場合に描画を行うという条件に設定する。そしてZバッファに格納されている元画像のZ値を参照しながら、グレア補正オブジェクトを描画する。即ち参照された元画像のZ値(元画像の各ピクセルのZ値)とグレア補正オブジェクトのZ値(グレア補正オブジェクトの代表Z値や各ピクセルのZ値)とを比較しながら、上記描画条件でグレア補正オブジェクト(グレア補正オブジェクトの各ピクセルの色)を描画して、グレア補正画像を生成する。
視点から遠くなるほどZ値が小さくなる設定の場合に、このような描画を実現するには、Zテストのless(レス)条件を用いる。Zテストのless条件では、グレア補正オブジェクトの描画領域(描画ピクセル)のうち、グレア補正オブジェクトのZ値の方がZバッファのZ値よりも小さくなる領域(描画ピクセル)のみが描画される。なお、視点から遠くなるほどZ値が大きくなる設定の場合には、グレア補正オブジェクトのZ値の方がZバッファのZ値よりも大きくなる領域のみを描画すればよい。また、グレア補正オブジェクトを描画する際には、一般のZバッファ法とは異なり、Z値の更新は行わない。
ぼかし処理部125は、グレア源画像(ぼかし対象画像)のぼかし処理を行う。具体的には、領域サイズ決定部116により決定された領域サイズにより設定されるぼかし処理領域において、グレア源描画部122により生成されたグレア源画像のぼかし処理を行い、グレア源のぼかし画像(αプレーン、ぼかし情報)を生成する。なお、グレア源のぼかし画像は、1回のぼかし処理により生成してもよいし、複数回のぼかし処理を繰り返すことで生成してもよい。またぼかし処理は、例えばテクスチャ座標をシフトさせてバイリニア補間方式(テクセル補間方式)でテクスチャマッピングを行う手法で実現できるが、ビデオフィルタ等を用いたその他の手法で実現してもよい。
グレア表現画像生成部126はグレア表現画像の生成処理を行う。具体的には、元画像と、グレア源画像のぼかし画像(αプレーン、ぼかし情報)とに基づいて、グレア表現画像を生成する。即ち被グレアオブジェクトの輪郭が、グレアの光により浸食されてぼけて見えるグレア表現画像を生成する。更に具体的には、元画像と、グレア源画像のぼかし画像と、グレア補正画像とに基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成する。即ちグレアのコントラストが表現されたグレア表現画像を生成する。
なおグレア表現画像生成部126は、所与の変換テーブル(例えばインデックスカラー・テクスチャマッピング用のルックアップテーブル等)を用いてぼかし画像(α値)の変換処理を行い、元画像と、変換処理後のぼかし画像(α値)とに基づいて、グレア表現画像を生成することもできる。
またグレア源描画部122がα値によるグレア源の描画処理を行った場合には(描画バッファ172のαプレーンにグレア源を描画した場合には)、描画されたグレア源画像のα値に対してぼかし処理を行って、ぼかし処理が施されたα値を生成するようにする。そしてグレア表現画像生成部126が、ぼかし処理が施されたα値(αプレーン)に基づいて、元画像とグレア色(グレアの画像情報)とのαブレンディング処理を行って、グレア表現画像を生成することができる。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレイヤのみがプレイできるシングルプレイヤモード専用のシステムにしてもよいし、複数のプレイヤがプレイできるマルチプレイヤモードも備えるシステムにしてもよい。また複数のプレイヤがプレイする場合に、これらの複数のプレイヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
2.1 グレア表現画像の生成
本実施形態ではグレア表現画像の生成のためのグレア処理を、ポスト処理で行う。即ち、全てのオブジェクト(例えば被グレアオブジェクト、グレア源等)を描画した後に、グレア処理を行う。具体的には、オブジェクトに対してジオメトリ処理(透視変換等の座標変換処理)を施して、ジオメトリ処理後のオブジェクト(ポリゴン)をフレームバッファ(広義には描画領域、描画バッファ)に描画(レンダリング)することで、元画像を生成し、この元画像に対してグレア処理を行う。従って、グレア処理の開始時点においては、被グレアオブジェクトを含むオブジェクト(元画像)のZ値(奥行き情報)が、既にZバッファに格納されている状態になっている。
図2は、本実施形態のグレア処理の概要を示すフローチャートである。
まず、グレア源の3次元情報(位置・形状情報)を3次元情報記憶部から読み出す(ステップS1)。例えばグレア源が球である場合には、球の中心座標と半径を3次元情報として読み出す。
次に、ステップS1で読み出されたグレア源の3次元情報に基づいて、グレア補正オブジェクトの位置・形状を決定する(ステップS2)。具体的には例えば、投影面と平行な平面状のグレア補正オブジェクト(代表Z値を有するグレア補正オブジェクト)が、グレア源の位置(中心位置などの代表位置)に配置されるようにする。或いは、グレア源と同一平面に設定される平面状のグレア補正オブジェクトが、グレア源の位置に配置されるようにする。或いは、グレア源に設定される近似平面と同一平面に設定される平面状のグレア補正オブジェクトが、グレア源の位置に配置されるようにする。
次にZテストをless条件に設定する(広義には、描画条件を、グレア補正オブジェクトのZ値の方が元画像のZ値よりも視点から見て遠いZ値である場合に描画を行うという条件に設定する)。そしてZバッファに格納されているZ値(奥行き値)を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成する(ステップS3)。
次に、ステップS1で読み出されたグレア源の3次元情報に基づいて、ぼかし処理領域の領域サイズを決定する(ステップS4)。具体的にはスクリーン座標系におけるグレア源の座標を求め、画面上の処理領域の位置とサイズを決定する。そしてZテストを通常のgreater条件に設定して、Zバッファに格納されている元画像のZ値を参照しながら、グレア源を描画し、グレア源画像を生成する(ステップS5)。
次に、ステップS4で決定された領域サイズにより設定(確保)されるぼかし処理領域において、グレア源画像のぼかし処理を行って、ぼかし画像を生成する(ステップS6)。そして元画像と、グレア源画像のぼかし画像と、グレア補正画像とに基づいて、補正されたグレア効果が元画像に施されたグレア表現画像を生成する(ステップS7)。
図3に元画像の例を示す。OBは被グレアオブジェクトであり、GSはグレア源である。このゲームシーンは、被グレアオブジェクトOBであるキャラクタが部屋に立っており、部屋の壁に空いた穴の領域であるグレア源GSから、光が漏れているシーンである。図3の元画像では、グレア源GSのうち、被グレアオブジェクトOBにより隠れている部分が隠面消去されている。
図4にグレア表現画像の例を示す。図4はグレアのコントラスト表現の補正処理が行われていないグレア表現画像の例である。図4ではA1に示すように、グレア源GSからの光により、被グレアオブジェクトOBの輪郭が浸食されてぼやけて見える画像が生成されている。即ちグレア源GSからの光が被グレアオブジェクトOBの手前側に回り込んでいるかのように見えるグレア表現画像が生成されている。
なお図2の手法とは異なるグレア処理手法として、画面上の明るい領域をグレア源と見なして処理する自動抽出方式が考えられる。図2のグレア処理手法は、この自動抽出方式と比べて次のような利点がある。
第1に、図2の手法は処理が軽い。即ち自動抽出方式では全画面が処理対象となるが、図2の手法では画面上の限定された領域のみが処理対象となるので(ステップS4参照)、処理負荷を軽くできる。第2に、図2の手法ではグレア源を誤ることがない。即ち自動抽出方式では、グレア源になって欲しくない箇所がグレア源として処理されることがある。これに対して図2の手法では、3次元情報に基づいてグレア源の位置等を明示的に指定するので、このような誤動作を生じない。
2.2 グレアのコントラスト表現
人間の眼は、明るい場所を見る時には眼の感度が低下し、暗い場所を見る時には眼の感度が上昇する。従って、図4の被グレアオブジェクトOBの各部分のうち、明るい場所にあるA1の部分の色を、暗い場所にあるA2の部分の色に比べて黒っぽくすれば、画像のリアリティを更に向上できる。
本実施形態では、このようなグレアの黒みの表現であるコントラストを、図2の処理により実現している。
図5に、グレアのコントラスト表現の補正処理が施されたグレア表現画像の例を示す。図5では、グレア源GSよりも手前側にある被グレアオブジェクトOBのうち、グレアが掛かる部分であるB1の部分の色が、B2の部分の色に比べて、より黒っぽくなっており、グレアのコントラスト表現に成功している。
以上のようなグレアのコントラスト表現を実現する第1、第2の方式について、以下説明する。
(1)第1の方式
まずZテスト(描画条件)をless条件に設定する。そして図6に示すように、投影面PPに平行な平面状のグレア補正オブジェクトOBCを描画する。別の言い方をすれば、一様な代表Z値を有するグレア補正オブジェクトOBCを描画する。この代表Z値としては、グレア源の代表位置(中心位置等)のZ値や、グレア源を構成する頂点のZ値の平均値等を使用できる。そしてこのようなグレア補正オブジェクトOBCを描画した後に、グレア源を描画する。
この第1の方式は、例えば次の条件を全て満たす場合に有効である。
(1-1)グレア源及び被グレアオブジェクトが平面状である。
(1-2)グレア源及び被グレアオブジェクトが投影面にほぼ平行である。
例えば図7(A)に示すようにグレア源GSと被グレアオブジェクトOB1、OB2が配置されていたとする。この場合には、第1の方式によれば図7(B)に示すようにグレア補正オブジェクトOBCが配置され、Zテストをless条件に設定してグレア補正オブジェクトOBCが描画される。従って、図7(B)のC1に示すように視点から見て手前側にある被グレアオブジェクトOB1のグレア対象領域にはコントラストが描画される一方で、C2に示すように視点から見て奥側にある被グレアオブジェクトOB2のグレア対象領域にはコントラストが描画されないようになる。これにより、図5に示すようなグレアのコントラスト表現を実現できる。
(2)第2の方式
上述の第1の方式では、上記の条件(1-1)、(1-2)を満たさない場合には、問題が発生するおそれがある。例えばグレア源GSと被グレアオブジェクトOB1、OB2が図8(A)に示すように配置されていたとする。これは上記の条件(1-2)を満たさない配置である。この場合には、本来ならば図8(B)のD1に示すようにグレアのコントラストが描画されるべきである。ところが、第1の方式では、図8(C)のD2に示すようにコントラストが描画されてしまう。
即ち第1の方式では、グレア源GSが投影面に平行ではない場合にも、グレア補正オブジェクトOBCは投影面に平行になってしまう。そして被グレアオブジェクトOB1、OB2のZ値(各ピクセルのZ値)と、グレア補正オブジェクトOBCの代表Z値(グレア源GSの中心位置のZ値)とが比較されて、Zテストのless条件でOBCの描画処理が行われる。このため、被グレアオブジェクトOB1の方は視点から見てOBCの奥側にあると判断され、被グレアオブジェクトOB2の方は視点から見てOBCの手前側にあると判断されてしまう。この結果、図8(C)のD2に示すように被グレアオブジェクトOB2側にコントラストが描画されてしまう。
たとえ、グレア補正オブジェクトOBCの代表Z値として、他のZ値(GSの中心位置のZ値以外のZ値)を使用したとしても、OBCのZ値が一様である限りは(OBCが投影面に平行である限りは)、図8(B)のD1に示すような正しいコントラスト描画にはならない。
そこで第2の方式では、Zテストをless条件に設定して、グレア源GSと同一平面に設定されるグレア補正オブジェクトOBCを描画し、グレア補正画像を生成する。具体的には例えば図9(A)に示すようにグレア源GSが平面状である場合には、この平面状のグレア源GSと同一平面に設定される平面状のグレア補正オブジェクトOBCを描画する。このようにすれば、Zテストのless条件でグレア補正オブジェクトOBCを描画した場合に、図9(A)のD3に示すような正しいコントラスト描画を実現できる。
なおグレア源GSが非平面状である場合には、図9(B)に示すように、非平面状のグレア源GSに対して設定される近似平面と同一平面に設定される平面状のグレア補正オブジェクトOBCを描画して、グレア補正画像を生成すればよい。この近似平面は、例えばグレア源GSの頂点位置等に基づいて求めることができる。
第2の方式に使用されるグレア補正オブジェクトOBCは例えば図10(A)に示す手法等により得ることができる。図10(A)では、グレア源GSの頂点を、多角形の内側か外側に向けてずらした位置に、グレア補正オブジェクトOBCの頂点を設定している。このようにすれば、グレア源GSと同一平面に配置されるグレア補正オブジェクトOBCを得ることができる。またグレア源GSが乗る平面の式を求め、この平面上に配置され、グレア源GSを内包する多角形等を、グレア補正オブジェクトOBCとして設定してもよい。このようにすれば例えば図10(B)に示すように、グレア源GSの頂点数よりも少ない頂点数のグレア補正オブジェクトOBCを得ることができ、描画処理の負荷を軽減できる。
なお第2の方式によれば図8(A)のような場合にも正しいコントラスト描画を実現できるが、あらゆる場合に正しい描画ができるわけではなく、図11(A)のような場合には問題を起こす。即ち図11(A)の場合では、本来は図11(B)のE1に示すようにコントラストが描画されるべきであるが、第2の方式では図11(C)のE2、E3に示すようにコントラストが描画されてしまう。
また第2の方式では、グレア源GSの平面と投影面とのなす角度が直角に近い場合に、グレア補正オブジェクトOBCを構成する頂点のZ値が過大になったり、過小になるなどの問題を起こす。
従って第2の方式は、例えば次の条件を全て満たす場合に有効になる。
(2-1)グレア源及び被グレアオブジェクトが平面状である。
(2-2)グレア源と被グレアオブジェクトとがほぼ平行である。
(2-3)グレア源の平面と投影面とのなす角度が直角に近くない。
なお、第1、第2の方式におけるグレア源の描画処理は、図2のステップS4〜S7に示す手法で実現してもよいし、特開2002−42156号公報や特開2003−85578号公報等に開示される手法で実現してもよい。例えば特開2002−42156号公報の手法では、被グレアオブジェクトと視点との間にグレア源(光源の眩しさを擬似的に表現するための光源エフェクト)を描画する。具体的には、グレア源の位置に対応した投影面上の位置(グレア源と視点とを結ぶ線分と投影面との交点位置)にグレア源を描画して、グレア表現画像を生成する。また特開2003−85578号公報の手法では、元画像から、グレア(グロー)対象画像を抽出し、抽出されたグレア対象画像のぼかし画像を生成する。具体的には、グレア対象画像を縮小し、この縮小画像にぼかし処理を施し、その後、元のサイズに拡大してぼかし画像を生成する。そして、元画像とぼかし画像を合成することでグレア表現画像を生成する。
また第1、第2の方式で使用されるグレア補正オブジェクトOBCは、1枚又は複数枚のポリゴン、スプライト、或いは自由曲面等により構成でき、そのサイズや形状は、グレア源のオブジェクトと類似したものとすることができる。またグレア補正オブジェクトOBCの色と描画方法は、グレア色や白色等による減算描画(減算αブレンディング)や、黒色等によるブレンド描画(通常αブレンディング)などにより実現できる。またグレア補正オブジェクトOBCにテクスチャを貼り付けることにより、テクスチャの色やα値をOBCの色やα値として使うこともできる。この場合にOBCに貼り付けるテクスチャとしては、グレア源画像をぼかした画像を使うことができる。
2.3 less条件のZテスト
次に、通常のgreater条件のZテスト機能しか備えていないシステムにおいてless条件のZテストを実現する方法について説明する。なお以下では、Zバッファのピクセルのビット数が24ビットである場合に限定して説明を行う。
(1)Zバッファのビット反転
以下の方法によりZバッファのビットを反転する。Zバッファをフレームバッファとして扱い、Zバッファのピクセルの24ビットを、フレームバッファのピクセルのR=8ビット、G=8ビット、B=8ビットを並べたものと見なす。そしてCdをデスティネーションカラー(既に描画バッファに描画されている色)、Csをソースカラー(これから描画バッファに描画するオブジェクトの色)とした場合に、Cs−Cdが描画されるようにαブレンディングを設定する。そしてZバッファ全体を覆う白色(R、G、B)=(255、255、255)のスプライトをαブレンディングで描画する。
このようにすれば、デスティネーションカラーCdを(R、G、B)=(Rd、Gd、Bd)とした場合に、描画結果の色は(R、G、B)=(255−Rd、255−Gd、255−Bd)になる。この描画結果は、各々、Rd、Gd、Bdをビット反転させたものに相当する。これにより、Zバッファのピクセルの24ビットをビット反転したものを得ることができる。
(2)オブジェクトの描画
次に、以下のようにしてless条件のZテストで描画したいオブジェクト(グレア補正オブジェクト)を描画する。
オブジェクト描画に使用するZ値は、通常のZ値をビット反転させたものにする。そしてZテストをgreater条件に設定して、オブジェクトを描画する。この場合に、オブジェクトのZ値とZバッファのZ値は共にビット反転しているため、通常の場合とは大小関係が逆になる。従って、greater条件のZテストを行うことで、less条件のZテストと同じ効果を得ることができる。
(3)Zバッファのビット反転
上記(1)と同様の方法で、Zバッファのビットを反転させて、Zバッファの状態を元の状態に戻す。
なお,上記(2)のオブジェクトの描画範囲が前もって分かっている場合には、上記(1)、(3)の処理は、Zバッファの全領域で行わずに、上記(2)のオブジェクトの描画範囲にのみ限定して行うことも可能である。
2.4 グレア源の形状
本実施形態では、グレア源の形状として、球、円板、トライアングルストリップ(triangle strip)、トライアングルファン(triangle fan)の4種類の設定が可能になっている。但しグレア源の形状はこれらの4種類に限定されず、種々の変形実施が可能である。
図12に、これらの4種類のグレア源の3次元情報(3次元位置・形状指定パラメータ)とグレア処理における描画方法(図2のステップS5)の例を示す。
例えば球のグレア源では、図2のステップS1の3次元情報は中心座標(ワールド座標系)と半径とすることができる。そして図2のステップS5のグレア源の描画は、球の手前側(仮想カメラ側)に接する円板ビルボードオブジェクトをトライアングルファンを使って描画することで実現する。
例えば図13(A)では、太陽や月等を表す球のグレア源GSが天球CSに配置されている。この場合には、球のグレア源GSの手前側に接する円板ビルボードオブジェクトBOBを使ってグレア源の描画を行い、仮想カメラVCから見えるグレア源画像を生成する。即ち仮想カメラVCは天球CSの中心点CPに位置するとは限らない。従って、円板ビルボードオブジェクトBOBをグレア源GSの中心座標CCに配置すると、ビルボードオブジェクトBOBが天球CSにめり込んで、グレア源画像が欠けて見える事態が生じる可能性がある。この点、図13(A)のように円板ビルボードオブジェクトBOBを配置すれば、このような事態を防止できる。
なお図13(A)では球のグレア源GSに接する位置に円板ビルボードオブジェクトBOBを配置しているが、円板ビルボードオブジェクトBOBの配置位置は、グレア源GSの中心座標CCよりも仮想カメラVCから見て少なくとも手前側(手前側であり且つ他のオブジェクトよりも奥側)であればよい。
円板ビルボードオブジェクトBOBの大きさは、図13(B)に示すように、仮想カメラVCの位置からグレア源GSへの接線TG1を求めることで設定できる。このようにすれば、円板ビルボードオブジェクトBOBの半径RBを、グレア源GSの半径Rに応じた適正な大きさに設定できる。
また図13(B)に示すように円板ビルボードオブジェクトBOBは、その面が仮想カメラVCに正対するビルボード(その面がVCとCCを結ぶ直線に垂直なビルボード)として配置される。なお円板ビルボードオブジェクトBOBとしては図13(C)に示すようなトランアングルファンを用いることができる。
図14(A)のような車のヘッドライトのグレア効果を表現するためには、円板形状のグレア源GSを用いることができる。この場合にはグレア源GSの3次元情報として、円板の面の向きを表す法線ベクトルNが用いられる。そしてグレア源GSの中心座標の位置に、法線ベクトルNにより面の向きが設定される、円板オブジェクトをオブジェクト空間(ワールド座標系)に配置して描画することで、仮想カメラVCから見えるグレア源画像を生成できる。このようにすれば、仮想カメラVCとグレア源GSとの位置関係により、グレア源画像が円から楕円に変化するようになり、リアルな画像表現を実現できる。
図14(B)はトライアングルストリップのグレア源の例であり、図13(C)や図14(C)はトライアングルファンのグレア源の例である。これらのトライアングルストリップ、トライアングルファンは、複数の頂点(V1〜V20、V1〜V11、V1〜V12)で構成されるオブジェクトであり、これらの頂点の座標(ワールド座標系での座標)がグレア源の3次元情報となる。そして、これらの頂点により構成されるオブジェクトを例えばオブジェクト空間に配置して描画することで、仮想カメラから見えるグレア源画像を生成できる。
なお図2のステップS4の領域サイズの決定は、グレア源の3次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成することで実現できる。例えば図15(A)(B)にバウンディングボックスBB(バウンディングエリア)の例を示す。これらのバウンディングボックスBBは図15(A)(B)に示すように、グレア源GSのスクリーン座標系での頂点のX座標、Y座標を求め、これらの頂点のX座標の最小値XMIN、最大値XMAXと、Y座標の最小値YMIN、最大値YMAXを求めることで生成できる。
3.ハードウェア構成
図16に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
ROM950にはシステムプログラムなどが格納されている。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されている。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されているCD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されているプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納されている。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(描画バッファ、描画条件等)と共に記載された用語(フレームバッファ・ワークバッファ、less条件のZテスト等)は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
また、グレア補正オブジェクトの描画手法、グレア源の描画手法、グレア源の種類も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば実施形態で説明した第1、第2の方式と異なる方式でグレア補正オブジェクトを描画することも可能である。またグレア補正オブジェクトの配置位置や形状も本実施形態で説明したものに限定されない。
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
本実施形態の画像生成システムの機能ブロック図の例。 本実施形態の手法の処理のフローチャート。 元画像の例。 コントラスト表現の補正処理が行われていないグレア表現画像の例。 コントラスト表現の補正処理が行われているグレア表現画像の例。 本実施形態の第1の方式の説明図。 図7(A)(B)は本実施形態の第1の方式の説明図。 図8(A)(B)(C)は第1の方式で起こる問題の説明図。 図9(A)(B)は本実施形態の第2の方式の説明図。 図10(A)(B)はグレア補正オブジェクトの説明図。 図11(A)(B)(C)は第2の方式で起こる問題の説明図。 グレア源の3次元情報と描画方法の説明図。 図13(A)(B)(C)は球形状のグレア源の説明図。 図14(A)(B)(C)は円板形状、トライアングルストリップ、トライアングルファンのグレア源の説明図。 図15(A)(B)はバウンディングボックスの説明図。 ハードウェア構成例。
符号の説明
GS グレア源、OB、OB1、OB2 被グレアオブジェクト、
OBC グレア補正オブジェクト、CC 中心座標、VC 仮想カメラ、
CS 天球、CP 中心点、BOB ビルボードオブジェクト、V1〜V20 頂点、
BB バウンディングボックス、
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、116 領域サイズ決定部、120 描画部、
122 グレア源描画部、124 グレア補正画像生成部、125 ぼかし処理部、
126 グレア表現画像生成部、130 音生成部、160 操作部、170 記憶部、171 3次元情報記憶部、172 描画バッファ、174 テクスチャ記憶部、
176 Zバッファ、180 情報記憶媒体、190 表示部、
192 音出力部、194 携帯型情報記憶装置、196 通信部

Claims (12)

  1. 画像を生成するためのプログラムであって、
    描画条件を、グレア補正オブジェクトのZ値の方が元画像のZ値よりも視点から見て遠いZ値である場合に描画を行うという条件に設定して、Zバッファに格納されている元画像のZ値を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成するグレア補正画像生成部と、
    元画像と前記グレア補正画像とグレア源画像とに基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成するグレア表現画像生成部として、
    コンピュータを機能させることを特徴とするプログラム。
  2. 請求項1において、
    前記グレア補正画像生成部は、
    投影面に平行な平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成することを特徴とするプログラム。
  3. 請求項1において、
    前記グレア補正画像生成部は、
    前記グレア源が平面状である場合に、平面状の前記グレア源と同一平面に設定される平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成することを特徴とするプログラム。
  4. 請求項1において、
    前記グレア補正画像生成部は、
    前記グレア源が非平面状である場合に、非平面状の前記グレア源に対して設定される近似平面と同一平面に設定される平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成することを特徴とするプログラム。
  5. 請求項1乃至4のいずれかにおいて、
    Zバッファに格納されている元画像のZ値を参照しながら、グレア源の描画処理を行って、グレア源画像を生成するグレア源描画部と、
    前記グレア源画像のぼかし処理を行い、前記グレア源画像のぼかし画像を生成するぼかし処理部として、
    コンピュータを機能させ、
    前記グレア表現画像生成部は、
    元画像と前記グレア補正画像と前記グレア源画像の前記ぼかし画像とに基づいて、前記グレア表現画像を生成することを特徴とするプログラム。
  6. 請求項5において、
    グレア源の3次元情報を記憶する3次元情報記憶部と、
    グレア源の前記3次元情報に基づいて、ぼかし処理領域の領域サイズを決定する領域サイズ決定部として、
    コンピュータを機能させ、
    前記ぼかし処理部は、
    前記領域サイズで設定されるぼかし処理領域において、前記グレア源画像のぼかし処理を行うことを特徴とするプログラム。
  7. 請求項6において、
    前記3次元情報記憶部は、
    球形状のグレア源の中心座標と半径とを、前記3次元情報として記憶し、
    前記グレア源描画部は、
    仮想カメラから見て前記中心座標よりも手前側の位置に配置される円板ビルボードオブジェクトを描画して、前記グレア源画像を生成することを特徴とするプログラム。
  8. 請求項6において、
    前記3次元情報記憶部は、
    円板形状のグレア源の中心座標と半径と面の向きを表す法線ベクトルとを、前記3次元情報として記憶し、
    前記グレア源描画部は、
    前記中心座標の位置に配置され、前記法線ベクトルで面の向きが設定される、円板オブジェクトを描画して、前記グレア源画像を生成することを特徴とするプログラム。
  9. 請求項6において、
    前記3次元情報記憶部は、
    グレア源の複数の頂点座標を、前記3次元情報として記憶し、
    前記グレア源描画部は、
    前記頂点座標の頂点により構成されるオブジェクトを描画して、前記グレア源画像を生成することを特徴とするプログラム。
  10. 請求項6乃至9のいずれかにおいて、
    前記領域サイズ決定部は、
    グレア源の前記3次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成して、ぼかし処理領域のサイズを決定することを特徴とするプログラム。
  11. コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至10のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
  12. 画像を生成する画像生成システムであって、
    描画条件を、グレア補正オブジェクトのZ値の方が元画像のZ値よりも視点から見て遠いZ値である場合に描画を行うという条件に設定して、Zバッファに格納されている元画像のZ値を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成するグレア補正画像生成部と、
    元画像と前記グレア補正画像とグレア源画像とに基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成するグレア表現画像生成部とを含むことを特徴とする画像生成システム。
JP2005057160A 2005-03-02 2005-03-02 プログラム、情報記憶媒体及び画像生成システム Withdrawn JP2006244011A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005057160A JP2006244011A (ja) 2005-03-02 2005-03-02 プログラム、情報記憶媒体及び画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005057160A JP2006244011A (ja) 2005-03-02 2005-03-02 プログラム、情報記憶媒体及び画像生成システム

Publications (1)

Publication Number Publication Date
JP2006244011A true JP2006244011A (ja) 2006-09-14

Family

ID=37050381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005057160A Withdrawn JP2006244011A (ja) 2005-03-02 2005-03-02 プログラム、情報記憶媒体及び画像生成システム

Country Status (1)

Country Link
JP (1) JP2006244011A (ja)

Similar Documents

Publication Publication Date Title
JP2007026324A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006318389A (ja) プログラム、情報記憶媒体、及び画像生成システム
US7479961B2 (en) Program, information storage medium, and image generation system
JP4804120B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4717622B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2007141082A (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4827250B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4488346B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP5253118B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
US7710419B2 (en) Program, information storage medium, and image generation system
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4229317B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006268103A (ja) プログラム、情報記憶媒体、モデルデータ構造及び画像生成システム
JP4476040B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4754385B2 (ja) プログラム、情報記録媒体および画像生成システム
JP2008225571A (ja) プログラム、情報記憶媒体、及び、画像生成システム
JP2007164651A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4592087B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006244011A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4521811B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4229332B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008077406A (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: 20080513