(57)【特許請求の範囲】
【請求項１】
画像を生成するためのゲーム装置であって、
３次元空間に、光源と、マップ面と、視点とを設定する手段と、
前記マップ面に関して光源位置と面対称となる前記３次元空間上の特定位置を算出する手段と、
視点位置に応じて前記３次元空間に設定されるスクリーンに前記特定位置を透視変換した前記スクリーン上のピクセルを算出する手段と、
算出された前記ピクセルの位置変化に応じて、前記スクリーン上における光源の反射像の位置を変化させる手段と、
前記３次元空間における前記マップ面を前記スクリーンに透視変換することにより得られる画像と、前記反射像の画像とを合成して、光源からの光の反射を表現する反射演算を行う反射演算手段と、
を含むことを特徴とするゲーム装置。
【請求項２】
請求項１において、
前記マップ面を基準とする前記視点位置の高さと前記マップ面を基準とする前記特定位置の高さとに応じて変化する高度差情報に基づいて、前記反射像の幅及び前記反射像の輝度の少なくとも一方を制御する反射像制御手段を更に含むことを特徴とするゲーム装置。
【請求項３】
請求項１又は２において、
前記反射像の輪郭点を変更することによって、前記反射像の輪郭を揺らがせる処理、及び、前記反射像の中心点を変更することによって、前記反射像の輝度分布を揺らがせる処理の少なくとも一方を行う揺らぎ処理手段を更に含むことを特徴とするゲーム装置。
【請求項４】
請求項３において、
前記揺らぎ処理手段が、
時間経過に伴い前記反射像の輪郭点を変更することによって、前記反射像の輪郭を揺らがせる処理、及び、時間経過に伴い前記反射像の中心点を変更することによって、前記反射像の輝度分布を揺らがせる処理の少なくとも一方を行うことを特徴とするゲーム装置。
【請求項５】
画像を生成するためのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、
３次元空間に、光源と、マップ面と、視点とを設定する手段と、
前記マップ面に関して光源位置と面対称となる前記３次元空間上の特定位置を算出する手段と、
視点位置に応じて前記３次元空間に設定されるスクリーンに前記特定位置を透視変換した前記スクリーン上のピクセルを算出する手段と、
算出された前記ピクセルの位置変化に応じて、前記スクリーン上における光源の反射像の位置を変化させる手段と、
前記３次元空間における前記マップ面を前記スクリーンに透視変換することにより得られる画像と、前記反射像の画像とを合成して、光源からの光の反射を表現する反射演算を行う反射演算手段として、
コンピュータを機能させるプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項６】
請求項５において、
前記マップ面を基準とする前記視点位置の高さと前記マップ面を基準とする前記特定位置の高さとに応じて変化する高度差情報に基づいて、前記反射像の幅及び前記反射像の輝度の少なくとも一方を制御する反射像制御手段として、コンピュータを更に機能させるプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項７】
請求項５又は６において、
前記反射像の輪郭点を変更することによって、前記反射像の輪郭を揺らがせる処理、及び、前記反射像の中心点を変更することによって、前記反射像の輝度分布を揺らがせる処理の少なくとも一方を行う揺らぎ処理手段として、コンピュータを更に機能させるプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項８】
請求項７において、
前記揺らぎ処理手段が、
時間経過に伴い前記反射像の輪郭点を変更することによって、前記反射像の輪郭を揺らがせる処理、及び、時間経過に伴い前記反射像の中心点を変更することによって、前記反射像の輝度分布を揺らがせる処理の少なくとも一方を行うことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲーム装置及び情報記憶媒体に関する。
【０００２】
【背景技術】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数のオブジェクトを配置し、オブジェクト空間内の所与の視点から見える画像を生成するゲーム装置が知られており、いわゆる仮想現実を体験できるものとして人気が高い。戦闘機の操縦を楽しむことができるゲーム装置を例にとれば、プレーヤは、自身が操作する戦闘機をオブジェクト空間内で飛行させ、他のプレーヤやコンピュータが操作する戦闘機と対戦してゲームを楽しむ。
【０００３】
【特許文献１】
特開昭６０−２５０４７９号公報
【０００４】
【発明が解決しようとする課題】
さて、このようなゲーム装置では、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、例えば太陽からの光の反射により生じる水面（広義にはマップ）のきらめき（グリッター）などについても、リアルな画像で表現できることが望まれる。そして、水面のきらめきを表現する手法としては、例えば図１（Ａ）、（Ｂ）に示す第１、第２の手法を考えることができる。
【０００５】
図１（Ａ）の第１の手法は、水面のきらめきを現実世界に忠実にシミュレーションするものである。この第１の手法では、その法線ベクトル９１１〜９１７が様々な方向を向く複数のポリゴン９０１〜９０７により水面９００を構成し、水面９００に起伏を持たせる。そして、水面９００を構成するポリゴン９０１〜９０７の法線ベクトル９１１〜９１７と、光源（太陽）からの光源ベクトル９２０とに基づいて、鏡面反射を表現するための反射演算処理を行う。
【０００６】
しかしながら、この第１の手法で水面のきらめきを表現するためには、ポリゴン９０１〜９０７の面の向き（法線ベクトル９１１〜９１７の方向）を時間経過に伴い変化させる必要がある。また、法線ベクトル９１１〜９１７と光源ベクトル９２０とに基づく反射演算処理の処理負荷も非常に重い。このため、この第１の手法は、処理のリアルタイム性が要求されないＣＧ（ムービー）画像などの生成には好適だが、処理のリアルタイム性が要求されるゲーム画像の生成には適していない。
【０００７】
また図１（Ｂ）の第２の手法では、水面を表すテクスチャを、時間経過に伴いアニメーションさせることで、水面のきらめきを表現する。この第２の手法によれば、視点位置の移動範囲が強く制限されているゲームや、きらめきが生じる反射領域が固定されているゲームにおいては、少ない処理負荷でリアルな画像を生成できる。
【０００８】
しかしながら、図１（Ｂ）の第２の手法は、視点位置の移動範囲が制限されていないゲームや、きらめきが生じる反射領域が視点位置の移動に伴い任意の場所に移動するようなゲームには不向きな手法となる。このようなゲームでは、テクスチャをアニメーションさせる反射領域の場所が変化してしまうからである。従って、このようなゲームにおいても、水面のきらめきのリアルな表現が可能となる技術の出現が望まれている。
【０００９】
本発明は、以上のような課題を解決するためになされたものであり、その目的とするところは、光源からの光の反射のリアルな表現を、少ない処理負荷で実現できるゲーム装置及び情報記憶媒体を提供することにある。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像を生成するためのゲーム装置であって、光源からの光の反射を表現するための反射演算処理を許可するか否かを示す反射許可フラグがマップの各ドットに対して設定されるマップ画像情報を記憶するための手段と、光源位置と視点位置とに基づいて、反射領域を設定するための手段と、前記反射領域において前記反射許可フラグがオンになっているドットに対して前記反射演算処理を行うための手段とを含むことを特徴とする。
【００１１】
また本発明に係る情報記憶媒体は、上記手段を実現するための情報を含むことを特徴とする。
【００１２】
本発明では、反射演算処理を許可するか否かを示す反射許可フラグがマップの各ドットに対して設定されている。また、光源位置と視点位置とに基づいて、反射領域が設定される。そして、設定された反射領域において反射許可フラグがオンになっているドットに対しては、光源からの光の反射を表現するための反射演算処理が行われる。即ち、光源からの光の反射の表現が必要な領域（例えば水面）においてのみ、反射演算処理を行うことができるようになる。そして、反射許可フラグはマップの各ドットに対して設定されており、反射領域は、光源位置や視点位置の移動に伴い移動する。従って、視点位置の移動範囲が制限されていなく、反射領域が視点位置の移動に伴い任意の場所に移動するような場合にも、反射領域での光の反射のリアルな表現を、少ない処理負荷で実現できるようになる。
【００１３】
なお、反射領域をオブジェクト空間内に設定する場合も、スクリーン（表示画面）上に設定する場合も、本発明の範囲内に含まれる。また反射許可フラグを、マップにマッピングされるテクスチャの各ドットに設定する場合も、テクスチャのパレットの各色に対して設定する場合も、本発明の範囲内に含まれる。
【００１４】
また本発明に係るゲーム装置及び情報記憶媒体は、マップの第１の領域においては、前記反射許可フラグがほぼ全面的にオフになり、マップの第２の領域においては、前記反射許可フラグがオンとなるドットが点在していることを特徴とする。このようにすれば、光が反射するドットが、光が反射しないドットに混ざって点在するようになる。これにより、マップ面に実際に起伏を持たなくても、光源からの光がマップ面の起伏に乱反射しているように見せることが可能になる。
【００１５】
なお、マップの第１の領域においても、光の反射を表現した方が望ましい部分については、反射許可フラグをオンにすることが望ましい。
【００１６】
また本発明に係るゲーム装置及び情報記憶媒体は、マップを含む表示物をスクリーンに透視変換することにより得られるフレーム画像がフレームバッファに書き込まれる際に、フレームバッファの各ドットに対して前記反射許可フラグが書き込まれると共に、フレームバッファに書き込まれた前記反射許可フラグに基づいて前記反射演算処理が行われることを特徴とする。このようにすれば、視点位置や視線方向とマップとの位置関係が変化した場合に、透視変換による画像情報のデフォルメにより、同じ場所のドットの反射許可フラグがフレームバッファに書き込まれたり、書き込まれなかったりするようになる。これにより、同じ場所のドットに対して、反射演算処理が行われたり、行われなかったりするようになる。この結果、同じ場所のドットが、光を反射しているように見えたり、反射していないように見えたりするようになり、少ない処理負担でリアルな画像表現が可能になる。
【００１７】
また本発明に係るゲーム装置及び情報記憶媒体は、光源からの光の入射角が大きくなるほど、前記反射領域の幅が細くなる或いは前記反射領域の輝度が高くなることを特徴とする。このようにすれば、光源からの光の入射角に応じて、反射領域の幅や輝度が変化するようになり、画像のリアル度を高めることができる。
【００１８】
なお、反射領域の幅や輝度を、入射角そのものに基づいて制御せずに、入射角と数学的に等価なパラメータに基づいて制御する場合も、本発明の範囲内に含まれる。
【００１９】
また本発明に係るゲーム装置及び情報記憶媒体は、前記反射領域がスクリーンの外に出た場合に、前記反射領域での前記反射演算処理が省略されることを特徴とする。このようにすれば、反射領域がスクリーンの外に出てしまった場合に、無駄な処理が行われるのを防止でき、処理負担の軽減化を図れる。
【００２０】
また本発明に係るゲーム装置及び情報記憶媒体は、視点位置とマップとの距離が遠いほど、前記反射領域の輝度が低くなることを特徴とする。このようにすれば、視点位置とマップとの距離が離れた場合に、反射領域が目立って見えてしまう事態を防止できる。
【００２１】
なお、反射領域の輝度を、視点位置とマップとの距離そのものに基づいて制御せずに、この距離と数学的に等価なパラメータに基づいて制御する場合も、本発明の範囲内に含まれる。
【００２２】
また本発明は、画像を生成するためのゲーム装置であって、マップ画像情報を記憶するための手段と、マップ面に関して光源位置と面対称の第１の位置を求め、前記第１の位置をスクリーンに透視変換した第２の位置に反射像オブジェクトを設定するための手段と、前記反射像オブジェクトを、マップを含む表示物をスクリーンに透視変換することにより得られるフレーム画像に対して重ね書きすることで、光源からの光の反射を表現するための反射演算処理を行うための手段とを含むことを特徴とする。
【００２３】
また本発明に係る情報記憶媒体は、上記手段を実現するための情報を含むことを特徴とする。
【００２４】
本発明によれば、マップ面に関して光源位置と面対称の第１の位置を、スクリーンに透視変換した第２の位置が求められ、この第２の位置に反射像オブジェクトが設定される。そして、この反射像オブジェクトを、フレーム画像に重ね書きすることで、反射演算処理が行われる。このように本発明によれば、反射像オブジェクトをオブジェクト空間内に配置することなく、反射演算処理を実現できる。そして、反射像オブジェクトを設定する位置である第２の位置も、第１の位置を透視変換するだけで求めることができる。また特に限定はされないが、視線方向に応じて反射像オブジェクトの奥行き方向のサイズを変化させる処理も省略できるようになる。従って、３次元的な反射像オブジェクトをオブジェクト空間内に配置する手法に比べて処理負荷を軽減しながら、リアルな画像表現が可能になる。
【００２５】
また本発明に係るゲーム装置及び情報記憶媒体は、前記反射演算処理を許可するか否かを示す反射許可フラグがマップの各ドットに対して設定されていることを特徴とする。このようにすれば、反射許可フラグがオンになっているドットに対して反射演算処理が行われるようになる。即ち、光源からの光の反射の表現が必要な領域においてのみ、反射演算処理を行うことができるようになる。従って、視点位置の移動範囲が制限されていないような場合にも、反射像オブジェクトが設定される領域での光の反射のリアルな表現を、少ない処理負荷で実現できるようになる。
【００２６】
また本発明に係るゲーム装置及び情報記憶媒体は、視点位置と前記第１の位置との高度差に応じて、前記反射像オブジェクトの幅及び前記反射像オブジェクトの輝度の少なくとも一方が制御されることを特徴とする。このようにすれば、光源からの光の入射角を直接求めることなく、入射角に応じて、反射像オブジェクトの幅や輝度を変化させることができるようになる。従って、入射角を求める処理を省くことができ、処理負担の軽減化を図れる。また高度差に応じて反射像オブジェクトの輝度を制御することで、視点位置とマップとの距離が遠く離れた場合に反射像オブジェクトの輝度を低くする処理も実現できるようになる。
【００２７】
また本発明に係るゲーム装置及び情報記憶媒体は、前記反射像オブジェクトの輪郭及び輝度分布の少なくとも一方が、時間経過に伴い揺らぐことを特徴とする。このようにすれば、反射像オブジェクトの境界を目立たなくすることが可能になる。また視点位置が静止していた場合等にも、リアルな画像表現を実現できるようになる。
【００２８】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を戦闘機ゲーム（フライトシミュレータ）に適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。また以下では、オブジェクトを構成する１又は複数のプリミティブ面が、ポリゴンである場合を例にとり説明を行うが、本発明はこれに限定されず、ポリゴン以外のプリミティブ面（例えば曲面）によりオブジェクトを構成する場合にも適用できる。
【００２９】
１．構成
図２に、本実施形態のブロック図の一例を示す。なお同図において本実施形態のゲーム装置は、少なくとも処理部１００（或いは処理部１００と記憶部１４０、或いは処理部１００と記憶部１４０と情報記憶媒体１５０）を含めばよく、それ以外のブロック（例えば操作部１３０、画像生成部１６０、表示部１６２、音生成部１７０、音出力部１７２、通信部１７４、Ｉ／Ｆ部１７６、メモリーカード１８０等）については、任意の構成要素とすることができる。
【００３０】
ここで処理部１００は、装置全体の制御、装置内の各ブロックへの命令の指示、ゲーム演算などの各種の処理を行うものであり、その機能は、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＤＳＰ、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや所与のプログラム（ゲームプログラム）により実現できる。
【００３１】
操作部１３０は、プレーヤが操作情報を入力するためのものであり、その機能は、レバー、ボタンなどのハードウェアにより実現できる。
【００３２】
記憶部１４０は、処理部１００、画像生成部１６０、音生成部１７０、通信部１７４、Ｉ／Ｆ部１７６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３３】
情報記憶媒体（コンピュータにより情報の読み取りが可能な記憶媒体）１５０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いは半導体メモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１５０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１５０には、本発明（本実施形態）の手段（特に処理部１００、記憶部１４０に含まれるブロック）を実現するための種々の情報が格納される。
【００３４】
なお、情報記憶媒体１５０に格納される情報の一部又は全部は、装置への電源投入時等に記憶部１４０に転送されることになる。また情報記憶媒体１５０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報や、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００３５】
画像生成部１６０は、処理部１００からの指示等にしたがって、各種の画像を生成し表示部１６２に出力するものであり、その機能は、画像生成用ＡＳＩＣ、ＣＰＵ、或いはＤＳＰなどのハードウェアや、所与のプログラム（画像生成プログラム）、画像情報により実現できる。
【００３６】
音生成部１７０は、処理部１００からの指示等にしたがって、各種の音を生成し音出力部１７２に出力するものであり、その機能は、音生成用ＡＳＩＣ、ＣＰＵ、或いはＤＳＰなどのハードウェアや、所与のプログラム（音生成プログラム）、音情報（波形データ等）により実現できる。
【００３７】
通信部１７４は、外部装置（例えばホスト装置や他のゲーム装置）との間で通信を行うための各種の制御を行うものであり、その機能は、通信用ＡＳＩＣ、或いはＣＰＵなどのハードウェアや所与のプログラム（通信プログラム）により実現できる。
【００３８】
なお本発明（本実施形態）の処理を実現するための情報は、ホスト装置が有する情報記憶媒体からネットワーク、通信部１７４を介してゲーム装置が有する情報記憶媒体に配信するようにしてもよい。このようなホスト装置の情報記憶媒体の使用やゲーム装置の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３９】
また処理部１００の機能の一部又は全部を、画像生成部１６０、音生成部１７０、又は通信部１７４の機能により実現するようにしてもよい。或いは、画像生成部１６０、音生成部１７０、又は通信部１７４の機能の一部又は全部を、処理部１００の機能により実現するようにしてもよい。
【００４０】
Ｉ／Ｆ部１７６は、処理部１００からの指示等にしたがってメモリーカード（広義には、ＰＤＡ、携帯型ミニゲーム装置を含む携帯型情報記憶装置）１８０との間で情報交換を行うためのインターフェースとなるものであり、その機能は、メモリーカードを挿入するためのスロットや、ＣＰＵからの命令により制御されるデータ書き込み・読み出し用コントローラＩＣなどにより実現できる。なお、メモリーカード１８０との間の情報交換を赤外線などの無線を用いて実現する場合には、Ｉ／Ｆ部１７６の機能は、半導体レーザ、赤外線センサーなどのハードウェアにより実現できる。
【００４１】
処理部１００は、ゲーム演算部１１０を含む。
【００４２】
ここでゲーム演算部１１０は、コイン（代価）の受け付け処理、ゲームモードの設定処理、ゲームの進行処理、選択画面の設定処理、移動体（戦闘機、弾、光源等）の位置や方向を決める処理、視点位置や視線方向を決める処理、移動体のモーションを再生する処理、オブジェクト空間へオブジェクトを配置する処理、ヒットチェック処理、ゲーム成果（成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム演算処理を、操作部１３０からの操作情報、メモリーカード１８０からの情報、ゲームプログラムなどに基づいて行う。なお、本発明を戦闘機ゲーム以外のゲームに適用した場合には、移動体としては、戦闘機以外の飛行機、船（ボート、戦艦、潜水艦、ヨット、モーターボート等）、水上バイク、水上スキー、サーフボード、車、バイク、戦車、ロボット、宇宙船等、種々のものを考えることができる。
【００４３】
ゲーム演算部１１０は、移動体演算部１１２、視点制御部１１４、反射領域設定部１１６、反射演算処理部１１８を含む。
【００４４】
ここで移動体演算部１１２は、戦闘機などの移動体の移動情報（位置情報、方向情報等）を演算するものであり、例えば操作部１３０から入力される操作情報や所与のプログラムに基づき、移動体をオブジェクト空間内で移動させる処理などを行う。即ち、プレーヤ（自プレーヤ、他プレーヤ）からの操作情報や、コンピュータからの命令（所与の移動制御アルゴリズム）に基づいて、移動体をオブジェクト空間内で移動させる処理などを行う。
【００４５】
より具体的には、移動体演算部１１２は、移動体の位置や方向を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでの移動体の位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでの移動体の位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
視点制御部１１４は、移動体演算部１１２で得られた移動体の位置や方向の情報などに基づいて、視点位置や視線方向等を求める処理を行う。より具体的には、プレーヤの操作する移動体の位置又は方向に例えば追従するように視点位置又は視線方向を変化させる処理を行う。この場合、移動体の位置又は方向に対して、例えば慣性を持ちながら視点位置又は視線方向を追従させることが望ましい。画像生成部１５０は、この視点制御部１１４により制御される視点において見える画像を生成することになる。
【００４６】
反射領域設定部１１６は、光源位置と視点位置とに基づいて、反射領域を設定するための処理を行う。より具体的には、例えば、マップ面に関して光源位置と面対称の第１の位置を求め、この第１の位置をスクリーンに透視変換した第２の位置に反射像オブジェクト（広義には反射領域）を設定（配置）するための処理などを行う。
【００４７】
反射演算処理部１１８は、反射領域において反射許可フラグがオンになっているドットに対して、光源からの光の反射を表現するための反射演算処理を行う。より具体的には、例えば、マップを含む表示物をスクリーンに透視変換することにより得られるフレーム画像に対して、反射像オブジェクトを重ね書きすることで、上記反射演算処理を実現する。
【００４８】
なお、反射演算処理部１１８が使用する反射許可フラグは、記憶部１４０のマップ画像情報記憶部１４２に記憶されるマップ画像情報の中に含まれる。即ち、マップ画像情報記憶部１４２は、反射演算処理を許可するか否かを示す反射許可フラグがマップの各ドットに対して設定されるマップ画像情報を記憶する。
【００４９】
なお、本実施形態のゲーム装置は、１人のプレーヤがプレイするシングルプレーヤモードによるゲームプレイと、複数のプレーヤがプレイするマルチプレーヤモードによるゲームプレイの両方が可能になっている。
【００５０】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つのゲーム装置を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数のゲーム装置を用いて生成してもよい。
【００５１】
２．本実施形態の特徴
図３（Ａ）、（Ｂ）、図４（Ａ）、（Ｂ）に、本実施形態により生成されるゲーム画像の例を示す。
【００５２】
本実施形態により実現される戦闘機ゲームでは、プレーヤは、図３（Ａ）、（Ｂ）、図４（Ａ）、（Ｂ）に示されるゲーム画像を見ながら、自身の戦闘機を操縦してオブジェクト空間内で飛行させる。そして他のプレーヤやコンピュータが操作する戦闘機と対戦してゲームを楽しむ。
【００５３】
なお図３（Ａ）、（Ｂ）、図４（Ａ）、（Ｂ）では、１人称視点での画像（コックピット画像）が生成されているが、本実施形態では３人称視点での画像（自身が操作する戦闘機が表示される画像）も生成可能になっている。
【００５４】
図３（Ａ）のＥ１に示すように、本実施形態によれば、光源（太陽）１８からの光による海面のきらめき（光の海面への映り込み）を、リアルに表現できる。また図３（Ａ）から図３（Ｂ）、図３（Ｂ）から図４（Ａ）、図４（Ａ）から図４（Ｂ）というようにプレーヤの視点（戦闘機）が前に移動していった場合にも、反射領域２０での海面のきらめきを矛盾無く表現できる。
【００５５】
本実施形態の戦闘機ゲームでは、プレーヤは自身の操作する戦闘機をオブジェクト空間内で自由に飛行させることができる。従って、プレーヤの視点位置の移動範囲は制限されておらず、きらめきが生じる反射領域２０も視点位置の移動に伴い任意の場所に移動する。このようなゲームでは、前述の図１（Ｂ）に示す第２の手法では、海面のきらめきの矛盾の無い表現を実現できない。また、図１（Ａ）の第１の手法では処理負荷が非常に重くなってしまう。更に、反射領域２０が海２２上にある場合には、きらめきを表現すべきだが、反射領域２０が陸地２４上にある場合にきらめきが表現されると、生成されるゲーム画像が不自然なものとなる。
【００５６】
そこで、本実施形態では図５に示すように、光源位置Ｐ０と視点位置ＶＰとに基づいて、反射領域２０（或いは反射領域２０’）を設定する。そして、この反射領域２０において反射許可フラグＲＦがオンになっているドットに対して、光源からの光の反射を表現するための反射演算処理を行うようにする。この場合、本実施形態では図５に示すように、マップ（陸地、海面）３０の各ドットに対して反射許可フラグＲＦが設定されている。そして、陸地（広義にはマップ３０の第１の領域）においては反射許可フラグＲＦがほぼ全面的に０（オフ）になっており、海（広義にはマップ３０の第２の領域）においてはＲＦは１（オン）になっている。従って、図３（Ａ）〜図４（Ｂ）に示すように、海２２においては反射演算処理が行われきらめきが表現される一方で、陸地２４においては反射演算処理が行われずきらめきが表現されないようになる。これにより、図３（Ａ）〜図４（Ｂ）のように視点位置が移動した場合にも、矛盾のない自然な画像を生成できるようになる。
【００５７】
なお図３（Ａ）のＥ２に示すように本実施形態では、陸地２４であっても例えば池２６などにおいては反射演算処理を行いきらめきを表現するようにしている。また、これ以外にも、ビル２８の窓ガラス、建物の鉄骨部分、川等に対しても反射演算処理を行うことが望ましい。即ち、陸地（マップの第１の領域）２４に、反射許可フラグＲＦがオンになるドットを例外的に設けるようにしてもよい。
【００５８】
また本実施形態では図６に示すように、陸地２４においては、ほぼ全面的に反射許可フラグＲＦ＝０（オフ）にする。これにより陸地２４ではきらめきが生じないようになる。一方、海２２においては、ＲＦ＝１（オン）となるドットを点在させる。これにより、光が反射するドットが、光が反射しないドットに混ざって点在するようになる。このようにすれば、図１（Ａ）のように海面に起伏を持たせなくても、光源からの光が海面の波に乱反射しているように見せることが可能になる。
【００５９】
即ち図１（Ａ）の手法では、ポリゴン９０１〜９０７の法線ベクトル９１１〜９１７の方向を時間経過に伴い変化させる処理や、法線ベクトル９１１〜９１７と光源ベクトル９２０とに基づく反射演算処理が必要になり、処理負荷が非常に重くなる。これに対して、本実施形態によれば、ＲＦ＝１となるドットを点在させておくだけで、光が波に乱反射しているように擬似的に見せることができる。即ち少ない処理負担でリアルな表現が可能になる。
【００６０】
なお本実施形態では、図５に示すように反射許可フラグＲＦをマップ３０の各ドットに対して設定しているが、これは、海にマッピングされる海面テクスチャの各ドットに対して反射許可フラグＲＦを設定することで実現できる。より具体的には、図７に示すように、陸面テクスチャ３２のパレット３４では、色Ｃ０〜Ｃ１５に設定されている反射許可フラグＲＦを全て０（オフ）にする。一方、海面テクスチャ３６のパレット３８では、例えば色Ｃ１６〜Ｃ１９についてだけＲＦを１（オン）にし、他の色Ｃ２０〜Ｃ３１についてはＲＦを０にする。そして、フレーム画像４０の陸地２４については、陸面テクスチャ３２とパレット３４を用いたテクスチャマッピングにより描画する。一方、海２２については、海面テクスチャ３６とパレット３８を用いたテクスチャマッピングにより描画する。
【００６１】
このようにすれば図６に示すように、陸地２４では、ほぼ全面的にＲＦ＝０になる。また海２２では、ＲＦ＝１のドットが点在するようになる。海２２において、図７の色Ｃ１６〜Ｃ１９で描画されるドットはＲＦ＝１になり、色Ｃ２０〜Ｃ３１で描画されるドットはＲＦ＝０になるからである。
【００６２】
また本実施形態では、マップを含む表示物をスクリーンに透視変換することにより得られるフレーム画像がフレームバッファに書き込まれる際に、フレームバッファの各ドット（ピクセル）に対して反射許可フラグＲＦを書き込み、この書き込まれたＲＦに基づいて反射演算処理を行うようにしている。このようにすれば、視点位置や視線方向とマップとの位置関係に応じて、同じ場所のドットであっても、フレームバッファにＲＦ＝１が書き込まれて反射演算処理が行われたり、ＲＦ＝１が書き込まれずに反射演算処理が行われなかったりするようになる。これにより図３（Ａ）〜図４（Ｂ）のＥ３、Ｅ４、Ｅ５、Ｅ６に示すように、同じ場所にあるドットが、視点位置が移動するにつれて、きらめいたり、きらめかなかったりするようになり、よりリアルなきらめきの表現が可能になる。
【００６３】
即ち図８（Ａ）において、ドットＤ０、Ｄ２、Ｄ３、Ｄ４の画像情報は、スクリーン４２への透視変換の際に図２のフレームバッファ１４４に書き込まれる。従って、これらのドットの画像情報に含まれるＲＦ＝１もフレームバッファ１４４に書き込まれ、ドットＤ０、Ｄ２、Ｄ３、Ｄ４は画面上できらめくようになる。一方、ドットＤ１の画像情報は、透視変換によりデフォルメされて、フレームバッファ１４４に書き込まれないようになる。従って、ドットＤ１の画像情報に含まれるＲＦ＝１もフレームバッファ１４４に書き込まれず、ドットＤ１は画面上できらめかないようになる。
【００６４】
一方、図８（Ｂ）では、ドットＤ１、Ｄ３の画像情報はフレームバッファ１４４に書き込まれ、ＲＦ＝１もフレームバッファ１４４に書き込まれるため、Ｄ１、Ｄ３は画面上できらめくようになる。一方、ドットＤ０、Ｄ２、Ｄ４の画像情報は、透視変換によりデフォルメされて、フレームバッファ１４４に書き込まれず、ＲＦ＝１もフレームバッファ１４４に書き込まれない。従って、ドットＤ０、Ｄ２、Ｄ４は画面上できらめかないようになる。
【００６５】
このように本実施形態では、図８（Ａ）ではきらめいていたドットＤ０、Ｄ２、Ｄ４が図８（Ｂ）ではきらめかなくなる。また図８（Ａ）ではきらめかなかったドットＤ１が図８（Ｂ）ではきらめくようになる。即ち、視点位置や視線方向とマップとの位置関係が変化すると（透視変換によるスケーリングの度合いが変化すると）、透視変換による画像情報のデフォルメにより、同じ場所のドットの画像情報（反射許可フラグ）がフレームバッファに書き込まれたり、書き込まれなかったりするようになる。これにより、同じ場所のドットがきらめいたり、きらめかなかったりするようになる。従って、図１（Ａ）のような負荷の重い反射演算処理を行わなくても、海面のきらめきのリアルな表現が可能になる。
【００６６】
特に、このように同じ場所のドットがきらめいたり、きらめかなかったりする映像効果は、図３（Ａ）のＥ３に示すように、視点から遠く離れた場所のドットにおいて顕著になる。
【００６７】
また本実施形態では、光源からの光の入射角が大きくなるにつれて、反射領域の幅を細くしたり、反射領域の輝度を高くしている。
【００６８】
即ち図９（Ａ）のように、光源からの光の入射角θが小さい場合には、反射領域２０の幅を太くすると共に、反射領域２０での輝度（反射光の輝度に相当）を低くする。一方、図９（Ｂ）のように、光源からの光の入射角θが大きい場合には、反射領域２０の幅を細くすると共に、反射領域２０での輝度を高くする。
【００６９】
このようにすることで、光源（太陽）の位置が低くなり水平線の近くに来た場合に、光がきらめく領域が縦に細くなりながら強く光るという様子をリアルに表現できるようになる。
【００７０】
このようなきらめき領域の幅や輝度の変化は、例えば図１（Ａ）の第１の手法により光源ベクトルと法線ベクトルとに基づく光反射演算を行うことによっても実現できる。しかしながら、この第１の手法では、処理負荷が非常に重くなってしまう。
【００７１】
本実施形態では、設定された反射領域２０において反射演算処理を行うことで海面のきらめきを表現している。このため、図１（Ａ）のような手法を採用しなくても、反射領域２０の幅や輝度の制御だけで、光がきらめく領域が縦に細くなりながら強く光るという現象をリアルに表現できる。
【００７２】
なお、反射領域２０の幅や輝度の制御は、必ずしも光の入射角θそのものを使用して制御する必要はなく、光の入射角θと等価なパラメータ（例えば後述する高度差係数α）を用いて制御するようにしてもよい。
【００７３】
また本実施形態では、反射領域がスクリーンの外に出た場合に、反射領域での反射演算処理を省略するようにしている。
【００７４】
例えば図１０（Ａ）のように、視線方向が上方向を向いたりして、反射領域２０がスクリーン（表示画面）外に出た場合には、反射領域２０での反射演算処理を省略する。このようにすることで、無駄な処理が行われるのを防止でき、処理の高速化を図れるようになる。
【００７５】
また本実施形態では、視点位置とマップとの距離が遠いほど、反射領域の輝度を低くするようにしている。
【００７６】
例えば図１０（Ｂ）に示すように、視点位置ＶＰがマップ３０から遠く離れた場合には、反射領域２０の輝度を低くし、反射領域２０が画面上で徐々に消えてゆくようにする。即ち、この種のゲーム装置では、視点位置ＶＰから遠く離れた位置にある表示物については、デプスキューイング処理などを利用して画面から徐々に消してゆく。例えば図１０（Ｂ）において、視点位置ＶＰとマップ３０との距離が遠く離れると、陸地２４は画面上でデプスキューイング処理により徐々に消えてゆく。このような場合に反射領域２０の輝度が高いと、反射領域２０が画面上で目立ってしまい（反射領域２０がきらめいてしまい）、不自然な画像になってしまう。
【００７７】
本実施形態によれば、視点位置ＶＰとマップ３０との距離が離れ、陸地２４などの表示物が画面上で徐々に消えてゆくにつれて、反射領域２０の輝度も低くなり画面上で徐々に消えてゆくようになる（徐々に薄くなる）。これにより、反射領域２０が目立ってしまい不自然な画像が生成されてしまうという事態を防止できる。
【００７８】
なお、反射領域２０の輝度を低くする制御は、必ずしも視点位置ＶＰとマップとの距離そのものを使用して制御する必要はなく、この距離と等価なパラメータ（例えば後述する高度差係数α）を用いて制御するようにしてもよい。
【００７９】
さて、本実施形態では、より具体的には次のようにして反射演算処理を実現している。
【００８０】
即ち図１１において、まず、マップ３０の面（水平面）に関して光源の位置Ｐ０と面対称の位置Ｐ１（第１の位置）を求め、この位置Ｐ１をスクリーン４２に透視変換した位置Ｐ２（第２の位置）を求める。そして、この位置Ｐ２に反射像オブジェクト５０を設定する（位置Ｐ２と反射像オブジェクト５０の中心点（代表点）とが一致するように反射像オブジェクト５０を配置する）。
【００８１】
次に、図１２（Ａ）に示すように、マップなどの表示物をスクリーン４２に透視変換することにより得られるフレーム画像４０に対して、反射像オブジェクト５０を重ね書きする。このようにすることで、光源からの光の反射を表現するための反射演算処理を、簡易に実現できるようになる。
【００８２】
なお、図１２（Ｂ）に示すように、視点（フレーム画像、視界画像）がＺ軸（奥行き方向の座標軸）回りに回転した場合には、反射像オブジェクト５０もＺ軸回りに回転させてからフレーム画像４０に重ね書きするようにすることが望ましい。
【００８３】
また、特に本発明を限定するものではないが、本実施形態では、視点位置ＶＰが移動しても、ＶＰと光源位置Ｐ０の相対的な位置関係は変化しないようになっている。このようにすることで、光源位置Ｐ０が無限遠にあるように見せることができる。また、光源位置Ｐ０を時間経過に伴い変化させるようにすることも可能である。このようにすれば、東から昇った太陽が時間経過に伴い天空上を移動し、西に沈むというような表現が可能になる。
【００８４】
さて反射演算処理を実現する他の手法として次のような手法を考えることができる。即ち、この手法では、まず図１１の位置Ｐ１を求めて、この位置Ｐ１、視点位置ＶＰを結ぶ線とマップ３０との交点となる位置Ｐ２’を求める。そしてこの位置Ｐ２’に、３次元的な反射像オブジェクト５０’を設定（配置）する。しかしながら、この手法では、Ｐ１、ＶＰを結ぶ線とマップ３０との交点である位置Ｐ２’を求める処理や、反射像オブジェクト５０’の奥行き方向のサイズＨ’を視線方向に応じて変化させる処理等が必要になる。このため処理負荷が重くなってしまう。
【００８５】
これに対して、２次元的な反射像オブジェクト５０を位置Ｐ２に設定する手法では、位置Ｐ１をスクリーン４２に透視変換するだけで位置Ｐ２を求めることができる。また、この手法では、反射像オブジェクト５０の奥行き方向のサイズＨを、視線方向に依存しない固定値にすることができる。即ち、Ｈを、スクリーン距離ＳＤ（画角）のみの関数（例えばＨ＝２×ＳＤ×ｔａｎβ）とすることができる。従って、３次元の反射像オブジェクト５０を位置Ｐ２’に設定する手法に比べて、処理負荷を軽減できる。
【００８６】
なお図１２（Ａ）、（Ｂ）のようなフレーム画像４０への反射像オブジェクト５０の重ね書きは、フレーム画像４０と反射像オブジェクト５０との半透明加算処理により実現できる。
【００８７】
即ち図１２（Ｃ）に示すように、反射像オブジェクト５０を、奥行き方向のサイズ（長軸の長さ）がＨで水平方向のサイズ（短軸の長さ）がＷの楕円形のオブジェクトにする。この場合、この楕円形のオブジェクトは、複数の３角形ポリゴンを組み合わせることで表現する。また反射像オブジェクト５０の中心点ＰＣの輝度を所与の値ＩＣ（例えばＩＣ＝１．０）にすると共に、輪郭点ＰＬ０〜ＰＬ１１の輝度を０．０にする。そして、中心点ＰＣから輪郭点ＰＬ０〜ＰＬ１１の方へと向かうにつれて、輝度を少しずつ低くする（輝度にグラディエーションをかける）。また、反射像オブジェクト５０の色は、反射光の色（例えば黄色っぽい白）に設定する。
【００８８】
フレーム画像４０と反射像オブジェクト５０との半透明加算処理は、例えば次のような式により表すことができる。
ＰＲ＝ＦＲ＋Ｉ×ＲＲ        （３）
ＰＧ＝ＦＧ＋Ｉ×ＲＧ        （４）
ＰＢ＝ＦＢ＋Ｉ×ＲＢ        （５）
ここで、ＦＲ、ＦＧ、ＦＢはフレーム画像４０の色情報のＲ、Ｇ、Ｂ成分であり、ＲＲ、ＲＧ、ＲＢは反射像オブジェクト５０の色情報のＲ、Ｇ、Ｂ成分であり、ＰＲ、ＰＧ、ＰＢは、半透明加算処理により得られる出力画像の色情報のＲ、Ｇ、Ｂ成分である。また、Ｉは、反射像オブジェクト５０に設定される輝度である。
【００８９】
例えば、反射像オブジェクト５０の輪郭点ＰＬ０〜ＰＬ１１では、図１２（Ｃ）に示すように輝度Ｉ＝０．０になるため、ＰＲ＝ＦＲ、ＰＧ＝ＦＧ、ＰＢ＝ＦＢとなる。即ち輪郭点ＰＬ０〜ＰＬ１１ではフレーム画像４０がそのまま出力画像になり、輪郭点ＰＬ０〜ＰＬ１１ではきらめきが生じない。また、反射像オブジェクト５０の中心点ＰＣでは、輝度Ｉが例えばＩＣ＝１．０になるため、ＰＲ＝ＦＲ＋ＲＲ、ＰＧ＝ＦＧ＋ＲＧ、ＰＢ＝ＦＢ＋ＲＢとなる。即ち中心点ＰＣではフレーム画像と反射像オブジェクトの画像を半透明加算したものが出力画像になり、中心点ＰＣが一番強くきらめくようになる。
【００９０】
さて、本実施形態では、視点位置ＶＰと位置Ｐ１との高度差に応じて、反射像オブジェクトの幅や輝度を制御している。
【００９１】
即ち図１３（Ａ）のように、視点位置ＶＰと位置Ｐ１（マップ３０の面に関して光源位置Ｐ０と面対称の第１の位置）との高度差（高低差）を表す係数αが大きい場合には、反射像オブジェクト（広義には反射領域）５０の幅（水平方向のサイズＷ）を太くすると共に、反射像オブジェクト５０の輝度（中心点の輝度ＩＣ）を低くする。一方、図１３（Ｂ）のように、ＶＰとＰ１との高度差係数αが小さい場合には、反射像オブジェクト５０の幅（水平方向のサイズＷ）を細くすると共に、反射像オブジェクト５０の輝度（中心点の輝度ＩＣ）を高くする。
【００９２】
図１３（Ａ）に示すように、入射角θが小さいと、光源位置Ｐ０とマップ３０との距離及び位置Ｐ１とマップ３０との距離は長くなり、高度差係数αは大きくなる。また図１３（Ｂ）に示すように、入射角θが大きいと、Ｐ０とマップ３０との距離及びＰ１とマップ３０との距離は短くなり、αは小さくなる。従って、入射角θが小さいということはαが大きいこととほぼ等価となり、入射角θが大きいということはαが小さいこととほぼ等価になる。
【００９３】
そこで、本実施形態では、入射角θを直接求めることなく、高度差係数αを用いて反射像オブジェクト５０の幅や輝度を制御している。このようにすれば、図９（Ａ）、（Ｂ）に示すような光の入射角θに応じた反射領域の幅や輝度の制御を、入射角θを直接求めることなく実現できるようになる。従って、入射角θを求める処理を省くことができ、処理負担の軽減化を図れる。
【００９４】
また高度差係数αを用いて反射像オブジェクト５０の輝度を制御すれば、図１４に示すように、視点位置ＶＰとマップ３０との距離が遠く離れた場合に反射像オブジェクト５０の輝度を低くする処理も高度差係数αを用いて実現できるようになる。高度差係数αが大きくなることは、ＶＰとマップ３０との距離が大きくなることとほぼ等価になるからである。
【００９５】
即ち図９（Ａ）、（Ｂ）では、入射角θに基づいて、反射領域の輝度を制御し、図１０（Ｂ）では、視点位置ＶＰとマップ３０との距離に基づいて、反射領域の輝度を制御している。従って、反射領域の輝度を制御するパラメータが２つになってしまい、処理が煩雑化する。
【００９６】
これに対して、高度差係数αを用いれば、図１３（Ａ）、（Ｂ）の場合でも図１４の場合でも、同じ高度差係数αを用いて反射像オブジェクト５０の輝度を制御できるようになる。従って、図９（Ａ）、（Ｂ）、図１０（Ｂ）のように反射領域の輝度の制御に２つのパラメータ（入射角θと、視点位置ＶＰ、マップ３０間の距離）を使用する場合に比べて、処理負担の軽減化を図れる。
【００９７】
なお、高度差係数αに基づいて反射像オブジェクト５０の幅を制御する場合には、αに上限値を設けることが望ましい（例えばαが１．０より大きくならないようにする）。
【００９８】
また本実施形態では、反射像オブジェクトの輪郭や輝度分布が、時間経過に伴い揺らぐようにしている。
【００９９】
即ち図１５（Ａ）に示すように、幅や輝度が決定した反射像オブジェクト５０の中心点ＰＣや輪郭点ＰＬ０〜ＰＬ１１に、時間経過に伴い変化する揺らぎを加える。そして、このように中心点ＰＣや輪郭点ＰＬ０〜ＰＬ１１に揺らぎが加えられた反射像オブジェクト５０を、図２のフレームバッファ１４４に重ね書きする。
【０１００】
時間経過に伴い変化する揺らぎを輪郭点ＰＬ０〜ＰＬ１１に加えることで、図１５（Ｂ）のように、反射像オブジェクト５０の輪郭が揺らぐようになる。これにより、反射像オブジェクト５０の境界が目立ってしまう事態を防止できるようになる。即ち図３（Ａ）、（Ｂ）、図４（Ａ）、（Ｂ）のゲーム画像において、反射領域２０の輪郭をぼやかすことが可能になり、プレーヤが画像に不自然さを感じる事態を防止できるようになる。
【０１０１】
また時間経過に伴い変化する揺らぎを中心点ＰＣに加えることで、反射像オブジェクト５０の輝度分布を変化させることが可能になる。輝度が最も高い中心点ＰＣの位置が時間経過に伴い変化するようになるからである。このように反射像オブジェクト５０の輝度分布を変化させることで、海面のきらめきを更にリアルに表現できるようになる。
【０１０２】
即ち、図８（Ａ）、（Ｂ）の手法では、視点位置ＶＰが移動している場合には、同じ場所のドットがきらめいたり、きらめかなかったりすることにより、海面のきらめきのリアルな表現が可能になる。しかしながら、視点位置ＶＰが静止している場合には、図８（Ａ）、（Ｂ）の手法では、きらめきのリアルな表現を今一つ達成できない。
【０１０３】
これに対して図１５（Ａ）、（Ｂ）のように、反射像オブジェクト５０の中心点ＰＣに揺らぎを加えて輝度分布を時間経過に伴い変化させれば、視点位置ＶＰが静止している場合にも、海面がきらめいて見えるようになり、海面のきらめきのリアルな表現が可能となる。
【０１０４】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１６、図１７のフローチャートを用いて説明する。
【０１０５】
まず、図２のマップ画像情報記憶部（テクスチャ記憶部）１４２に記憶されるマップ画像情報等に基づいて、フレーム画像を生成し、フレームバッファ１４４に書き込む（ステップＳ１）。この際に本実施形態では、反射許可フラグＲＦもフレームバッファ１４４に書き込まれる。このようにすれば図８（Ａ）、（Ｂ）で説明したように、透視変換による画像情報のデフォルメを利用したきらめきのリアルな表現が可能になる。
【０１０６】
次に、図１１で説明したように、マップ３０の面に関して光源位置Ｐ０と面対称の位置Ｐ１を求める（ステップＳ２）。そして、スクリーン距離ＳＤ（画角）に基づいて、反射像オブジェクトの奥行き方向のサイズＨ＝２×ＳＤ×ｔａｎβを求める（ステップＳ３）。なお、βは定数であり例えば１０度となる。
【０１０７】
次に、図１３（Ａ）、（Ｂ）で説明したように、奥行き方向のサイズＨと高度差係数αに基づいて、反射像オブジェクト５０の水平方向のサイズＷ＝Ｈ×αを求める（ステップＳ４）。なお、水平方向のサイズＷを求める場合には高度差係数αに対してリミット値が設定され、αは０．３〜１．０の値になる（α＝１．０の場合には反射像オブジェクト５０は真円になる）。
【０１０８】
次に、図１１で説明したように、位置Ｐ１をスクリーン４２に透視変換した位置Ｐ２を求める（ステップＳ５）。
【０１０９】
次に、位置Ｐ２と反射像オブジェクト５０のサイズ（Ｈ、或いはＨ及びＷ）に基づいて、反射像オブジェクト５０がスクリーン外に出たか否か（図１０（Ａ）参照）を判断する（図１７のステップＳ６）。そしてスクリーン外に出た場合には、以降のステップＳ７〜Ｓ１３の処理（反射演算処理）を省略する。一方、スクリーン内にある場合には、図１３（Ａ）、（Ｂ）、図１４で説明しように、高度差係数αに基づいて、反射像オブジェクト５０の中心点ＰＣの輝度ＩＣを変化させる（ステップＳ７）。即ち高度差係数αが小さい場合には輝度ＩＣを高くし、αが大きい場合には輝度ＩＣを低くする。
【０１１０】
次に、図１２（Ａ）、（Ｂ）で説明したように、視点のＺ軸回転に合わせて、反射像オブジェクト５０を回転させる（ステップＳ８）。そして、図１５（Ａ）、（Ｂ）で説明しように、反射像オブジェクト５０の輪郭点ＰＬ０〜ＰＬ１１や中心点ＰＣに揺らぎを加える（ステップＳ９）。
【０１１１】
次に、処理対象となるドットの反射許可フラグＲＦがオンになっているか否かを判断する（ステップＳ１０）。そして、ＲＦがオフの場合には次のドットに対する処理に移行する（ステップＳ１３）。即ち図５に示すように、陸地においては、ほとんどの場合、反射許可フラグＲＦがオフ（ＲＦ＝０）になっているために、次のドットに対する処理に移行する。
【０１１２】
ＲＦがオン（ＲＦ＝１）になっていると判断された場合には、そのドットに対する反射演算処理（反射像オブジェクトをフレーム画像に重ね書きする処理）を行う（ステップＳ１１）。即ち、図５で説明したように、海においてはＲＦ＝１となるドットが点在しており、このドットに対しては反射演算処理が行われる。そして、反射像オブジェクト５０の全てのドットに対する処理が終了したか否かを判断し（ステップＳ１２）、終了していない場合には次のドットに対する処理に移行する（ステップＳ１３）。
【０１１３】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１８を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【０１１４】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【０１１５】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【０１１６】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【０１１７】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【０１１８】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【０１１９】
そして図１〜図１７で説明した種々の処理は、プログラムやデータなどの情報を格納した情報記憶媒体１００６、この情報記憶媒体１００６からの情報等に基づいて動作するＣＰＵ１０００、画像生成ＩＣ１０１０、或いは音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【０１２０】
図１９（Ａ）に、本実施形態を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。装置に内蔵されるシステムボード（サーキットボード）１１０６には、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装される。そして、(1)光源からの光の反射を表現するための反射演算処理を許可するか否かを示す反射許可フラグがマップの各ドットに対して設定されるマップ画像情報を記憶するための手段、(2)光源位置と視点位置とに基づいて、反射領域を設定するための手段、(3)反射領域において反射許可フラグがオンになっているドットに対して反射演算処理を行うための手段、(4)マップ面に関して光源位置と面対称の第１の位置を求め、第１の位置をスクリーンに透視変換した第２の位置に反射像オブジェクトを設定するための手段、(5)反射像オブジェクトを、マップを含む表示物をスクリーンに透視変換することにより得られるフレーム画像に対して重ね書きすることで、光源からの光の反射を表現するための反射演算処理を行うための手段等を実現するための情報は、システムボード１１０６上の情報記憶媒体である半導体メモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１２１】
図１９（Ｂ）に、本実施形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、メモリーカード１２０８、１２０９等に格納されている。
【０１２２】
図１９（Ｃ）に、ホスト装置１３００と、このホスト装置１３００と通信回線（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）１３０２を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、半導体メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音処理ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１２３】
なお、図１９（Ｃ）の構成の場合に、本発明の処理を、ホスト装置と端末とで（サーバーを設ける場合にはホスト装置とサーバーと端末とで）分散して処理するようにしてもよい。また、本発明を実現するための上記格納情報を、ホスト装置の情報記憶媒体と端末の情報記憶媒体（或いはホスト装置の情報記憶媒体とサーバの情報記憶媒体と端末の情報記憶媒体）に分散して格納するようにしてもよい。
【０１２４】
また通信回線に接続する端末は、家庭用ゲーム装置であってもよいし業務用ゲーム装置であってもよい。そして、業務用ゲーム装置を通信回線に接続する場合には、業務用ゲーム装置との間で情報のやり取りが可能であると共に家庭用ゲーム装置との間でも情報のやり取りが可能な携帯型情報記憶装置（メモリーカード、ＰＤＡ、携帯型ゲーム装置）を用いることが望ましい。
【０１２５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１２６】
例えば、反射許可フラグを設定する手法は図７で説明したものに限定されるものではない。
【０１２７】
また反射領域は、オブジェクト空間内に設定してもよいし（例えば図１１の反射像オブジェクト５０’）、スクリーン上に設定してもよい（反射像オブジェクト５０）。
【０１２８】
また反射演算処理は、図１２（Ａ）、（Ｂ）、（Ｃ）で説明したような半透明加算処理には限定されず、少なくとも光源からの光の反射を表現できる演算処理であればよい。
【０１２９】
また本発明では、図８（Ａ）、（Ｂ）で説明したように、フレーム画像がフレームバッファに書き込まれる際にフレームバッファの各ドットに対して反射許可フラグを書き込むことが特に望ましいが、本発明はこれに限定されない。
【０１３０】
また第２の位置に反射像オブジェクトを設定し、この反射像オブジェクトをフレーム画像に重ね書きすることで反射演算処理を実現する発明では、反射許可フラグをマップの各ドットに設定することが特に望ましいが、このような反射許可フラグを利用しないことも可能である。
【０１３１】
また本発明は戦闘機ゲーム以外にも種々のゲーム（戦闘機以外の飛行機のゲーム、宇宙船ゲーム、競争ゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、シューティングゲーム、ロールプレイングゲーム等）に適用できる。
【０１３２】
また本発明は、業務用ゲーム装置、家庭用ゲーム装置、多数のプレーヤが参加する大型アトラクション装置、シミュレータ、マルチメディア端末、画像生成装置、ゲーム画像を生成するシステム基板等の種々のゲーム装置に適用できる。
【図面の簡単な説明】
【図１】図１（Ａ）、（Ｂ）は、水面のきらめきを表現する第１、第２の手法について説明するための図である。
【図２】本実施形態のゲーム装置のブロック図の例である。
【図３】図３（Ａ）、（Ｂ）は、本実施形態により生成されるゲーム画像の例を示す図である。
【図４】図４（Ａ）、（Ｂ）も、本実施形態により生成されるゲーム画像の例を示す図である。
【図５】マップの各ドットに対して設定された反射許可フラグを用いて反射演算処理を行う手法について説明するための図である。
【図６】陸地では、ほぼ全面的にＲＦを０にし、海では、ＲＦ＝１となるドットを点在させる手法について説明するための図である。
【図７】マップの各ドットに対して反射許可フラグを設定する手法の具体例について説明するための図である。
【図８】図８（Ａ）、（Ｂ）は、フレーム画像をフレームバッファに書き込む際にフレームバッファの各ドットに対して反射許可フラグも書き込む手法について説明するための図である。
【図９】図９（Ａ）、（Ｂ）は、光源からの光の入射角に応じて、反射領域の幅や輝度を制御する手法について説明するための図である。
【図１０】図１０（Ａ）、（Ｂ）は、スクリーンの外に反射領域が出た場合に反射演算処理を省略する手法や、視点位置とマップとの距離が遠く離れた場合に反射領域の輝度を低くする手法について説明するための
【図１１】スクリーン４２の位置Ｐ２に設定した反射像オブジェクトをフレーム画像に重ね書きすることで反射演算処理を実現する手法について説明するための図である。
【図１２】図１２（Ａ）、（Ｂ）、（Ｃ）は、半透明加算処理により反射演算処理を実現する手法について説明するための図である。
【図１３】図１３（Ａ）、（Ｂ）は、高度差係数αに基づいて、反射像オブジェクトの幅や輝度を制御する手法について説明するための図である。
【図１４】高度差係数αに基づいて、反射像オブジェクトの輝度を制御する手法について説明するための図である。
【図１５】図１５（Ａ）、（Ｂ）は、反射像オブジェクトの中心点や輪郭点に、時間経過に伴い変化する揺らぎを加える手法について説明するための図である。
【図１６】本実施形態の詳細な処理例を示すフローチャートの一例である。
【図１７】本実施形態の詳細な処理例を示すフローチャートの一例である。
【図１８】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１９】図１９（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態の装置の例を示す図である。
【符号の説明】
１８    光源（太陽）
２０    反射領域
２２    海
２４    陸地
２６    池
２８    ビル
３０    マップ
３２    陸面テクスチャ
３４    パレット
３６    海面テクスチャ
３８    パレット
４０    フレーム画像
４２    スクリーン
５０、５０’  反射像オブジェクト
１００  処理部
１１０  ゲーム演算部
１１２  移動体演算部
１１４  視点制御部
１１６  反射領域設定部
１１８  反射演算処理部
１３０  操作部
１４０  記憶部
１４２  マップ画像情報記憶部
１４４  フレームバッファ
１５０  情報記憶媒体
１６０  画像生成部
１６２  表示部
１７０  音生成部
１７２  音出力部
１７４  通信部
１７６  Ｉ／Ｆ部
１８０  メモリーカード（又はＰＤＡ）
【図１】
0004001556.tif 000002
【図２】
0004001556.tif 000003
【図３】
0004001556.tif 000004
【図４】
0004001556.tif 000005
【図５】
0004001556.tif 000006
【図６】
0004001556.tif 000007
【図７】
0004001556.tif 000008
【図８】
0004001556.tif 000009
【図９】
0004001556.tif 000010
【図１０】
0004001556.tif 000011
【図１１】
0004001556.tif 000012
【図１２】
0004001556.tif 000013
【図１３】
0004001556.tif 000014
【図１４】
0004001556.tif 000015
【図１５】
0004001556.tif 000016
【図１６】
0004001556.tif 000017
【図１７】
0004001556.tif 000018
【図１８】
0004001556.tif 000019
【図１９】
0004001556.tif 000020