(57)【要約】【課題】陽炎エフェクトなどの画像エフェクトを少ない処理負荷で効果的に実現できる画像生成システム、プログラム及び情報記憶媒体を提供すること。【解決手段】陽炎ポリゴンＨＰＬ（元画像変換用オブジェクト）以外のオブジェクトを描画バッファに描画することで元画像を生成する。陽炎ポリゴンを透視変換し、透視投影位置に基づきテクスチャ座標を求める。テクスチャ座標で指定される元画像に基づいて、陽炎画像（元画像変換用画像）を陽炎ポリゴンにマッピングし、描画バッファに描画する。陽炎ポリゴンの透視投影位置を所与のずらし量だけずらすことでテクスチャ座標を求める。仮想カメラから見て奥側にある陽炎ポリゴンほどテクスチャ座標のずらし量を大きくする。陽炎ポリゴンに奥行き値を設定して隠面消去処理を行う。大きさ、位置、移動速度、テクスチャ座標のずらし量などのパラメータを陽炎ポリゴンに設定する。【選択図】        図４
2004334801.tif 000002
【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
オブジェクト空間にオブジェクトを配置設定するオブジェクト空間設定部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、
前記画像生成部が、
元画像変換用オブジェクト以外のオブジェクトを描画バッファに描画することで元画像を生成し、
元画像変換用オブジェクトをスクリーン座標系に透視変換し、元画像変換用オブジェクトの透視投影位置に基づいてテクスチャ座標を求め、
求められたテクスチャ座標で指定される元画像に基づいて、元画像変換用画像を元画像変換用オブジェクトにマッピングし、
元画像変換用画像がマッピングされた元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記画像生成部が、
元画像変換用オブジェクトの透視投影位置を所与のずらし量だけずらすことでテクスチャ座標を求め、
求められたテクスチャ座標で指定される元画像を、元画像変換用画像として元画像変換用オブジェクトにマッピングすることを特徴とする画像生成システム。
【請求項３】
請求項２において、
テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み、
前記パラメータ設定部が、
仮想カメラから見て奥側にある元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を大きくすることを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記画像生成部が、
元画像変換用オブジェクトの奥行き値と元画像のピクセルの奥行き値を比較し、元画像変換用オブジェクトの奥行き値の方がピクセルの奥行き値よりも仮想カメラから見て手前側となるピクセルに対して、元画像変換用オブジェクトの画像を描画することを特徴とする画像生成システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記画像生成部が、
元画像が描画されている描画バッファに第１の元画像変換用オブジェクトを描画することで生成された画像を、元画像に設定し、
設定された元画像と、第２の元画像変換用オブジェクトを透視変換することで得られるテクスチャ座標とに基づいて、第２の元画像変換用画像を第２の元画像変換用オブジェクトにマッピングし、
第２の元画像変換用画像がマッピングされた第２の元画像変換用オブジェクトを描画バッファに描画することを特徴とする画像生成システム。
【請求項６】
請求項１乃至５のいずれかにおいて、
元画像変換用オブジェクトの大きさ、位置、移動速度、及びテクスチャ座標のずらし量の少なくとも１つを含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み、
前記パラメータ設定部が、
複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定することを特徴とする画像生成システム。
【請求項７】
請求項６において、
前記パラメータ設定部が、
元画像変換用オブジェクトのカメラ座標系での位置を、前記パラメータとして元画像変換用オブジェクトに設定することを特徴とする画像生成システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記画像生成部が、
ワールド座標系の所与の発生領域で発生する元画像変換用オブジェクトが、仮想カメラの視野領域内に入った場合に、元画像変換用オブジェクトのマッピング処理及び描画処理を行うことを特徴とする画像生成システム。
【請求項９】
請求項８において、
テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み、
前記パラメータ設定部が、
発生領域の境界に近い場所に位置する元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を小さくすることを特徴とする画像生成システム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
元画像変換用オブジェクトが、元画像に陽炎効果を施すための陽炎ポリゴンであることを特徴とする画像生成システム。
【請求項１１】
画像を生成するためのプログラムであって、
オブジェクト空間にオブジェクトを配置設定するオブジェクト空間設定部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記画像生成部が、
元画像変換用オブジェクト以外のオブジェクトを描画バッファに描画することで元画像を生成し、
元画像変換用オブジェクトをスクリーン座標系に透視変換し、元画像変換用オブジェクトの透視投影位置に基づいてテクスチャ座標を求め、
求められたテクスチャ座標で指定される元画像に基づいて、元画像変換用画像を元画像変換用オブジェクトにマッピングし、
元画像変換用画像がマッピングされた元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することを特徴とするプログラム。
【請求項１２】
請求項１１において、
前記画像生成部が、
元画像変換用オブジェクトの透視投影位置を所与のずらし量だけずらすことでテクスチャ座標を求め、
求められたテクスチャ座標で指定される元画像を、元画像変換用画像として元画像変換用オブジェクトにマッピングすることを特徴とするプログラム。
【請求項１３】
請求項１２において、
テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部としてコンピュータを機能させ、
前記パラメータ設定部が、
仮想カメラから見て奥側にある元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を大きくすることを特徴とするプログラム。
【請求項１４】
請求項１１乃至１３のいずれかにおいて、
前記画像生成部が、
元画像変換用オブジェクトの奥行き値と元画像のピクセルの奥行き値を比較し、元画像変換用オブジェクトの奥行き値の方がピクセルの奥行き値よりも仮想カメラから見て手前側となるピクセルに対して、元画像変換用オブジェクトの画像を描画することを特徴とするプログラム。
【請求項１５】
請求項１１乃至１４のいずれかにおいて、
前記画像生成部が、
元画像が描画されている描画バッファに第１の元画像変換用オブジェクトを描画することで生成された画像を、元画像に設定し、
設定された元画像と、第２の元画像変換用オブジェクトを透視変換することで得られるテクスチャ座標とに基づいて、第２の元画像変換用画像を第２の元画像変換用オブジェクトにマッピングし、
第２の元画像変換用画像がマッピングされた第２の元画像変換用オブジェクトを描画バッファに描画することを特徴とするプログラム。
【請求項１６】
請求項１１乃至１５のいずれかにおいて、
元画像変換用オブジェクトの大きさ、位置、移動速度、及びテクスチャ座標のずらし量の少なくとも１つを含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部としてコンピュータを機能させ、
前記パラメータ設定部が、
複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定することを特徴とするプログラム。
【請求項１７】
請求項１６において、
前記パラメータ設定部が、
元画像変換用オブジェクトのカメラ座標系での位置を、前記パラメータとして元画像変換用オブジェクトに設定することを特徴とするプログラム。
【請求項１８】
請求項１１乃至１７のいずれかにおいて、
前記画像生成部が、
ワールド座標系の所与の発生領域で発生する元画像変換用オブジェクトが、仮想カメラの視野領域内に入った場合に、元画像変換用オブジェクトのマッピング処理及び描画処理を行うことを特徴とするプログラム。
【請求項１９】
請求項１８において、
テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部としてコンピュータを機能させ、
前記パラメータ設定部が、
発生領域の境界に近い場所に位置する元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を小さくすることを特徴とするプログラム。
【請求項２０】
請求項１１乃至１９のいずれかにおいて、
元画像変換用オブジェクトが、元画像に陽炎効果を施すための陽炎ポリゴンであることを特徴とするプログラム。
【請求項２１】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１１乃至２０のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【従来技術】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。このよう画像生成システムとして、空気が暖められることで密度分布にむらが生じ、そこを通過する光が不規則に屈折することで空気が揺らめいて見える陽炎エフェクトについてもリアルに表現できるシステムが知られている。
【０００３】
【特許文献１】
特開２０００−１９７７６５号公報
【０００４】
【発明が解決しようとする課題】
この従来技術では、元画像の炎の周りのピクセルの色情報を入れ替える処理を、インデックスカラーテクスチャマッピングを利用して実現している。
【０００５】
しかしながら上記の従来技術だけでは、画面内での陽炎のむらや、陽炎が動いている様子や、奥行き方向における陽炎のむらを表現するのは難しかった。
【０００６】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、陽炎エフェクトなどの画像エフェクトを少ない処理負荷で効果的に実現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、画像生成を行う画像生成システムであって、オブジェクト空間にオブジェクトを配置設定するオブジェクト空間設定部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、前記画像生成部が、元画像変換用オブジェクト以外のオブジェクトを描画バッファに描画することで元画像を生成し、元画像変換用オブジェクトをスクリーン座標系に透視変換し、元画像変換用オブジェクトの透視投影位置に基づいてテクスチャ座標を求め、求められたテクスチャ座標で指定される元画像に基づいて、元画像変換用画像を元画像変換用オブジェクトにマッピングし、元画像変換用画像がマッピングされた元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００８】
本発明によれば、元画像変換用オブジェクト（カメラ座標系やワールド座標系のオブジェクト空間に配置設定されるオブジェクト）を透視変換することで、テクスチャ座標が求められる。そして、求められたテクスチャ座標で指定される元画像に基づいて、元画像変換用オブジェクトのマッピング処理が行われ、テクスチャ（元画像変換用画像）がマッピングされた元画像変換用オブジェクトが描画バッファ（描画領域）に描画される。これにより、元画像変換用オブジェクトに対応する領域（スクリーン座標系の領域）の元画像に対して、変換処理を施した画像を生成でき、陽炎エフェクトなどの画像エフェクトを少ない処理負荷で効果的に実現できる。しかも、テクスチャ座標は、元画像変換用オブジェクトを透視変換することで求められるため、元画像変換用オブジェクトの大きさや奥行き値に応じた適正な画像を、元画像変換用オブジェクトにマッピングすることが可能になる。
【０００９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、元画像変換用オブジェクトの透視投影位置を所与のずらし量だけずらすことでテクスチャ座標を求め、求められたテクスチャ座標で指定される元画像を、元画像変換用画像として元画像変換用オブジェクトにマッピングするようにしてもよい。
【００１０】
このようにすれば、仮想カメラから見て元画像をずらして見える画像を、元画像変換用画像として元画像変換用オブジェクトにマッピングできるようになる。なお、求められたテクスチャ座標（ずらし量だけずらしたテクスチャ座標、或いはずらさないテクスチャ座標）で指定される元画像に変換処理を施して、変換処理後の画像を元画像変換用オブジェクトにマッピングしてもよい。
【００１１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み（パラメータ設定部としてコンピュータを機能させる、或いはパラメータ設定部としてコンピュータを機能させるプログラムを記憶し）、前記パラメータ設定部が、仮想カメラから見て奥側にある元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を大きくするようにしてもよい。
【００１２】
このようにすれば、奥側に配置される元画像変換用オブジェクトほど、元画像からずれた画像に見えるようになり、リアルな画像エフェクトを実現できる。
【００１３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、元画像変換用オブジェクトの奥行き値と元画像のピクセルの奥行き値を比較し、元画像変換用オブジェクトの奥行き値の方がピクセルの奥行き値よりも仮想カメラから見て手前側となるピクセルに対して、元画像変換用オブジェクトの画像を描画するようにしてもよい。
【００１４】
このようにすれば、元画像変換用オブジェクトとピクセルの奥行き値に応じた元画像変換用オブジェクトの描画処理を行うことが可能になり、更にリアルな画像表現を実現できる。
【００１５】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、元画像が描画されている描画バッファに第１の元画像変換用オブジェクトを描画することで生成された画像を、元画像に設定し、設定された元画像と、第２の元画像変換用オブジェクトを透視変換することで得られるテクスチャ座標とに基づいて、第２の元画像変換用画像を第２の元画像変換用オブジェクトにマッピングし、第２の元画像変換用画像がマッピングされた第２の元画像変換用オブジェクトを描画バッファに描画するようにしてもよい。
【００１６】
このようにすれば、元画像変換用画像（元画像変換用オブジェクト）の再帰的な多重合成が可能になり、複雑な画像エフェクト処理を実現できる。
【００１７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、元画像変換用オブジェクトの大きさ、位置、移動速度、及びテクスチャ座標のずらし量の少なくとも１つを含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み（パラメータ設定部としてコンピュータを機能させる、或いはパラメータ設定部としてコンピュータを機能させるプログラムを記憶し）、前記パラメータ設定部が、複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定するようにしてもよい。
【００１８】
このように、複数の元画像変換用オブジェクトを用いると共に各元画像変換用オブジェクトに対して種々のパラメータを設定することで、１つの領域の元画像を画像変換することでは得ることができない、多様でリアルな画像エフェクトを実現できる。
【００１９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記パラメータ設定部が、元画像変換用オブジェクトのカメラ座標系での位置を、前記パラメータとして元画像変換用オブジェクトに設定するようにしてもよい。
【００２０】
このようにすれば、仮想カメラの位置や方向（回転角度）の変化に依存せずに、画像エフェクトが施された画像をプレーヤの目の前に常に表示することが可能になる。
【００２１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、ワールド座標系の所与の発生領域で発生する元画像変換用オブジェクトが、仮想カメラの視野領域内に入った場合に、元画像変換用オブジェクトのマッピング処理及び描画処理を行うようにしてもよい。
【００２２】
このようにすれば、仮想カメラ（仮想カメラに追従する移動体）が、ワールド座標系（ワールド空間）の一部の領域に位置した場合にだけ、画像エフェクトを発生させることが可能になり、仮想現実感の高い画像エフェクトを実現できる。
【００２３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み（パラメータ設定部としてコンピュータを機能させる、或いはパラメータ設定部としてコンピュータを機能させるプログラムを記憶し）、前記パラメータ設定部が、発生領域の境界に近い場所に位置する元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を小さくするようにしてもよい。
【００２４】
このようにすれば、画像エフェクトの発生領域の内側から外部に仮想カメラ（移動体）が出た場合に、画像エフェクトが突然に無くなってしまうという不自然な事態の発生を防止できる。
【００２５】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、元画像変換用オブジェクトが、元画像に陽炎効果を施すための陽炎ポリゴンであってもよい。
【００２６】
なお本発明は、陽炎エフェクト（光が不規則に屈折することで空気が揺らめいて見える現象）以外の画像エフェクトにも適用できる。
【００２７】
【発明の実施の形態】
以下、本実施形態について説明する。
【００２８】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２９】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図１の構成要素を全て含む必要はなく、その一部（例えば操作部１６０、携帯型情報記憶装置１９４又は通信部１９６等）を省略してもよい。
【００３０】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、ペダル、マイク、センサー、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００３１】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどにより実現できる。
【００３２】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ハードディスク、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３３】
表示部１９０は本実施形態により生成された画像を出力するものであり、その機能はＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤなどにより実現できる。音出力部１９２は本実施形態により生成された音を出力するものであり、その機能はスピーカ、或いはヘッドフォンなどにより実現できる。
【００３４】
携帯型情報記憶装置１９４（メモリカードや携帯型ゲーム装置）は、プレーヤの個人データやゲームのセーブデータなどを記憶するものである。通信部１９６は、外部（ホスト装置、他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムにより実現できる。
【００３５】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３６】
処理部１００（プロセッサ）は、操作部１６０からの操作データや、プログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。ここで処理部１００が行うゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ）やＡＳＩＣ（ゲートアレイ）などのハードウェアや、プログラムにより実現できる。
【００３７】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、パラメータ制御部１１６、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略してもよい。
【００３８】
オブジェクト空間設定部１１０は、キャラクタ、車、柱、壁、建物、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えばワールド座標系（或いはカメラ座標系）でのオブジェクトの位置や回転角度（方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３９】
移動・動作処理部１１２は、移動オブジェクト（車、飛行機、又はキャラクタ等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）、或いは各種データ（モーションデータ）などに基づいて、移動オブジェクトをオブジェクト空間内で移動させたり、移動オブジェクトを動作（モーション、アニメーション）させる処理を行う。より具体的には、移動オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームは、移動オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４０】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００４１】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られた移動オブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた回転角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００４２】
パラメータ設定部１１６は、ゲーム処理に必要な各種パラメータを設定する処理を行う。より具体的にはパラメータ設定部１１６は、元画像変換用オブジェクト（狭義には陽炎ポリゴン、陽炎オブジェクト。他の説明でも同様）の大きさ（幅、高さ）、位置、移動速度、或いはテクスチャ座標のずらし量などを含むパラメータを、元画像変換用オブジェクトに設定する（各元画像変換用オブジェクトに関連づけて記憶部１７０に記憶する）。この場合にパラメータ設定部１１６は、複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定できる。またパラメータが含む元画像変換用オブジェクトの位置としては、カメラ座標系（視点座標系）での位置を用いることができる。なお元画像変換用オブジェクトの位置としてワールド座標系での位置を用いてもよい。
【００４３】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４４】
画像生成部１２０は、ジオメトリ処理部１２１、描画部１２２、テクスチャマッピング部１２３、隠面消去部１２４、α合成部１２５を含む。なおこれらの一部を省略する構成としてもよい。
【００４５】
ジオメトリ処理部１２１は３次元画像生成のためのジオメトリ処理を行う。より具体的には、座標変換（ワールド座標変換、カメラ座標変換、スクリーン座標変換）、クリッピング処理、或いは光源処理等のジオメトリ処理を行い、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を作成する。
【００４６】
描画部１２２はオブジェクトの描画処理を行う。より具体的には、ジオメトリ処理により作成された描画データ（プリミティブ面データ）に基づいて、透視変換後（スクリーン座標変換後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７２（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００４７】
テクスチャマッピング部１２３は、テクスチャ記憶部１７６に記憶されるテクスチャ（テクセルデータ）をオブジェクト（ポリゴン）にマッピングする処理を行う。具体的には、テクスチャ座標で指定されるテクセルデータをテクスチャ記憶部１７６（テクスチャバッファ、テクスチャ用記憶領域）から読み出す。そして読み出したテクセルデータを描画対象ピクセルに描画する。この場合にテクスチャマッピング部１２３は、バイリニア補間などのテクセル補間を行いながらマッピング処理を行うことができる。また、インデックスカラー・テクスチャマッピング用のＬＵＴ（ルックアップテーブル）を用いたテクスチャマッピングを行うこともできる。
【００４８】
隠面消去部１２４は、Ｚ値（奥行き情報）が格納されるＺバッファ１７４（奥行きバッファ、Ｚプレーン）を用いて、Ｚバッファ法（奥行き比較法、Ｚテスト）により隠面消去処理を行う。
【００４９】
α合成部１２５はα値（Ａ値）に基づくα合成処理（αブレンディング、α加算又はα減算等）を行う。例えばα合成がαブレンディングである場合には下式のような合成処理を行う。
【００５０】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
また合成処理が加算αブレンディングである場合を例にとれば、下式に従ったα合成処理を行う。
【００５１】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７２に既に描画されている画像（背景画像）の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７２に描画するオブジェクト（プリミティブ）の色のＲ、Ｇ、Ｂ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像の色のＲ、Ｇ、Ｂ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００５２】
そして本実施形態では描画部１２２が、元画像変換用オブジェクト（陽炎ポリゴン）以外のオブジェクト（元画像生成用オブジェクト）を描画バッファ１７２に描画することで、元画像（フレーム画像）を生成する。この場合に、テクスチャマッピング部１２３によるテクスチャマッピング処理や隠面消去部１２４による隠面消去処理を行いながらオブジェクトの描画処理を行い、元画像を生成する。また隠面消去部１２４による隠面消去（Ｚテスト）の際に得られた元画像の各ピクセルの最終的な奥行き値（Ｚ値）は、Ｚバッファ１７４（奥行きバッファ）に記憶される。
【００５３】
そしてジオメトリ処理部１２１が元画像変換用オブジェクトをスクリーン座標系のスクリーンに透視変換し、これにより元画像変換用オブジェクトの透視投影位置（例えば透視変換後の元画像変換用オブジェクトの頂点位置）に基づいてテクスチャ座標を求める。この場合に例えば、パラメータ設定部１１６により当該元画像変換用オブジェクトに対して設定されたテクスチャ座標のずらし量に基づいて、透視投影位置に対応するテクスチャ座標をずらす処理を行う。
【００５４】
次にテクスチャマッピング部１２３が、求められたテクスチャ座標で指定される元画像（透視投影位置で特定される領域にある元画像）に基づいて、元画像変換用画像（狭義には陽炎画像。他の説明でも同様）を元画像変換用オブジェクトにマッピングする。例えば上述のようにテクスチャ座標をずらす処理を行った場合には、仮想カメラから見て元画像（領域内の元画像）をずらした画像として見える元画像変換用画像を、元画像変換用オブジェクトにマッピングする。なお元画像に画像エフェクト処理（ピクセル入れ替えなどのぼかし処理）を施した画像を、元画像変換用画像として元画像変換用オブジェクトにマッピングしてもよい。
【００５５】
次に描画部１２２が、元画像変換用画像がマッピングされた元画像変換用オブジェクトを描画バッファ１７２（元画像が描画されている領域）に描画する。この場合に例えば、隠面消去部１２４による隠面消去処理（Ｚテスト処理）を行いながら、元画像変換用オブジェクトを描画バッファ１７２に描画（α合成、上書き）する。
【００５６】
具体的には、元画像変換用オブジェクトの奥行き値（代表的な奥行き値）と、Ｚバッファ１７４に既に記憶されている元画像のピクセルの奥行き値を比較する。そして元画像変換用オブジェクトの奥行き値の方がピクセルの奥行き値よりも仮想カメラから見て手前側となるピクセルについてだけ、元画像変換用オブジェクトの画像情報を描画する。また元画像変換用オブジェクトを描画バッファ１７２に描画する際に、α合成部１２５が、元画像変換用オブジェクトの元画像変換用画像と元画像とのα合成を行うようにする。但しα合成を行わないで元画像変換用オブジェクトを描画してもよい。
【００５７】
以上のようにすることで、元画像に対して元画像変換用オブジェクトの元画像変換用画像が合成された画像が生成され、元画像に対して陽炎効果などの画像エフェクトを施すことが可能になる。
【００５８】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５９】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００６０】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、陽炎エフェクトに本実施形態の手法を適用した場合を説明するが、本実施形態の手法は、陽炎エフェクト以外の種々の画像エフェクトに適用できる。
【００６１】
２．１  陽炎ポリゴンによる陽炎エフェクト
本実施形態では図２に示すような複数の陽炎ポリゴンＨＰＬ（広義には元画像変換用オブジェクト。他の説明でも同様）を配置する。これらの陽炎ポリゴンＨＰＬは、その画像の表示面を仮想カメラＶＣの方に向けて配置されている。また陽炎ポリゴンＨＰＬは、その大きさ（幅、高さ）が互いに異なっている。また陽炎ポリゴンＨＰＬは所与の移動速度で移動（上昇）しており、その移動速度も互いに異なっている。更に陽炎ポリゴンＨＰＬはＺ値（奥行き値）を有しており、そのＺ値も互いに異なっている。なお陽炎ポリゴンＨＰＬの形状は四角形に限定されず、３角形や、５角形以上の多角形であってもよい。或いは、円形状や立体形状であってもよい。
【００６２】
そして本実施形態では図２の陽炎ポリゴンＨＰＬを用いることで、図３の元画像に陽炎エフェクトが施された画像である陽炎エフェクト画像（広義にはエフェクト画像）を生成している。ここで元画像は、陽炎ポリゴン以外のオブジェクトを、隠面消去を行いながら描画バッファに描画することで得られるフレーム画像である。
【００６３】
例えば本実施形態では図４、図５に示す手法により陽炎エフェクト画像を生成している。即ち、まず陽炎ポリゴンＨＰＬ以外のオブジェクトを描画することにより図３に示すような元画像を生成する。次に、図４に示すように、陽炎ポリゴンＨＰＬをスクリーン座標系のスクリーン（透視投影面）に透視変換し、ＨＰＬの透視投影位置（透視変換位置）に基づいてテクスチャ座標を求める。
【００６４】
具体的には、陽炎ポリゴンＨＰＬの頂点ＶＸ１〜ＶＸ４を透視変換し、透視変換後の頂点ＰＶＸ１〜ＰＶＸ４を求める。そして、陽炎ポリゴンＨＰＬに設定されたテクスチャ座標のずらし量（例えば１テクセル未満のずらし量或いは１又は複数テクセルのずらし量）に基づいて、頂点ＰＶＸ１〜ＰＶＸ４をずらす処理を行う。そして、ずらし処理後の頂点ＰＶＸ１’〜ＰＶＸ４’に基づいてテクスチャ座標（Ｕ１、Ｖ１）〜（Ｕ４、Ｖ４）を求める。この場合、頂点ＰＶＸ１’〜ＰＶＸ４’のＸ、Ｙ座標をそのままテクスチャ座標（Ｕ１、Ｖ１）〜（Ｕ４、Ｖ４）に設定してもよいし、Ｘ、Ｙ座標に正規化処理（０≦Ｕ、Ｖ≦１．０に正規化する処理）などの変換処理を施したものを、テクスチャ座標（Ｕ１、Ｖ１）〜（Ｕ４、Ｖ４）に設定してもよい。
【００６５】
そして求められたテクスチャ座標（Ｕ１、Ｖ１）〜（Ｕ４、Ｖ４）で指定される元画像（ＰＶＸ１’〜ＰＶＸ４’を頂点とする多角形の領域内の元画像）を、陽炎ポリゴンＨＰＬにマッピングする。
【００６６】
このようにすることで図５に示すように、仮想カメラから見て元画像をずらした画像として見える陽炎画像ＩＭＨ（広義には元画像変換用画像。他の説明でも同様）を、陽炎ポリゴンＨＰＬにマッピングできるようになる。これにより、元画像（山の画像）の輪郭がずれて見える画像を生成でき、陽炎エフェクトを実現できる。そして本実施形態によれば、ピクセルの入れ替え処理等を不要にできるため、特別なハードウェア回路などを用いずに陽炎エフェクトを実現できるという利点がある。
【００６７】
また本実施形態では、陽炎ポリゴンＨＰＬの透視投影位置に基づいてテクスチャ座標を求めているため、陽炎ポリゴンＨＰＬが仮想カメラから見て手前側にある場合も、奥行き側にある場合も、陽炎ポリゴンＨＰＬの位置に対応する元画像を適正に切り出すことが可能になる。
【００６８】
更に本実施形態では図２に示すように、陽炎ポリゴンＨＰＬを例えば上方向に移動させることで、陽炎のように揺れた空気が上昇して行く様子を表現でき、リアルな陽炎エフェクトを実現できる。また陽炎ポリゴンＨＰＬの大きさを互いに異ならせることで、むらのある陽炎エフェクトを表現でき、更にリアルな画像を生成できる。
【００６９】
なお、各陽炎ポリゴンＨＰＬのパラメータとして設定されるテクスチャ座標のずらし量は、図６に示す手法により設定してもよい。例えば図６では、仮想カメラＶＣ（視点）から見て奥側にある陽炎ポリゴンほど、テクスチャ座標のずらし量を大きくしている。即ち仮想カメラＶＣから見て手前側の陽炎ポリゴンＨＰＬ１ではテクスチャ座標のずらし量を小さくし、奥側の陽炎ポリゴンＨＰＬ２ではずらし量を大きくする。
【００７０】
仮想カメラＶＣから見て手前側の陽炎ポリゴンＨＰＬ１のずらし量を小さくすれば、このＨＰＬ１での陽炎エフェクトが弱くなる。従って、ＨＰＬ１の形が目立ってしまいプレーヤに気づかれてしまうという事態を防止できる。
【００７１】
また仮想カメラＶＣから見て奥側の陽炎ポリゴンＨＰＬ３のずらし量を大きくすれば、奥の景色の方が陽炎エフェクトが強くなる。従って、奥の景色ほど水蒸気の厚さ（深度）が厚くなって、画像のぶれが大きくなるという現象を表現でき、リアルな陽炎エフェクトを実現できる。
【００７２】
なお図４、図５では、テクスチャ座標をずらすことで、陽炎画像ＩＭＨ（元画像をずらした画像として仮想カメラか見える画像）を生成しているが、陽炎ポリゴンＨＰＬの位置をずらすことで、陽炎画像ＩＭＨを生成してもよい。またこのようなずらし処理を行わず、例えば透視変換後の頂点ＰＶＸ１〜ＰＶＸ４の領域内の元画像に対してぼかし処理を施してぼかし画像を生成し、生成されたぼかし画像を陽炎画像ＩＭＨとして陽炎ポリゴンＨＰＬにマッピングしてもよい。この場合のぼかし画像は、ピクセル入れ替え処理やインデックス・テクスチャマッピングを利用した処理などで生成できる。
【００７３】
２．２  Ｚ値に基づく隠面消去
本実施形態では図７に示すように、陽炎ポリゴンＨＰＬにＺ値ＺＨ（奥行き値）を持たせている。そして陽炎ポリゴンＨＰＬのＺ値ＺＨと、元画像のピクセルＰＸ１〜ＰＸ６のＺ値ＺＰ１〜ＺＰ６（奥行き値）を比較する。このＺＰ１〜ＺＰ６は、図３に示す元画像をＺバッファ法により生成した場合に、最終的に得られる各ピクセルのＺ値（Ｚバッファに格納されるＺ値）である。
【００７４】
そして本実施形態では、陽炎ポリゴンＨＰＬのＺ値の方がピクセルのＺ値よりも仮想カメラＶＣから見て手前側となるピクセルに対してだけ、陽炎ポリゴンＨＰＬの画像（色情報等）の描画処理を行う。
【００７５】
即ち図７において、ピクセルＰＸ２、ＰＸ３、ＰＸ４では、陽炎ポリゴンＨＰＬのＺＨの方がＰＸ２、ＰＸ３、ＰＸ４のＺＰ２、ＺＰ３、ＺＰ４よりも仮想カメラＶＣから見て手前側の値になっている。従ってピクセルＰＸ２、ＰＸ３、ＰＸ４については、陽炎ポリゴンＨＰＬの描画処理を行うようにする。
【００７６】
一方、ピクセルＰＸ１、ＰＸ５、ＰＸ６では、ＰＸ１、ＰＸ５、ＰＸ６のＺＰ１、ＺＰ５、ＺＰ６の方が、陽炎ポリゴンＨＰＬのＺＨよりも仮想カメラＶＣから見て手前側の値になっている。従ってピクセルＰＸ１、ＰＸ５、ＰＸ６については、陽炎ポリゴンＨＰＬの描画処理を行わないようにする。
【００７７】
このようにすれば、陽炎ポリゴンＨＰＬよりも奥側にある画像（ピクセル）に対してだけ陽炎エフェクトが施され、手前側にある画像に対しては陽炎エフェクトが施されないようになる。これにより、仮想カメラＶＣから一定の距離にある画像（表示物）にだけ陽炎エフェクトを施すことができ、よりリアルな画像表現を実現できる。
【００７８】
また陽炎ポリゴンＨＰＬのＺ値を図２に示すように互いに異ならせることで、奥行き方向に立体的に存在しているかのように見える陽炎を表現できる。即ち、ある奥行きの位置にだけ陽炎が存在するのではなく、奥行き方向に連続して存在して見える多層化された陽炎を表現できる。しかも、陽炎ポリゴンＨＰＬの大きさを図２に示すように互いに異ならせることで、奥行き方向における陽炎のむらも、多層化して見えるようになり、よりリアルな表現が可能になる。
【００７９】
２．３  陽炎の多重合成
本実施形態では陽炎ポリゴンをα合成（半透明合成）することで多重合成を実現している。即ち陽炎ポリゴンを半透明で表示し、合成結果を更にテクスチャとして使用することで、陽炎の多重合成を実現している。
【００８０】
例えば図８のＡ１に示すように、元画像が描画されている描画バッファに、陽炎画像ＩＭＨ１（第１の元画像変換用画像）がマッピングされた陽炎ポリゴンＨＰＬ１（第１の元画像変換用オブジェクト）を描画することで、図５に示すような画像を生成する。そして生成された画像を、図８のＡ２に示すように元画像に設定する（元画像として取り扱う）。
【００８１】
次に図８のＡ３に示すように、設定された元画像と、陽炎ポリゴンＨＰＬ２（第２の元画像変換用オブジェクト）を透視変換することで得られるテクスチャ座標とに基づいて、陽炎画像ＩＭＨ２（第２の元画像変換用画像）を陽炎ポリゴンＨＰＬ２（第２の元画像変換用オブジェクト）にマッピングする。即ち陽炎ポリゴンＨＰＬ２を用いて図４に示すようなマッピング処理を行う。そして陽炎画像ＩＭＨ２がマッピングされた陽炎ポリゴンＨＰＬ２を描画バッファに描画する。この際に、陽炎画像ＩＭＨ１とＩＭＨ２のα合成（半透明合成）を行う。
【００８２】
このようにすることで、図８のＡ４に示す重なり領域において、陽炎画像ＩＭＨ１とＩＭＨ２が再帰的に多重合成されるようになり、より複雑にずれて見えるリアルな陽炎を表現できる。
【００８３】
なお図８では、２回の多重合成を行った場合の例を示しているが、多重合成の回数は３回以上になってもよい。
【００８４】
２．４  パラメータの設定
本実施形態では、陽炎エフェクトが単調になるのを防止するために、個々の陽炎ポリゴンや、陽炎ポリゴンの全体に対して、種々のパラメータを設定できるようにしている。
【００８５】
例えば図９（Ａ）に、各陽炎ポリゴンに個別的に設定されるパラメータの例を示す。このパラメータとしては、カメラ座標系（視点座標系）での陽炎ポリゴンの位置や、陽炎ポリゴンの大きさや、陽炎ポリゴンの移動（上昇）速度や、図４、図６で説明したテクスチャ座標のずらし量などのパラメータがある。なお、これらのパラメータの一部を省略することもできる。
【００８６】
また図９（Ｂ）に、陽炎（陽炎ポリゴン）の全体に対して設定されるパラメータの例を示す。このパラメータとしては、陽炎が発生し始める場所の仮想カメラからの距離や、陽炎が発生しなくなる場所の仮想カメラからの距離や、陽炎ポリゴンの大きさの最大値、最小値や、陽炎ポリゴンの移動速度の上限、下限や、陽炎ポリゴンのテクスチャ座標のずらし量の最大値、最小値などのパラメータがある。なお、これらのパラメータの一部を省略することもできる。
【００８７】
図９（Ａ）の陽炎ポリゴンの位置（初期位置）パラメータは、図２のように複数の陽炎ポリゴンが存在する場合の各陽炎ポリゴンのカメラ座標系での位置である。このように陽炎ポリゴンの位置をカメラ座標系の位置として持つことで、仮想カメラの位置や方向が変化した場合にも、常にプレーヤの目の前に陽炎を表示することが可能になる。従って、少ない処理負荷でリアルな陽炎を表現できるようになる。なお、陽炎ポリゴンの位置は、乱数などを用いてランダムに発生させてもよい。また陽炎ポリゴンの位置を、カメラ座標系での位置ではなくワールド座標系での位置として設定してもよい。
【００８８】
また陽炎ポリゴンの大きさパラメータは、図１０（Ａ）に示すような陽炎ポリゴンの幅や高さである。なお陽炎ポリゴンが三角形である場合には、大きさパラメータとして底辺の長さや高さなどを用いることができる。また陽炎ポリゴンが円形状である場合には、大きさパラメータとして半径などを用いることができる。
【００８９】
図９（Ａ）の陽炎ポリゴンの移動速度は、陽炎ポリゴンの初期位置から移動速度である。この移動速度は、例えば上方向などの１つの方向への移動速度であってもよいし、ランダムに変化する方向での移動速度であってもよい。また移動速度は一定であってもよいし、時間経過に応じて変化するようにしてもよい。
【００９０】
図９（Ａ）のテクスチャ座標のずらし量は、図６で説明したように、陽炎ポリゴンのＺ値（奥行き値）に応じて変化するように設定することが望ましい。
【００９１】
図９（Ｂ）の陽炎が発生し始める仮想カメラからの距離や、陽炎が発生しなくなる仮想カメラからの距離は、図１０（Ｂ）の距離Ｌ１、Ｌ２である。この距離Ｌ１、Ｌ２により、陽炎ポリゴンの出現範囲を制御できる。例えば距離Ｌ１を小さくすることで、プレーヤの視点の近くから陽炎を発生させることが可能になる。また距離Ｌ２を大きくすることで、より遠くまで陽炎を発生させることが可能になる。例えば、距離Ｌ１の境界が全ての表示物よりも手前側に位置するように、Ｌ１を設定すれば（距離Ｌ１の境界を透視投影のスクリーンに設定すれば）、元画像の全体に対して陽炎エフェクトを施すことが可能になる。
【００９２】
以上のように、複数の陽炎ポリゴンを用いると共に、各陽炎ポリゴンに対して種々のパラメータを設定することで、１つの領域の元画像を画像変換することでは得ることができない多様でリアルな陽炎エフェクトを表現できる。なお陽炎ポリゴンのパラメータは、使用する仮想カメラに応じてその設定を変更するようにしてもよい。
【００９３】
２．５  陽炎発生領域
本実施形態では、陽炎ポリゴンを、カメラ座標系ではなくワールド座標系（ワールド空間）に設定された所与の発生領域で発生させることもできる。
【００９４】
例えば図１１において視野領域ＶＲＥＧは、仮想カメラＶＣの位置や方向（回転角度）に基づいて特定される領域である。より具体的には視野領域ＶＲＥＧは、クリッピング平面ＣＬ１（スクリーン、投影面）とクリッピング平面ＣＬ２で区切られるビューイングボリュームである。
【００９５】
また陽炎発生領域ＨＲＥＧ（広義には画像エフェクトの発生領域）は、陽炎エフェクトを発生させるワールド座標系内での領域である。
【００９６】
そして本実施形態では、ワールド座標系の所与の陽炎発生領域ＨＲＥＧで発生する陽炎オブジェクトが、仮想カメラＶＣの視野領域ＶＲＥＧ内に入った場合に、図４で説明した陽炎ポリゴンのマッピング（テクスチャマッピング）処理及び描画処理を行うようにしている。別の言い方をすれば、視野領域ＶＲＥＧが陽炎発生領域ＨＲＥＧに重なった場合に、その重なり領域の陽炎ポリゴンを発生させる。
【００９７】
例えば図１１のＢ１では、視野領域ＶＲＥＧ内に陽炎発生領域ＨＲＥＧは存在しない。従ってこの場合には陽炎ポリゴンのマッピング処理及び描画処理は行わない。
【００９８】
一方、図１１のＢ２では、視野領域ＶＲＥＧの一部と陽炎発生領域ＨＲＥＧの一部が重なっている。この場合には、この重なり領域において、図４で説明したマッピング処理及び描画処理を行う。
【００９９】
また図１２のＣ１では、視野領域ＶＲＥＧの全てが陽炎発生領域ＨＲＥＧに含まれている。従ってこの場合には、視野領域ＶＲＥＧの全体にわたって陽炎ポリゴンのマッピング処理及び描画処理を行う。
【０１００】
また図１２のＣ２では、視野領域ＶＲＥＧの一部が、陽炎発生領域ＨＲＥＧの外に出ている。この場合には、外に出ている部分では陽炎ポリゴンのマッピング処理及び描画処理を行わず、視野領域ＶＲＥＧと陽炎発生領域ＨＲＥＧの重なり領域においてだけ、マッピング処理及び描画処理を行う。
【０１０１】
このようにすることで、ワールド座標系（ワールド空間）の一部の領域にだけ発生する陽炎を表現できる。従って車ゲームを例にとれば、コース上の一部の領域にだけ陽炎を発生させることができ、より仮想現実感の高い陽炎表現を実現できる。
【０１０２】
なお、図１２のＣ２において、陽炎発生領域ＨＲＥＧの外部との境界ＢＤＬに近い場所に位置する陽炎ポリゴンほど、その陽炎ポリゴンに設定するテクスチャ座標のずらし量を小さくすることが望ましい。
【０１０３】
このようにすれば、境界ＢＤＬの近くに位置する陽炎ポリゴンでは、テクスチャ座標のずれ量が小さくなり、陽炎エフェクトが弱くなる。従って、陽炎エフェクトが発生しないＨＲＥＧの外側領域との差が目立たなくなり、より自然な陽炎エフェクト画像を生成できる。即ち図１２のＣ２において、仮想カメラＶＣ（車）が陽炎発生領域ＨＲＥＧの内側から外側に出る場合において、境界ＢＤＬでの陽炎エフェクトが弱くなる。従って、仮想カメラＶＣが境界ＢＤＬを超えた瞬間に目の前の陽炎エフェクトが突然に消失してしまうという事態を防止でき、プレーヤが不自然さを感じるのを防止できる。
【０１０４】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１３、図１４のフローチャートを用いて説明する。
【０１０５】
まず、図９（Ａ）〜図１０（Ｂ）で説明した陽炎ポリゴンの位置等のパラメータを初期化する処理（初期値を設定する処理）を行う（ステップＳ１）。
【０１０６】
次に、陽炎ポリゴン以外のオブジェクトを描画バッファに描画し、陽炎効果の無い元画像（図３参照）を生成する（ステップＳ２）。この際に、各ピクセルのＺ値をＺバッファに書き込む。
【０１０７】
次に、図２で説明した陽炎ポリゴンを、パラメータとして設定された移動速度に基づき移動させる（ステップＳ３）。そして図４で説明したように、陽炎ポリゴンを透視変換し、スクリーン座標系での陽炎ポリゴンの頂点位置を求める（ステップＳ４）。
【０１０８】
次に、求められた頂点位置に基づき、パラメータとして設定されたずらし量だけずらしたテクスチャ座標を求め、求められたテクスチャ座標で指定される元画像（テクスチャ）を、陽炎ポリゴンにマッピングする（ステップＳ５）。そしてテクスチャがマッピングされた陽炎ポリゴンを、ＺバッファによるＺテスト（奥行き比較）を行いながら、描画バッファ（元画像が描画されている領域）に描画する（ステップＳ６）。この際に、必要であればα合成処理を行いながら陽炎ポリゴンを描画する。これにより図８で説明したような多重合成を実現できる。
【０１０９】
次に、全ての陽炎ポリゴンを処理したか否かを判断し（ステップＳ７）、処理していない場合にはステップＳ３に戻り、次の陽炎ポリゴンの処理に移行する。一方、全ての陽炎ポリゴンの処理が終了した場合には、当該フレームでの他の処理を行う（ステップＳ８）。そして他の全ての処理が終了した場合には、ステップＳ２に戻り、次のフレームの処理へ移行する。
【０１１０】
図１４は、図１１、図１２で説明したようにワールド座標系の陽炎発生領域で陽炎ポリゴンを発生させる場合の処理のフローチャートである。
【０１１１】
図１４では図１３とは異なり、ステップＳ２の後にステップＳ２−２の処理を行う。即ち、処理対象となる陽炎ポリゴンが視野領域内に存在するか否かを判断する。そして視野領域内に陽炎ポリゴンが存在しなければ、ステップＳ７に移行する。一方、存在する場合にはステップＳ３に移行する。
【０１１２】
また図１４では図１３とは異なり、ステップＳ４の後にステップＳ４−２の処理を行う。即ち、陽炎発生領域の外部との境界の周辺（近傍）に陽炎ポリゴンが位置するか否かを判断する。そして、境界の周辺に位置する場合には、その陽炎ポリゴンについてのテクスチャ座標のずらし量を小さくする調整を行う。そして、調整されたずらし量に基づいて、ステップＳ５の処理を行う。以上のようにすることで図１１、図１２で説明した処理を実現できる。
【０１１３】
４．ハードウェア構成
図１５に本実施形態を実現できるハードウェア構成の例を示す。
【０１１４】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【０１１５】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１１６】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１１７】
データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード（伸長）処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１１８】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１１９】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介して入力される。
【０１２０】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする処理を行う。
【０１２１】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行う。通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどがある。
【０１２２】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１２３】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１２４】
図１６（Ａ）に業務用ゲームシステムへの本実施形態の適用例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、操作部１１０２を操作してゲームを楽しむ。内蔵されるシステムボード１１０６にはプロセッサ、メモリなどが実装される。本実施形態の各部の処理を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラムと呼ぶ。
【０１２５】
図１６（Ｂ）に家庭用ゲームシステムへの本実施形態の適用例を示す。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９に格納される。
【０１２６】
図１６（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２を介して接続される端末１３０４−１〜１３０４−ｎ（ゲーム機、携帯電話）とを含むシステムへの本実施形態の適用例を示す。この場合、上記格納プログラムは、ホスト装置１３００の情報記憶媒体１３０６（ハードディスク、磁気テープ装置等）に格納される。また本実施形態の各部の処理をホスト装置と端末の分散処理で実現してもよい。
【０１２７】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１２８】
例えば、明細書又は図面中の記載において広義や同義な用語（元画像変換用オブジェクト、元画像変換用画像、エフェクト画像等）として引用された用語（陽炎ポリゴン、陽炎画像、陽炎エフェクト画像等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１２９】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１３０】
また元画像に基づくマッピング処理も、本実施形態で説明したものに限定されず、これらと均等な種々の変換処理も本発明の範囲に含まれる。
【０１３１】
また、本発明は種々のゲーム（格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等）に適用できる。
【０１３２】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】陽炎ポリゴンの説明図である。
【図３】元画像の例である。
【図４】本実施形態の手法の説明図である。
【図５】陽炎画像の説明図である。
【図６】テクスチャ座標のずらし量を制御する手法の説明図である。
【図７】陽炎ポリゴンに奥行きを設定する手法の説明図である。
【図８】陽炎ポリゴンの多重合成の説明図である。
【図９】図９（Ａ）（Ｂ）は陽炎ポリゴンのパラメータの説明図である。
【図１０】図１０（Ａ）（Ｂ）も陽炎ポリゴンのパラメータの説明図である。
【図１１】ワールド座標系に陽炎発生領域を設定する手法の説明図である。
【図１２】ワールド座標系に陽炎発生領域を設定する手法の説明図である。
【図１３】本実施形態の詳細な処理のフローチャートである。
【図１４】本実施形態の詳細な処理のフローチャートである。
【図１５】ハードウェア構成例である。
【図１６】図１６（Ａ）（Ｂ）（Ｃ）は種々の形態のシステム例である。
【符号の説明】
ＨＰＬ  陽炎ポリゴン（画像変換用オブジェクト）、
ＩＭＨ  陽炎画像（元画像変換用画像）、
ＶＲＥＧ  視野領域、ＨＲＥＧ  陽炎発生領域
１００  処理部、１１０  オブジェクト空間設定部、
１１２  移動・動作処理部、１１４  仮想カメラ制御部、
１２０  画像生成部、１２１  ジオメトリ処理部、１２２  描画部、
１２３  テクスチャマッピング部、１２４  隠面消去部、１２５  α合成部、
１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  描画バッファ、１７４  Ｚバッファ、１７６  テクスチャ記憶部、
１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2004334801.tif 000003
【図２】
2004334801.tif 000004
【図３】
2004334801.tif 000005
【図４】
2004334801.tif 000006
【図５】
2004334801.tif 000007
【図６】
2004334801.tif 000008
【図７】
2004334801.tif 000009
【図８】
2004334801.tif 000010
【図９】
2004334801.tif 000011
【図１０】
2004334801.tif 000012
【図１１】
2004334801.tif 000013
【図１２】
2004334801.tif 000014
【図１３】
2004334801.tif 000015
【図１４】
2004334801.tif 000016
【図１５】
2004334801.tif 000017
【図１６】
2004334801.tif 000018