(57)【要約】【課題】  種々のシチュエーションに応じた様々なフォグ効果を表現することができるプログラム、情報記憶媒体及び画像生成システムの提供。【解決手段】  オブジェクト空間を仮想カメラから見た画像を生成するためのプログラムである。  このプログラムは、陰面消去を行いながらオブジェクトを描画して元画像を生成する元画像生成部１２２と、元画像の奥行き値に基づいて、該奥行き値に応じたフォグ色とα値とを設定するフォグ情報設定部１２４と、元画像の色と奥行き値に応じたフォグ色とを奥行き値に応じたα値に基づいてブレンディングするαブレンディング部１２６としてコンピュータを機能させる。【選択図】      図６
2006318389.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間を仮想カメラから見た画像を生成するためのプログラムであって、
陰面消去を行いながらオブジェクトを描画して元画像を生成する元画像生成部と、
前記元画像の奥行き値に基づいて、該奥行き値に応じたフォグ色とα値とを設定するフォグ情報設定部と、
前記元画像の色と前記奥行き値に応じたフォグ色とを前記奥行き値に応じたα値に基づいてブレンディングするαブレンディング部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記フォグ情報設定部が、
手前側の奥行き値用の第１のフォグ色から奥側の奥行き値用の第２のフォグ色へと、前記フォグ色が前記元画像の奥行き値に応じてグラデーション変化するように前記フォグ色を設定することを特徴とするプログラム。
【請求項３】
請求項２において、
前記フォグ情報設定部が、
フォグ変化開始深度とフォグ変化終了深度との間で、前記α値が前記元画像の奥行き値に応じて変化するようにα値を設定するとともに、前記フォグ変化開始深度と前記フォグ変化終了深度との間で、前記フォグ色が前記元画像の奥行き値に応じてグラデーション変化するように前記フォグ色を設定することを特徴とするプログラム。
【請求項４】
請求項１において、
前記フォグ情報設定部が、
フォグ変化開始深度とフォグ変化終了深度との間で、前記α値が前記元画像の奥行き値に応じて変化するようにα値を設定することを特徴とするプログラム。
【請求項５】
請求項３、４のいずれかにおいて、
前記フォグ情報設定部が、
前記フォグ変化開始深度より手前側の奥行き値に対応するα値を第１のα値にクランプ設定し、前記フォグ変化終了深度より奥側の奥行き値に対応するα値を第２のα値にクランプ設定することを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記フォグ情報設定部が、
前記元画像の最遠景に相当する奥行き値より手前側の奥行き値でフォグ濃度が最小となるようにα値を設定することを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
インデックス番号とフォグ色及びα値とを対応付けるインデックスカラー・テクスチャマッピング用のルックアップテーブルを記憶する記憶部としてコンピュータを更に機能させ、
前記フォグ情報設定部が、
前記元画像の奥行き値を前記ルックアップテーブルのインデックス番号として扱い、該ルックアップテーブルを用いて仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行って、前記奥行き値に応じたフォグ色とα値とを設定することを特徴とするプログラム。
【請求項８】
オブジェクト空間を仮想カメラから見た画像を生成するためのプログラムであって、
陰面消去を行いながらオブジェクトを描画して元画像を生成する元画像生成部と、
インデックス番号とフォグ色及びα値とを対応付けるインデックスカラー・テクスチャマッピング用のルックアップテーブルを記憶する記憶部と、
前記元画像の奥行き値を前記ルックアップテーブルのインデックス番号として扱い、該ルックアップテーブルを用いて仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行って、前記奥行き値に応じたフォグ色とα値とを設定するテクスチャマッピング部と、
前記元画像の色と前記フォグ色とを前記奥行き値に応じたα値に基づいてαブレンディングするαブレンディング部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項９】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜８のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１０】
オブジェクト空間を仮想カメラから見た画像を生成するための画像生成システムであって、
陰面消去を行いながらオブジェクトを描画して元画像を生成する元画像生成部と、
前記元画像の奥行き値に基づいて、該奥行き値に応じたフォグ色とα値とを設定するフォグ情報設定部と、
前記元画像の色と前記奥行き値に応じたフォグ色とを前記奥行き値に応じたα値に基づいてブレンディングするαブレンディング部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、霧、もや、煙、ホコリなどのフォグ（ｆｏｇ）が掛かった場面を表示する場合がある。この場合には、プレーヤの仮想現実感を向上させるために、仮想カメラ（視点）からの距離に応じてフォグ濃度を変化させ、現実世界のフォグ特性を表現することが望ましい。このようなフォグ濃度の制御を行う技術としては、特開２００３−３２３６３０号公報に開示される従来技術がある。
【特許文献１】特開２００３−３２３６３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の画像生成システムでは、フォグの変化はα値（フォグの乗り具合）で制御するのみであり、フォグ効果による画像表現には限界があった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、種々のシチュエーションに応じた様々なフォグ効果を表現することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、オブジェクト空間を仮想カメラから見た画像を生成する画像生成システムであって、オブジェクト空間を仮想カメラから見た画像を生成するためのプログラムであって、陰面消去を行いながらオブジェクトを描画して元画像を生成する元画像生成部と、前記元画像の奥行き値に基づいて、該奥行き値に応じたフォグ色とα値とを設定するフォグ情報設定部と、前記元画像の色と前記奥行き値に応じたフォグ色とを前記奥行き値に応じたα値に基づいてブレンディングするαブレンディング部と、を含むことを特徴とする画像生成システムに関係する。
【０００７】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００８】
本発明において、奥行き値とは、Ｚバッファに格納された元画像のＺ値や、該Ｚ値を変換した距離情報とすることができる。
【０００９】
本発明によれば、フォグ濃度を制御するパラメータであるα値と、フォグ色を制御するためのパラメータであるフォグ色（例えば、Ｒ、Ｇ、Ｂ成分）とを、元画像の奥行き値に応じて変化させる。そして、元画像の色と、元画像の奥行き値に応じたフォグ色とを、元画像の奥行き値に応じたα値に基づいてブレンディングする。これにより、元画像の奥行き値に応じてフォグ濃度とフォグ色が変化するフォグ効果が施された画像を生成することができる。
【００１０】
（２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
（１）の発明において、前記フォグ情報設定部が、手前側の奥行き値用の第１のフォグ色から奥側の奥行き値用の第２のフォグ色へと、前記フォグ色が前記元画像の奥行き値に応じてグラデーション変化するように前記フォグ色を設定するようにしてもよい。
【００１１】
本発明によれば、仮想カメラから見て手前側から奥側に行くにつれ、第１のフォグ色から第２のフォグ色へとフォグ色がグラデーション変化するフォグ効果が表現された画像を生成することができる。
【００１２】
ここで、手前側の奥行き値と奥側の奥行き値との間の奥行き値に対応するフォグ色は、第１のフォグ色と第２のフォグ色とを奥行き値に応じて補間することにより、奥行き値に応じてグラデーション変化するフォグ色とすることができる。例えば、第１のフォグ色が青色で、第２のフォグ色が赤色の場合には、中間色として紫色が設定され、仮想カメラから見て手前側から奥側に行くにつれ、青、紫、赤へとグラデーション変化するフォグ効果が表現された画像を生成することができる。
【００１３】
これにより、例えば、仮想カメラから奥側に夕日を見る画像を生成する場合に、奥側では夕焼けの影響を強く受けた赤色のフォグを発生させ、手前側では夕焼けの影響をあまり受けない青色のフォグを発生させることができ、擬似的に光の散乱スペクトルを表現することができる。なお、第１のフォグ色と第２のフォグ色の補間の手法は線形補間等、種々の手法を適用することができる。
【００１４】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
（２）の発明において、前記フォグ情報設定部が、フォグ変化開始深度とフォグ変化終了深度との間で、前記α値が前記元画像の奥行き値に応じて変化するようにα値を設定するとともに、前記フォグ変化開始深度と前記フォグ変化終了深度との間で、前記フォグ色が前記元画像の奥行き値に応じてグラデーション変化するように前記フォグ色を設定するようにしてもよい。
【００１５】
本発明において、フォグ変化開始深度とは、フォグ効果の変化を開始させる奥行き値をいい、フォグ変化終了深度とは、フォグ変化開始深度から開始させたフォグ効果の変化を終了させる奥行き値をいう。
【００１６】
本発明によれば、α値を変化させるフォグ変化開始深度とフォグ変化終了深度との間で、第１のフォグ色から第２のフォグ色へとフォグ色をグラデーション変化させることができ、種々のシチュエーションに応じた様々なフォグ効果を表現することができる。
【００１７】
（４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
（１）の発明において、前記フォグ情報設定部が、フォグ変化開始深度とフォグ変化終了深度との間で、前記α値が前記元画像の奥行き値に応じて変化するようにα値を設定するようにしてもよい。
【００１８】
本発明によれば、フォグ変化開始深度とフォグ変化終了深度との間では、奥行き値に応じてフォグ濃度を変化させることができ、例えば、現実のフォグ特性を反映したリアルなフォグ効果を表現することができる。
【００１９】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
（３）、（４）の発明のいずれかにおいて、前記フォグ情報設定部が、前記フォグ変化開始深度より手前側の奥行き値に対応するα値を第１のα値にクランプ設定し、前記フォグ変化終了深度より奥側の奥行き値に対応するα値を第２のα値にクランプ設定するようにしてもよい。
【００２０】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
（１）〜（５）の発明のいずれかにおいて、
前記フォグ情報設定部が、前記元画像の最遠景に相当する奥行き値より手前側の奥行き値でフォグ濃度が最小となるようにα値を設定するようにしてもよい。
【００２１】
本発明において、最遠景とは、描画対象となるオブジェクト空間のうち、最も仮想カメラからの距離が遠い部分をいう。また、フォグ濃度が最小となるようにα値を設定する奥行き値は、元画像の最遠景に相当する奥行き値より手前側の所定範囲の奥行き値とすることができる。
【００２２】
本発明によれば、最遠景にフォグをかけないようにすることができ、例えば、最遠景に背景スプライト等を設定して空を表現するような場合でも、背景スプライトにまでフォグがかかってしまうことを防止することができる。
【００２３】
（７）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
（１）〜（６）の発明のいずれかにおいて、インデックス番号とフォグ色及びα値とを対応付けるインデックスカラー・テクスチャマッピング用のルックアップテーブルを記憶する記憶部を更に含み、前記フォグ情報設定部が、前記元画像の奥行き値を前記ルックアップテーブルのインデックス番号として扱い、該ルックアップテーブルを用いて仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行って、前記奥行き値に応じたフォグ色とα値とを設定するようにしてもよい。
【００２４】
本発明によれば、テクスチャ記憶部に実際の色情報（例えば２４ビットの色情報）を記憶する必要が無くなるため、テクスチャ記憶部の使用記憶容量を大幅に節約して、奥行き値に応じたフォグ色とα値とを設定することができる。
【００２５】
（８）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、陰面消去を行いながらオブジェクトを描画して元画像を生成する元画像生成部と、インデックス番号とフォグ色及びα値とを対応付けるインデックスカラー・テクスチャマッピング用のルックアップテーブルを記憶する記憶部と、前記元画像の奥行き値を前記ルックアップテーブルのインデックス番号として扱い、該ルックアップテーブルを用いて仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行って、前記奥行き値に応じたフォグ色とα値とを設定するテクスチャマッピング部と、前記元画像の色と前記フォグ色とを前記奥行き値に応じたα値に基づいてαブレンディングするαブレンディング部とを含むようにしてもよい。
【発明を実施するための最良の形態】
【００２６】
以下、本実施形態について図面を用いて説明する。
【００２７】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２８】
１．構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００内の音生成部１３０以外を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外の各部（機能ブロック）については任意の構成要素とすることができる。
【００２９】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、或いは筺体などのハードウェアにより実現できる。
【００３０】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３１】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部（各手段）としてコンピュータを機能させるためのプログラム（各部をコンピュータに実現させるためのプログラム）が記憶（記録、格納）される。
【００３２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３３】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００３４】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３５】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３６】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３７】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラム（ゲームプログラム）により実現できる。
【００３８】
処理部１００は、移動・動作処理部１１０、オブジェクト空間設定部１１２、仮想カメラ制御部１１４、画像生成部１２０、音生成部１３０を含む。なお、処理部１００は、これらの各部（機能ブロック）を全て含む必要はなく、その一部を省略してもよい。
【００３９】
移動・動作処理部１１０は、オブジェクト（移動体）の移動情報（位置、回転角度）や動作情報（オブジェクトの各パーツの位置、回転角度）を求める処理を行う。即ち、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作（モーション、アニメーション）させたりする処理を行う。
【００４０】
オブジェクト空間設定部１１２は、移動体（キャラクタ、車、戦車、ロボット）、柱、壁、建物、マップ（地形）などの各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間内に配置設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度（方向）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転）でオブジェクトを配置する。
【００４１】
仮想カメラ制御部１１４は、オブジェクト空間内に設定される仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転（Ｘ、Ｙ、Ｚ軸回りでの回転）などの仮想カメラ情報を求め、仮想カメラを制御する（視点位置や視線方向を制御する）。
【００４２】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転（仮想カメラの方向）を制御することが望ましい。この場合には、移動・動作処理部１１０で得られた移動オブジェクトの位置、方向又は速度などの情報に基づいて、仮想カメラを制御することになる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するためのカメラ経路情報を予め用意しておき、このカメラ経路情報に基づいて仮想カメラを制御する。
【００４３】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。特に、本実施の形態では、オブジェクトにフォグがかかったオブジェクト空間を仮想カメラから見た画像を生成する。
【００４４】
画像生成部１２０が含む元画像生成部１２２は、例えば、いわゆる３次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換或いは光源処理等のジオメトリ処理を行い、その処理結果に基づいて、描画データ（プリミティブ面の頂点（構成点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いは癇l等）を作成する。そして、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像を、描画バッファ１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。
【００４５】
また、元画像生成部１２２は、テクスチャ記憶部１７８に記憶されるテクスチャをオブジェクト（プリミティブ面）にマッピングするための処理を行う。
【００４６】
また、元画像生成部１２２は、Ｚ値（奥行き値）が格納されるＺバッファ１７６（奥行きバッファ）を用いて、Ｚバッファ法（奥行き比較法）により陰面消去を行いながらオブジェクトを描画バッファ１７４に描画して元画像を生成する。そして、元画像のＺ値は、この描画処理の際に行われるＺバッファ法（奥行き比較法）により、Ｚバッファ１７６上に格納（生成）される。
【００４７】
なお、本実施形態のＺ値は、Ｚバッファ１７６のＺ値（カメラ座標系のＺ座標軸のＺ値）そのものであってもよいし、このＺ値と数学的に均等なパラメータであってもよい。例えば、Ｚバッファ１７６のＺ値の逆数に相当するパラメータや、Ｚバッファ１７６のＺ値に所与の変換処理を施すことで得られるパラメータであってもよい。
【００４８】
画像生成部１２０が含むフォグ情報設定部１２４は、Ｚバッファ１７６に格納された元画像の各画素のＺ値及び該Ｚ値を変換した距離情報を含む奥行き値に基づいて、該奥行き値に応じたフォグ色とα値とを設定する。例えば、フォグ情報設定部１２４をテクスチャマッピング部１２４として機能させ、ＬＵＴ記憶部１７９に記憶されるインデックスカラー・テクスチャマッピング用のＬＵＴ（ルックアップテーブル）を用いてテクスチャマッピングを行うことにより、元画像の各画素の奥行き値に応じたフォグ色とα値とを設定するができる。
【００４９】
この場合、ＬＵＴ記憶部１７９が、インデックス番号とフォグ色及びα値とを対応付けるインデックスカラー・テクスチャマッピング用のルックアップテーブルを記憶し、テクスチャマッピング部（フォグ情報設定部）１２４が、元画像の奥行き値をルックアップテーブルのインデックス番号として扱い、該ルックアップテーブルを用いて仮想オブジェクト（例えば表示画面サイズのスプライト、ポリゴン）に対してインデックスカラー・テクスチャマッピングを行って、元画像の各画素の奥行き値に応じたフォグ色とα値とを設定する。
【００５０】
ここで、インデックスカラー・テクスチャマッピング用のルックアップテーブルが２５６色として設定されている場合には、フォグ情報設定部１２４が、Ｚバッファの元画像のＺ値を０〜２５５までの２５６段階の距離情報に変換して、これをインデックス番号として扱うようにしてもよい。
【００５１】
なお、フォグ情報設定部１２４は、入力情報に基づき、ＬＵＴ記憶部１７９が記憶するルックアップテーブルＬＵＴに格納されている情報の対応関係を変化させるようにしてもよい。これにより、奥行き値に応じて様々な態様で変化するフォグ色、α値を設定し、種々のシチュエーションに応じたフォグ効果を表現することができる。
【００５２】
画像生成部１２０が含むαブレンディング部１２６は、元画像の色と元画像の奥行き値に応じたフォグ色とを、元画像の奥行き値に応じたα値に基づいてブレンディングする処理（αブレンディング処理、広義には元画像の奥行き値に応じたα値に基づく画像生成処理）を行う。この場合のαブレンディング処理としては、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
【００５３】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２
一方、加算αブレンディングの場合には下式の処理を行う。
【００５４】
ＲＱ＝Ｒ１＋α×Ｒ２
ＧＱ＝Ｇ１＋α×Ｇ２
ＢＱ＝Ｂ１＋α×Ｂ２
また、減算αブレンディングの場合には下式の処理を行う。
【００５５】
ＲＱ＝Ｒ１−α×Ｒ２
ＧＱ＝Ｇ１−α×Ｇ２
ＢＱ＝Ｂ１−α×Ｂ２
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７４（フレームバッファ）に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７４に描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なおα値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度（透明度、不透明度と等価）情報、マスク情報、或いはバンプ情報などとして使用できる。本実施の形態では、Ｒ２、Ｇ２、Ｂ２にフォグ色のＲ、Ｇ、Ｂ成分を設定して上記のようなαブレンディング処理を行うことで、元画像にフォグ（霧、雲、湯気、もや、ほこり、ちり、煙、竜巻又は露等）が掛かった画像を生成できる。
【００５６】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５７】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５８】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００５９】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお、以下では、フォグの表現に本実施形態の手法を適用した場合を主に例にとり説明するが、本実施形態の手法は、フォグ以外の画像表現に適用することも可能である。
【００６０】
２．１  距離に応じたフォグ濃度とフォグ色の変化
オブジェクト空間において仮想カメラから見える画像を生成する場合に、よりリアルなフォグ効果を表現するためには、仮想カメラ（視点）からの距離に応じてフォグ濃度を変化させることが望ましい。即ち、仮想カメラからの距離が遠くなるほどフォグ濃度を濃くする。加えて、仮想カメラ（視点）からの距離に応じてフォグ色をも変化させれば、天候や時間帯等、種々のシチュエーションに応じた様々なフォグ効果を表現することができる。
【００６１】
そして、このようにフォグ濃度とフォグ色とを変化させるためには、フォグ濃度を制御するパラメータであるα値と、フォグ色を制御するためのパラメータであるフォグ色の成分、例えばＲ、Ｇ、Ｂ成分を、仮想カメラからの距離に応じて変化させることが望ましい。即ち、仮想カメラからの距離が遠くなるほどフォグ濃度が濃くなるようにα値を制御するとともに、フォグ色が変化するようにＲ、Ｇ、Ｂ成分を制御する。
【００６２】
そこで本実施形態では、仮想カメラからの距離パラメータであるＺ値（ＺバッファのＺ値）に基づいて、α値とフォグ色のＲ、Ｇ、Ｂ成分に変換する手法を採用している。具体的には図２のＡ１に示すように、まず元画像（描画バッファ上に描画された画像）のＺ値ＺＰを奥行き距離情報Ｄ（仮想カメラからの距離情報、元画像のＺ値を変換することで得られる第２のＺ値）に変換する。本実施の形態では、元画像のＺ値ＺＰを、仮想カメラから見て手前側に対応する０から、奥側に対応する２５５までの２５６段階の奥行き距離情報Ｄに変換する。そして、Ａ２に示すように、奥行き距離情報Ｄをα値αＰとフォグ色ＦＣＰに変換する。
【００６３】
そして図２のＡ３に示すように、元画像の色ＩＣＰ（ＲＧＢ、ＹＵＶ等）と、フォグ色（白、青、赤等）ＦＣＰとを、αＰに基づいてαブレンディングする。これにより、仮想カメラからの距離に応じてフォグ濃度とフォグ色が変化するフォグ効果が施されたフォグ処理後画像（完成画像）を生成することができる。
【００６４】
なお、ＺバッファのＺ値を奥行き距離情報Ｄに変換する際には、仮想スクリーン位置に対応するＺ値と最遠景に対応するＺ値との間で、奥行き距離情報Ｄの最小値及び最大値を任意に設定することができる。
【００６５】
２．２  インデックスカラー・テクスチャマッピングによるフォグ画像の生成
そして本実施形態では、図２のＡ２に示す、奥行き距離情報Ｄをα値αＰとフォグ色ＦＣＰに変換する処理を、インデックスカラー・テクスチャマッピングを有効利用して実現している。
【００６６】
通常のインデックスカラー・テクスチャーマッピングでは、テクスチャ記憶部の使用記憶容量を節約するために、図３のＢ１に示すように、実際の色情報（ＲＧＢ）ではなくインデックス番号が、テクスチャの各テクセルに関連づけて記憶される。また、図３のＢ２に示すように、インデックスカラー・テクスチャマッピング用のＬＵＴ（カラーパレット）には、インデックス番号により指定される色情報が記憶される。そして、オブジェクトに対してテクスチャマッピングを行う際には、テクスチャの各テクセルのインデックス番号に基づいてＬＵＴを参照し、対応する色情報をＬＵＴから読み出し、読み出された色情報を描画バッファ（フレームバッファ等）に描画する。
【００６７】
このようなインデックスカラーモードのテクスチャマッピングでは、ＬＵＴを用いない通常モードのテクスチャマッピングに比べて、使用できる色数は少なくなる（例えば２５６色）。しかしながら、テクスチャ記憶部に実際の色情報（例えば２４ビットの色情報）を記憶する必要が無くなるため、テクスチャ記憶部の使用記憶容量を大幅に節約できる。
【００６８】
そこで、本実施形態では、このようなインデックスカラー・テクスチャマッピングを通常とは異なる形態で利用し、奥行き距離情報Ｄをα値とフォグ色成分に変換している。
【００６９】
このため本実施形態では、図４のＢ３に示すように、２５６段階の奥行き距離情報ＤをルックアップテーブルＬＵＴのインデックス番号として扱う（奥行き距離情報Ｄをインデックス番号とみなす）。そして、ルックアップテーブルＬＵＴには、インデックス番号により指定されるフォグ色のＲ、Ｇ、Ｂ成分とα値とが格納されている。
【００７０】
そしてＢ４に示すように、奥行き距離情報Ｄをインデックス番号として扱いＬＵＴを用いて、仮想オブジェクト（例えば表示画面サイズのスプライト、ポリゴン）に対してインデックスカラー・テクスチャマッピングを行う。これにより、元画像の各画素の奥行き値に応じたα値と、フォグ色のＲ、Ｇ、Ｂ成分とを得ることができる。そして、Ｂ５に示すように、元画像の色と奥行き値に応じたフォグ色とを、奥行き値に応じたα値に基づいてブレンディングし、フォグ処理後画像を生成する。
【００７１】
特に、本実施の形態では、図５に示すように、ルックアップテーブルＬＵＴには、仮想カメラから見て手前側の奥行き値用の第１のフォグ色と、奥側の奥行き値用の第２のフォグ色とが、元画像の奥行き値に応じてグラデーション変化するように、フォグ色のＲ、Ｇ、Ｂ成分が記憶されている。図５のルックアップテーブルＬＵＴの例では、手前側の奥行き距離情報Ｄに対応するインデックス番号０には、手前側の奥行き値用のフォグ色として青色（Ｒ＝０、Ｇ＝０、Ｂ＝２５５）が対応付けられ、奥側の奥行き距離情報Ｄに対応するインデックス番号２５５には、奥側の奥行き値用のフォグ色として赤色（Ｒ＝２５５、Ｇ＝０、Ｂ＝０）が対応付けられている。そして、手前側から奥側に行くにつれ、奥行き値に応じてフォグ色が青色から赤色に次第に変化するようにフォグ色のＲ、Ｇ、Ｂ成分の値が格納されている。
【００７２】
そして、フォグ情報設定部１２４（テクスチャマッピング部１２４）は、ルックアップテーブルＬＵＴを用いることにより、元画像の奥行き値に基づいて、手前側の奥行き値用の青色から奥側の奥行き値用の赤色へと、フォグ色が元画像の奥行き値に応じてグラデーション変化するようにフォグ色を設定する。従って、図６に示すように、仮想カメラから見て手前側から奥側に行くにつれ、フォグ色が青、紫、赤へとグラデーション変化するフォグ効果が表現された画像を生成することができる。これにより、例えば、仮想カメラから奥側に夕日を見る画像を生成する場合に、奥側では夕焼けの影響を強く受けた赤色のフォグを発生させ、手前側では夕焼けの影響をあまり受けない青色のフォグを発生させることができ、擬似的に光の散乱スペクトルを表現することができる。
【００７３】
なお、図５の例では、フォグ色のＲ成分とＢ成分のみを変化させているが、本実施の形態はこれに限られず、Ｇ成分をも変化させて手前側の奥行き値用の第１のフォグ色と奥側の奥行き値用の第２のフォグ色とを設定することができる。例えば、手前側の奥行き距離情報Ｄに対応するインデックス番号０には、手前側の奥行き値用のフォグ色として白色（Ｒ＝２５５、Ｇ＝２５５、Ｂ＝２５５）を対応付け、奥側の奥行き距離情報Ｄに対応するインデックス番号２５５には、奥側の奥行き値用のフォグ色として青色（Ｒ＝０、Ｇ＝０、Ｂ＝２５５）を対応付けてもよい。そして、手前側から奥側に行くにつれ、奥行き値に応じてフォグ色が白色から青色に次第に変化するようにフォグ色のＲ、Ｇ、Ｂ成分の値を設定する。この場合には、例えば、仮想カメラから奥側に地平線を見る画像を生成する場合に、奥側では青空の影響を強く受けた青色のフォグを発生させ、手前側では空気中の塵等の影響を受けた白色のフォグを発生させることができる。
【００７４】
このように、本実施の形態によれば、手前側の奥行き値用の第１のフォグ色と、奥側の奥行き値用の第２のフォグ色とを任意に設定し、手前側の奥行き値用の第１のフォグ色から奥側の奥行き値用の第２のフォグ色へと、フォグ色が元画像の奥行き値に応じてグラデーション変化するようにフォグ色を設定することにより、天候や時間帯等、種々のシチュエーションに応じた様々なフォグ効果を表現することができる。
【００７５】
なお、図４では、表示画面サイズの仮想オブジェクトに対してテクスチャマッピングを行っているが、表示画面を分割したサイズの仮想オブジェクトに対してテクスチャマッピングを行うようにしてもよい。
【００７６】
２．３  Ｚ値とα値とフォグ色のＲ、Ｇ、Ｂ成分との関係
図７（Ａ）は、奥行き距離情報Ｄ（ルックアップテーブルＬＵＴのインデックス番号）とα値との関係をグラフ化したものである。図７（Ａ）のグラフでは、横軸が奥行き距離情報Ｄ（インデックス番号）を表し、０が手前側、２５５が奥側と対応する。また、縦軸がα値を表し、２５６段階の値が０．０〜１．０で表されている。
【００７７】
図７（Ａ）に示すように、本実施の形態のルックアップテーブルＬＵＴでは、奥行き距離情報ＤがＤ１とＤ２との間にあるときにα値を変化させている。即ち、フォグ変化を手前側から見た場合には、Ｄ１をフォグ変化開始深度とし、Ｄ２をフォグ変化終了深度として、フォグ情報設定部１２４が、フォグ変化開始深度とフォグ変化終了深度との間で、α値が奥行き距離情報Ｄに応じて変化するようにα値を設定する。これにより、フォグ変化開始深度とフォグ変化終了深度との間では、例えば、奥行き距離情報Ｄが奥側となるにつれてα値を増加させ、フォグ濃度を濃くすることができ、現実のフォグ特性を反映したリアルなフォグ効果を表現することができる。
【００７８】
また、図７（Ａ）の例では、フォグ変化開始深度より手前側の奥行き距離情報Ｄに対応するα値が０．０にクランプし、フォグ変化終了深度より奥側の奥行き距離情報Ｄに対応するα値が１．０にクランプしている。ここで、α値をクランプさせる値は任意に設定することができる。即ち、フォグ情報設定部１２４が、フォグ変化開始深度より手前側の奥行き距離情報Ｄに対応するα値を第１のα値にクランプ設定し、フォグ変化終了深度より奥側の奥行き距離情報Ｄに対応するα値を第２のα値にクランプ設定する。これにより、フォグ変化開始深度とフォグ変化終了深度との間で、現実のフォグ特性を反映したリアルなフォグ効果を表現することができる。
【００７９】
また、図７（Ａ）の例では、元画像の最遠景に相当する奥行き距離情報Ｄｍａｘ（Ｄｍａｘ＝２５５）より手前側の奥行き距離情報ＤであるＤ３でα値が最小となっている。即ち、フォグ情報設定部１２４が、元画像の最遠景に相当する奥行き距離情報Ｄｍａｘより手前側の奥行き距離情報Ｄ３でフォグ濃度が最小となるようにα値を設定する。これにより、最遠景にフォグをかけないようにすることができ、例えば、最遠景に背景スプライト等を設定して空を表現するような場合でも、背景スプライトにまでフォグがかかってしまうことを防止することができる。
【００８０】
また、図７（Ｂ）は、奥行き距離情報Ｄ（ルックアップテーブルＬＵＴのインデックス番号）とフォグ色のＲ、Ｇ、Ｂ成分との関係をグラフ化したものである。図７（Ｂ）のグラフでは、横軸が元画像の奥行き距離情報Ｄ（インデックス番号）を表し、０が手前側、２５５が奥側と対応する。また、縦軸がフォグ色のＲ、Ｇ、Ｂ成分の値を表し、グラフＲが奥行き距離情報Ｄに応じたＲ成分の変化を、グラフＧが奥行き距離情報Ｄに応じたＧ成分の変化（本図の例では０で一定）を、グラフＢが奥行き距離情報Ｄに応じたＢ成分の変化を表している。
【００８１】
図７（Ｂ）に示すように、本実施の形態ルックアップテーブルＬＵＴでは、奥行き距離情報ＤがＤ１とＤ２との間にあるときに、奥行き距離情報Ｄが奥側となるにつれてフォグ色のＲ成分が次第に増加するように、一方、Ｂ成分は次第に減少するように、Ｒ成分の値とＢ成分の値とを変化させている。即ち、フォグ情報設定部１２４が、フォグ変化開始深度とフォグ変化終了深度との間で、α値が奥行き距離情報Ｄに応じて変化するようにα値を設定するとともに、フォグ変化開始深度とフォグ変化終了深度との間で、フォグ色が奥行き距離情報Ｄに応じて、手前側用のフォグ色（Ｂ成分）から奥側用の第２のフォグ色（Ｒ成分）へとグラデーション変化するようにフォグ色を設定する。これにより、フォグ変化開始深度とフォグ変化終了深度との間で、奥行き距離情報Ｄが奥側となるにつれて手前側用のフォグ色から奥側用のフォグ色へと、フォグ色をグラデーション変化させることができ、天候や時間帯等、種々のシチュエーションに応じた様々なフォグ効果を表現することができる。
【００８２】
２．４  ルックアップテーブルＬＵＴ情報の変更
また、本実施の形態では、フォグ情報設定部１２４が、入力情報や所与のプログラムに基づき、ルックアップテーブルＬＵＴに格納されている情報の対応関係を変化させる。即ち、入力情報としてフォグパラメータ設定情報を受け付け、フォグ効果を変化させる。例えば、フォグ変化開始深度とする奥行き距離情報Ｄ、フォグ変化終了深度とする奥行き距離情報Ｄを変化させる。これにより、フォグが変化する範囲を変化させることができる。例えば、フォグが変化する範囲を狭くして、局所的にフォグが変化するフォグ効果を表現することができる。
【００８３】
また、フォグ変化開始深度より手前側の奥行き距離情報Ｄに対応するフォグ色のＲ、Ｇ、Ｂ成分の値及びα値、フォグ変化終了深度より奥側の奥行き距離情報Ｄに対応するフォグ色のＲ、Ｇ、Ｂ成分の値及びα値を変化させる。これにより、奥行き距離情報Ｄに応じたフォグ色の変化特性、フォグ濃度の変化特性を変化させることができる。
【００８４】
また、α値を０．０とする奥行き距離情報Ｄ、インデックス番号として扱う奥行き距離情報Ｄの範囲を変化させる。これにより、フォグ効果を無くす範囲を変化させることができる。
【００８５】
３．本実施の形態の処理
次に、本実施の形態の処理を、図８のフローチャートを用いて説明する。
【００８６】
まず、ステップＳ１において、フォグ変化開始深度とする奥行き距離情報Ｄ、フォグ変化終了深度とする奥行き距離情報Ｄ、フォグ変化開始深度より手前側の奥行き距離情報Ｄに対応するフォグ色のＲ、Ｇ、Ｂ成分の値及びα値、フォグ変化終了深度より奥側の奥行き距離情報Ｄに対応するフォグ色のＲ、Ｇ、Ｂ成分の値及びα値、α値を０．０とする奥行き距離情報Ｄ、インデックス番号として扱う奥行き距離情報Ｄの範囲等の、入力情報として受け付けたフォグパラメータ設定情報から、インデックス番号（奥行き距離情報Ｄ）とフォグ色のＲ、Ｇ、Ｂ成分の値及びα値とを対応付けるルックアップテーブルＬＵＴを作成する。
【００８７】
そして、ステップＳ２において、元画像（透視変換後のオブジェクト）をフレームバッファに描画する。この際に、Ｚバッファには各画素のＺ値が書き込まれることになる。すると、ステップＳ３において、ＺバッファのＺ値を２５６段階の奥行き距離情報Ｄに変換してワークバッファに格納し、ステップＳ４において、ワークバッファの奥行き距離情報Ｄを２５６色のインデックステクスチャとして設定し、フォグパラメータから作成したルックアップテーブルＬＵＴをインデックステクスカラー・テクスチャチャマッピング用のルックアップテーブルＬＵＴとして設定する。
【００８８】
そして、ステップＳ５において、変換したＺバッファに対応する画面の位置にポリゴンを描画する。即ち、ルックアップテーブルＬＵＴによって決定したα値に基づき、ルックアップテーブルＬＵＴによって決定したフォグ色と元画像の色とを線形合成してフレームバッファに書き込む。このとき、下式に従ったαブレンディング処理を行う。
【００８９】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２
ここで、Ｒ１、Ｇ１、Ｂ１は、元画像の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ２、Ｇ２、Ｂ２は、フォグ色のＲ、Ｇ、Ｂ成分である。こうして、元画像に、元画像の奥行き値に応じたフォグ色を元画像の奥行き値に応じたα値でブレンディングしたフォグ処理後画像を生成する。
【００９０】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図９を用いて説明する。
【００９１】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００９２】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００９３】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００９４】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【００９５】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、痺uレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【００９６】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【００９７】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【００９８】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【００９９】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１００】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１０１】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１０２】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１０３】
なお、本実施形態の各部（各手段）は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１０４】
そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。
【０１０５】
５．変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書中の記載において広義な用語（仮想オブジェクト）として引用された用語（スプライト、ポリゴン等）は、明細書中の他の記載においても広義な用語に置き換えることができる。
【０１０６】
また、α値のブレンディング手法も、本実施形態で詳細に説明した手法に限定されず、種々の変形実施が可能である。また、α値や色のブレンディング処理は、プレーン単位で行ってもよいし、画素単位で行ってもよい。また、元画像の奥行き値に応じたα値とフォグ色が設定されたフォグ画像を生成し、元画像とフォグ画像とを、フォグ画像のα値に基づいてブレンディングしてもよい。
【０１０７】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１０８】
また、本発明は種々のゲーム（格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等）にも適用することができる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用することができる。
【図面の簡単な説明】
【０１０９】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】元画像のＺ値をフォグ情報に変換し、得られたα値で元画像の色とフォグの色をブレンドする手法について説明するための図である。
【図３】インデックスカラー・テクスチャマッピングについて説明するための図である。
【図４】インデックスカラー・テクスチャマッピングを利用して、Ｚ値をフォグ情報に変換する手法について説明するための図である。
【図５】本実施形態のルックアップテーブルの一例である。
【図６】フォグ処理後画像の例を示す図である。
【図７】図７（Ａ）、（Ｂ）は、ルックアップテーブルの変換特性の一例について説明するための図である。
【図８】本実施形態の処理の一例を示すフローチャートである。
【図９】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【符号の説明】
【０１１０】
ＩＣＰ  元画像の色
ＺＰ    元画像のＺ値
ＦＣＰ  フォグの色
αＰ    フォグのα値
ＬＵＴ  ルックアップテーブル
Ｄ      奥行き距離情報
１００  処理部
１２０  画像生成部
１２２  元画像生成部
１２４  フォグ情報設定部（テクスチャマッピング部）
１２６  αブレンディング部
１３０  音生成部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１７６  Ｚバッファ
１７８  テクスチャ記憶部
１７９  ＬＵＴ記憶部
１９０  表示部
【図１】
2006318389.tif 000003
【図２】
2006318389.tif 000004
【図３】
2006318389.tif 000005
【図４】
2006318389.tif 000006
【図５】
2006318389.tif 000007
【図６】
2006318389.tif 000008
【図７】
2006318389.tif 000009
【図８】
2006318389.tif 000010
【図９】
2006318389.tif 000011