(57)【要約】【課題】リアルなグレア表現画像を生成できるプログラム、情報記憶媒体及び画像生成システムを提供すること。【解決手段】  画像生成システムは、描画条件を、グレア補正オブジェクトのＺ値の方が元画像のＺ値よりも視点から見て遠いＺ値である場合に描画を行うという条件に設定して、Ｚバッファに格納されている元画像のＺ値を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成するグレア補正画像生成部と、元画像と前記グレア補正画像とに基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成するグレア表現画像生成部を含む。投影面に平行な平面状のグレア補正オブジェクトを描画して、グレア補正画像を生成する。グレア源が平面状である場合に、平面状のグレア源と同一平面に設定される平面状のグレア補正オブジェクトを描画して、グレア補正画像を生成する。【選択図】      図２
2006244011.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
描画条件を、グレア補正オブジェクトのＺ値の方が元画像のＺ値よりも視点から見て遠いＺ値である場合に描画を行うという条件に設定して、Ｚバッファに格納されている元画像のＺ値を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成するグレア補正画像生成部と、
元画像と前記グレア補正画像とグレア源画像とに基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成するグレア表現画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記グレア補正画像生成部は、
投影面に平行な平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成することを特徴とするプログラム。
【請求項３】
請求項１において、
前記グレア補正画像生成部は、
前記グレア源が平面状である場合に、平面状の前記グレア源と同一平面に設定される平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成することを特徴とするプログラム。
【請求項４】
請求項１において、
前記グレア補正画像生成部は、
前記グレア源が非平面状である場合に、非平面状の前記グレア源に対して設定される近似平面と同一平面に設定される平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成することを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
Ｚバッファに格納されている元画像のＺ値を参照しながら、グレア源の描画処理を行って、グレア源画像を生成するグレア源描画部と、
前記グレア源画像のぼかし処理を行い、前記グレア源画像のぼかし画像を生成するぼかし処理部として、
コンピュータを機能させ、
前記グレア表現画像生成部は、
元画像と前記グレア補正画像と前記グレア源画像の前記ぼかし画像とに基づいて、前記グレア表現画像を生成することを特徴とするプログラム。
【請求項６】
請求項５において、
グレア源の３次元情報を記憶する３次元情報記憶部と、
グレア源の前記３次元情報に基づいて、ぼかし処理領域の領域サイズを決定する領域サイズ決定部として、
コンピュータを機能させ、
前記ぼかし処理部は、
前記領域サイズで設定されるぼかし処理領域において、前記グレア源画像のぼかし処理を行うことを特徴とするプログラム。
【請求項７】
請求項６において、
前記３次元情報記憶部は、
球形状のグレア源の中心座標と半径とを、前記３次元情報として記憶し、
前記グレア源描画部は、
仮想カメラから見て前記中心座標よりも手前側の位置に配置される円板ビルボードオブジェクトを描画して、前記グレア源画像を生成することを特徴とするプログラム。
【請求項８】
請求項６において、
前記３次元情報記憶部は、
円板形状のグレア源の中心座標と半径と面の向きを表す法線ベクトルとを、前記３次元情報として記憶し、
前記グレア源描画部は、
前記中心座標の位置に配置され、前記法線ベクトルで面の向きが設定される、円板オブジェクトを描画して、前記グレア源画像を生成することを特徴とするプログラム。
【請求項９】
請求項６において、
前記３次元情報記憶部は、
グレア源の複数の頂点座標を、前記３次元情報として記憶し、
前記グレア源描画部は、
前記頂点座標の頂点により構成されるオブジェクトを描画して、前記グレア源画像を生成することを特徴とするプログラム。
【請求項１０】
請求項６乃至９のいずれかにおいて、
前記領域サイズ決定部は、
グレア源の前記３次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成して、ぼかし処理領域のサイズを決定することを特徴とするプログラム。
【請求項１１】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１０のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１２】
画像を生成する画像生成システムであって、
描画条件を、グレア補正オブジェクトのＺ値の方が元画像のＺ値よりも視点から見て遠いＺ値である場合に描画を行うという条件に設定して、Ｚバッファに格納されている元画像のＺ値を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成するグレア補正画像生成部と、
元画像と前記グレア補正画像とグレア源画像とに基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成するグレア表現画像生成部とを含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、プレイヤの仮想現実感を高めるために、物体の後ろにある光によってその物体の輪郭がぼやけて見えるグレア効果についてもリアルに表現できることが望ましい。
【０００４】
このグレアの元となる、明るいオブジェクト或いは画面上の明るい領域を、本明細書では「グレア源」と呼ぶことにする。また、グレアを受ける側のオブジェクトを「被グレアオブジェクト」と呼ぶことにする。また、グレアを用いた画像において、画像のリアリティを更に向上させる表現として、グレア源よりも手前側（視点側）にある被グレアオブジェクトのうち、グレアが掛かる部分の色を黒っぽくする手法が考えられる。この黒みのことを、本明細書では「コントラスト」と呼ぶことにする。
【０００５】
このようなグレア（グロー、ハロー）効果が表現された画像を生成する技術としては、例えば特開２００２−４２１５６号公報、特開２００３−８５５７８号公報に開示される従来技術がある。
【０００６】
しかしながら、これらの従来技術では、グレアのコントラストについては表現できなかった。このため、グレア効果のリアルな表現が不十分であるという課題があった。
【特許文献１】特開２００２−４２１５６号公報
【特許文献２】特開２００３−８５５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、よりリアルなグレア表現画像を生成できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、画像を生成する画像生成システムであって、描画条件を、グレア補正オブジェクトのＺ値の方が元画像のＺ値よりも視点から見て遠いＺ値である場合に描画を行うという条件に設定して、Ｚバッファに格納されている元画像のＺ値を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成するグレア補正画像生成部と、元画像と前記グレア補正画像とグレア源画像に基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成するグレア表現画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００９】
本発明では、グレア補正オブジェクトのＺ値の方が元画像のＺ値よりも視点から見て遠いＺ値である場合に描画を行うという条件に、描画条件が設定される。そしてこの描画条件に従って、Ｚバッファに格納されている元画像のＺ値を参照しながらグレア補正オブジェクトが描画され、グレア補正画像が生成される。そして、元画像とグレア補正画像とグレア源画像（グレア源画像のぼかし画像を含む）に基づいて、グレア表現画像が生成される。このようにすれば、グレア源よりも手前側にある被グレアオブジェクトのうち、グレアが掛かる部分の色を黒っぽくする等の表現が可能になり、リアルなグレア表現画像を生成できる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記グレア補正画像生成部は、投影面（projection plane, view plane)に平行な平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成するようにしてもよい。
【００１１】
このようにすれば、投影面に平行な平面状のグレア補正オブジェクトを配置設定するだけで済むため、少ない処理負荷でグレア表現画像を生成できる。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記グレア補正画像生成部は、前記グレア源が平面状である場合に、平面状の前記グレア源と同一平面に設定される平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成するようにしてもよい。
【００１３】
このようにすれば、グレア源や被グレアオブジェクトが投影面と平行ではない場合にも、正しいグレア表現画像を生成することが可能になる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記グレア補正画像生成部は、前記グレア源が非平面状である場合に、非平面状の前記グレア源に対して設定される近似平面と同一平面に設定される平面状のグレア補正オブジェクトを描画して、前記グレア補正画像を生成するようにしてもよい。
【００１５】
このようにすれば、グレア源が平面状ではない場合にも、補正されたグレア効果が元画像に表現されたグレア表現画像を生成することが可能になる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、Ｚバッファに格納されている元画像のＺ値を参照しながら、グレア源の描画処理を行って、グレア源画像を生成するグレア源描画部と、前記グレア源画像のぼかし処理を行い、前記グレア源画像のぼかし画像を生成するぼかし処理部を含み（グレア源描画部とぼかし処理部としてコンピュータを機能させ）、前記グレア表現画像生成部は、元画像と前記グレア補正画像と前記グレア源画像の前記ぼかし画像とに基づいて、前記グレア表現画像を生成するようにしてもよい。
【００１７】
このようにすれば、グレア源のぼかし画像により、被グレアオブジェクトの輪郭が浸食されてぼけて見えるグレア表現画像を生成できる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、グレア源の３次元情報を記憶する３次元情報記憶部と、グレア源の前記３次元情報に基づいて、ぼかし処理領域の領域サイズを決定する領域サイズ決定部とを含み（３次元情報記憶部と領域サイズ決定部としてコンピュータを機能させ）、前記ぼかし処理部は、前記領域サイズで設定されるぼかし処理領域において、前記グレア源画像のぼかし処理を行うようにしてもよい。
【００１９】
このようにすれば、領域サイズで設定される、画面サイズよりも狭いぼかし処理領域で、ぼかし処理が行われるようになるため、処理負荷を軽減できる。またグレア源の描画はグレア源の３次元情報に基づいて行われるため、グレア源が存在しない領域にグレア効果を発生させてしまう誤動作の発生も防止できる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記３次元情報記憶部は、球形状のグレア源の中心座標と半径とを、前記３次元情報として記憶し、前記グレア源描画部は、仮想カメラから見て前記中心座標よりも手前側の位置に配置される円板ビルボードオブジェクトを描画して、前記グレア源画像を生成するようにしてもよい。
【００２１】
このようにすれば、例えば太陽、月、電球等の球形状のグレア源のリアルなグレア表現画像を生成できる。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記３次元情報記憶部は、円板形状のグレア源の中心座標と半径と面の向きを表す法線ベクトルとを、前記３次元情報として記憶し、前記グレア源描画部は、前記中心座標の位置に配置され、前記法線ベクトルで面の向きが設定される、円板オブジェクトを描画して、前記グレア源画像を生成するようにしてもよい。
【００２３】
このようにすれば、例えば車のヘッドライト等の円板形状のグレア源のリアルなグレア表現画像を生成できる。
【００２４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記３次元情報記憶部は、グレア源の複数の頂点座標を、前記３次元情報として記憶し、前記グレア源描画部は、前記頂点座標の頂点により構成されるオブジェクトを描画して、前記グレア源画像を生成するようにしてもよい。
【００２５】
このようにすれば、任意の形状のグレア源のリアルなグレア表現画像を生成できる。
【００２６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記領域サイズ決定部は、グレア源の前記３次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成して、ぼかし処理領域のサイズを決定するようにしてもよい。
【００２７】
このようにすれば、ぼかし処理の領域サイズの決定を簡素な処理で実現できる。
【発明を実施するための最良の形態】
【００２８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２９】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３０】
操作部１６０は、プレイヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域やメインメモリとなるものであり、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００３１】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されているプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理手順をコンピュータに実行させるためのプログラム）が記憶される。
【００３２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ（液晶表示装置）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３３】
携帯型情報記憶装置１９４は、プレイヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３４】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３５】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３６】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、領域サイズ決定部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３７】
オブジェクト空間設定部１１０は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３８】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレイヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム毎（１／６０秒）に順次求めるシミュレーション処理を行う。なおフレームレートは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３９】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００４０】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００４１】
領域サイズ決定部１１６は、ぼかし処理を行う領域のサイズを決定する処理を行う。具体的には、３次元情報記憶部１７１がグレア源等の３次元情報を記憶する。このグレア源の３次元情報は、グレア源の位置情報や形状情報を含むことができる。そして領域サイズ決定部１１６は、３次元情報記憶部１７１から読み出されたグレア源の３次元情報に基づいて、ぼかし処理領域の領域サイズを決定する。具体的には、スクリーン座標系でのグレア源の座標（頂点座標等）を求め、画面上の処理領域の位置やサイズを決定する。なおこの領域サイズの決定は、例えば、グレア源の３次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成することで、決定できる。
【００４２】
例えばグレア源が球形状として設定（想定）される場合には、その中心座標と半径が３次元情報として３次元情報記憶部１７１に記憶される。そして領域サイズ決定部１１６は、これらの中心座標と半径とに基づいて、ぼかし処理領域の領域サイズを決定する。またグレア源が円板形状として設定される場合には、その中心座標と半径と法線ベクトル（円板の面の向きを表す法線ベクトル）が３次元情報として３次元情報記憶部１７１に記憶される。そして領域サイズ決定部１１６は、これらの中心座標と半径と法線ベクトルとに基づいて、ぼかし処理領域の領域サイズを決定する。またグレア源が複数の頂点で構成される任意の形状のオブジェクト（トライアングルストリップ、トライアングルファン等）として設定される場合には、グレア源の複数の頂点座標が３次元情報として３次元情報記憶部１７１に記憶される。そして領域サイズ決定部１１６は、これらの複数の頂点座標に基づいて、ぼかし処理領域の領域サイズを決定する。
【００４３】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７２（フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００４４】
描画部１２０は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
【００４５】
ここでテクスチャマッピング処理は、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理である。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００４６】
また隠面消去処理は、例えば、各ピクセルのＺ値（奥行き情報）が格納されているＺバッファ１７６（奥行きバッファ）を用いるＺバッファ法（奥行き比較法、Ｚテスト）により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Ｚバッファ１７６に格納されているＺ値を参照する。そして参照されたＺバッファ１７６のＺ値と、プリミティブ面の描画対象ピクセルでのＺ値とを比較し、描画対象ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば大きなＺ値）である場合には、そのピクセルの描画処理を行うと共にＺバッファ１７６のＺ値を新たなＺ値に更新する。
【００４７】
またαブレンディング処理は、α値（Ａ値）に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
【００４８】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2
一方、加算αブレンディングの場合には下式の処理を行う。
【００４９】
ＲQ＝Ｒ1＋α×Ｒ2
ＧQ＝Ｇ1＋α×Ｇ2
ＢQ＝Ｂ1＋α×Ｂ2
また、減算αブレンディングの場合には下式の処理を行う。
【００５０】
ＲQ＝Ｒ1−α×Ｒ2
ＧQ＝Ｇ1−α×Ｇ2
ＢQ＝Ｂ1−α×Ｂ2
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファ１７２（フレームバッファ）に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画バッファ１７２に描画すべき画像のＲＧＢ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより得られる画像のＲＧＢ成分である。なおα値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度（透明度、不透明度と等価）情報、マスク情報、或いはバンプ情報などとして使用できる。
【００５１】
描画部１２０は、グレア源描画部１２２、グレア補正画像生成部１２４、ぼかし処理部１２５、グレア表現画像生成部１２６を含む。なおこれらの一部を省略する構成としてもよい。
【００５２】
グレア源描画部１２２は、３次元情報記憶部１７１に記憶されるグレア源の３次元情報に基づいてグレア源の描画処理を行う。具体的には、Ｚバッファ１７６には、元画像の生成の際に元画像のＺ値が格納されている。そしてグレア源描画部１２２は、Ｚバッファ１７６に格納されている元画像のＺ値を参照して（Ｚテストを有効にして）、Ｚバッファ法による隠面消去を行いながら、グレア源の描画処理を行って、グレア源画像を生成する。このようにすれば、グレア源のうち、仮想カメラから見て元画像の被グレアオブジェクトにより隠れている部分を適正に隠面消去できる。
【００５３】
例えばグレア源が球形状として設定される場合には、グレア源描画部１２２は、仮想カメラから見て球の中心座標よりも手前側の位置（例えば球に接する位置）に配置される円板ビルボードオブジェクトを描画して、グレア源画像を生成する。ここでビルボードオブジェクトは、その面が仮想カメラに常に正対するように配置されるオブジェクトである。またグレア源が円板形状として設定される場合には、中心座標の位置に配置され、法線ベクトルにより設定される方向を向く、円板オブジェクトを描画して、グレア源画像を生成する。またグレア源が複数の頂点で構成されるオブジェクト（トライアングルストリップ、トライアングルファン等）として設定される場合には、これらの複数の頂点座標の頂点で構成されるオブジェクトを描画することで、グレア源画像を生成する。
【００５４】
グレア補正画像生成部１２４はグレア補正画像の生成処理を行う。具体的には、描画条件を、グレア補正オブジェクト（グレア補正プリミティブ面）のＺ値の方が元画像のＺ値（奥行き値）よりも視点（仮想カメラ）から見て遠いＺ値に相当する場合に描画を行うという条件に設定する。そしてＺバッファに格納されている元画像のＺ値を参照しながら、グレア補正オブジェクトを描画する。即ち参照された元画像のＺ値（元画像の各ピクセルのＺ値）とグレア補正オブジェクトのＺ値（グレア補正オブジェクトの代表Ｚ値や各ピクセルのＺ値）とを比較しながら、上記描画条件でグレア補正オブジェクト（グレア補正オブジェクトの各ピクセルの色）を描画して、グレア補正画像を生成する。
【００５５】
視点から遠くなるほどＺ値が小さくなる設定の場合に、このような描画を実現するには、Ｚテストのless（レス）条件を用いる。Ｚテストのless条件では、グレア補正オブジェクトの描画領域（描画ピクセル）のうち、グレア補正オブジェクトのＺ値の方がＺバッファのＺ値よりも小さくなる領域（描画ピクセル）のみが描画される。なお、視点から遠くなるほどＺ値が大きくなる設定の場合には、グレア補正オブジェクトのＺ値の方がＺバッファのＺ値よりも大きくなる領域のみを描画すればよい。また、グレア補正オブジェクトを描画する際には、一般のＺバッファ法とは異なり、Ｚ値の更新は行わない。
【００５６】
ぼかし処理部１２５は、グレア源画像（ぼかし対象画像）のぼかし処理を行う。具体的には、領域サイズ決定部１１６により決定された領域サイズにより設定されるぼかし処理領域において、グレア源描画部１２２により生成されたグレア源画像のぼかし処理を行い、グレア源のぼかし画像（αプレーン、ぼかし情報）を生成する。なお、グレア源のぼかし画像は、１回のぼかし処理により生成してもよいし、複数回のぼかし処理を繰り返すことで生成してもよい。またぼかし処理は、例えばテクスチャ座標をシフトさせてバイリニア補間方式（テクセル補間方式）でテクスチャマッピングを行う手法で実現できるが、ビデオフィルタ等を用いたその他の手法で実現してもよい。
【００５７】
グレア表現画像生成部１２６はグレア表現画像の生成処理を行う。具体的には、元画像と、グレア源画像のぼかし画像（αプレーン、ぼかし情報）とに基づいて、グレア表現画像を生成する。即ち被グレアオブジェクトの輪郭が、グレアの光により浸食されてぼけて見えるグレア表現画像を生成する。更に具体的には、元画像と、グレア源画像のぼかし画像と、グレア補正画像とに基づいて、補正されたグレア効果が元画像に表現されたグレア表現画像を生成する。即ちグレアのコントラストが表現されたグレア表現画像を生成する。
【００５８】
なおグレア表現画像生成部１２６は、所与の変換テーブル（例えばインデックスカラー・テクスチャマッピング用のルックアップテーブル等）を用いてぼかし画像（α値）の変換処理を行い、元画像と、変換処理後のぼかし画像（α値）とに基づいて、グレア表現画像を生成することもできる。
【００５９】
またグレア源描画部１２２がα値によるグレア源の描画処理を行った場合には（描画バッファ１７２のαプレーンにグレア源を描画した場合には）、描画されたグレア源画像のα値に対してぼかし処理を行って、ぼかし処理が施されたα値を生成するようにする。そしてグレア表現画像生成部１２６が、ぼかし処理が施されたα値（αプレーン）に基づいて、元画像とグレア色（グレアの画像情報）とのαブレンディング処理を行って、グレア表現画像を生成することができる。
【００６０】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６１】
なお、本実施形態の画像生成システムは、１人のプレイヤのみがプレイできるシングルプレイヤモード専用のシステムにしてもよいし、複数のプレイヤがプレイできるマルチプレイヤモードも備えるシステムにしてもよい。また複数のプレイヤがプレイする場合に、これらの複数のプレイヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６２】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００６３】
２．１  グレア表現画像の生成
本実施形態ではグレア表現画像の生成のためのグレア処理を、ポスト処理で行う。即ち、全てのオブジェクト（例えば被グレアオブジェクト、グレア源等）を描画した後に、グレア処理を行う。具体的には、オブジェクトに対してジオメトリ処理（透視変換等の座標変換処理）を施して、ジオメトリ処理後のオブジェクト（ポリゴン）をフレームバッファ（広義には描画領域、描画バッファ）に描画（レンダリング）することで、元画像を生成し、この元画像に対してグレア処理を行う。従って、グレア処理の開始時点においては、被グレアオブジェクトを含むオブジェクト（元画像）のＺ値（奥行き情報）が、既にＺバッファに格納されている状態になっている。
【００６４】
図２は、本実施形態のグレア処理の概要を示すフローチャートである。
【００６５】
まず、グレア源の３次元情報（位置・形状情報）を３次元情報記憶部から読み出す（ステップＳ１）。例えばグレア源が球である場合には、球の中心座標と半径を３次元情報として読み出す。
【００６６】
次に、ステップＳ１で読み出されたグレア源の３次元情報に基づいて、グレア補正オブジェクトの位置・形状を決定する（ステップＳ２）。具体的には例えば、投影面と平行な平面状のグレア補正オブジェクト（代表Ｚ値を有するグレア補正オブジェクト）が、グレア源の位置（中心位置などの代表位置）に配置されるようにする。或いは、グレア源と同一平面に設定される平面状のグレア補正オブジェクトが、グレア源の位置に配置されるようにする。或いは、グレア源に設定される近似平面と同一平面に設定される平面状のグレア補正オブジェクトが、グレア源の位置に配置されるようにする。
【００６７】
次にＺテストをless条件に設定する（広義には、描画条件を、グレア補正オブジェクトのＺ値の方が元画像のＺ値よりも視点から見て遠いＺ値である場合に描画を行うという条件に設定する）。そしてＺバッファに格納されているＺ値（奥行き値）を参照しながらグレア補正オブジェクトを描画し、グレア補正画像を生成する（ステップＳ３）。
【００６８】
次に、ステップＳ１で読み出されたグレア源の３次元情報に基づいて、ぼかし処理領域の領域サイズを決定する（ステップＳ４）。具体的にはスクリーン座標系におけるグレア源の座標を求め、画面上の処理領域の位置とサイズを決定する。そしてＺテストを通常のgreater条件に設定して、Ｚバッファに格納されている元画像のＺ値を参照しながら、グレア源を描画し、グレア源画像を生成する（ステップＳ５）。
【００６９】
次に、ステップＳ４で決定された領域サイズにより設定（確保）されるぼかし処理領域において、グレア源画像のぼかし処理を行って、ぼかし画像を生成する（ステップＳ６）。そして元画像と、グレア源画像のぼかし画像と、グレア補正画像とに基づいて、補正されたグレア効果が元画像に施されたグレア表現画像を生成する（ステップＳ７）。
【００７０】
図３に元画像の例を示す。ＯＢは被グレアオブジェクトであり、ＧＳはグレア源である。このゲームシーンは、被グレアオブジェクトＯＢであるキャラクタが部屋に立っており、部屋の壁に空いた穴の領域であるグレア源ＧＳから、光が漏れているシーンである。図３の元画像では、グレア源ＧＳのうち、被グレアオブジェクトＯＢにより隠れている部分が隠面消去されている。
【００７１】
図４にグレア表現画像の例を示す。図４はグレアのコントラスト表現の補正処理が行われていないグレア表現画像の例である。図４ではＡ１に示すように、グレア源ＧＳからの光により、被グレアオブジェクトＯＢの輪郭が浸食されてぼやけて見える画像が生成されている。即ちグレア源ＧＳからの光が被グレアオブジェクトＯＢの手前側に回り込んでいるかのように見えるグレア表現画像が生成されている。
【００７２】
なお図２の手法とは異なるグレア処理手法として、画面上の明るい領域をグレア源と見なして処理する自動抽出方式が考えられる。図２のグレア処理手法は、この自動抽出方式と比べて次のような利点がある。
【００７３】
第１に、図２の手法は処理が軽い。即ち自動抽出方式では全画面が処理対象となるが、図２の手法では画面上の限定された領域のみが処理対象となるので（ステップＳ４参照）、処理負荷を軽くできる。第２に、図２の手法ではグレア源を誤ることがない。即ち自動抽出方式では、グレア源になって欲しくない箇所がグレア源として処理されることがある。これに対して図２の手法では、３次元情報に基づいてグレア源の位置等を明示的に指定するので、このような誤動作を生じない。
【００７４】
２．２  グレアのコントラスト表現
人間の眼は、明るい場所を見る時には眼の感度が低下し、暗い場所を見る時には眼の感度が上昇する。従って、図４の被グレアオブジェクトＯＢの各部分のうち、明るい場所にあるＡ１の部分の色を、暗い場所にあるＡ２の部分の色に比べて黒っぽくすれば、画像のリアリティを更に向上できる。
【００７５】
本実施形態では、このようなグレアの黒みの表現であるコントラストを、図２の処理により実現している。
【００７６】
図５に、グレアのコントラスト表現の補正処理が施されたグレア表現画像の例を示す。図５では、グレア源ＧＳよりも手前側にある被グレアオブジェクトＯＢのうち、グレアが掛かる部分であるＢ１の部分の色が、Ｂ２の部分の色に比べて、より黒っぽくなっており、グレアのコントラスト表現に成功している。
【００７７】
以上のようなグレアのコントラスト表現を実現する第１、第２の方式について、以下説明する。
【００７８】
（１）第１の方式
まずＺテスト（描画条件）をless条件に設定する。そして図６に示すように、投影面ＰＰに平行な平面状のグレア補正オブジェクトＯＢＣを描画する。別の言い方をすれば、一様な代表Ｚ値を有するグレア補正オブジェクトＯＢＣを描画する。この代表Ｚ値としては、グレア源の代表位置（中心位置等）のＺ値や、グレア源を構成する頂点のＺ値の平均値等を使用できる。そしてこのようなグレア補正オブジェクトＯＢＣを描画した後に、グレア源を描画する。
【００７９】
この第１の方式は、例えば次の条件を全て満たす場合に有効である。
(1-1)グレア源及び被グレアオブジェクトが平面状である。
(1-2)グレア源及び被グレアオブジェクトが投影面にほぼ平行である。
【００８０】
例えば図７（Ａ）に示すようにグレア源ＧＳと被グレアオブジェクトＯＢ１、ＯＢ２が配置されていたとする。この場合には、第１の方式によれば図７（Ｂ）に示すようにグレア補正オブジェクトＯＢＣが配置され、Ｚテストをless条件に設定してグレア補正オブジェクトＯＢＣが描画される。従って、図７（Ｂ）のＣ１に示すように視点から見て手前側にある被グレアオブジェクトＯＢ１のグレア対象領域にはコントラストが描画される一方で、Ｃ２に示すように視点から見て奥側にある被グレアオブジェクトＯＢ２のグレア対象領域にはコントラストが描画されないようになる。これにより、図５に示すようなグレアのコントラスト表現を実現できる。
【００８１】
（２）第２の方式
上述の第１の方式では、上記の条件（1-1)、(1-2)を満たさない場合には、問題が発生するおそれがある。例えばグレア源ＧＳと被グレアオブジェクトＯＢ１、ＯＢ２が図８（Ａ）に示すように配置されていたとする。これは上記の条件(1-2)を満たさない配置である。この場合には、本来ならば図８（Ｂ）のＤ１に示すようにグレアのコントラストが描画されるべきである。ところが、第１の方式では、図８（Ｃ）のＤ２に示すようにコントラストが描画されてしまう。
【００８２】
即ち第１の方式では、グレア源ＧＳが投影面に平行ではない場合にも、グレア補正オブジェクトＯＢＣは投影面に平行になってしまう。そして被グレアオブジェクトＯＢ１、ＯＢ２のＺ値（各ピクセルのＺ値）と、グレア補正オブジェクトＯＢＣの代表Ｚ値（グレア源ＧＳの中心位置のＺ値）とが比較されて、Ｚテストのless条件でＯＢＣの描画処理が行われる。このため、被グレアオブジェクトＯＢ１の方は視点から見てＯＢＣの奥側にあると判断され、被グレアオブジェクトＯＢ２の方は視点から見てＯＢＣの手前側にあると判断されてしまう。この結果、図８（Ｃ）のＤ２に示すように被グレアオブジェクトＯＢ２側にコントラストが描画されてしまう。
【００８３】
たとえ、グレア補正オブジェクトＯＢＣの代表Ｚ値として、他のＺ値（ＧＳの中心位置のＺ値以外のＺ値）を使用したとしても、ＯＢＣのＺ値が一様である限りは（ＯＢＣが投影面に平行である限りは）、図８（Ｂ）のＤ１に示すような正しいコントラスト描画にはならない。
【００８４】
そこで第２の方式では、Ｚテストをless条件に設定して、グレア源ＧＳと同一平面に設定されるグレア補正オブジェクトＯＢＣを描画し、グレア補正画像を生成する。具体的には例えば図９（Ａ）に示すようにグレア源ＧＳが平面状である場合には、この平面状のグレア源ＧＳと同一平面に設定される平面状のグレア補正オブジェクトＯＢＣを描画する。このようにすれば、Ｚテストのless条件でグレア補正オブジェクトＯＢＣを描画した場合に、図９（Ａ）のＤ３に示すような正しいコントラスト描画を実現できる。
【００８５】
なおグレア源ＧＳが非平面状である場合には、図９（Ｂ）に示すように、非平面状のグレア源ＧＳに対して設定される近似平面と同一平面に設定される平面状のグレア補正オブジェクトＯＢＣを描画して、グレア補正画像を生成すればよい。この近似平面は、例えばグレア源ＧＳの頂点位置等に基づいて求めることができる。
【００８６】
第２の方式に使用されるグレア補正オブジェクトＯＢＣは例えば図１０（Ａ）に示す手法等により得ることができる。図１０（Ａ）では、グレア源ＧＳの頂点を、多角形の内側か外側に向けてずらした位置に、グレア補正オブジェクトＯＢＣの頂点を設定している。このようにすれば、グレア源ＧＳと同一平面に配置されるグレア補正オブジェクトＯＢＣを得ることができる。またグレア源ＧＳが乗る平面の式を求め、この平面上に配置され、グレア源ＧＳを内包する多角形等を、グレア補正オブジェクトＯＢＣとして設定してもよい。このようにすれば例えば図１０（Ｂ）に示すように、グレア源ＧＳの頂点数よりも少ない頂点数のグレア補正オブジェクトＯＢＣを得ることができ、描画処理の負荷を軽減できる。
【００８７】
なお第２の方式によれば図８（Ａ）のような場合にも正しいコントラスト描画を実現できるが、あらゆる場合に正しい描画ができるわけではなく、図１１（Ａ）のような場合には問題を起こす。即ち図１１（Ａ）の場合では、本来は図１１（Ｂ）のＥ１に示すようにコントラストが描画されるべきであるが、第２の方式では図１１（Ｃ）のＥ２、Ｅ３に示すようにコントラストが描画されてしまう。
【００８８】
また第２の方式では、グレア源ＧＳの平面と投影面とのなす角度が直角に近い場合に、グレア補正オブジェクトＯＢＣを構成する頂点のＺ値が過大になったり、過小になるなどの問題を起こす。
【００８９】
従って第２の方式は、例えば次の条件を全て満たす場合に有効になる。
(2-1)グレア源及び被グレアオブジェクトが平面状である。
(2-2)グレア源と被グレアオブジェクトとがほぼ平行である。
(2-3)グレア源の平面と投影面とのなす角度が直角に近くない。
【００９０】
なお、第１、第２の方式におけるグレア源の描画処理は、図２のステップＳ４〜Ｓ７に示す手法で実現してもよいし、特開２００２−４２１５６号公報や特開２００３−８５５７８号公報等に開示される手法で実現してもよい。例えば特開２００２−４２１５６号公報の手法では、被グレアオブジェクトと視点との間にグレア源（光源の眩しさを擬似的に表現するための光源エフェクト）を描画する。具体的には、グレア源の位置に対応した投影面上の位置（グレア源と視点とを結ぶ線分と投影面との交点位置）にグレア源を描画して、グレア表現画像を生成する。また特開２００３−８５５７８号公報の手法では、元画像から、グレア（グロー）対象画像を抽出し、抽出されたグレア対象画像のぼかし画像を生成する。具体的には、グレア対象画像を縮小し、この縮小画像にぼかし処理を施し、その後、元のサイズに拡大してぼかし画像を生成する。そして、元画像とぼかし画像を合成することでグレア表現画像を生成する。
【００９１】
また第１、第２の方式で使用されるグレア補正オブジェクトＯＢＣは、１枚又は複数枚のポリゴン、スプライト、或いは自由曲面等により構成でき、そのサイズや形状は、グレア源のオブジェクトと類似したものとすることができる。またグレア補正オブジェクトＯＢＣの色と描画方法は、グレア色や白色等による減算描画（減算αブレンディング）や、黒色等によるブレンド描画（通常αブレンディング）などにより実現できる。またグレア補正オブジェクトＯＢＣにテクスチャを貼り付けることにより、テクスチャの色やα値をＯＢＣの色やα値として使うこともできる。この場合にＯＢＣに貼り付けるテクスチャとしては、グレア源画像をぼかした画像を使うことができる。
【００９２】
２．３  less条件のＺテスト
次に、通常のgreater条件のＺテスト機能しか備えていないシステムにおいてless条件のＺテストを実現する方法について説明する。なお以下では、Ｚバッファのピクセルのビット数が２４ビットである場合に限定して説明を行う。
【００９３】
（１）Ｚバッファのビット反転
以下の方法によりＺバッファのビットを反転する。Ｚバッファをフレームバッファとして扱い、Ｚバッファのピクセルの２４ビットを、フレームバッファのピクセルのＲ＝８ビット、Ｇ＝８ビット、Ｂ＝８ビットを並べたものと見なす。そしてＣｄをデスティネーションカラー(既に描画バッファに描画されている色)、Ｃｓをソースカラー(これから描画バッファに描画するオブジェクトの色)とした場合に、Ｃｓ−Ｃｄが描画されるようにαブレンディングを設定する。そしてＺバッファ全体を覆う白色（Ｒ、Ｇ、Ｂ）＝(２５５、２５５、２５５）のスプライトをαブレンディングで描画する。
【００９４】
このようにすれば、デスティネーションカラーＣｄを（Ｒ、Ｇ、Ｂ）＝（Ｒｄ、Ｇｄ、Ｂｄ）とした場合に、描画結果の色は（Ｒ、Ｇ、Ｂ）＝（２５５−Ｒｄ、２５５−Ｇｄ、２５５−Ｂｄ）になる。この描画結果は、各々、Ｒｄ、Ｇｄ、Ｂｄをビット反転させたものに相当する。これにより、Ｚバッファのピクセルの２４ビットをビット反転したものを得ることができる。
【００９５】
（２）オブジェクトの描画
次に、以下のようにしてless条件のＺテストで描画したいオブジェクト（グレア補正オブジェクト）を描画する。
【００９６】
オブジェクト描画に使用するＺ値は、通常のＺ値をビット反転させたものにする。そしてＺテストをgreater条件に設定して、オブジェクトを描画する。この場合に、オブジェクトのＺ値とＺバッファのＺ値は共にビット反転しているため、通常の場合とは大小関係が逆になる。従って、greater条件のＺテストを行うことで、less条件のＺテストと同じ効果を得ることができる。
【００９７】
（３）Ｚバッファのビット反転
上記（１）と同様の方法で、Ｚバッファのビットを反転させて、Ｚバッファの状態を元の状態に戻す。
【００９８】
なお，上記（２）のオブジェクトの描画範囲が前もって分かっている場合には、上記（１）、（３）の処理は、Ｚバッファの全領域で行わずに、上記（２）のオブジェクトの描画範囲にのみ限定して行うことも可能である。
【００９９】
２．４  グレア源の形状
本実施形態では、グレア源の形状として、球、円板、トライアングルストリップ（triangle strip）、トライアングルファン（triangle fan）の４種類の設定が可能になっている。但しグレア源の形状はこれらの４種類に限定されず、種々の変形実施が可能である。
【０１００】
図１２に、これらの４種類のグレア源の３次元情報（３次元位置・形状指定パラメータ）とグレア処理における描画方法（図２のステップＳ５）の例を示す。
【０１０１】
例えば球のグレア源では、図２のステップＳ１の３次元情報は中心座標（ワールド座標系）と半径とすることができる。そして図２のステップＳ５のグレア源の描画は、球の手前側（仮想カメラ側）に接する円板ビルボードオブジェクトをトライアングルファンを使って描画することで実現する。
【０１０２】
例えば図１３（Ａ）では、太陽や月等を表す球のグレア源ＧＳが天球ＣＳに配置されている。この場合には、球のグレア源ＧＳの手前側に接する円板ビルボードオブジェクトＢＯＢを使ってグレア源の描画を行い、仮想カメラＶＣから見えるグレア源画像を生成する。即ち仮想カメラＶＣは天球ＣＳの中心点ＣＰに位置するとは限らない。従って、円板ビルボードオブジェクトＢＯＢをグレア源ＧＳの中心座標ＣＣに配置すると、ビルボードオブジェクトＢＯＢが天球ＣＳにめり込んで、グレア源画像が欠けて見える事態が生じる可能性がある。この点、図１３（Ａ）のように円板ビルボードオブジェクトＢＯＢを配置すれば、このような事態を防止できる。
【０１０３】
なお図１３（Ａ）では球のグレア源ＧＳに接する位置に円板ビルボードオブジェクトＢＯＢを配置しているが、円板ビルボードオブジェクトＢＯＢの配置位置は、グレア源ＧＳの中心座標ＣＣよりも仮想カメラＶＣから見て少なくとも手前側（手前側であり且つ他のオブジェクトよりも奥側）であればよい。
【０１０４】
円板ビルボードオブジェクトＢＯＢの大きさは、図１３（Ｂ）に示すように、仮想カメラＶＣの位置からグレア源ＧＳへの接線ＴＧ１を求めることで設定できる。このようにすれば、円板ビルボードオブジェクトＢＯＢの半径ＲＢを、グレア源ＧＳの半径Ｒに応じた適正な大きさに設定できる。
【０１０５】
また図１３（Ｂ）に示すように円板ビルボードオブジェクトＢＯＢは、その面が仮想カメラＶＣに正対するビルボード（その面がＶＣとＣＣを結ぶ直線に垂直なビルボード）として配置される。なお円板ビルボードオブジェクトＢＯＢとしては図１３（Ｃ）に示すようなトランアングルファンを用いることができる。
【０１０６】
図１４（Ａ）のような車のヘッドライトのグレア効果を表現するためには、円板形状のグレア源ＧＳを用いることができる。この場合にはグレア源ＧＳの３次元情報として、円板の面の向きを表す法線ベクトルＮが用いられる。そしてグレア源ＧＳの中心座標の位置に、法線ベクトルＮにより面の向きが設定される、円板オブジェクトをオブジェクト空間（ワールド座標系）に配置して描画することで、仮想カメラＶＣから見えるグレア源画像を生成できる。このようにすれば、仮想カメラＶＣとグレア源ＧＳとの位置関係により、グレア源画像が円から楕円に変化するようになり、リアルな画像表現を実現できる。
【０１０７】
図１４（Ｂ）はトライアングルストリップのグレア源の例であり、図１３（Ｃ）や図１４（Ｃ）はトライアングルファンのグレア源の例である。これらのトライアングルストリップ、トライアングルファンは、複数の頂点（Ｖ１〜Ｖ２０、Ｖ１〜Ｖ１１、Ｖ１〜Ｖ１２）で構成されるオブジェクトであり、これらの頂点の座標（ワールド座標系での座標）がグレア源の３次元情報となる。そして、これらの頂点により構成されるオブジェクトを例えばオブジェクト空間に配置して描画することで、仮想カメラから見えるグレア源画像を生成できる。
【０１０８】
なお図２のステップＳ４の領域サイズの決定は、グレア源の３次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成することで実現できる。例えば図１５（Ａ）（Ｂ）にバウンディングボックスＢＢ（バウンディングエリア）の例を示す。これらのバウンディングボックスＢＢは図１５（Ａ）（Ｂ）に示すように、グレア源ＧＳのスクリーン座標系での頂点のＸ座標、Ｙ座標を求め、これらの頂点のＸ座標の最小値ＸＭＩＮ、最大値ＸＭＡＸと、Ｙ座標の最小値ＹＭＩＮ、最大値ＹＭＡＸを求めることで生成できる。
【０１０９】
３．ハードウェア構成
図１６に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１１０】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１１１】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１１２】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１１３】
ＲＯＭ９５０にはシステムプログラムなどが格納されている。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されている。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されているＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１１４】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されているプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１１５】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納されている。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１１６】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（描画バッファ、描画条件等）と共に記載された用語（フレームバッファ・ワークバッファ、less条件のＺテスト等）は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【０１１７】
また、グレア補正オブジェクトの描画手法、グレア源の描画手法、グレア源の種類も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば実施形態で説明した第１、第２の方式と異なる方式でグレア補正オブジェクトを描画することも可能である。またグレア補正オブジェクトの配置位置や形状も本実施形態で説明したものに限定されない。
【０１１８】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１１９】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】本実施形態の手法の処理のフローチャート。
【図３】元画像の例。
【図４】コントラスト表現の補正処理が行われていないグレア表現画像の例。
【図５】コントラスト表現の補正処理が行われているグレア表現画像の例。
【図６】本実施形態の第１の方式の説明図。
【図７】図７（Ａ）（Ｂ）は本実施形態の第１の方式の説明図。
【図８】図８（Ａ）（Ｂ）（Ｃ）は第１の方式で起こる問題の説明図。
【図９】図９（Ａ）（Ｂ）は本実施形態の第２の方式の説明図。
【図１０】図１０（Ａ）（Ｂ）はグレア補正オブジェクトの説明図。
【図１１】図１１（Ａ）（Ｂ）（Ｃ）は第２の方式で起こる問題の説明図。
【図１２】グレア源の３次元情報と描画方法の説明図。
【図１３】図１３（Ａ）（Ｂ）（Ｃ）は球形状のグレア源の説明図。
【図１４】図１４（Ａ）（Ｂ）（Ｃ）は円板形状、トライアングルストリップ、トライアングルファンのグレア源の説明図。
【図１５】図１５（Ａ）（Ｂ）はバウンディングボックスの説明図。
【図１６】ハードウェア構成例。
【符号の説明】
【０１２０】
ＧＳ  グレア源、ＯＢ、ＯＢ１、ＯＢ２  被グレアオブジェクト、
ＯＢＣ  グレア補正オブジェクト、ＣＣ  中心座標、ＶＣ  仮想カメラ、
ＣＳ  天球、ＣＰ  中心点、ＢＯＢ  ビルボードオブジェクト、Ｖ１〜Ｖ２０  頂点、
ＢＢ  バウンディングボックス、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  領域サイズ決定部、１２０  描画部、
１２２  グレア源描画部、１２４  グレア補正画像生成部、１２５  ぼかし処理部、
１２６  グレア表現画像生成部、１３０  音生成部、１６０  操作部、１７０  記憶部、１７１  ３次元情報記憶部、１７２  描画バッファ、１７４  テクスチャ記憶部、
１７６  Ｚバッファ、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2006244011.tif 000003
【図２】
2006244011.tif 000004
【図６】
2006244011.tif 000005
【図７】
2006244011.tif 000006
【図８】
2006244011.tif 000007
【図９】
2006244011.tif 000008
【図１０】
2006244011.tif 000009
【図１１】
2006244011.tif 000010
【図１２】
2006244011.tif 000011
【図１３】
2006244011.tif 000012
【図１４】
2006244011.tif 000013
【図１５】
2006244011.tif 000014
【図１６】
2006244011.tif 000015
【図３】
2006244011.tif 000016
【図４】
2006244011.tif 000017
【図５】
2006244011.tif 000018