(57)【要約】【課題】画質劣化を最小限に抑えながらリアルなフォグ画像等の生成を可能にする画像生成システム、プログラム及び情報記憶媒体を提供すること。【解決手段】  画像生成システムは、視点より見てＺ値Ｚ１から奥側の範囲での特性が基準変換特性とは異なる補正変換特性に基づいて、元画像の各画素のＺ値に対する変換処理を行って、各画素のα値を求めるα値設定部と、元画像の各画素のＺ値を参照し、画素のＺ値が視点より見て前記Ｚ１から奥側になる画素に対して、α値ａ１で所与の色をブレンディング描画する第１のブレンディング部と、補正変換特性により求められた各画素のα値に基づいて、各画素の色に対して所与の色をブレンディング描画する第２のブレンディング部を含む。【選択図】      図１６
2006277490.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
視点より見てＺ値Ｚ１から奥側の範囲での特性が基準変換特性とは異なる補正変換特性に基づいて、元画像の各画素のＺ値に対する変換処理を行って、各画素のα値を求めるα値設定部と、
元画像の各画素のＺ値を参照し、画素のＺ値が視点より見て前記Ｚ１から奥側になる画素に対して、α値ａ１で所与の色をブレンディング描画する第１のブレンディング部と、
前記補正変換特性により求められた各画素のα値に基づいて、各画素の色に対して所与の色をブレンディング描画する第２のブレンディング部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記α値設定部は、
元画像の全画素のうちから間引かれた間引き画素のＺ値を、前記補正変換特性に基づいて変換して、間引き画素のα値を求めることを特徴とするプログラム。
【請求項３】
請求項２において、
前記α値設定部は、
表示画面サイズを縮小したサイズの仮想プリミティブ面に対して、元画像のＺ値がインデックス番号として設定されたルックアップテーブルを用いてインデックスカラー・テクスチャマッピングを行うことで、元画像のＺ値に対する変換処理を行うことを特徴とするプログラム。
【請求項４】
請求項２又は３において、
前記第２のブレンディング部は、
間引き画素のα値を補間しながら、各画素の色に対して所与の色をブレンディング描画することを特徴とするプログラム。
【請求項５】
請求項４において、
前記第２のブレンディング部は、
間引き画素のα値のプレーンをテクスチャに設定し、所与の色に設定された表示画面サイズの仮想プリミティブ面を、バイリニアフィルタ方式のテクスチャマッピングで、αブレンディング描画することを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記α値設定部は、
Ｚ値に対する変換処理により得られたα値と、各画素のα値が仮想プレーン内で不均一に設定されるαむら設定用α値とを合成して、各画素のα値を求めることを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
視点より見て前記Ｚ１から奥側の範囲において、前記補正変換特性の各Ｚ値における各α値は、前記基準変換特性の各Ｚ値における各α値を前記ａ１で除算した値になっていることを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記α値はフォグ濃度を制御するパラメータであり、前記所与の色はフォグ色であることを特徴とするプログラム。
【請求項９】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至８のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１０】
画像を生成する画像生成システムであって、
視点より見てＺ値Ｚ１から奥側の範囲での特性が基準変換特性とは異なる補正変換特性に基づいて、元画像の各画素のＺ値に対する変換処理を行って、各画素のα値を求めるα値設定部と、
元画像の各画素のＺ値を参照し、画素のＺ値が視点より見て前記Ｚ１から奥側になる画素に対して、α値ａ１で所与の色をブレンディング描画する第１のブレンディング部と、
前記補正変換特性により求められた各画素のα値に基づいて、各画素の色に対して所与の色をブレンディング描画する第２のブレンディング部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。そしてこのような画像生成システムでは、霧、もや、煙、ホコリなどのフォグ（fog）が掛かったゲーム場面を表示する場合があり、このフォグについてもリアルに表現できることが望まれる。このようなフォグ表現の従来技術としては特開２００３−３２３６３０号公報に開示された技術がある。
【０００３】
さて、よりリアルな画像表現のためには、画面の全画素に対して上記従来技術で開示されるようなフォグ処理を行うことが望ましい。しかしながら、全画素に対してフォグ処理を行うと処理負荷が重くなり、高速化の妨げとなるおそれがある。一方、全画素から間引かれた間引き画素に対してのみフォグ処理を行うと、生成された画像の画質が劣化してしまうおそれもある。
【特許文献１】２００３−３２３６３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、画質劣化を最小限に抑えながらリアルなフォグ画像等の生成を可能にする画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、画像を生成する画像生成システムであって、視点より見てＺ値Ｚ１から奥側の範囲での特性が基準変換特性とは異なる補正変換特性に基づいて、元画像の各画素のＺ値に対する変換処理を行って、各画素のα値を求めるα値設定部と、元画像の各画素のＺ値を参照し、画素のＺ値が視点より見て前記Ｚ１から奥側になる画素に対して、α値ａ１で所与の色をブレンディング描画する第１のブレンディング部と、前記補正変換特性により求められた各画素のα値に基づいて、各画素の色に対して所与の色をブレンディング描画する第２のブレンディング部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００６】
本発明によれば、元画像の領域のうち、視点より見てＺ１から奥側になる画素に対して、α値ａ１で所与の色がブレンディング描画される。このようにすれば、視点より見てＺ１から奥側の画素の領域に対して、α値ａ１で所与の色がブレンドされるため、第２のブレンディング部でのブレンド処理の精度が低くても、画質の劣化を抑えることができる。また本発明では、Ｚ１から奥側の範囲での特性が基準変換特性とは異なる補正変換特性（Ｚ値−α値変換特性）に基づいて、Ｚ値に対する変換処理が行われる。そして補正変換特性を用いて得られた各画素のα値に基づいて、各画素の色に対して所与の色がブレンディング描画される。従って、Ｚ１から奥側の範囲の領域において、α値ａ１で所与の色がブレンドされたことによる影響を打つ消すことができ、リアルで自然な画像を生成できる。
【０００７】
なお第１のブレンディング部による第１のブレンディング処理と、第２のブレンディング部による第２のブレンディング処理の順序は任意である。
【０００８】
例えば第１のブレンディング処理の後に第２のブレンディング処理を行う場合には、最初の第１のブレンディング処理では、元画像の画素の色に対して所与の色がブレンディングされる。そして次の第２のブレンディング処理では、第１のブレンディング処理により得られた各画素の色に対して、所与の色がブレンディングされる。つまり、第２のブレンディング処理の対象（入力）となる「各画素の色」は、第１のブレンディング処理により得られた各画素の色になる。
【０００９】
一方、第２のブレンディング処理の後に第１のブレンディング処理を行う場合には、最初の第２のブレンディング処理では、元画像の画素の色に対して所与の色がブレンディングされる。つまり第２のブレンディング処理の対象（入力）となる「各画素の色」は、元画像の画素の色になる。そして次の第１のブレンディング処理では、第２のブレンディング処理により得られた画素の色に対して、所与の色がブレンディングされる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値設定部は、元画像の全画素のうちから間引かれた間引き画素のＺ値を、前記補正変換特性に基づいて変換して、間引き画素のα値を求めるようにしてもよい。
【００１１】
このようにすれば、Ｚ値に対する変換処理等は、間引き画素のＺ値に対してだけ行えば済むようになるため、処理負荷の軽減化や処理の高速化を図れる。なお「間引き画素」とは、間引き処理により抽出された方の画素（残った方の画素）である。この間引き処理としては、例えば水平方向（Ｈ方向）での間引き処理や、垂直方向（Ｖ方向）での間引き処理や、これらを組み合わせたものなどがある。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値設定部は、表示画面サイズを縮小したサイズの仮想プリミティブ面に対して、元画像のＺ値がインデックス番号として設定されたルックアップテーブルを用いてインデックスカラー・テクスチャマッピングを行うことで、元画像のＺ値に対する変換処理を行うようにしてもよい。
【００１３】
このようにすれば、間引き画素のＺ値をα値に変換する処理を、簡素な処理で実現できるようになる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記第２のブレンディング部は、間引き画素のα値を補間しながら、各画素の色に対して所与の色をブレンディング描画するようにしてもよい。
【００１５】
このようにすれば、間引き画素のα値を用いて各画素の色を求めることが可能になる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記第２のブレンディング部は、間引き画素のα値のプレーンをテクスチャに設定し、所与の色に設定された表示画面サイズの仮想プリミティブ面を、バイリニアフィルタ方式のテクスチャマッピングで、αブレンディング描画するようにしてもよい。
【００１７】
このようにすれば、間引き画素のα値を用いて各画素の色を求める処理を、簡素な処理で実現できるようになる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値設定部は、Ｚ値に対する変換処理により得られたα値と、各画素のα値が仮想プレーン内で不均一に設定されるαむら設定用α値とを合成して、各画素のα値を求めるようにしてもよい。
【００１９】
このようにすれば、元画像のＺ値とαむら（むら模様）の両方が加味された画像エフェクトを、元画像に対して施すことができるため、更にリアルで自然な画像を生成できるようになる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、視点より見て前記Ｚ１から奥側の範囲において、前記補正変換特性の各Ｚ値における各α値は、前記基準変換特性の各Ｚ値における各α値を前記ａ１で除算した値になっていてもよい。
【００２１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値はフォグ濃度を制御するパラメータであり、前記所与の色はフォグ色であってもよい。
【発明を実施するための最良の形態】
【００２２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２３】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２４】
操作部１６０は、プレイヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域やメインメモリとなるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されているプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理手順をコンピュータに実行させるためのプログラム）が記憶される。
【００２６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ（液晶表示装置）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２７】
携帯型情報記憶装置１９４は、プレイヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２８】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３０】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３１】
オブジェクト空間設定部１１０は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３２】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレイヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム毎（１／６０秒）に順次求めるシミュレーション処理を行う。なおフレームレートは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３３】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００３４】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００３５】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７２（フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００３６】
描画部１２０は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
【００３７】
ここでテクスチャマッピング処理は、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理である。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００３８】
また隠面消去処理は、例えば、各ピクセルのＺ値（奥行き情報）が格納されているＺバッファ１７６（奥行きバッファ）を用いるＺバッファ法（奥行き比較法、Ｚテスト）により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Ｚバッファ１７６に格納されているＺ値を参照する。そして参照されたＺバッファ１７６のＺ値と、プリミティブ面の描画対象ピクセルでのＺ値とを比較し、プリミティブ面のＺ値が、仮想カメラから見て手前側となるＺ値（例えば大きなＺ値）である場合には、そのピクセルの描画処理を行うと共にＺバッファ１７６のＺ値を新たなＺ値に更新する。
【００３９】
またαブレンディング処理は、α値（Ａ値）に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
【００４０】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2
一方、加算αブレンディングの場合には下式の処理を行う。
【００４１】
ＲQ＝Ｒ1＋α×Ｒ2
ＧQ＝Ｇ1＋α×Ｇ2
ＢQ＝Ｂ1＋α×Ｂ2
また、減算αブレンディングの場合には下式の処理を行う。
【００４２】
ＲQ＝Ｒ1−α×Ｒ2
ＧQ＝Ｇ1−α×Ｇ2
ＢQ＝Ｂ1−α×Ｂ2
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファ１７２（フレームバッファ）に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画バッファ１７２に描画すべき画像のＲＧＢ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより得られる画像のＲＧＢ成分である。なおα値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度（透明度、不透明度と等価）情報、マスク情報、或いはバンプ情報などとして使用できる。
【００４３】
描画部１２０は、α値設定部１２２、第１のブレンディング部１２４、第２のブレンディング部１２６を含む。なおこれらの一部を省略する構成としてもよい。
【００４４】
α値設定部１２２はα値の設定処理を行う。具体的には、元画像の各画素のＺ値（Ｚバッファ１７６に格納されているＺ値）に対する変換処理を行って、各画素のα値（αプレーン）を求める。更に具体的には、Ｚ値からα値への補正変換特性に基づいて、元画像の各画素（間引き画素、全画素）のＺ値に対する変換処理を行って、各画素（間引き画素、全画素）のα値を求める。
【００４５】
ここで補正変換特性は、視点（仮想カメラ）より見てＺ値Ｚ１から奥側の範囲（遠距離部分）での特性が基準変換特性とは異なっている（補正されている）変換特性である。例えば視点から遠くなるほどＺ値が小さくなるように座標系が設定されている場合には、補正変換特性は、Ｚ１以下のＺ値の範囲において基準変換特性とは異なっている。一方、視点から遠くなるほどＺ値が大きくなるように座標系が設定されている場合には、Ｚ１以上のＺ値の範囲において基準変換特性とは異なっている。
【００４６】
また元画像とは、例えば、Ｚ値を格納するＺバッファ１７６を用いて隠面消去を行いながらオブジェクト（プリミティブ面）を描画バッファ１７２に描画することで生成される画像である。そして元画像のＺ値は、この描画処理の際に行われるＺバッファ法（奥行き比較法）により、Ｚバッファ１７６上に生成（格納）される。
【００４７】
なお本実施形態のＺ値（奥行き値）は、カメラ座標系のＺ座標軸のＺ値そのものであってもよいし、このＺ値と数学的な均等なパラメータであってもよい。例えば、カメラ座標系のＺ値の逆数に相当するパラメータや、カメラ座標系のＺ値に所与の変換処理を施すことで得られるパラメータや、カメラ座標系のＺ値の所与のビット範囲（８ビット等）を取り出すことで得られるパラメータであってもよい。
【００４８】
また各画素のα値は、Ｚ値に対する変換処理に加えて更に他の処理を行って得るようにしてもよい。具体的には、補正変換特性を用いた変換処理により得られたα値（第１のα値）と、仮想プレーン内（画素間）において各画素のα値が不均一（nonuniform）に設定されているαむら設定用α値とを合成して、各画素のα値（第２のα値）を求めてもよい。この場合に、仮想プレーン内でむら模様が異なる複数のαむら設定用α値を合成して、α値の合成対象となるαむら設定用α値を生成してもよい。
【００４９】
またα値設定部１２２は、元画像の全画素のうちから間引かれた間引き画素（表示画面の１／２に相当する画素、表示画面の１／４に相当する画素）のＺ値を、補正変換特性に基づいて変換して、間引き画素のα値を求めるようにしてもよい。
【００５０】
第１のブレンディング部１２４は、元画像の各画素のＺ値（Ｚバッファ１７６のＺ値）を参照し、画素のＺ値が視点より見てＺ１から奥側になる画素に対して、α値ａ１で所与の色（例えばフォグ色）をブレンディング描画（例えば通常αブレンディング等）する。具体的には、Ｚテストを有効にし、所与の色に設定された仮想プリミティブ面（表示画面サイズのスプライト、ポリゴン）を、描画バッファ１７２（フレームバッファ）に対して、α値ａ１でブレンディング描画する。なおこの場合、一般のＺバッファ法とは異なり、Ｚ値の更新は行わない。
【００５１】
第２のブレンディング部１２６は、各画素の色（第１のブレンディング処理により得られた画素の色又は元画像の画素の色）に対して、各画素のα値（α値設定部１２２で得られたα値）に基づいて所与の色（例えばフォグ色）をブレンディング描画する。具体的には、所与の色に設定された仮想プリミティブ面（画面サイズのスプライト、ポリゴン）を、描画バッファ１７２（フレームバッファ）に対して、各画素のα値（αプレーン）を用いてブレンディング描画する。
【００５２】
以上のようなブレンディング描画を行うことで、元画像に対してフォグ（霧、雲、湯気、もや、ほこり、ちり、煙、竜巻又は露等）が掛かった画像を生成できる。
【００５３】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５４】
なお、本実施形態の画像生成システムは、１人のプレイヤのみがプレイできるシングルプレイヤモード専用のシステムにしてもよいし、複数のプレイヤがプレイできるマルチプレイヤモードも備えるシステムにしてもよい。また複数のプレイヤがプレイする場合に、これらの複数のプレイヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００５５】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００５６】
２．１  フォグ画像
よりリアルなフォグ表現を実現するためには、仮想カメラ（視点）からの距離に応じてフォグ濃度を変化させることが望ましい。即ち仮想カメラからの距離が遠くなるほどフォグ濃度を濃くする。そして、このようにフォグ濃度を変化させるためには、フォグ濃度を制御するパラメータであるα値を、仮想カメラからの距離に応じて変化させることが望ましい。即ち、仮想カメラからの距離が遠くなるほどフォグ濃度が濃くなるようにα値を制御する。
【００５７】
そこで本実施形態では、仮想カメラからの距離パラメータであるＺ値（奥行き距離）をα値に変換する手法を採用している。具体的には図２のＡ１に示すように、元画像（描画バッファ上に描画された画像）のＺ値ＺＰをα値αＰ１（第１のα値）に変換する。
【００５８】
そして図２のＡ２に示すように、元画像の色ＩＣＰ（ＲＧＢ、ＹＵＶ等）と、フォグの色（白、灰色等）ＣＰとを、αＰ１に基づいて合成（αブレンディング等）する。これにより、元画像にフォグ効果が施されたフォグ画像（完成画像）を生成できる。
【００５９】
そして本実施形態では図２のＡ１に示すＺ値からα値への変換を、インデックスカラー・テクスチャマッピングを利用して実現している。即ち、まず図３のＢ１に示すように、元画像の各画素のＺ値を、ルックアップテーブルＬＵＴのインデックス番号として扱う（Ｚ値をインデックス番号とみなす）。そしてＢ２に示すように、元画像のＺ値（画像情報）がインデックス番号として設定されたＬＵＴを用いて、仮想プリミティブ面（例えば表示画面サイズのスプライト、ポリゴン）に対してインデックスカラー・テクスチャマッピングを行い、元画像のＺ値を変換する。これにより、元画像の各画素のＺ値に応じた値に設定されたα値を得ることができる。
【００６０】
なお、図３では、表示画面サイズの仮想プリミティブ面（仮想オブジェクト）に対してテクスチャマッピングを行っているが、表示画面を分割したサイズの仮想プリミティブ面に対してテクスチャマッピングを行うようにしてもよい。
【００６１】
また本実施形態では、α値にむらをつける手法、即ちα値を仮想プレーン内（画素間）で不均一にする手法を採用してもよい。即ち、図４のＣ１に示すように、元画像のＺ値ＺＰ（Ｚプレーン）を変換し、ＺＰに応じて各画素のα値が設定されるα値αＰ１（第１のα値、第１のαプレーン）を得る。また図４のＣ２に示すように、仮想プレーン内でα値が不均一に設定されたαむら設定用α値αＵＰ（αむら設定用αプレーン）を用意する。
【００６２】
そして図４のＣ３に示すように、αＰ１とαＵＰを合成して、α値αＰ２（第２のα値、第２のαプレーン）を得る。このようにすることで、Ｚ値とαむら（むら模様）の両方が加味されたα値（フォグ濃度値）を得ることができる。なお、α値の合成処理としては、各画素のαＰ１、αＵＰを乗算する処理を考えることができる。但し、α値の加算、減算又は除算等、乗算以外の合成処理を採用してもよい。
【００６３】
次に図４のＣ４に示すように、得られたαＰ２に基づいて、元画像の色ＩＣＰと色ＣＰ（フォグの色）とを合成し、フォグ画像（完成画像）を生成する。ここで、色の合成としては、狭義のαブレンディング又は加算αブレンディングなどを考えることができる。
【００６４】
以上のようにすることで、Ｚ値（距離）に応じて濃度が変化すると共にその濃度にむらがあるフォグを、元画像に対して施すことが可能になる。
【００６５】
図５に本実施形態で用いられる元画像の例を示し、図６に本実施形態により生成されるフォグ画像の例を示す。図６に示すように本実施形態によれば、視点（仮想カメラ）からの距離が遠くなるほど、フォグの濃度が濃くなっている。また、フォグの濃度にむらがあるため、あたかも本物のフォグがオブジェクトに掛かっているように見え、リアルな画像を生成できる。
【００６６】
２．２  高速モード
さて、図２、図４の処理を元画像の全画素に対して行うと処理負荷が重くなる。即ちα値からＺ値への変換処理やαむら設定用α値の合成処理を１画面の全画素に対して行うと、処理の高速化を実現できない。
【００６７】
そこで本実施形態では図７（Ａ）に示すように、元画像の全画素に対して図２、図４の処理を行うノーマルモードの他に、Ｈモード、Ｖモード、Ｑモードという３種類の高速モードを用意している。Ｈモードでは横方向の解像度のみを半分にし、Ｖモードでは縦方向の解像度のみを半分にし、Ｑモードでは横方向と縦方向の両方の解像度を半分にする。
【００６８】
例えばＶモードは図７（Ｂ）のように実現できる。即ち図７（Ｂ）のＥ１に示すようにＺバッファのＺプレーンの縮小コピーを作成し、Ｅ２に示すように、作成された縮小ＺプレーンのＺ値をα値に変換して、縮小αプレーンを得る。そしてＥ３に示すように、得られた縮小αプレーンのα値でフォグ色（広義には所与の色）のスプライトをαブレンディングで描画する。
【００６９】
具体的には、元画像のＺ値をルックアップテーブルＬＵＴのインデックス番号として設定する。そしてこのＬＵＴを用いて、表示画面サイズを縦方向に１／２に縮小したサイズの仮想プリミティブ面（スプライト、ポリゴン）に対して、図３の手法でインデックスカラー・テクスチャマッピングを行い、元画像のＺ値をα値に変換する。この場合にテクスチャマッピングはポイントサンプリング方式で行う。このようにすることで図７（Ｂ）のＥ１、Ｅ２に示すように、縦方向に半分に縮小された縮小Ｚプレーン（間引き画素のＺ値）が変換されて、縮小αプレーン（間引き画素のα値のプレーン）が得られる。
【００７０】
そしてこの縮小αプレーンをテクスチャと見なして、フォグ色の仮想プリミティブ面（スプライト、ポリゴン）を、元画像が描画されている描画バッファ（フレームバッファ）にαブレンディング描画する。この場合のテクスチャマッピングはバイリニアフィルタ方式（テクセル補間方式）で行う。このようにすれば、縮小αプレーン（間引き画素）のα値がバイリニアフィルタで補間されながら、フォグ色が元画像にブレンディング描画されるようになる。
【００７１】
この高速モードによれば、α値からＺ値への変換処理やαむら設定用α値の合成処理等を、画面の全画素ではなく間引き画素に対してのみ行えば済むようになるため、処理負荷を軽減でき、処理を高速化できる。
【００７２】
しかしながら、この高速モードでは、オブジェクトの輪郭部で画質が劣化する問題があることが判明した。例えば図８、図９に図６のＤ１の部分を拡大した図を示す。図８はノーマルモードの場合の画像であり、図９は高速モード（Ｖモード）の場合の画像である。
【００７３】
図８に示すようにノーマルモードでは、正しいフォグ処理が行われているため、オブジェクトの輪郭部は階段状に適正に描画されている。これに対して図９の高速モードでは、オブジェクトの輪郭部で画質が劣化している。即ち図９のＦ１では、フォグ色（白）になるべき画素（輪郭部の外側の画素。背景）が、背景色（例えば青）が透けることで、薄いフォグ色（例えば白味がかった青）に設定されてしまう。一方、図９のＦ２では、フォグが掛かってはならない画素（輪郭部の内側の画素。オブジェクト）に対して、薄いフォグが掛かってしまう。特に見苦しいのが図９のＦ１の領域である。本来は見えないはずの背景色が見えてしまうからである。
【００７４】
そして特開２００２−０４４４８６号公報に開示されているようなＦＦ（フリッカフリー）処理を行うと更に画質が劣化する。例えば図１０は、図９の高速モードの画像に対してＦＦ処理を行った場合に生成された画像である。ＦＦ処理を掛けると、表示ラインに対してその上下の非表示ラインがブレンドされ、表示ラインのみが残される。その結果、図１０のＦ３に示すように、オブジェクトの輪郭部から少し離れた位置に薄い背景色のラインが残ってしまい、非常に見苦しい画像になってしまう。
【００７５】
２．３  フォグの２段掛け
以上のような問題を解決するために本実施形態ではフォグの２段掛け（広義には多段掛け）を行っている。つまり、１段目のフォグでは、距離に依存せずに濃度一定の均一なフォグ（むら無しフォグ）を遠景部分（背景部分）の画素に掛ける。具体的には、即ち元画像の各画素のＺ値を参照し、画素のＺ値が視点より見てＺ１から奥側になる画素に対して、α値ａ１でフォグ色（例えば白）をブレンディング描画する。
【００７６】
一方、２段目のフォグでは、図７（Ａ）（Ｂ）で説明した本来の高速モードのフォグを掛ける。この場合にフォグ特性（基準変換特性、フォグカーブ、フォグテーブル）の遠距離部分を、１段目のフォグ濃度に応じて補正し、補正されたフォグ特性（補正変換特性）に基づいて高速モードでフォグを掛ける。具体的には、視点より見てＺ値Ｚ１から奥側の範囲での特性が、基準変換特性とは異なっている補正変換特性に基づいて、元画像の各画素のＺ値に対する変換処理を行い、各画素のα値を求める。そして求められた各画素のα値に基づいて、各画素の色に対してフォグ色をブレンディング描画する。
【００７７】
次に本実施形態のフォグの２段掛けの原理について詳細に説明する。図１１に、フォグ特性（広義には基準変換特性）の一例を示す。図１１において、横軸はＺ値に相当し、視点から遠いほどＺ値は０に近づき、視点に近づくほどＺ値はＺｍａｘに近づく。また、縦軸は、フォグ濃度を表すパラメータであるα値であり、α＝０がフォグ濃度＝１００パーセントに相当し、α＝１．０がフォグ濃度＝０パーセントに相当する。
【００７８】
なお横軸のＺ値は、正確にはＺバッファのＺ値の「変換対象ビット」である。即ち本実施形態では、奥行きに応じた濃度のフォグを描画するために、ＺバッファのＺ値の中から連続した８ビットを取り出し、この８ビットをＬＵＴのインデックス番号に設定してインデックスカラー・テクスチャマッピングを行うことで、Ｚ値に応じたα値を求めている。この場合に使用される８ビットを本明細書では「変換対象ビット」と呼ぶ。
【００７９】
またフォグ濃度であるα値は、０以上で１．０以下の値をとり、フォグの透過率を表している。フォグ濃度ａ（α値＝ａ）のフォグを描画すると、描画結果の色は、
ＣＯＲ＊ａ＋ＣＦＧ＊（１−ａ）
となる。ここでＣＯＲは元画像の色であり、ＣＦＧはフォグ色である。
【００８０】
本実施形態では、まず図１２（Ａ）に示すようなフォグ特性の１段目のフォグを掛け、その後、図１２（Ｂ）に示すようなフォグ特性の２段目のフォグを掛ける。この図１２（Ａ）の１段目のフォグ特性と図１２（Ｂ）の２段目のフォグ特性を掛け合わせると（乗算すると）、図１１の元のフォグ特性になる。
【００８１】
図１２（Ａ）の１段目のフォグ特性ではＨ１に示すように、視点より見てＺ１から奥側の範囲（Ｚ値の変換対象ビットがＺ１以下となる範囲）でのみ、α＝ａ０のフォグを掛かるようになっている。即ち視点より見てＺ１よりも手前側の範囲（Ｚ値の変換対象ビットがＺ１よりも大きくなる範囲）では、α＝１．０（フォグ濃度＝０パーセント）となっており、フォグが掛からないようになっている。
【００８２】
一方、図１２（Ｂ）の２段目の補正フォグ特性（補正変換特性）ではＨ２に示すように、Ｚ１から奥側の範囲（遠距離部分）でフォグ特性（基準変換特性）を補正したものになっている。そして図１２（Ａ）のＨ１の特性と図１２（Ｂ）のＨ２の特性を掛け合わせると、図１１のＧ１に示す特性になる。即ち、視点より見てＺ１から奥側の範囲において、図１２（Ｂ）のフォグ特性（補正変換特性）の各Ｚ値における各α値は、図１１のフォグ特性（基準変換特性）の各Ｚ値における各α値をａ０で除算した値になっている。
【００８３】
なお本実施形態では、「Ｚ１から奥側の範囲」がＺ＝Ｚ１を含むものとして説明しているが、「Ｚ１から奥側の範囲」はＺ＝Ｚ１を含まないものであってもよい。Ｚ＝Ｚ１を含まない場合には、「Ｚ１から奥側の範囲」は例えばＺ１未満の領域になる。
【００８４】
図１２（Ａ）のような１段目のフォグを、間引きを行っていない全ての画素に対して掛ければ、視点から見て遠い背景部分（Ｚ１から奥側範囲の部分）に、α値ａ０でフォグ色がブレンドされるようになる。従って、図９のＦ１に示すような画素の色を、フォグ色に近づけることが可能になり、画質を改善できる。
【００８５】
また図１２（Ｂ）のような２段目のフォグを掛ければ、図１２（Ａ）の１段目のフォグと組み合わせることにより、図１１と同等のフォグ特性を得ることができる。図１２（Ｂ）のフォグ特性では、図１１の元のフォグ特性に対して、Ｚ１から奥側の遠距離部分のフォグ濃度が薄くなるような補正が行われているからである。
【００８６】
１段目のフォグの描画では、テーブル変換等の複雑な処理は不要であるため、全画素に対する描画であっても処理負荷は小さい。即ち、Ｚテストを使ってＺ１よりも遠距離部分だけが描画されるように設定し、フォグ色のスプライトをα値ａ０でブレンディング描画すればよい。
【００８７】
一方、２段目のフォグ描画では、図１２（Ｂ）の補正フォグ特性でＺ値（変換対象ビット）をα値（フォグ濃度）に変換し、得られたα値に基づいて、フォグ色のスプライトを図２、図４の手法でブレンディング描画すればよい。この際に、図７（Ａ）（Ｂ）で説明した高速モードで図２、図４のフォグ処理を行うようにする。
【００８８】
以上の本実施形態の手法で生成された画像の例を図１３に示す。図１３では、図９に示すような画質の劣化が防止されている。図１３の画像であれば、ＦＦ処理等を行った場合にも、図１０のような画質の劣化も生じない。このように本実施形態によれば、図７（Ａ）（Ｂ）のような高速モードを採用して処理を高速化した場合にも、図１３に示すような高品質な画像を生成できる。従って、負荷が少ない高速な処理で、高品質でリアルな画像を生成できるという効果がある。
【００８９】
２．４  フォグ特性の調整
画質の改善のためには、１段目のフォグ濃度をなるべく濃くすることが望ましい。即ち１段目のフォグの遠距離部分（Ｚ１以下）でのα値（ａ０）を小さくすることが望ましい。しかしながら、１段目のフォグの遠距離部分のフォグ濃度を濃くすると、これに合わせて２段目のフォグの遠距離部分のフォグ濃度を薄くする必要がある。
【００９０】
しかしながら、処理の都合上、２段目のフォグの遠距離部分のフォグ濃度を０パーセントよりも薄くすることはできない。即ち、２段目のフォグの遠距離部分のα値を１．０よりも大きくすることはできない。つまり、１段目で掛けたフォグを２段目で薄くすることはできない。従って、図１１の例では、図１２（Ａ）（Ｂ）の状態が、１段目のフォグ濃度を限界まで濃くした状態になる。
【００９１】
また本実施形態では図４で説明した手法でフォグむらの表現を実現している。具体的には、図１４のＩ２に示す元のフォグ濃度（α値）に対して、１．０以上の値を有するフォグむら値を乗算して、Ｉ２とＩ３の範囲（Ｉ１）のフォグ濃度を得る。そしてＩ４に示すように、得られたＩ３のフォグ濃度に対して、上限を１．０（最大値）にリミットするクランプ処理を施す。
【００９２】
図１４に示すようなフォグむらによる濃度変化を考慮すると、２段目のフォグ特性の補正部分は、図１２（Ｂ）の限界状態まで上げる（薄くする）ことはできない。従って、１段目のフォグ濃度（ａ０）も、図１２（Ａ）の限界状態よりも薄くしなければならない。このようなフォグむらによる濃度変化も考慮して、１段目のフォグ濃度を限界まで濃くした状態は、図１５（Ａ）（Ｂ）のようになる。
【００９３】
例えばフォグむらによりフォグが薄くなる割合の最大値をＬｍａｘ（Ｌｍａｘ≧１．０）とする。このＬｍａｘは図１４のａｍ、ａｎから、Ｌｍａｘ＝ａｎ／ａｍと求められる。そして図１５（Ｂ）のＪ１に示すように２段目のフォグ特性の理論上の上限値をａｍａｘとする。すると、下式が成立する。
【００９４】
ａｍａｘ＊Ｌｍａｘ＝１．０              （１）
また図１５（Ａ）のＪ２に示すように、１段目のフォグ濃度（α値）の限界値をａ１とする。すると、Ｚ＝Ｚ１において１段目と２段目のフォグ濃度（α値）を掛け合わせたものがａ０になるため、下式が成立する。
【００９５】
ａ１＊ａｍａｘ＝ａ０                    （２）
上式（１）（２）より、下式が成立する。
【００９６】
ａ１＝ａ０／ａｍａｘ＝ａ０＊Ｌｍａｘ    （３）
上式（３）により、ａ０＞ａｍａｘの場合にはａ１＞１．０となってしまうため、フォグの２段掛けはできない。しかし、一般に高速モードによる画質劣化が問題になるのは、遠距離部のフォグが濃い場合である。従って、Ｚ１を小さくすれば（１段目のフォグを、より奥側にすれば）、ａ０＜ａｍａｘとなり、ａ１＜１．０とすることが可能になる。
【００９７】
２．５  詳細な処理例
次に本実施形態の詳細な処理例を図１６のフローチャートを用いて説明する。
【００９８】
まずフォグ特性(基準変換特性、フォグカーブ、フォグテーブル)をメモリから読み出す（ステップＳ１）。そして１段目のフォグのＺ値Ｚ１（変換対象ビット）を取り出す（ステップＳ２）。そしてフォグ特性を参照し、Ｚ１に対応するα値（フォグ濃度）ａ０を求める（ステップＳ３）。
【００９９】
次に、フォグむらによりフォグが薄くなる割合の最大値であるＬｍａｘ（Ｌｍａｘ＝ａｎ／ａｍ≧１．０）を求める（ステップＳ４）。また１段目のフォグのα値（フォグ濃度）ａ１＝ａ０＊Ｌｍａｘを求める（ステップＳ５）。そしてフォグ特性の０〜Ｚ１の範囲を１／ａ１倍することにより、補正されたフォグ特性を作成する（ステップＳ６）。
【０１００】
次に１段目のフォグを描画する。即ち、Ｚテストを有効にし、視点より見てＺ１から奥側の領域（変換対象ビットがＺ１以下の領域）のみに描画されるように設定して、α値ａ１でフォグ色のスプライトをαブレンディング描画する（ステップＳ７）。
【０１０１】
次に２段目のフォグを描画する。即ち、補正されたフォグ特性（補正変換特性）を用いて、図２、図４、図７（Ａ）（Ｂ）で説明したように、高速モードのフォグ描画を行う（ステップＳ８）。
【０１０２】
３．ハードウェア構成
図１７に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１０３】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１０４】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１０５】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１０６】
ＲＯＭ９５０にはシステムプログラムなどが格納されている。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されている。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されているＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１０７】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されているプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１０８】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納されている。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９００、９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９００、９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１０９】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（所与の色、仮想プリミティブ面、基準変換特性、描画バッファ等）と共に記載された用語（フォグ色、スプライト・ポリゴン、フォグ特性、フレームバッファ・ワークバッファ等）は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【０１１０】
またα値の変換手法、α値の合成手法、α値を用いたブレンディング描画手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば本実施形態では、２つの第１、第２のブレンディング描画を行う場合について説明したが、図１２（Ａ）（Ｂ）のＺ１として複数のＺ値を設定し、３つ以上のブレンディング描画を行うようにしてもよい。また第１、第２のブレンディング描画の順序も任意である。また、いわゆるピクセルシェーディングの手法を用いて、各画素毎でのα値の変換処理、合成処理、ブレンディング描画を実現してもよい。
【０１１１】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１１２】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】元画像のＺ値をα値に変換し、得られたα値で元画像の色とフォグの色を合成する手法の説明図。
【図３】インデックスカラー・テクスチャマッピングを利用して、Ｚ値をα値に変換する手法の説明図。
【図４】αむら設定用α値を用いてフォグむらを表現する手法の説明図。
【図５】元画像の例。
【図６】フォグ画像の例。
【図７】図７（Ａ）（Ｂ）は高速モードの説明図。
【図８】ノーマルモードでの生成画像例。
【図９】本実施形態の手法を採用しない場合の高速モードでの生成画像例。
【図１０】図９の高速モードでの生成画像にＦＦ処理を行った画像例。
【図１１】フォグ特性の例。
【図１２】図１２（Ａ）（Ｂ）は１段目、２段目のフォグの特性の例。
【図１３】本実施形態の手法を採用した場合の高速モードでの生成画像例。
【図１４】フォグのむらの付け方についての説明図。
【図１５】図１５（Ａ）（Ｂ）は１段目、２段目のフォグの特性の他の例。
【図１６】本実施形態の処理の詳細例。
【図１７】ハードウェア構成例。
【符号の説明】
【０１１３】
ＩＣＰ  元画像の色、ＺＰ  元画像のＺ値、αＰ１  α値（第１のα値）、
αＵＰ  αむら設定用α値、αＰ２  α値（第２のα値）、ＣＰ  フォグ色、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１２０  描画部、１２２  α値設定部、
１２４  第１のαブレンディング部、１２６  第２のαブレンディング部、
１３０  音生成部、１６０  操作部、１７０  記憶部、１７２  描画バッファ、
１７４  テクスチャ記憶部、１７６  Ｚバッファ、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2006277490.tif 000003
【図２】
2006277490.tif 000004
【図３】
2006277490.tif 000005
【図４】
2006277490.tif 000006
【図７】
2006277490.tif 000007
【図１４】
2006277490.tif 000008
【図１６】
2006277490.tif 000009
【図１７】
2006277490.tif 000010
【図５】
2006277490.tif 000011
【図６】
2006277490.tif 000012
【図８】
2006277490.tif 000013
【図９】
2006277490.tif 000014
【図１０】
2006277490.tif 000015
【図１１】
2006277490.tif 000016
【図１２】
2006277490.tif 000017
【図１３】
2006277490.tif 000018
【図１５】
2006277490.tif 000019