(57)【要約】【課題】コンピュータグラフィックスにおいて、簡便な方法でリアルにレンズフレア表現を実現する。【解決手段】ゲーム画面描画用のフレームバッファのＲＧＢチャンネルに、３次元仮想空間内に配置された仮想カメラから撮影された画像を描画した後、アルファチャンネルに同心円状のフィルタ画像Ｐ１を描画する。次に、別途、画面中の光源Ｌの位置と画面中央位置とを結ぶ直線に沿って、光源Ｌを表現する光源テクスチャと、レンズフレアの表現物の元になる明斑Ｍ（Ｍ１〜Ｍ５）の画像とを所定の規則に則って配置した明斑画像Ｐ２を生成する。そして、アルファチャンネルのアルファ値に基づいて、明斑画像Ｐ２をアルファ合成でフィルタ処理して色情報を表出させ、処理結果をＲＧＢチャンネルに加算合成して描画する。【選択図】図２
2005215974.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、３次元仮想空間をカメラ座標系に投影変換処理することで仮想カメラが撮影する前記３次元仮想空間の画像を生成させるためのプログラムであって、
前記３次元仮想空間に光源を設定する光源設定手段、
前記カメラ座標系上の前記光源の位置に基づいて明斑の画像群を配置して明斑画像を生成する明斑画像生成手段、
前記明斑画像生成手段により生成された明斑画像に、所定のフィルタ処理を施すことで当該明斑画像の部分的な色情報を表出させるフィルタ手段、
前記フィルタ手段により色情報が表出された明斑画像を前記３次元仮想空間の画像と合成する合成手段、
として前記コンピュータを機能させ、前記合成手段の合成により前記仮想カメラのレンズフレアを表現した画像を生成することを特徴とするプログラム。
【請求項２】
前記明斑画像生成手段が、前記カメラ座標系上の前記光源の位置と前記仮想カメラの視界中央位置とを結ぶ直線に沿って明斑の画像群を配置し、且つ当該カメラ座標系上の当該光源の位置と当該視界中央位置との距離に応じて配置間隔を変更して明斑画像を生成するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記フィルタ手段が、多角形体又は環状体が複数同心状に描かれたフィルタ画像で前記明斑画像をフィルタ処理することで、フィルタ画像に描かれた形体の輪郭に沿った方向に前記明斑画像の色情報を表出させるように前記コンピュータを機能させるための請求項１又は２に記載のプログラム。
【請求項４】
前記フィルタ手段が、前記カメラ座標系上の前記光源の位置に応じて前記同心の位置を変化させて前記フィルタ処理を行うように前記コンピュータを機能させるための請求項３に記載のプログラム。
【請求項５】
前記フィルタ手段が、前記光源の明るさに応じて、表出させる前記明斑画像の色情報の程度を変更する程度変更手段を有するように前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
請求項１〜５の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項７】
３次元仮想空間をカメラ座標系に投影変換処理することで仮想カメラが撮影する前記３次元仮想空間の画像を生成して所与のゲームを実行するためのゲーム装置であって、
前記３次元仮想空間に光源を設定する光源設定手段と、
前記カメラ座標系上の前記光源の位置に基づいて明斑の画像群を配置して明斑画像を生成する明斑画像生成手段と、
前記明斑画像生成手段により生成された明斑画像に、所定のフィルタ処理を施すことで当該明斑画像の部分的な色情報を表出させるフィルタ手段と、
前記フィルタ手段により色情報が表出された明斑画像を前記３次元仮想空間の画像と合成する合成手段と、
を備え、前記合成手段の合成により前記仮想カメラのレンズフレアを表現した画像を生成することを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、仮想カメラのレンズフレアを表現した画像を生成する機能を実現させるためのプログラム等に関する。
【背景技術】
【０００２】
コンピュータグラフィックスにおける重要な演出要素の一つとして、レンズフレアの表現が有る。レンズフレアとは、レンズに強い光が入射する条件においてレンズの鏡胴内で入射光が反射を繰り返すことによって生じるレンズ形状や絞り形状の幻影が映る現象である。例えば、晴天を背景にビルを見上げるような撮影条件の場合、太陽から断続的にリング形状や円、六角形などの明るい幻影が連なって映る。
コンピュータグラフィックスを製作する場合、迫力やリアリティをより高める手段として、或いは状況を分かり易く示す手段としてこのレンズフレアを画面に加えることが多い。
【０００３】
コンピュータグラフィックスによってレンズフレアの表現を実現する技術としては、例えば、３次元仮想空間に配置された仮想カメラの視線ベクトルと、仮想カメラの位置と光源の位置を結ぶベクトルとの内積が所定の閾値を超える場合に、この内積値に比例した透明度でフレアを表現するリング状のポリゴンモデルを描画するものが有る（例えば、特許文献１参照。）。
【０００４】
また、円形の光源本体の周囲に複数の光芒のオブジェクトを従属させて配し、この光源本体と光芒とからなるオブジェクト集合体に、光源のテクスチャをマッピングして表現するものも有る（例えば、特許文献２参照。）。具体的には、先ず光源本体部分の奥行き情報から光源本体の見える部分を求める。そして、この見える部分とこれに従属する光芒のオブジェクト以外の非表示の部分に対応するテクスチャ情報のαチャンネルに非表示を設定することで、木漏れ日のように光源が見え隠れするような状況でも、位置関係の破綻が無いようにレンズフレアを表現可能にしている。
【特許文献１】特許第３４１５４１６号公報
【特許文献２】特開２００１−８４３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のような従来の技術を用いることによって、レンズフレアをリアルに表現することができる。しかし、多くの演算処理を要するために高速処理が要求されるゲーム機で実用するには大きな負担となっていた。そのため、例えば、フライトシミュレーションゲームのように太陽が画面に頻繁に映るビデオゲームでは、処理速度の問題から常時従来の方法でレンズフレアを表現するといったことは難しかった。
【０００６】
本発明は、こうした現状を鑑みてなされたものであり、その目的とするところはコンピュータグラフィックスにおいて、簡便な方法でリアルにレンズフレア表現を実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、第１の発明は、コンピュータに、３次元仮想空間をカメラ座標系に投影変換処理することで仮想カメラが撮影する前記３次元仮想空間の画像を生成させるためのプログラムであって、前記３次元仮想空間に光源を設定する光源設定手段（例えば、図３のゲーム演算部２２、ゲームステージ情報７２２）、前記カメラ座標系上の前記光源の位置に基づいて明斑の画像群を配置して明斑画像（例えば、図２の明斑画像Ｐ２）を生成する明斑画像生成手段（例えば、図３のレンズフレア合成部２５、図６のステップＳ１０〜Ｓ１２）、前記明斑画像生成手段により生成された明斑画像に、所定のフィルタ処理を施すことで当該明斑画像の部分的な色情報を表出させるフィルタ手段（例えば、図３のレンズフレア合成部２５、図６のステップＳ４〜Ｓ６、Ｓ１４）、前記フィルタ手段により色情報が表出された明斑画像を前記３次元仮想空間の画像と合成する合成手段（例えば、図３のレンズフレア合成部２５、図６のステップＳ１６）、として前記コンピュータを機能させ、前記合成手段の合成により前記仮想カメラのレンズフレアを表現した画像を生成することを特徴とする。
【０００８】
また、第７の発明は、３次元仮想空間をカメラ座標系に投影変換処理することで仮想カメラが撮影する前記３次元仮想空間の画像を生成して所与のゲームを実行するためのゲーム装置（例えば、図１の家庭用ゲーム装置１２００）であって、前記３次元仮想空間に光源を設定する光源設定手段（例えば、図１の制御ユニット１２１１、図３のゲーム演算部２２、ゲームステージ情報７２２）と、前記カメラ座標系上の前記光源の位置に基づいて明斑の画像群を配置して明斑画像を生成する明斑画像生成手段（例えば、図１の制御ユニット１２１１、図３のレンズフレア合成部２５、図６のステップＳ１０〜Ｓ１２）と、前記明斑画像生成手段により生成された明斑画像に、所定のフィルタ処理を施すことで当該明斑画像の部分的な色情報を表出させるフィルタ手段（例えば、図１の制御ユニット１２１１、図３のレンズフレア合成部２５、図６のステップＳ４〜Ｓ６、Ｓ１４）と、前記フィルタ手段により色情報が表出された明斑画像を前記３次元仮想空間の画像と合成する合成手段（例えば、例えば、図１の制御ユニット１２１１、図３のレンズフレア合成部２５、図６のステップＳ１６）と、を備え、前記合成手段の合成により前記仮想カメラのレンズフレアを表現した画像を生成することを特徴とする。
【０００９】
第１又は第７の発明によれば、３次元仮想空間に設定した光源の位置に基づいて、フレアの元になる明斑の画像群を配置した明斑画像を生成し、この明斑画像に所定のフィルタ処理によって明斑画像の部分的な色情報のみを表出させ、３次元仮想空間の画像と合成することができる。レンズフレアを詳細に見ると、レンズの構造的を思わせる特徴的な形状（例えば、レンズの円形や絞りの多角形）の部分（例えば、輪郭に沿った部分）が特に明るい幻影となって写る場合が多い。したがって、明斑画像のうち部分的な色情報のみを表出させことで、簡単な方法でリアルにレンズフレアの表現を実現できる。例えば、所定方向に沿ったフィルタ処理によって、フレアの元になる明斑の画像の内、レンズの構造を思わせる所定方向に沿った部分（例えば、輪郭に沿った部分）を表出させるならば、簡便なフィルタ処理によって、特徴的な形状を成すリアルなレンズフレアを表現することができる。
【００１０】
第２の発明は、第１の発明のプログラムであって、前記明斑画像生成手段が、前記カメラ座標系上の前記光源の位置と前記仮想カメラの視界中央位置とを結ぶ直線に沿って明斑の画像群を配置し、且つ当該カメラ座標系上の当該光源の位置と当該視界中央位置との距離に応じて配置間隔を変更して明斑画像を生成するように前記コンピュータを機能させるプログラムである。
【００１１】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、カメラに映る光源の位置から仮想カメラの視界中央位置、すなわち画面中央とを結ぶ直線に沿って明斑の画像を配置するとともに、当該光源の画面中央との距離に応じて配置間隔を変更することができる。したがって、光源から連なるようにして発生し、光源の位置に応じてその間隔が規則的に変化するレンズフレアの特徴を簡便に表現することができる。
【００１２】
第３の発明は、第１又は２の発明のプログラムであって、前記フィルタ手段が、多角形体又は環状体が複数同心状に描かれたフィルタ画像（例えば、図２のフィルタ画像Ｐ１）で前記明斑画像をフィルタ処理することで、フィルタ画像に描かれた形体の輪郭に沿った方向に前記明斑画像の色情報を表出させるように前記コンピュータを機能させるプログラムである。
【００１３】
第３の発明によれば、第１又は２の発明と同様の効果を奏するとともに、多角形又は環状体が複数同心状に描かれた画像を基にフィルタ処理し、この画像に描かれた形状の輪郭に沿った方向に明斑画像の色情報を表出させることができる。しがたって、レンズの構造に起因する特徴的な形状でレンズフレアを表現することができる。
【００１４】
第４の発明は、第３の発明のプログラムであって、前記フィルタ手段が、前記カメラ座標系上の前記光源の位置に応じて前記同心の位置を変化させて前記フィルタ処理を行うように前記コンピュータを機能させることを特徴とするプログラムである。
【００１５】
例えば、実際のレンズフレアの場合、大きく弧を描くレンズフレアの位置は、光源が画面中央から離れた位置に映っているほど、画面中央からずれるように映る。
第４の発明によれば、第３の発明と同様の効果を奏するとともに、カメラに映る光源の位置に応じて明斑画像の色情報の表出位置を変化させることによって、光源位置の移動に伴うレンズの構造に起因するレンズフレアの規則的な位置変化をよりリアルに表現することができる。
【００１６】
第５の発明は、第１〜４の何れか一つの発明のプログラムであって、前記フィルタ手段が、前記光源の明るさに応じて、表出させる前記明斑画像の色情報の程度を変更する程度変更手段（例えば、図３のレンズフレア合成部２５、図６のステップＳ６、Ｓ１４）を有するように前記コンピュータを機能させるプログラムである。
【００１７】
第５の発明によれば、第１〜４の何れか一つの発明と同様の効果を奏するとともに、光源の明るさに応じて明斑画像の色情報の程度を変更することによって、レンズフレアの明るさを変化させることができる。
【００１８】
第６の発明は、第１〜５の何れか一つの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００１９】
ここで言う「情報記憶媒体」とは、コンピュータが情報を読み取り可能な、例えば、ＣＤ−ＲＯＭ、ＭＯ、メモリカード、ＤＶＤ、ハードディスク、ＩＣメモリなどであって、その接続形態は、装置に着脱自在であっても良いし、通信回線を介して装置に接続されるものであっても良くその形態は問わない。従って、第６の発明によれば、前記コンピュータに、第１〜５の発明の内、何れか一つの発明と同様の効果を発揮させることができる。
【発明の効果】
【００２０】
本発明によれば、３次元仮想空間に設定した光源の位置に基づいて、フレアの元になる明斑の画像群を配置した明斑画像を生成し、この明斑画像に所定方向に沿ったフィルタ処理を施すことができる。そして、このフィルタ処理によって明斑画像のうち当該所定方向に沿った部分の色情報を表出させ、３次元仮想空間の画像と合成することができる。すなわち、フレアの元になる明斑の画像の内、レンズの構造を思わせる所定方向に沿った部分を表出させるといった簡便なフィルタ処理によって、特徴的な形状を成すレンズフレアを表現することができる。
【００２１】
そして、カメラに映る光源の位置から仮想カメラの視界中央位置、すなわち画面中央とを結ぶ直線に沿って明斑の画像を配置するとともに、当該光源の画面中央との距離に応じて配置間隔を変更することによって、光源から連なるようにして発生し、光源の位置に応じてその間隔が規則的に変化するレンズフレアの特徴を簡便に表現することができる。
【００２２】
更に、多角形又は環状体が複数同心状に描かれた画像を基にフィルタ処理するならば、この画像に描かれた形状の輪郭に沿った方向に明斑画像の色情報を表出させることができるので、レンズの構造に起因する特徴的な形状でレンズフレアを表現することができる。
【００２３】
また、カメラに映る光源の位置に応じて明斑画像の色情報の表出位置を変化させることによって、光源位置の移動に伴うレンズの構造に起因するレンズフレアの規則的な位置変化をよりリアルに表現することができ、光源の明るさに応じて明斑画像の色情報の程度を変更するならば、レンズフレアの明るさを変化させることもできる。
【発明を実施するための最良の形態】
【００２４】
本発明を実施するための最良の形態として、家庭用ゲーム機においてフライトシミュレーションゲームを実行し、太陽光によるレンズフレアを表現する場合を例に挙げて説明する。尚、本実施形態で言う「レンズフレア」とは、レンズに強い光が入射する条件においてレンズの鏡胴内で入射光が反射を繰り返すことによって生じる幻影であって、いわゆる「ゴースト」のように画面中に映り込んだ光源から直線的に配列する幻影を指す。
【００２５】
[構成の説明]
図１は、本発明を適用した家庭用ゲーム装置の構成の一例を示す図である。同図に示すように、家庭用ゲーム装置１２００は、ゲームコントローラ１２０２と、本体装置１２１０と、スピーカ１２２２を有するディスプレイ１２２０とを備える。ゲームコントローラ１２０２は本体装置１２１０に接続され、ディスプレイ１２２０は画像信号及び音信号等を伝送可能なケーブル１２０１によって本体装置１２１０に接続されている。
【００２６】
ゲームコントローラ１２０２は、プレーヤがゲーム操作や画面表示位置を入力するための方向キー１２０４やボタンスイッチ１２０６を備え、操作入力信号を本体装置１２１０に出力する。
【００２７】
本体装置１２１０は、例えばＣＰＵやＩＣメモリ類を搭載した制御ユニット１２１１やＣＤ−ＲＯＭ１２１２等の情報記憶媒体の読取装置を備え、ＣＤ−ＲＯＭ１２１２などから読み出したゲーム情報とゲームコントローラ１２０２からの操作信号とに基づいて種々のゲーム処理を演算処理して、ゲーム画面の画像信号及びゲーム音の音信号を生成する。  尚、ここで言う「ゲーム情報」とは、ゲーム装置等の電子計算機（コンピュータ）による処理の用に供する、プログラムに準じた情報の意である。
【００２８】
本体装置１２１０は、制御ユニット１２１１に搭載されたＩＣメモリの一部をフレームバッファとして使用し、３次元仮想空間内に配置された仮想カメラから撮影された画像をカメラ座標系に投影変換処理し、フレームバッファ上に描画（記憶）してゲーム画像を生成する。そして、画像信号と音声信号とをディスプレイ１２２０に出力して、ディスプレイ１２２０にゲーム画像を表示させるとともにスピーカ１２２２からゲーム音を出力させる。プレーヤはディスプレイ１２２０に映し出されたゲーム画面を見ながら、ゲームコントローラ１２０２を操作してゲームを楽しむことができる。
【００２９】
本体装置１２１０がゲーム処理を実行するために必要なプログラムやデータ等を含むゲーム情報は、例えば、本体装置１２１０に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２１２、ＩＣメモリ１２１４、メモリカード１２１６等に格納されている。或いは、ゲーム情報を本体装置１２１０に具備された通信装置１２１８を介して通信回線２に接続し、外部装置（例えば、ゲームサーバ）からゲーム情報をダウンロードし取得する。
尚、ここで言う「通信回線」とは、データ授受が可能な通信路を意味する。即ち、通信回線２とは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また通信方法については有線／無線を問わない意味である。
【００３０】
［レンズフレア表現の原理の説明］
図２は、本実施形態におけるレンズフレア表現の原理を説明するための概念図である。本実施形態では、レンズフレアをポリゴンモデルでは表現しない。同図（ａ）に示すように、ゲーム画面描画用のフレームバッファのＲＧＢチャンネルに、３次元仮想空間内に配置された仮想カメラから撮影された画像を描画した後、アルファチャンネルに同心円状の明暗画像（グレー画像）であるフィルタ画像Ｐ１を描画する。
【００３１】
フィルタ画像Ｐ１の一つの明るいリングに着目すると、中央が最も明るくその内側と外側に向かって徐々に暗くなるよう設定されている。そして、こうしたリングが、外側のリングほど明るい部分の幅が徐々に細くリング全体が徐々に暗くなるように設定され、幾重にも同心円状に描画される。尚、表現の多様性として各リングの外縁が徐々に暗くならず白黒の明らかな境を有するものであっても良いのは勿論であり、また、明暗の形状は必ずしも多重リングによって成されるに限らず、断続的な弧が複数配置されて結果として略同心円状の明暗を成す構成であっても良い。更には、リングの代わりに多角形で表現しても良い。
【００３２】
次に、同図（ｂ）に示すように、別途、画面中の光源Ｌの位置（カメラ座標系の光源の位置）と画面中央位置（視界中央位置）とを結ぶ直線に沿って、光源Ｌを表現する光源テクスチャと、レンズフレアの表現物の元になる明斑Ｍ（Ｍ１〜Ｍ５）の画像とを所定の規則に則って配置した明斑画像Ｐ２を生成する。明斑画像Ｐ２は、例えば、黒地に光源Ｌと明斑Ｍが描かれた画像となる。一つの明斑Ｍは、中央が最も明るく外側ほど暗くなる略円又は多角形を成しており、大きさやその色は実際のレンズフレアを真似て適宜設定する。明斑Ｍの配置の規則に関しても同様である。
【００３３】
次に、同図（ｃ）に示すように、フレームバッファのアルファチャンネルに格納されているアルファ値、すなわち先に格納された同心円状のフィルタ画像Ｐ１の値に基づいて、明るい部分を不透明、暗い部分を透明として明斑画像Ｐ２をアルファ合成（アルファブレンディング）でフィルタ処理して色情報を表出させる。そして、処理結果（結果画像Ｐ３）をＲＧＢチャンネルに加算合成して描画する。
【００３４】
この結果、フィルタ画像Ｐ１の暗部分に掛かる明斑Ｍの部分は、アルファ値に応じた透明度によって仮想カメラで撮影された画像上に加算合成され、フィルタ画像Ｐ１の明部分に掛かる明斑Ｍの部分はマスクされて加算合成されないことになる。したがって、例えば、明斑画像Ｐ２のうち同心円状のリングに沿った部分が明るい斑や弧となってＲＧＢチャンネルに格納されている画像に描画されて、あたかもレンズ鏡胴内で反射して生じた幻影が映っているように描画される。従来のように複雑な計算をせずとも、簡便なフィルタ処理でレンズフレアを表現することができる。
【００３５】
また、従来の技術によるレンズフレアは、ポリゴンモデルによって表現されるために幾何的形状が明らかな幻影として表現されていたが、本実施形態によって表現されるレンズフレアは、輪郭が柔らかく表現されており、従来と異なる光が滲んだ感じを有した新しくも見た目の印象に近いレンズフレアの表現を実現している。
【００３６】
[機能ブロックの説明]
図３は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように、家庭用ゲーム装置１２００は、プレーヤからの操作を受けつける操作入力部１０と、装置の制御やゲームの制御に係る各種の演算処理を実行する処理部２０と、ゲーム画面を表示出力する画像表示部３０と、ゲーム音を音出力する音出力部４０と、通信回線を介して外部装置とデータ通信を実現する通信部５０と、各種のプログラムやデータを記憶する記憶部７０とを備える。
【００３７】
操作入力部１０は、例えば、ボタンスイッチ、レバー、ダイヤル、マウス、キーボード、各種センサによって実現され、プレーヤによる操作に応じた操作入力信号を処理部２０に出力する。本実施形態では、図１のゲームコントローラ１２０２が該当する。
【００３８】
処理部２０は、家庭用ゲーム装置１２００全体の制御やゲーム演算などの各種の演算処理を行う。その機能は、例えば、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）、ＩＣメモリなどのハードウェア及び関連する制御プログラム等により実現される。図１では本体装置１２１０に具備される制御ユニット１２１１が該当する。
【００３９】
また処理部２０は、主にゲームに係る演算処理を行うゲーム演算部２２と、ゲーム演算部２２の処理によって求められた各種のデータから仮想カメラを視点とする仮想空間中の画像の生成並びにゲーム画面を表示させるための画像信号の生成を実行する画像生成部２４と、効果音やＢＧＭなどのゲーム音を生成する音生成部２６と、データ通信に係る制御を担う通信制御部２８とを含む。
【００４０】
ゲーム演算部２２は、操作入力部１０からの操作入力信号や、記憶部７０から読み出したプログラムやデータに基づいて、フライトシミュレーションゲームを実行するための種々のゲーム処理を実行する。例えば、３次元仮想空間への仮想カメラや戦闘機などのオブジェクトの配置処理、背景のオブジェクトの移動や変形処理、オブジェクトの交差判定処理（ヒットチェック処理）、メニューの選択処理、ゲーム結果（成績）の算出、各種データの保存／読み出し処理などを実行する。
【００４１】
画像生成部２４は、例えばＣＰＵやＤＳＰなどの演算装置やその制御プログラム、フレームバッファなどの描画フレーム用ＩＣメモリなどによって実現される。画像生成部２４は、ゲーム演算部２２による演算結果に基づいて幾何変換処理やシェーディング処理を実行して、ゲーム画面を表示するための３ＤＣＧ画像を生成し、生成した画像の画像信号を画像表示部３０に出力する。そして、本実施形態では、レンズフレアの描画に係る処理を実行するレンズフレア合成部２５を備えている。
【００４２】
レンズフレア合成部２５は、同心円状のフィルタ画像Ｐ１をフレームバッファのアルファチャンネルに描画する処理や、光源Ｌとレンズフレアの表現物の元になる明斑Ｍとを配列させた明斑画像Ｐ２を生成する処理、生成した明斑画像Ｐ２をフレームバッファのアルファチャンネルに格納されたアルファ値に基づいてアルファブレンディングするフィルタ処理、及びアルファブレンディグした結果画像Ｐ３をＲＧＢチャンネルに加算合成する処理を実行する。
【００４３】
そして、画像表示部３０は、画像生成部２４からアルファブレンディグした結果画像Ｐ３がフレームバッファのＲＧＢチャンネルに加算合成されたの画像の信号に基づいて、例えば１／６０秒毎に１フレームの画面を再描画しながらゲーム画面を表示する。画像表示部３０は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等の表示装置によって実現できる。図１の例ではディスプレイ１２２０が該当する。
【００４４】
音生成部２６は、例えばＣＰＵやＤＳＰなどの演算装置及びその制御プログラムによって実現され、ゲーム中に使用される効果音やＢＧＭなどの音を生成し、生成した音の音信号を音出力部４０に出力する。
【００４５】
音出力部４０は、音生成部２６からの音信号に基づいて効果音やＢＧＭ等を音出力するための装置であり、図１の例ではスピーカ１２２２が該当する。
【００４６】
通信部５０は、通信制御部２８からの制御信号にしたがって、通信回線２に接続して外部装置とのデータ通信を行う。例えば、無線通信モジュール、モデム、ＴＡ、有線用の通信ケーブルのジャックや制御回路などによって実現される。図１の通信装置１２１８がこれに該当する。尚、通信部５０が、通信時に供するプロトコル等に係る情報は、例えば記憶部７０に記憶されており適宜読み出して利用する。
【００４７】
記憶部７０は、処理部２０に家庭用ゲーム装置１２００を統合的に制御させるための諸機能を実現させるシステムプログラム（図示略）や、ゲームを実行させるために必要なプログラム及びデータを含むゲーム情報７２等を記憶している。また、処理部２０が演算処理に必要な各種のプログラムやデータを一時的に記憶する。その機能は、例えば各種ＩＣメモリ、メモリカード、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等の情報記憶媒体によって実現できる。図１の例ではＣＤ−ＲＯＭ１２１２、ＩＣメモリ１２１４、メモリカード１２１６が該当する。
【００４８】
ゲーム情報７２は、処理部２０をゲーム演算部２２として機能させるためのプログラム及びデータを含んでいる。本実施形態では特に、画像生成部２４をレンズフレア合成部２５として機能させるためのレンズフレア合成プログラム７２０と、ゲームステージを構成するための背景や登場キャラクタ及びクリア条件などの情報を格納するゲームステージ情報７２２と、明斑画像Ｐ２を生成する際に配置する各明斑Ｍの初期設定値を格納する明斑初期設定情報７２６と、フィルタ画像Ｐ１の元になる初期フィルタ画像７２８と、仮想カメラの配置位置や姿勢及び画角等の現在の設定値を格納する仮想カメラ設定情報７２９とを含んでいる。
【００４９】
本実施形態では、レンズフレアの表現の対象は太陽なので、ゲームステージ情報７２２に、太陽の位置である光源位置情報７２４と、光源Ｌ（特定光源；太陽）単独の輝きを表現する光源テクスチャ７２５とが格納されている。該テクスチャでは、例えば太陽本体を表現する白円と、白円の周囲に光の広がりを示す放射状の光芒といった部分が含まれている。
【００５０】
図４は、本実施形態における明斑初期設定情報７２６のデータ構成の一例を示す図である。同図（ａ）に示すように、明斑初期設定情報７２６は、レンズフレアの表現物の元となる明斑毎に、識別情報７２６ａと、明斑パターン７２６ｂと、初期配置距離７２６ｃとを対応付けて格納している。
【００５１】
明斑パターン７２６ｂは、同図（ｂ）に示すように、レンズフレアを真似た表示色を有し、中心が最も明るく外側ほど暗くなって背景との境界がぼかされた画像である。例えば、淡い黄色や淡い青などである。
【００５２】
初期配置距離７２６ｃは、同図（ｃ）に示すように、画面中における光源Ｌの中心位置からの当該明斑Ｍの中心位置までの直線距離ＭＬ（例えば、単位はドット。）である。本実施形態では、初期配置距離７２６ｃは光源Ｌが画面の対角頂点に映る場合の距離に相当する。そして、レンズフレア合成部２５は、画面中における光源Ｌの位置から画面中央位置までの距離に応じて、光源Ｌが画面中央に近づくほど光源Ｌから当該明斑Ｍまでの距離が小さくなるように初期配置距離７２６ｃを変更して各明斑Ｍを配置して明斑画像Ｐ２を生成する。例えば、光源Ｌが画面中央に映る条件では、全ての明斑Ｍは光源Ｌ上に配置される。尚、同図では、光源Ｌから画面中央方向にのみ明斑Ｍが配列されているが、現実のレンズフレア現象に見られるように、一部の明斑Ｍを光源Ｌの位置から画面外側に向けて配置するとしても良いのは勿論である。
【００５３】
図５は、本実施形態における初期フィルタ画像７２８の一例を示す図である。同図（ａ）に示すように、初期フィルタ画像７２８は黒地に白のリングが画面中心点に同心円状に描かれた画像である。そして、同図（ｂ）に示すように、一つの明るいリングに着目すると、リング幅の中央部分が最も明るく、内側と外側に向かって徐々に暗くなるよう設定されている。そして、こうしたリングが、外側のリングほど中央の最も明るい部分の幅が細くなりリング全体として暗くなるように設定されて、同心円状に描画されている。
【００５４】
仮想カメラ設定情報７２９には、ゲーム演算部２２によって移動制御される仮想カメラの現在の位置や姿勢、画角等の情報が格納され、ゲーム中はプレーヤの操作に応じて常時書き換えられる。例えば、仮想カメラがプレーヤによって操作される飛行機を後方から撮影する位置に設定される場合、プレーヤの操作に応じて飛行機の位置と姿勢が変更されるのに応じて、仮想カメラはこの飛行機を追従するようにして位置と姿勢が変更され、仮想カメラ設定情報７２９が更新される。画角については、例えば従来のフライトシミュレーションゲームと同様に、視点位置の切り換え操作等に応じて変更される。
本実施形態では、レンズフレアの表現対象は太陽なので、飛行機の位置や姿勢が変わり、それにつれて仮想カメラの位置や姿勢が変わることによって、太陽が画面に映ったり映らなかったりが頻繁に変化することになる。
【００５５】
［処理の流れの説明］
次に、図６〜９を参照して本実施形態における処理の流れについて説明する。
図６は、本実施形態におけるレンズフレアの描画に係る処理の流れについて説明するためのフローチャートである。ここで説明される処理は、処理部２０でレンズフレア合成プログラム７２０を読み出して実行することによって実現されるものであり、ゲーム演算部２２によって、３次元仮想空間に飛行機のオブジェクトや光源及び仮想カメラの位置が配置され、画像生成部２４によって仮想カメラで撮影した３次元仮想空間の画像をカメラ座標系に投影変換しフレームバッファのＲＧＢチャンネルに描画した後に実行されるものである。
【００５６】
先ず、レンズフレア合成部２５は、特定光源Ｌ（本実施形態では、特定光源は太陽。）が、仮想カメラの視界範囲内に入るか否か、すなわちレンズフレアを表現する光源Ｌが画面に映るか否かを判定する（ステップＳ２）。具体的には、仮想カメラ設定情報７２９を参照して現在の仮想カメラの位置・姿勢・画角から視界範囲（撮影距離無限大）を求め、この視界範囲内に光源位置情報７２４で設定されている太陽の位置が含まれるか否か、すなわち特定光源Ｌについて撮影距離無限大でクリッピング処理をする。尚、当該ステップにおける判定の基準範囲を、視界範囲より大きめの範囲とすることによって、特定光源Ｌが画面中に映らなくとも強い入射光によってレンズフレアが映るようにすることもできる。
【００５７】
特定光源Ｌが画面内に映ると判定された場合（ステップＳ２；ＹＥＳ）、画面内の特定光源Ｌの位置から画面中央位置（画面中心）までの距離を求め、この距離に応じて画面中心を挟んで反対方向にフィルタ画像Ｐ１の同心円の中心位置を決定し（ステップＳ４）、決定した中心位置に初期フィルタ画像７２８の同心円の中心を合わせるようにしてフレームバッファのアルファチャンネルに描画する（ステップＳ６）。
具体的には、例えば図７（ａ）に示すように、画面の対角距離Ｌｄの１／２の値に対する、特定光源から画面中心までの距離Ｌｇの割合に対して所定の係数Ｃを乗じて、画面中心からフィルタ画像Ｐ１の同心円の中心までの距離Ｌ0を算出する。したがって、同図（ａ）の場合には、同図（ｂ）に示すように中心が画面中心よりやや左下方に移動したフィルタ画像Ｐ１がアルファチャンネルに描画される。
【００５８】
そして、レンズフレア合成部２５は、特定光源Ｌの見かけ上の明るさに応じて、例えば、図８に示す関係のようにアルファチャンネルのアルファ値全体を変更する（ステップＳ８）。具体的には、晴天時の太陽の場合には、アルファ値は初期設定のままとし、曇中の太陽の場合には、雲に隔てられて暗くなった分だけアルファ値を初期値より小さく変更しレンズフレアがうっすらと表現されるようにする。そして、ある程度（図８の点Ｑ）より特定光源Ｌが暗い場合には、光源が画面内に映る場合でもレンズフレアが生じるほど明るくないと判断して、アルファ値を全て「０」にしてレンズフレアが表現されないようにすると好ましい。
【００５９】
次に、レンズフレア合成部２５は画面中の特定光源Ｌから画面中央までの距離に応じて、明斑Ｍの各配置位置を決定し（ステップＳ１０）、決定した配置位置で、特定光源の位置から画面中央を結ぶ直線に沿って、黒地に明斑Ｍを加算合成して配列させた明斑画像Ｐ２を生成し（ステップＳ１２）、生成した明斑画像Ｐ２をステップＳ８で変更したアルファ値でフィルタ画像Ｐ１とアルファ合成する（ステップＳ１４）。
具体的には、図９に示すように、明斑初期設定情報７２６で設定されている各明斑の初期配置距離７２６ｃに対して画面の対角距離Ｌｄの１／２の値に対する、特定光源Ｌから画面中心までの距離Ｌｇの割合を乗じて、当該明斑の配置距離とする。例えば、画面の対角頂点位置に特定光源Ｌが映る場合には、初期配置距離７２６ｃの値のままで各明斑Ｍが配置される。特定光源Ｌが画面中央に近づくと、初期は位置距離７２６ｃより配置距離は小さくなるように配置され、各明斑Ｍ間の間隔は小さくなり、全体として画面中央に寄ることとなる。そして、特定光源Ｌが画面中央に映る場合には、全ての明斑Ｍが特定光源Ｌと同じく画面中央位置に配置される。そして、明斑画像Ｐ２をアルファチャンネルに格納されているアフファ値に基づいてアルファ合成し、合成結果をアルファチャンネルに格納する。尚、明斑画像Ｐ２をアルファチャンネル以外の記憶領域に別途格納する構成としても良いのは勿論である。
【００６０】
次に、レンズフレア合成部２５は、明斑画像Ｐ２とフィルタ画像Ｐ１との合成結果（結果画像Ｐ３）をフレームバッファのＲＧＢチャンネルに加算合成する（ステップＳ１６）。
したがって、フライトシミュレーションゲームで、飛行機が旋回し太陽が視界に入るような状況では、明るい弧状がＲＧＢチャンネルに描画され、ゲーム画面中にあたかもレンズ鏡胴内で反射して生じた明るい幻影が映っているように描画される。本発明は簡便な方法でレンズフレアの表現ができるので、フライトシミュレーションゲームのように仮想カメラの視線方向が比較的速く頻繁に変化する条件においてメリットがより発揮される。
【００６１】
[ハードウェアの構成]
次に、家庭用ゲーム装置１２００を実現できるハードウェアの構成について説明する。図１０は、本実施形態におけるハードウェア構成の一例を示す図である。家庭用ゲーム装置１２００は、ＣＰＵ１０００と、ＲＯＭ１００２と、ＲＡＭ１００４と、情報記憶媒体１００６と、音生成ＩＣ１００８と、画像生成ＩＣ１０１０と、Ｉ／Ｏポート１０１２及び１０１４とを有し、システムバス１０１６により相互にデータの入出力が可能に接続されている。
【００６２】
ＣＰＵ１０００は、図３における処理部２０に該当し、情報記憶媒体１００６に格納されているプログラムやＲＯＭ１００２に格納されているシステムプログラム及びコントロール装置１０２２によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。
【００６３】
ＲＯＭ１００２やＲＡＭ１００４及び情報記憶媒体１００６は、図３における記憶部７０に該当する。ＲＯＭ１００２は図１の本体装置１２１０の制御ユニット１２１１に搭載されているＩＣメモリに該当し、システムプログラム等の本体装置１２１０の制御にかかわるプログラムやデータを記憶する。
【００６４】
ＲＡＭ１００４は、ＣＰＵ１０００の作業領域などとして用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、或いはＣＰＵ１０００の演算結果が格納される。
【００６５】
情報記憶媒体１００６は、図１のＣＤ−ＲＯＭ１２１２、ＩＣメモリ１２１４、メモリカード１２１６に該当し、図３のゲーム情報７２を記憶する。情報記憶媒体１００６は、ＩＣメモリカードや着脱自在なハードディスクユニット、ＭＯ、ＤＶＤ−ＲＯＭなどによって実現されＲＯＭ１００２に記憶される情報を記憶し、適宜読み出して利用する。
【００６６】
音生成ＩＣ１００８は、ＲＯＭ１００２や情報記憶媒体１００６に記憶されている情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成された音はスピーカ１０２０によって出力される。なお、スピーカ１０２０は、図３における音出力部４０、図１におけるスピーカ１２２２に該当する。
【００６７】
画像生成ＩＣ１０１０は、表示装置１０１８に画像を出力するための画素情報を生成する集積回路である。図３における画像生成部２４がこれに該当する。表示装置１０１８は、図３の画像表示部３０、図１におけるディスプレイ１２２０に該当する。
【００６８】
Ｉ／Ｏポート１０１２には、コントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には、通信装置１０２４が接続されている。コントロール装置１０２２は、図３の操作入力部１０及び図１のゲームコントローラ１２０２に相当するものであり、プレーヤが種々のゲーム操作を入力するための装置である。
【００６９】
通信装置１０２４は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信し、通信回線を介してゲームプログラム等の情報を送受信することなどに利用される。図３の通信部５０及び図１の通信装置１２１８に該当する。
【００７０】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理はＣＰＵ１０００、或いは汎用のＤＳＰ等によってソフトウェア的に実行する構成としても良い。
【００７１】
また、本発明は、図１に示した家庭用ゲーム装置１２００だけでなく、業務用ゲーム装置や携帯型ゲーム装置、パソコン等の汎用コンピュータ、多数のプレーヤが参加する大型アトラクション装置等の種々の装置にも同様に適用できる。
【００７２】
例えば図１１は、本発明を業務用ゲーム装置１３００に適用した場合の外観の一例を示す図である。同図に示すように、業務用ゲーム装置１３００は、ゲーム画面を画像表示するディスプレイ１３０２と、ゲームの効果音やＢＧＭを出力するスピーカ１３０４と、前後左右方向を入力するジョイスティック１３０６と、プッシュボタン１３０８と、演算処理によって業務用ゲーム装置１３００を統合的に制御して所与のゲームを実行する制御ユニット１３２０とを備える。
【００７３】
制御ユニット１３２０は、ＣＰＵ１３２４等の演算処理装置と、業務用ゲーム装置１３００の制御及びゲームの実行に必要なプログラムやデータが格納されたＲＯＭ１３２２を搭載する。制御ユニット１３２０に搭載されるＣＰＵは、ＲＯＭ１３２２よりプログラムやデータを適宜読み出して演算処理することによって種々の処理を実行する。そして、プレーヤは、ディスプレイ１３０２に表示されたゲーム画面を見ながら、ジョイスティック１３０６とプッシュボタン１３０８からゲーム操作の入力をしてゲームを楽しむ。
【００７４】
また、本発明は、スタンドアローンの装置によって実行されるゲームに限らず、ネットワークゲームと呼ばれているゲームに適用しても構わない。ネットワークゲームを実現するシステム構成としては、例えば、(1)家庭に設置してあるパソコンや家庭用ゲームシステム等をゲーム端末とし、インターネット網や専用線網等の有線／無線の通信回線を通じてサーバと接続する構成、(2)サーバを用いることなく複数のゲーム端末同士が通信回線で接続される構成、(3)複数のゲーム端末同士が通信回線で接続されるが、その内の一台がサーバ機能を有する構成、(4)複数のゲーム端末が物理的に結合し、全体として一台のシステム（例えば業務用のゲームシステム）となっている構成などがある。
【００７５】
[変形例の説明]
以上、本発明を適用した実施形態について説明したが、本発明の適用がこれらに限定されるものではなく、発明の趣旨を逸脱せず同様の作用・効果を得られる限りにおいて、適宜構成要素の追加・省略・変更等を行っても構わない。
【００７６】
例えば、本実施形態ではフィルタ画像Ｐ１を生成する際、予め記憶されている初期フィルタ画像７２８をアルファチャンネルに描画する構成としているが、例えば、画面中の光源位置から画面中央位置までの距離が短いほど、各リングの半径が小さくなるように、初期フィルタ画像７２８を縮小処理してからアルファチャンネルに描画する構成としても良い。或いは、反対に光源位置が画面中心から離れるほどリング間の間隙が広がるように初期フィルタ画像７２８を拡大してから処理に供するとしても良い。この場合、特定光源の位置によって弧状のレンズフレアの描画位置が変化するように表現できる。
【００７７】
或いは、レンズフレア合成部２５が、ステップＳ４〜Ｓ６において初期フィルタ画像７２８を参照せずに、各リングを直接フレームバッファのアルファチャンネルに描画する構成としても良い。
例えば、画面内の特定光源Ｌから画面中心までの距離Ｌｇに応じて、外側のリングほど中心位置をずらすようにして描画する。この場合も、特定光源の位置によってレンズフレアの弧の描画位置が変化するように表現できる。尚、中心位置をずらす方向は、光源位置に近づく方向と離れる方向何れでもかまわないが、リングによって移動方向が異ならないようにすると好ましい。
【００７８】
また、本実施形態では、フライトシミュレーションゲームに置ける太陽を特定光源として設定したがこれに限るものではない。例えば、レースゲームやアクションゲーム、ＲＰＧゲームなどにおいて、灯台やサーチライトの光、車やオートバイ等のヘッドライト、レーザ照準器から発せられるレーザ光、宝石や鏡の反射光などにも同様に適用することができる。具体的には、例えばヘッドライトのように光源が移動する場合には、ゲーム演算部２２で光源の位置と投光方向とを求め、ステップＳ２において光源からの投光が画面内に入射するか否かを判定し、入射する場合においてフィルタ画像Ｐ１の生成からなる一連の処理（ステップＳ４〜Ｓ１６）を実行するものとする。
【図面の簡単な説明】
【００７９】
【図１】本発明を適用した家庭用ゲーム装置の構成の一例を示す図。
【図２】レンズフレア表現の原理を説明するための概念図。
【図３】本発明を適用した家庭用ゲーム装置の機能構成の一例を示す機能ブロック図。
【図４】明斑初期設定情報のデータ構成の一例を示す図。
【図５】初期フィルタ画像の一例を示す図。
【図６】レンズフレアの描画に係る処理の流れについて説明するためのフローチャート。
【図７】フィルタ画像の中心位置の算出方法を説明するための概念図。
【図８】光源の明るさに基づくアルファ値の変更率の一例を示す図。
【図９】明斑の配置位置の算出方法を説明するための概念図。
【図１０】本発明を適用した家庭用ゲーム装置を実現するためのハードウェア構成の一例を示す図。
【図１１】本発明を業務用ゲーム装置に適用した場合の外観の一例を示す図。
【符号の説明】
【００８０】
２０  処理部
２２  ゲーム演算部
２４  画像生成部
２５  レンズフレア合成部
７０  記憶部
７２  ゲーム情報
７２０  レンズフレア合成プログラム
７２２  ゲームステージ情報
７２４  光源位置情報
７２５  光源テクスチャ
７２６  明斑初期設定情報
７２６ｂ  明斑パターン
７２６ｃ  初期配置距離
７２８  初期フィルタ画像
１２００  家庭用ゲーム装置
１２０２  ゲームコントローラ
１２１０  本体装置
１２１１  制御ユニット
Ｌ    光源（特定光源）
Ｍ    明斑
Ｐ１  フィルタ画像
Ｐ２  明斑画像
Ｐ３  結果画像
【図１】
2005215974.tif 000003
【図３】
2005215974.tif 000004
【図６】
2005215974.tif 000005
【図８】
2005215974.tif 000006
【図９】
2005215974.tif 000007
【図１０】
2005215974.tif 000008
【図１１】
2005215974.tif 000009
【図２】
2005215974.tif 000010
【図４】
2005215974.tif 000011
【図５】
2005215974.tif 000012
【図７】
2005215974.tif 000013