(57)【要約】【課題】少ない処理負荷で種々の変換処理を表現できる画像生成システム、プログラム及び情報記憶媒体を提供すること。【解決手段】元画像のピクセルデータ（色、α値、Ｚ値、輝度等）を間接テクスチャ記憶部１７７に設定し、変換用データを通常テクスチャ記憶部１７８に設定する。間接テクスチャ記憶部１７７から読み出された元画像のピクセルデータをテクスチャ座標に設定して、通常テクスチャ記憶部１７８から変換用データを読み出し、読み出された変換用データを描画対象ピクセルに描画することで、元画像のピクセルデータを変換する。元画像のＺ値を変換することで得られた第１のα値と、αむら設定用α値とを合成して、第２のα値を生成し、元画像の各ピクセルの色とフォグ色とを第２のα値に基づき合成する。Ｚ値や輝度をα値に変換し、得られたα値に基づき被写界深度画像やハレーション画像を生成する。【選択図】        図４
2004334661.tif 000002
【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
間接テクスチャのテクセルデータを記憶する間接テクスチャ記憶部と、
通常テクスチャのテクセルデータを記憶する通常テクスチャ記憶部と、
描画対象ピクセルのテクスチャ座標で指定される間接テクスチャのテクセルデータを、前記間接テクスチャ記憶部から読み出し、読み出されたテクセルデータにより特定されるテクスチャ座標に基づいて、前記通常テクスチャ記憶部から通常テクスチャのテクセルデータを読み出し、読み出されたテクセルデータに基づいて、描画対象ピクセルの描画処理を行うテクスチャマッピング部と、
元画像のピクセルデータを、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定する間接テクスチャ設定部と、
ピクセルデータを変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定する通常テクスチャ設定部とを含み、
前記テクスチャマッピング部が、
前記間接テクスチャ記憶部から読み出された元画像のピクセルデータにより特定されるテクスチャ座標に基づいて、前記通常テクスチャ記憶部から前記変換用データを読み出し、読み出された変換用データに基づいて描画対象ピクセルの描画処理を行うことで、元画像のピクセルデータの変換処理を行うことを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記間接テクスチャ設定部が、
元画像のＺ値を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、
前記通常テクスチャ設定部が、
Ｚ値をα値に変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、
前記テクスチャマッピング部が、
間接テクスチャマッピングによる前記変換処理により、元画像のＺ値をα値に変換することを特徴とする画像生成システム。
【請求項３】
請求項２において、
元画像のＺ値を前記変換処理により変換することで得られた第１のα値と、各ピクセルのα値が仮想プレーン内で不均一に設定されるαむら設定用α値とを合成して、第２のα値を生成するα値合成部と、
元画像の各ピクセルの色と所与の色とを、前記第２のα値に基づいて合成する色合成部を含むことを特徴とする画像生成システム。
【請求項４】
請求項３において、
前記α値合成部が、
仮想プレーン内でのむら模様が異なる複数のαむら設定用α値を合成して、前記第１のα値の合成対象となるαむら設定用α値を生成することを特徴とする画像生成システム。
【請求項５】
請求項３又は４において、
前記α値合成部が、
仮想カメラ情報及び時間情報の少なくとも一方に応じて、αむら設定用α値の仮想プレーン内でのむら模様を変化させることを特徴とする画像生成システム。
【請求項６】
請求項５において、
前記α値合成部が、
αむら設定用α値に対応する仮想プレーンについての仮想カメラからの仮想距離が小さくなるほど、αむら設定用α値のむら模様を拡大することを特徴とする画像生成システム。
【請求項７】
請求項２乃至６のいずれかにおいて、
元画像の各ピクセルの色と、元画像に基づき生成されたぼかし画像の各ピクセルの色とを、元画像のＺ値を前記変換処理により変換することで得られたα値に基づいて合成する色合成部を含むことを特徴とする画像生成システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記間接テクスチャ設定部が、
元画像の色を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、
前記通常テクスチャ設定部が、
元画像の色を変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、
前記テクスチャマッピング部が、
間接テクスチャマッピングによる前記変換処理により、元画像の色を変換することを特徴とする画像生成システム。
【請求項９】
請求項８において、
変換用データを用いた元画像の色の変換が、ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化の変換の少なくとも１つであることを特徴とする画像生成システム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記間接テクスチャ設定部が、
元画像の輝度を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、
前記通常テクスチャ設定部が、
元画像の輝度をα値に変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、
前記テクスチャマッピング部が、
間接テクスチャマッピングによる前記変換処理により、元画像の輝度をα値に変換することを特徴とする画像生成システム。
【請求項１１】
請求項１０において、
元画像の各ピクセルの色と、元画像に基づき生成されたぼかし画像の各ピクセルの色とを、元画像の輝度を前記変換処理により変換することで得られたα値に基づいて合成する色合成部を含むことを特徴とする画像生成システム。
【請求項１２】
画像を生成するためのプログラムであって、
間接テクスチャのテクセルデータを記憶する間接テクスチャ記憶部と、
通常テクスチャのテクセルデータを記憶する通常テクスチャ記憶部と、
描画対象ピクセルのテクスチャ座標で指定される間接テクスチャのテクセルデータを、前記間接テクスチャ記憶部から読み出し、読み出されたテクセルデータにより特定されるテクスチャ座標に基づいて、前記通常テクスチャ記憶部から通常テクスチャのテクセルデータを読み出し、読み出されたテクセルデータに基づいて、描画対象ピクセルの描画処理を行うテクスチャマッピング部と、
元画像のピクセルデータを、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定する間接テクスチャ設定部と、
ピクセルデータを変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定する通常テクスチャ設定部として、
コンピュータを機能させ、
前記テクスチャマッピング部が、
前記間接テクスチャ記憶部から読み出された元画像のピクセルデータにより特定されるテクスチャ座標に基づいて、前記通常テクスチャ記憶部から前記変換用データを読み出し、読み出された変換用データに基づいて描画対象ピクセルの描画処理を行うことで、元画像のピクセルデータの変換処理を行うことを特徴とするプログラム。
【請求項１３】
請求項１２において、
前記間接テクスチャ設定部が、
元画像のＺ値を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、
前記通常テクスチャ設定部が、
Ｚ値をα値に変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、
前記テクスチャマッピング部が、
間接テクスチャマッピングによる前記変換処理により、元画像のＺ値をα値に変換することを特徴とするプログラム。
【請求項１４】
請求項１３において、
元画像のＺ値を前記変換処理により変換することで得られた第１のα値と、各ピクセルのα値が仮想プレーン内で不均一に設定されるαむら設定用α値とを合成して、第２のα値を生成するα値合成部と、
元画像の各ピクセルの色と所与の色とを、前記第２のα値に基づいて合成する色合成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項１５】
請求項１４において、
前記α値合成部が、
仮想プレーン内でのむら模様が異なる複数のαむら設定用α値を合成して、前記第１のα値の合成対象となるαむら設定用α値を生成することを特徴とするプログラム。
【請求項１６】
請求項１４又は１５において、
前記α値合成部が、
仮想カメラ情報及び時間情報の少なくとも一方に応じて、αむら設定用α値の仮想プレーン内でのむら模様を変化させることを特徴とするプログラム。
【請求項１７】
請求項１６において、
前記α値合成部が、
αむら設定用α値に対応する仮想プレーンについての仮想カメラからの仮想距離が小さくなるほど、αむら設定用α値のむら模様を拡大することを特徴とするプログラム。
【請求項１８】
請求項１３乃至１７のいずれかにおいて、
元画像の各ピクセルの色と、元画像に基づき生成されたぼかし画像の各ピクセルの色とを、元画像のＺ値を前記変換処理により変換することで得られたα値に基づいて合成する色合成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項１９】
請求項１２乃至１８のいずれかにおいて、
前記間接テクスチャ設定部が、
元画像の色を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、
前記通常テクスチャ設定部が、
元画像の色を変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、
前記テクスチャマッピング部が、
間接テクスチャマッピングによる前記変換処理により、元画像の色を変換することを特徴とするプログラム。
【請求項２０】
請求項１９において、
変換用データを用いた元画像の色の変換が、ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化の変換の少なくとも１つであることを特徴とするプログラム。
【請求項２１】
請求項１２乃至２０のいずれかにおいて、
前記間接テクスチャ設定部が、
元画像の輝度を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、
前記通常テクスチャ設定部が、
元画像の輝度をα値に変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、
前記テクスチャマッピング部が、
間接テクスチャマッピングによる前記変換処理により、元画像の輝度をα値に変換することを特徴とするプログラム。
【請求項２２】
請求項２１において、
元画像の各ピクセルの色と、元画像に基づき生成されたぼかし画像の各ピクセルの色とを、元画像の輝度を前記変換処理により変換することで得られたα値に基づいて合成する色合成部として機能させることを特徴とするプログラム。
【請求項２３】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１２乃至２２のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【従来技術】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。このよう画像生成システムではテクスチャマッピングと呼ばれる手法を用いてリアルな画像を生成している。
【０００３】
【特許文献１】
特開２００１−２２４８４７号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、これまでのテクスチャマッピングは、テクスチャ座標（Ｕ、Ｖ）でアドレス指定されたテクスチャ記憶部のテクセルデータを、描画対象ピクセルに描画（マッピング）することで実現されていた。このため例えば被写界深度、フォグむら（ｆｏｇ  ｎｏｎｕｎｉｆｏｒｍｉｔｙ）表現、ガンマ補正等の変換処理（画像エフェクト処理）を実現しようとすると、処理負荷が重くなったり、処理が繁雑化したり、処理速度が遅くなるなどの課題があった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負荷で種々の変換処理を表現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、画像生成を行う画像生成システムであって、間接テクスチャのテクセルデータを記憶する間接テクスチャ記憶部と、通常テクスチャのテクセルデータを記憶する通常テクスチャ記憶部と、描画対象ピクセルのテクスチャ座標で指定される間接テクスチャのテクセルデータを、前記間接テクスチャ記憶部から読み出し、読み出されたテクセルデータにより特定されるテクスチャ座標に基づいて、前記通常テクスチャ記憶部から通常テクスチャのテクセルデータを読み出し、読み出されたテクセルデータに基づいて、描画対象ピクセルの描画処理を行うテクスチャマッピング部と、元画像のピクセルデータを、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定する間接テクスチャ設定部と、ピクセルデータを変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定する通常テクスチャ設定部とを含み、前記テクスチャマッピング部が、前記間接テクスチャ記憶部から読み出された元画像のピクセルデータにより特定されるテクスチャ座標に基づいて、前記通常テクスチャ記憶部から前記変換用データを読み出し、読み出された変換用データに基づいて描画対象ピクセルの描画処理を行うことで、元画像のピクセルデータの変換処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明では、元画像のピクセルデータがテクセルデータに設定された間接テクスチャと、変換用データがテクセルデータに設定された通常テクスチャとに基づいて、間接テクスチャマッピングが行われ、元画像のピクセルデータの変換処理が実現される。従って間接テクスチャマッピングを行うだけで、全表示画面分或いは分割表示画面分のピクセルデータを一度に変換することが可能となり、少ない処理負荷で効果的な変換処理（画像エフェクト処理）を実現できる。
【０００８】
なお本発明では、間接テクスチャ記憶部から読み出されたテクセルデータを、直接に通常テクスチャ記憶部のテクスチャ座標に設定してもよいし、テクセルデータとテクスチャ座標とに基づく演算処理（加算、減算、乗算又は除算等）により得られたデータを、通常テクスチャ記憶部のテクスチャ座標に設定してもよい。また通常テクスチャ記憶部から読み出されたテクセルデータを、そのまま描画対象ピクセルに描画してもよいし、読み出されたピクセルデータに演算処理を施したものを描画対象ピクセルに描画してもよい。
【０００９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記間接テクスチャ設定部が、元画像のＺ値を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、前記通常テクスチャ設定部が、Ｚ値をα値に変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、前記テクスチャマッピング部が、間接テクスチャマッピングによる前記変換処理により、元画像のＺ値をα値に変換するようにしてもよい。
【００１０】
このようにすれば、間接テクスチャマッピングを有効利用して、元画像のＺ値（Ｚプレーン）をα値（αプレーン）に変換できるようになる。そしてこの変換により得られたα値を用いて、種々のエフェクト画像を生成することが可能となる。なおＺ値とα値との間の変換特性は、通常テクスチャを用いて任意の特性に設定できる。また通常テクスチャを動的に変化させることで、得られるα値の値を動的に変化させてもよい。
【００１１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、元画像のＺ値を前記変換処理により変換することで得られた第１のα値と、各ピクセルのα値が仮想プレーン内で不均一に設定されるαむら設定用α値とを合成して、第２のα値を生成するα値合成部と、元画像の各ピクセルの色と所与の色とを、前記第２のα値に基づいて合成する色合成部を含んでもよい（これらの各部としてコンピュータを機能させる、或いはこれらの各部としてコンピュータを機能させるプログラムを記憶してもよい）。
【００１２】
本発明によれば、元画像のＺ値（奥行き値）に応じて設定された第１のα値と、αむら設定用α値が合成され、得られた第２のα値に基づいて、元画像の色と所与の色（例えばフォグの色）が合成される。このようにすることで、元画像のＺ値とαむら（むら模様）の両方が加味された画像エフェクトを、元画像に対して施すことができる。これにより、リアルなフォグむら画像等を生成できる。
【００１３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値合成部が、仮想プレーン内でのむら模様が異なる複数のαむら設定用α値を合成して、前記第１のα値の合成対象となるαむら設定用α値を生成するようにしてもよい。
【００１４】
この場合、複数のαむら設定用α値に対応する複数の仮想プレーンに対して、仮想カメラからの仮想距離を設定し、この仮想距離に基づいて、複数のαむら設定用α値の合成に使用するα値を制御したり、複数のαむら設定用α値の仮想プレーン内でのむら模様を制御してもよい。
【００１５】
また、α値合成部が、複数のαむら設定用α値に対応する複数の仮想プレーンのうち最も手前側の仮想プレーンについての仮想カメラからの仮想距離が、所与の距離よりも小さくなった場合に、最も手前側の仮想プレーンに対応するαむら設定用α値の合成率を低くし、複数の仮想プレーンのうち最も奥側の仮想プレーンについての仮想カメラからの仮想距離が、所与の距離よりも大きくなった場合に、最も奥側の仮想プレーンに対応するαむら設定用α値の合成率を低くするようにしてもよい。
【００１６】
なお、最も手前側の仮想プレーンに対応するαむら設定用α値の合成率を低くした後に（零にした後に）、最も奥側の仮想プレーンの更に奥側に、新たな仮想プレーンを発生させてもよい。また、最も奥側の仮想プレーンに対応するαむら設定用α値の合成率を低くした後に（零にした後に）、最も手前側の仮想プレーンの更に手前側に、新たな仮想プレーンを発生させてもよい。
【００１７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、α値合成部が、仮想カメラ情報及び時間情報の少なくとも一方に応じて、αむら設定用α値の仮想プレーン内でのむら模様を変化させるようにしてもよい。
【００１８】
このようにすれば、仮想カメラの動きや時間経過に応じて、むら模様が多様に変化するようになり、更にリアルな画像を生成できる。
【００１９】
なおこの場合に、複数のαむら設定用α値の仮想プレーン内でのむら模様を変化させてもよいし、複数のαむら設定用α値を合成することで得られるαむら設定用α値（第１のα値の合成対象になるαむら設定用α値）のむら模様を変化させてもよい。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値合成部が、αむら設定用α値に対応する仮想プレーンについての仮想カメラからの仮想距離が小さくなるほど、αむら設定用α値のむら模様を拡大するようにしてもよい。
【００２１】
なお、α値合成部が、スクリーンに平行な第１の方向に仮想カメラが移動した場合に、αむら設定用α値のむら模様を、第１の方向とは逆方向の第２の方向に移動させるようにしてもよい。この場合に、αむら設定用α値のむら模様の移動距離を、仮想カメラからの仮想距離に応じて変化させてもよい。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、元画像の各ピクセルの色と、元画像に基づき生成されたぼかし画像の各ピクセルの色とを、元画像のＺ値を前記変換処理により変換することで得られたα値に基づいて合成する色合成部を含んでもよい（これらの各部としてコンピュータを機能させる、或いはこれらの各部としてコンピュータを機能させるプログラムを記憶してもよい）。
【００２３】
このようにすれば、元画像の各ピクセルのＺ値（奥行き値）に応じた値に設定されたα値に基づいて、元画像とぼかし画像とが合成される。従って、Ｚ値に応じて、ぼかし画像の合成比率等を変化させることが可能になり、被写界深度などの表現が可能になる。
【００２４】
なお、Ｚ値（奥行き値）は、仮想カメラ（視点）から近いほど大きい値にしてもよいし、仮想カメラから遠いほど大きい値にしてもよい。また、元画像の合成対象となるぼかし画像の合成手法としては種々の手法を採用できる。またα値を用いた合成処理はαブレンディングに限定されない。
【００２５】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記間接テクスチャ設定部が、元画像の色を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、前記通常テクスチャ設定部が、元画像の色を変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、前記テクスチャマッピング部が、間接テクスチャマッピングによる前記変換処理により、元画像の色を変換するようにしてもよい。
【００２６】
このようにすれば種々の色データ変換処理を実現できる。
【００２７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、変換用データを用いた元画像の色の変換が、ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化の変換の少なくとも１つであってもよい。
【００２８】
なお本発明における色データ変換処理は上記した変換処理に限定されない。
【００２９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記間接テクスチャ設定部が、元画像の輝度を、間接テクスチャのテクセルデータとして前記間接テクスチャ記憶部に設定し、前記通常テクスチャ設定部が、元画像の輝度をα値に変換するための変換用データを、通常テクスチャのテクセルデータとして前記通常テクスチャ記憶部に設定し、前記テクスチャマッピング部が、間接テクスチャマッピングによる前記変換処理により、元画像の輝度をα値に変換するようにしてもよい。
【００３０】
このようにすれば、間接テクスチャマッピングを有効利用して、元画像の輝度（輝度プレーン）を少ない処理負荷でα値（αプレーン）に変換できるようになる。そしてこの変換により得られたα値を用いて、種々のエフェクト画像を生成することが可能となる。なお輝度とα値との間の変換特性は、通常テクスチャを用いて任意の特性に設定できる。また通常テクスチャを動的に変化させることで、得られるα値の値を動的に変化させてもよい。
【００３１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、元画像の各ピクセルの色と、元画像に基づき生成されたぼかし画像の各ピクセルの色とを、元画像の輝度を前記変換処理により変換することで得られたα値に基づいて合成する色合成部を含んでもよい（これらの各部としてコンピュータを機能させる、或いはこれらの各部としてコンピュータを機能させるプログラムを記憶してもよい）。
【００３２】
このようにすれば、元画像の各ピクセルの輝度に応じた値に設定されたα値に基づいて、元画像とぼかし画像を合成できる。従って、輝度に応じて、ぼかし画像の合成比率等を変化させることが可能になり、ハレーション画像の表現などが可能になる。
【００３３】
【発明の実施の形態】
以下、本実施形態について説明する。
【００３４】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３５】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図１の構成要素（各部）を全て含む必要はなく、その一部（例えば操作部１６０、携帯型情報記憶装置１９４又は通信部１９６等）を省略した構成としてもよい。
【００３６】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、タッチパネル型ディスプレイ、或いは筺体などのハードウェアにより実現できる。
【００３７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶（記録、格納）される。
【００３９】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００４０】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００４１】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００４２】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４３】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。ここで処理部１００が行うゲーム処理としては、ゲーム開始条件（コースやマップやキャラクタや参加プレーヤ人数の選択等）が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などがある。また処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）やＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラム（ゲームプログラム）により実現できる。
【００４５】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略してもよい。
【００４６】
オブジェクト空間設定部１１０は、キャラクタ、樹木、車、柱、壁、建物、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４７】
移動・動作処理部１１２は、移動オブジェクト（車、飛行機、又はキャラクタ等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、操作部１６０によりプレーヤが入力した操作データ、プログラム（移動・動作アルゴリズム）、或いは各種データ（モーションデータ）などに基づいて、移動オブジェクトをオブジェクト空間内で移動させたり、移動オブジェクトを動作（モーション、アニメーション）させる処理を行う。より具体的には、移動オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームは、移動オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４８】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００４９】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られた移動オブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた回転角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００５０】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。即ちいわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７２（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００５１】
画像生成部１２０は、隠面消去部１２２、テクスチャマッピング部１２３、間接テクスチャ設定部１２４、通常テクスチャ設定部１２５、α値合成部１２６、色合成部１２７を含む。なおこれらの一部を省略する構成としてもよい。
【００５２】
隠面消去部１２２は、Ｚ値（奥行き情報）が格納されるＺバッファ１７４（奥行きバッファ）等を用いて、Ｚバッファ法（奥行き比較法）により隠面消去処理を行う。
【００５３】
テクスチャマッピング部１２３は、テクスチャ記憶部１７６に記憶されるテクスチャ（テクセルデータ）をオブジェクト（ポリゴン、或いは表示画面サイズ又は分割表示画面サイズの仮想ポリゴン）にマッピングする処理を行う。具体的には、テクスチャ座標で指定されるテクセルデータをテクスチャ記憶部１７６（テクスチャバッファ、テクスチャ用記憶領域）から読み出す。そして読み出したテクセルデータを描画対象ピクセルに描画する。この場合にテクスチャマッピング部１２３は、バイリニア補間などのテクセル補間を行いながらマッピング処理を行うことができる。
【００５４】
そして本実施形態では、テクスチャマッピング部１２３が間接テクスチャマッピング（インダイレクトテクスチャマッピング）を行うことができる。
【００５５】
より具体的にはテクスチャマッピング部１２３は、描画対象ピクセルのテクスチャ座標で指定される間接テクスチャ（インダイレクトテクスチャ）のテクセルデータを、間接テクスチャ記憶部１７７（間接テクスチャ用のテクスチャバッファ、記憶領域）から読み出す。この場合、描画対象ピクセルのテクスチャ座標は、例えばポリゴン（仮想ポリゴン）の頂点テクスチャ座標を補間（線形補間）することで得ることができる。そしてテクスチャマッピング部１２３は、間接テクスチャ記憶部１７７から読み出したテクセルデータによりテクスチャ座標を特定し（テクセルデータをテクスチャ座標に設定し）、このテクスチャ座標に基づいて、通常テクスチャ記憶部１７８（通常テクスチャ用のテクスチャバッファ、記憶領域）から通常テクスチャ（レギュラーテクスチャ）のテクセルデータを読み出す。そして読み出されたテクセルデータに基づいて、描画対象ピクセルの描画処理（マッピング）を行う。このようにすることで間接テクスチャマッピングが実現される。
【００５６】
間接テクスチャ設定部１２４は、間接テクスチャ記憶部１７７に間接テクスチャを設定する処理（書き込む処理）を行う。より具体的には、例えば元画像（ｏｒｉｇｉｎａｌ  ｉｍａｇｅ）のピクセルデータ（色、α値、Ｚ値、又は輝度などのピクセルと関連づけて記憶できるデータ）を、間接テクスチャのテクセルデータ（テクセルに関連づけて記憶できるデータ）として、間接テクスチャ記憶部１７７に設定する。
【００５７】
通常テクスチャ設定部１２５は、通常テクスチャ記憶部１７８に通常テクスチャを設定する処理（書き込む処理）を行う。より具体的には、例えばピクセルデータを同種又は異種のピクセルデータに変換するための変換用データ（変換テーブルデータ、関数データ、勾配データ）を、通常テクスチャのテクセルデータとして、通常テクスチャ記憶部１７８に設定する。
【００５８】
そしてテクスチャマッピング部１２３は、間接テクスチャ設定部１２４により設定された間接テクスチャ（ピクセルデータ）と、通常テクスチャ設定部１２５により設定された通常テクスチャ（変換用データ）とに基づいて、間接テクスチャマッピングを行うことで、元画像（原画像）のピクセルデータの変換処理（同種又は異種のピクセルデータに変換する処理）を実現している。より具体的には、テクスチャマッピング部１２３は、間接テクスチャ記憶部１７７から読み出された元画像のピクセルデータに基づき、テクスチャ座標を特定し（テクスチャ座標を設定し）、このテクスチャ座標に基づいて通常テクスチャ記憶部１７８からピクセルデータの変換用データを読み出す。そして読み出された変換用データに基づき、描画対象ピクセルの描画処理を行うことで、元画像のピクセルデータの変換処理を実現する。
【００５９】
α値合成部１２６はα値の合成処理を行う。より具体的には、第１のα値とαむら設定用α値とを合成（α値の乗算、加算、除算又は減算等）して、第２のα値を生成する。
【００６０】
ここで、第１のα値では、例えば、元画像の各ピクセルのＺ値に応じた値に、各ピクセルのα値が設定されている。また、αむら設定用α値では、仮想プレーン内（ピクセル間、画面内）において各ピクセルのα値が不均一（ｎｏｎｕｎｉｆｏｒｍ）に設定されている。
【００６１】
また元画像は、例えば、Ｚ値を格納するＺバッファ１７４（フレームバッファのＺプレーン）を用いて隠面消去を行いながらオブジェクトを描画バッファ１７２に描画することで生成される画像である。そして、元画像のＺ値は、この描画処理の際に行われるＺバッファ法（奥行き比較法）により、Ｚバッファ１７４（Ｚプレーン）に生成（格納）される。
【００６２】
なお本実施形態のＺ値（奥行き値）は、カメラ座標系のＺ座標軸のＺ値そのものであってもよいし、このＺ値と数学的な均等なパラメータであってもよい。例えば、カメラ座標系のＺ値の逆数に相当するパラメータや、カメラ座標系のＺ値に所与の変換処理を施すことで得られるパラメータであってもよい。
【００６３】
色合成部１２７は色の合成処理を行う。例えば元画像の色と所与の色（例えばフォグ色、元画像のぼかし画像の色等）とを、α値（第２のα値）に基づいて合成する処理を行う。この場合の合成処理としては、αブレンディング（狭義のαブレンディング）、加算αブレンディング、又は減算αブレンディングなどを考えることができる。このような合成処理を行うことで、元画像にフォグ（霧、雲、湯気、もや、ほこり、ちり、煙、竜巻又は露等）が掛かった画像や、被写界深度が表現された画像を生成できる。
【００６４】
合成処理がαブレンディングである場合を例にとれば、色合成部１２７は下式に従ったα合成処理を行う。
【００６５】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２  （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２  （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２  （３）
合成処理が加算αブレンディングである場合を例にとれば、色合成部１２７は下式に従ったα合成処理を行う。
【００６６】
ＲＱ＝Ｒ１＋α×Ｒ２        （４）
ＧＱ＝Ｇ１＋α×Ｇ２        （５）
ＢＱ＝Ｂ１＋α×Ｂ２        （６）
ここで、Ｒ１、Ｇ１、Ｂ１は、元画像（描画バッファ１７２に既に描画されている画像）の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ２、Ｇ２、Ｂ２は、合成対象となる色（フォグの色、ぼかし画像の色）のＲ、Ｇ、Ｂ成分である。また、ＲＱ、ＧＱ、ＢＱは、α合成により得られる画像（完成画像）の色のＲ、Ｇ、Ｂ成分である。
【００６７】
なお、α値（Ａ値）は、各ピクセル（テクセル、ドット）に関連づけて記憶できるデータであり、例えば色データ以外のプラスアルファのデータである。α値は、マスクデータ、半透明度（透明度、不透明度と等価）、又はバンプデータ等として使用できる。
【００６８】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６９】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００７０】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００７１】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００７２】
２．１  間接テクスチャマッピングを利用したピクセルデータの変換処理
本実施形態では間接（インダイレクト）テクスチャマッピングを利用して、ピクセルデータの変換処理を実現している。
【００７３】
図２（Ａ）に間接テクスチャマッピングの原理図を示す。間接テクスチャマッピングでは、テクスチャ座標（Ｕ、Ｖ）に基づいて、そのテクスチャ座標で指定（アドレス指定）されるテクセルデータが、間接テクスチャ記憶部１７７（間接テクスチャ用記憶領域、間接テクスチャ用ルックアップテーブル）から読み出される。そして、このテクセルデータ（色等）がテクスチャ座標（Ｕ’、Ｖ’）に設定され、そのテクスチャ座標（Ｕ’、Ｖ’）で指定されるテクセルデータが通常テクスチャ記憶部１７８（通常テクスチャ用記憶領域、通常テクスチャ用ルックアップテーブル）から読み出される。即ち、即ちテクスチャ座標（Ｕ、Ｖ）により直接指定されたテクセルデータではなく、テクスチャ座標（Ｕ、Ｖ）により間接指定されたテクセルデータが読み出される。
【００７４】
なお図２（Ｂ）に示すように、テクスチャ座標と、間接テクスチャ記憶部１７７から読み出されたテクセルデータとに基づく演算処理（加算、減算、乗算又は除算等）を、演算部１２９により行い、演算処理により得られたテクスチャ座標に基づいて、通常テクスチャ記憶部１７８からテクセルデータを読み出すようにしてもよい。
【００７５】
この間接テクスチャマッピングによれば、いわゆるテクスチャワープによる歪み画像の生成や、テクスチャタイルマップや、バンプマッピングを、簡素な処理で実現できるという利点がある。本実施形態では、この間接テクスチャマッピングを通常とは異なる形態で利用している。
【００７６】
即ち一般的な間接テクスチャマッピングでは、テクスチャワープ用のテーブルデータ等が、間接テクスチャとして間接テクスチャ記憶部１７７に設定され、元画像のピクセルデータが、通常テクスチャとして通常テクスチャ記憶部１７８に設定される。そしてテクスチャワープ用のテーブルデータの設定の仕方で、元画像の歪み具合が変化する。
【００７７】
これに対して本実施形態では図３に示すように、元画像のピクセルデータ（色、α値、Ｚ値、輝度等）を間接テクスチャ記憶部１７７に設定（記憶）し、ピクセルデータの変換用データ（ピクセルデータを同種又は異種のピクセルデータに変換するためのデータ）を通常テクスチャ記憶部１７８に設定（記憶）している。そして間接テクスチャ記憶部１７７から読み出された元画像のピクセルデータをテクスチャ座標として、通常テクスチャ記憶部１７８から変換用データを読み出す。そして、読み出された変換用データを描画対象ピクセルに描画することで、元画像のピクセルデータを変換する。例えば元画像の色、α値、Ｚ値、又は輝度を、各々、変換処理が施された同種の色、α値、Ｚ値、又は輝度に変換する。或いは、元画像の色を、色とは異種のα値、Ｚ値、又は輝度に変換したり、α値を、α値とは異種の色、Ｚ値、又は輝度に変換する。或いはＺ値を、Ｚ値とは異種の色、α値、又は輝度に変換したり、輝度を、輝度とは異種の色、α値、又はＺ値に変換する。このようにすることで、表示画面分又は分割表示画面分のピクセルデータを、間接テクスチャマッピング処理により一度に変換できるため、処理負荷の軽減化、処理の簡素化、処理速度の向上等を図れる。なお元画像のピクセルデータは、ピクセルに関連づけて記憶できるデータ（プレーン）であればよく、例えば法線ベクトルデータなどであってもよい。
【００７８】
例えば図４（Ａ）に示すように一般的なテクスチャマッピング（直接テクスチャマッピング）では、描画対象ピクセルＰＸｉのテクスチャ座標Ｕｉ、Ｖｉ（頂点ＶＸ１〜ＶＸ４のテクスチャ座標を補間することで得られるテクスチャ座標）により指定されるテクセルデータを、テクスチャ記憶部５００から読み出して、ピクセルＰＸｉに描画する。
【００７９】
これに対して間接テクスチャマッピングでは図４（Ｂ）に示すように、描画対象ピクセルＰＸｉのテクスチャ座標Ｕｉ、Ｖｉで指定されるテクセルデータを、間接テクスチャ記憶部１７７から読み出す（参照する）。そして、読み出されたテクセルデータをテクスチャ座標Ｕｉ’（Ｖｉ’或いはＵｉ’及びＶｉ’でもよい）に設定して、通常テクスチャ記憶部１７８から通常テクスチャのテクセルデータを読み出す（参照する）。そして読み出されたテクセルデータを描画対象ピクセルＰＸｉに描画する（書き込む）。
【００８０】
この場合に本実施形態では、テクスチャ座標Ｕｉ、Ｖｉで指定されるテクセルＴＸｉには、元画像のピクセルデータがテクセルデータとして記憶されている。そして通常テクスチャ記憶部１７８の読み出しアドレスとなるテクスチャ座標Ｕｉ’は、テクセルＴＸｉに記憶されているピクセルデータの値に応じて変化する。従って、通常テクスチャ記憶部１７８のテクセルＴＸｉ’から読み出されて、ピクセルＰＸｉに書き込まれる変換用データも、テクセルＴＸｉに記憶されている元画像のピクセルデータの値に応じて変化する。
【００８１】
例えば間接テクスチャ記憶部１７７のテクセルＴＸｉに記憶されている元画像のピクセルデータと、テクセルＴＸｊに記憶されている元画像のピクセルデータとが異なっていれば、テクスチャ座標Ｕｉ’、Ｕｊ’も異なるようになり、通常テクスチャ記憶部１７８において異なるテクセルＴＸｉ’、ＴＸｊ’が指定されるようになる。従って、テクセルＴＸｉ’、ＴＸｊ’に記憶されている異なった値を持つ変換用データが、ピクセルＰＸｉ、ＰＸｊに描画されるようになり、ピクセルデータの変換処理を実現できる。即ち図４（Ｃ）、（Ｄ）に示すように、ピクセルデータＰＤと変換後のピクセルデータＣＰＤとの間の種々の変換特性（関数）を実現できる。
【００８２】
このように本実施形態では間接テクスチャマッピングを利用することで、元画像の１プレーン（Ｍ×Ｎピクセル）分のピクセルデータＰＤを、１プレーン分のピクセルデータＣＰＤに一度で変換できるため、高速な変換処理を実現できる。またピクセルデータＰＤ、ＣＰＤ間の変換特性は、通常テクスチャ記憶部１７８に記憶される変換用データ（変換特性データ）により任意に設定できる。従って通常テクスチャ記憶部１７８の変換用データを書き換えることで、ＰＤ、ＣＰＤ間の様々な変換特性を容易に実現できるという利点がある。
【００８３】
なお、変換用データを時間経過などに伴い動的（リアルタイム）に変化させることで、ピクセルデータＰＤ、ＣＰＤ間の変換特性を動的（リアルタイム）に変化させてもよい。またテクスチャが描画（マッピング）される描画ピクセル領域のサイズと、間接テクスチャのテクセルデータが読み出されるテクセル領域のサイズは同一でなくてもよく、例えば間接テクスチャ領域のサイズを小さくしてもよい。
【００８４】
次に、間接テクスチャマッピングを利用して実現できる様々な画像エフェクト処理（画像変換処理）について説明する。
【００８５】
２．２  フォグむら画像のエフェクト処理
ゲームにおいては、霧、もや、煙、ホコリなどのフォグ（ｆｏｇ）が掛かったゲーム画像を生成する場合がある。そして、プレーヤの仮想現実感の向上のためには、フォグのむら（ｎｏｎｕｎｉｆｏｒｍｉｔｙ，ｕｎｅｖｅｎｎｅｓｓ）についてもリアルに表現できることが望まれる。
【００８６】
そして、よりリアルなフォグ効果を表現するためには、仮想カメラ（視点）からの距離に応じてフォグ濃度を変化させることが望ましい。即ち、仮想カメラからの距離が遠くなるほどフォグ濃度を濃くする。
【００８７】
そして、このようにフォグ濃度を変化させるためには、フォグ濃度を制御するパラメータであるα値を、仮想カメラからの距離に応じて変化させることが望ましい。即ち、仮想カメラからの距離が遠くなるほどフォグ濃度が濃くなるようにα値を制御する。
【００８８】
そこで本実施形態では、仮想カメラからの距離パラメータであるＺ値（奥行き距離）をα値に変換する。具体的には図５のＡ１に示すように、元画像（フレームバッファ上に描画された画像）のＺ値ＺＰを第１のα値αＰ１に変換する。
【００８９】
そして図５のＡ２に示すように、元画像の色ＩＣＰ（ＲＧＢ、ＹＵＶ等）と、フォグの色（白、灰色等）ＣＰとを、αＰ１に基づいて合成（αブレンディング等）する。これにより、元画像にフォグ効果が施されたフォグ画像を生成できる。
【００９０】
そして本実施形態では図５のＡ１に示すＺ値からα値への変換を、前述した間接テクスチャマッピングを有効利用して実現している。
【００９１】
即ち図３において、元画像のＺ値を間接テクスチャのテクセルデータとして間接テクスチャ記憶部１７７に設定する。またＺ値をα値に変換するための変換用データを、通常テクスチャのテクセルデータとして通常テクスチャ記憶部１７８に設定する。そして図４（Ｂ）で説明した間接テクスチャマッピングによる変換処理により、元画像のＺ値を、Ｚ値に応じてその値が変化するα値に変換する。このようにすることで、表示画面分又は分割表示画面分のＺ値（Ｚプレーン）を、間接テクスチャマッピングを利用して１回の処理で、表示画面分又は分割表示画面分のα値（αプレーン）に変換できる。
【００９２】
さて、図５の手法によれば、Ｚ値（仮想カメラからの距離）に応じて濃淡が変化するフォグ効果を元画像に対して施すことが可能になる。
【００９３】
しかしながら、図５の手法では、濃淡（濃度）にむらがあるフォグ（不均一なフォグ）を表現できないという課題がある。
【００９４】
この場合、例えば、図５の色ＣＰ（フォグ色のスプライト）に、白、灰色、黒などの色の濃淡をつける手法を考えることもできる。
【００９５】
しかしながら、この手法では、生成されるフォグは、灰色や黒のフォグになるだけで、濃淡にむらがあるフォグにはならない。
【００９６】
そこで本実施形態では、α値にむらをつける手法、即ちα値を仮想プレーン内（ピクセル間、画面内）で不均一にする手法を採用している。
【００９７】
即ち、まず本実施形態では図６のＣ１に示すように、図５の手法と同様に元画像のＺ値（Ｚプレーン）ＺＰを変換し、ＺＰに応じて各ピクセルのα値が設定される第１のα値（第１のαプレーン）αＰ１を得る。この場合、ＺＰからαＰ１への変換は、図３〜図４（Ｄ）で説明した間接テクスチャマッピングを利用した変換処理で実現する。
【００９８】
また本実施形態では図６のＣ２に示すように、仮想プレーン内でα値が不均一に設定されたαむら設定用α値（αむら設定用αプレーン）αＵＰを用意する。そして図６のＣ３に示すように、αＰ１とαＵＰを合成して、第２のα値（第２のαプレーン）αＰ２を得る。このようにすることで、Ｚ値とαむら（むら模様）の両方が加味されたα値（フォグ濃度値）を得ることができる。なお、α値の合成処理としては、各ピクセルのαＰ１、αＵＰを乗算する処理を考えることができる。但し、α値の加算、減算又は除算等、乗算以外の合成処理を採用してもよい。
【００９９】
次に本実施形態では図６のＣ４に示すように、得られたαＰ２に基づいて、元画像の色ＩＣＰと色ＣＰ（フォグの色）とを合成し、フォグ画像（完成画像）を生成する。ここで、色の合成としては、狭義のαブレンディング（上式（１）（２）（３））又は加算αブレンディング（上式（４）（５）（６））などを採用できる。
【０１００】
以上のようにすることで、Ｚ値（距離）に応じて濃度が変化すると共にその濃度にむらがあるフォグを、元画像に対して施すことが可能になる。
【０１０１】
図７に本実施形態で用いられる元画像の例を示す。この元画像は、キャラクタや背景などのオブジェクトを、ジオメトリ処理を行いながらフレームバッファ（描画バッファ）に描画することで得られる画像である。
【０１０２】
図８にフォグのむら模様（αむら設定用α値αＵＰを表すグレースケール画像）の例を示す。図８において、白い部分ほどα値が低くなっており、フォグ濃度が薄くなっている。一方、黒い部分ほどα値が高くなっており、フォグ濃度が濃くなっている。このように、図８では、α値（フォグ濃度）が仮想プレーン（画面）内で不均一になっている。
【０１０３】
図９は、通常テクスチャ記憶部１７８に記憶される通常（勾配）テクスチャの例である。この図９の通常テクスチャは元画像のα値をＺ値に変換するための変換用データとして利用される。
【０１０４】
図１０の左隅部分の画像は、元画像のＺ値に応じて設定されるαＰ１に対して図９のむら模様（むら模様テクスチャ）を掛け合わせる（乗算する）ことで得られる画像の例である。また図１１は、本実施形態により生成される最終的なフォグむら画像の例である。
【０１０５】
図１１に示すように本実施形態によれば、視点（仮想カメラ）からの距離が遠くなるほど、フォグの濃度が濃くなっている。また、フォグの濃度にむらがあるため、あたかも本物のフォグがオブジェクト（キャラクタ）に掛かっているように見え、これまでにないリアルな画像の生成に成功している。
【０１０６】
さて、αむら設定用α値の仮想プレーンが１枚だけであると、ある奥行きにだけフォグむらが存在するかのように見えてしまい、今ひとつリアルなフォグを表現できない。
【０１０７】
そこで本実施形態では、図１２に示すように、仮想カメラＶＣからの仮想距離ｄ０、ｄ１、ｄ２が異なる複数の仮想プレーンＰＬ０、ＰＬ１、ＰＬ２（２枚でもよいし、４枚以上でもよい）を仮想配置する。例えば図１２では、仮想距離がｄ０であるＰＬ０は、仮想カメラＶＣから見て最も手前側に仮想配置され、仮想距離がｄ２であるＰＬ２は、ＶＣから見て最も奥側に仮想配置されている。
【０１０８】
そして本実施形態では、これらの複数の仮想プレーンＰＬ０、ＰＬ１、ＰＬ２に対応して、仮想プレーン内でのむら模様（ｎｏｎｕｎｉｆｏｒｍｉｔｙ  ｐａｔｔｅｒｎ）が異なる複数のαむら設定用α値（αプレーン）αＵＰ０〜αＵＰ２を用意する。そして、これらの複数のαむら設定用α値αＵＰ０〜αＵＰ２を、仮想距離ｄ０〜ｄ２などに基づき得られるα値α０〜α２（合成率）を用いて合成することで、αむら設定用α値αＵＰを生成する。具体的には、仮想プレーンＰＬ０〜ＰＬ２に対応するスプライトＳＰ０〜ＳＰ２（広義には仮想オブジェクト）を配置し、これらのスプライトＳＰ０〜ＳＰ２にαむら設定用α値αＵＰ０〜αＵＰ２のテクスチャをマッピングして、ワークバッファ上で複数回重ね描きする。これにより、むら模様が２層以上重なって見える画像を生成できるようになる。
【０１０９】
また本実施形態では図１３（Ａ）に示すように、仮想カメラＶＣが移動（前進）し、最も手前側の仮想プレーンＰＬ０の仮想距離ｄ０が所与の距離以下になると、ＰＬ０に対応するαむら設定用α値αＵＰ０の合成率（ブレンド率）を低くし、徐々に消して行く。そして、仮想プレーンＰＬ２の奥側に新たな仮想プレーンＰＬＮを発生し、ＰＬＮに対応するαむら設定用α値αＵＰＮの合成率を徐々に高くする。
【０１１０】
一方、図１３（Ｂ）に示すように、仮想カメラＶＣが移動（後退）し、最も奥側の仮想プレーンＰＬ２の仮想距離ｄ２が所与の距離以上になると、ＰＬ２に対応するαＵＰ２の合成率を低くし、徐々に消して行く。そして、ＰＬ０の手前側に新たな仮想プレーンＰＬＮを発生し、ＰＬＮに対応するαＵＰＮの合成率を徐々に高くする。
【０１１１】
図１３（Ａ）、（Ｂ）に示すような処理を行うことで、有限の枚数のαＵＰ０〜αＵＰ２の仮想プレーンを用いながらも、無限の枚数の仮想プレーンを用いた場合と同様の効果を得ることができる。
【０１１２】
また本実施形態では、仮想カメラ情報（仮想カメラの位置又は方向等）や時間情報（時間やフレームの経過を表す情報）に基づいて、αむら設定用α値の仮想プレーン内でのむら模様を変化させている。
【０１１３】
具体的には図１４（Ａ）に示すように、仮想カメラＶＣと仮想プレーンＰＬ（ＰＬ０〜ＰＬ２）との仮想距離ｄ（ｄ０〜ｄ２）が小さくなるほど、ＰＬに対応するαＵＰのむら模様を拡大する。逆に、仮想距離ｄが遠くなるほど、αＵＰのむら模様を縮小する。
【０１１４】
このようにすれば、例えば図１２において、仮想カメラＶＣからの仮想距離ｄ０が近い仮想プレーンＰＬ０のαＵＰ０では、そのむら模様が大きくなり、仮想距離ｄ２が遠い仮想プレーンＰＬ２のαＵＰ２では、そのむら模様が小さくなる。従って、むら模様に奥行き感や立体感を持たせることができ、よりリアルな画像を生成できる。
【０１１５】
また本実施形態では図１４（Ｂ）に示すように、スクリーン（スクリーン座標系のＸＹ平面）に平行な第１の方向（例えば上下左右のうちの左方向）に仮想カメラＶＣが移動した場合に、それとは逆の第２の方向（例えば右方向）に、αＵＰ（αＵＰ０〜αＵＰ２）のむら模様を適正距離だけ移動させる。
【０１１６】
この場合に本実施形態では、むら模様の移動距離を、仮想プレーンＰＬ（ＰＬ０〜ＰＬ２）の仮想距離ｄ（ｄ０〜ｄ２）に応じて変化させている。具体的には図１２において、短い仮想距離ｄ０の仮想プレーンＰＬ０のαＵＰ０では、仮想カメラＶＣの移動に対するむら模様の移動距離を大きくし、遠い仮想距離ｄ２の仮想プレーンＰＬ２のαＵＰ２では、仮想カメラＶＣの移動に対するむら模様の移動距離を小さくする。このようにすることで、平面の仮想プレーンを用いているのにもかかわらず、あたかも立体的なフォグが目の前にあるかのように見える画像を生成できる。
【０１１７】
図１５に、フォグむらのエフェクト処理の具体例のフローチャートを示す。
【０１１８】
まず、当該フレームにおいて表示すべき背景、キャラクタなどのオブジェクトをフレームバッファ（広義には描画バッファ）に描画して、図７に示すような元画像を生成する（ステップＳ１）。そしてフォグむら処理を行うか否かを判断し（ステップＳ２）、行わない場合にはステップＳ１２に移行する。
【０１１９】
フォグむら処理を行う場合には、フレームバッファと同サイズのテクスチャバッファ１（１テクセルのビット数が２４ビットのバッファ）を確保する（ステップＳ３）。同様にフレームバッファの１／４サイズのテクスチャバッファ２（８ビット）と、フレームバッファの１／１６サイズのテクスチャバッファ３（８ビット）を確保する（ステップＳ４、Ｓ５）。なお、このようにテクスチャバッファのサイズをフレームバッファのサイズよりも小さくするのは、メモリを節約すると共に処理時間を短縮化するためである。従ってメモリの容量や処理負荷に余裕がある場合には、フレームバッファと同サイズのテクスチャバッファを確保するようにしてもよい。
【０１２０】
次に、フレームバッファの元画像（図７）の色成分（ＲＧＢプレーン）をテクスチャバッファ１にコピーする（ステップＳ６）。またフレームバッファ（Ｚバッファ）のＺ値成分（Ｚプレーン）を、１／４にサイズダウンしながらテクスチャバッファ２（間接テクスチャ記憶部）にコピーする（ステップＳ７）。
【０１２１】
次にテクスチャバッファ２（間接テクスチャ記憶部）に設定（記憶）された間接テクスチャ（元画像のＺ値）と、予め用意された図９に示す通常（勾配）テクスチャとに基づき、図３〜図４（Ｄ）で説明した間接テクスチャマッピングを行い、Ｚ値の深度に応じたα値αＰ１を得る（ステップＳ８）。具体的には、Ｚ値が、仮想カメラ（視点）から見て手前側を表す値であるほどαＰ１が０（透明）に近づき、Ｚ値が、仮想カメラから見て奥側を表す値であるほどαＰ１が１．０（不透明）に近づくように、元画像のＺ値をα値αＰ１に変換する。これにより図６のＣ１に示す変換が行われる。
【０１２２】
次に、得られたαＰ１と、図８のむら模様（αむら設定用α値αＵＰ）とを掛け合わせて（乗算して）、フレームバッファの１／１６のサイズでレンダリングする（ステップＳ９）。これにより図６のＣ３に示す合成処理が行われ、図１０の左隅部分に示されるような画像が生成される。
【０１２３】
次にステップＳ９でレンダリングされたむら模様（むら模様テクスチャ）のＲＧＢプレーンのうちの１プレーンを、α値αＰ２としてテクスチャバッファ３にコピーする（ステップＳ１０）。そしてテクスチャバッファ１の元画像の色と、フォグ色（広義には所与の色）とを、テクスチャバッファ３にコピーされたα値αＰ２で合成し、合成された色（ＲＧＢ）をフレームバッファに描画して表示する（ステップＳ１１）。これにより図１１に示すようなフォグむらが表現された画像が生成されて、表示されるようになる。そして最後にゲームオーバー（フレーム更新）か否かを判断し、ゲームオーバーではない場合にはステップＳ１に戻り、次のフレームの処理に移行する。
【０１２４】
２．３  被写界深度のエフェクト処理
さて、従来の画像生成システムにより生成される画像は、人間の視界画像のように視点からの距離に応じてフォーカシングされた画像ではなかった。このため、画像内の全ての被写体にピントが合っているかのような表現になっていた。
【０１２５】
しかしながら、至近距離から遠距離までの全ての被写体にピントが合っている画像は、日常生活では見ることができない画像であるため、見た目に不自然さがあった。
【０１２６】
よりリアリティを追求するためには、視点とオブジェクトとの距離や視線方向などに応じてピントの度合いが調節された画像を生成することが望ましい。しかしながら、ゲーム空間内の個々のオブジェクトについて視点との距離等を計算し、各オブジェクト毎にぼやけ具合を演算することで、いわゆる被写界深度が表現された画像を生成すると、処理負荷が過大になる。
【０１２７】
そこで本実施形態では、図３〜図４（Ｄ）で説明した間接テクスチャマッピングを利用して、被写界深度が表現された画像の生成を行っている。
【０１２８】
即ち本実施形態では、仮想カメラからの距離パラメータであるＺ値（奥行き距離）を、間接テクスチャマッピングを利用してα値に変換する。具体的には図３において、元画像のＺ値を間接テクスチャ記憶部１７７に設定し、Ｚ値をα値に変換するための変換用データを通常テクスチャ記憶部１７８に設定する。そして図４（Ｂ）で説明した間接テクスチャマッピングによる変換処理により、元画像のＺ値を、Ｚ値に応じてその値が変化するα値に変換する。即ちＺ値が仮想カメラから見て手前側の値であるほどα値が０．０（透明）に近づき、Ｚ値が仮想カメラから見て奥側の値であるほどα値が１．０（不透明）に近づくように、Ｚ値をα値に変換する。
【０１２９】
このように間接テクスチャマッピングを利用した変換処理を行うことで、図１６のＦ１に示すように、元画像の各ピクセルＡ、Ｂ、Ｃ、ＤのＺ値ＺＡ、ＺＢ、ＺＣ、ＺＤに応じた値に、各ピクセルのα値αＡ、αＢ、αＣ、αＤを設定し、Ｆ２に示すようなαプレーンを生成する。より具体的には、仮想カメラ１０の焦点（注視点）から遠いピクセル（焦点とのＺ値の差が大きいピクセル）ほど、例えば大きなα値を設定する。これにより、仮想カメラ１０の焦点から遠いピクセルほど、ぼかし画像の合成比率が高くなる。
【０１３０】
そして、図１６のＦ３に示すように、生成されたαプレーン（各ピクセルに設定されたα値）に基づいて、図７に示す元画像と、元画像のぼかし画像とのα合成（上述の式（１）（２）（３）のαブレンディング等）を行う。
【０１３１】
このように、Ｚ値（奥行き値）に応じて設定されたα値に基づき、元画像の各ピクセルの色と、ぼかし画像の各ピクセルの色とのα合成を行うことで、仮想カメラの焦点（ピントが合っている点として設定される点）から遠くなるほど、ぼけて見える画像を生成できるようになり、いわゆる被写界深度を表現できる。これにより、画面内の全ての被写体にピントが合っていた従来のゲーム画像とは異なり、現実世界の視界画像のように視点からの距離に応じてフォーカシングされたリアルで自然なゲーム画像を生成できる。
【０１３２】
図１７に、被写界深度のエフェクト処理の具体例のフローチャートを示す。
【０１３３】
まず、当該フレームにおいて表示すべき背景、キャラクタなどのオブジェクトをフレームバッファに描画して、図７に示すような元画像を生成する（ステップＳ２１）。そして被写界深度（ピンぼけ）処理を行うか否かを判断し（ステップＳ２２）、行わない場合にはステップＳ３４に移行する。
【０１３４】
被写界深度処理を行う場合には、フレームバッファと同サイズのテクスチャバッファ１（２４ビット）を確保する（ステップＳ２３）。同様にフレームバッファの１／１６サイズのテクスチャバッファ２（２４ビット）と、フレームバッファと同サイズのテクスチャバッファ３（８ビット）を確保する（ステップＳ２４、Ｓ２５）。
【０１３５】
次に、フレームバッファの元画像（図７）の色成分（ＲＧＢプレーン）をテクスチャバッファ１にコピーする（ステップＳ２６）。またフレームバッファ（Ｚバッファ）のＺ値成分（Ｚプレーン）を、１／４にサイズダウンしながらテクスチャバッファ３（間接テクスチャ記憶部）にコピーする（ステップＳ２７）。またテクスチャバッファ１のテクスチャ（色成分）を１／４にサイズダウンしながらフレームバッファに描画する（ステップＳ２８）。更にフレームバッファの色成分（ＲＧＢ）を１／４にサイズダウンしながらテクスチャバッファ２にコピーする（ステップＳ２９）。
【０１３６】
次にテクスチャバッファ３（間接テクスチャ記憶部）に設定された間接テクスチャ（元画像のＺ値）と、予め用意された図９に示す通常（勾配）テクスチャとに基づき、図３〜図４（Ｄ）で説明した間接テクスチャマッピングを行い、Ｚ値の深度に応じたα値αＰ１を得る（ステップＳ３０）。即ち図１６のＦ１、Ｆ２に示す変換を行って、図１８に示すようなαＰ１のプレーンを得る。この図１８のαＰ１のプレーンは、そのＺ値が仮想カメラから見て手前側の値になるオブジェクト（例えばキャラクタ）ほど、αＰ１が０（透明）に近づき、そのＺ値が仮想カメラから見て奥側の値になるオブジェクト（例えばビル）ほど、αＰ１が１．０（不透明）に近づくプレーンとなっている。
【０１３７】
次に、テクスチャバッファ２のテクスチャ（色成分）をバイリニア補間（広義にはテクセル補間）で１６倍にサイズアップして、元画像のぼかし画像を生成する（ステップＳ３１）。そして図１６のＦ３で説明したように、テクスチャバッファ１の元画像（色）とぼかし画像（色）とを、図１８のαＰ１でαブレンディング（広義にはα合成）して、合成画像をフレームバッファに描画して表示する（ステップＳ３２）。これにより、図１９に示すような被写界深度が表現された画像が表示されるようになる。そして最後にゲームオーバー（フレーム更新）か否かを判断し、ゲームオーバーではない場合にはステップＳ２１に戻り、次のフレームの処理に移行する。
【０１３８】
なおステップＳ３０で使用される通常テクスチャ（ｒａｍｐ  ｔｅｘｔｕｒｅ）を時間経過などに応じて変化させることで、リアルタイムに被写界深度が変化したりピント位置が変化する画像を生成できる。
【０１３９】
２．４  ガンマ補正等の画像エフェクト
以上では、Ｚ値をα値に変換するというように、間接テクスチャマッピングを利用して元画像のピクセルデータ（Ｚ値）を異種のピクセルデータ（α値）に変換する例について説明した。しかしながら、間接テクスチャマッピングを利用して、元画像の色、α値、Ｚ値、又は輝度などのピクセルデータを、各々、同種のピクセルデータである色、α値、Ｚ値、又は輝度などに変換してもよい。
【０１４０】
より具体的には図３において、元画像の色（広義にはピクセルデータ）を、間接テクスチャ記憶部１７７に設定する。また元画像の色を変換するための変換用データを、通常テクスチャ記憶部１７８に設定する。そして間接テクスチャマッピングを利用した変換処理により、元画像の色を変換する。
【０１４１】
この場合の変換用データを用いた色の変換としては、ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、或いは２値化などがある。図２０（Ａ）、（Ｂ）、図２１（Ａ）、（Ｂ）、（Ｃ）に、各々、ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化についての変換特性（ピクセルデータＰＤと変換後のピクセルデータＣＰＤの関係を表す特性）を示す。
【０１４２】
図２０（Ａ）のガンマ補正は、モニタ（表示部）の非線形特性を補正するための変換処理である。図２０（Ｂ）のネガポジ反転は、元画像の輝度（濃度）を反転させるものであり、例えばＣＰＤ＝２５５−ＰＤの関係式で表されるエフェクト処理である。
【０１４３】
図２１（Ａ）のポスタリゼーションは、多階調の画像をいくつかの階調に制限して表示するためのものであり、例えばＣＰＤ＝｛ＩＮＴ（ＰＤ／ＶＡＬ）｝×ＶＡＬの関係式で表されるエフェクト処理である。なおＩＮＴ（Ｒ）はＲの小数点を切り捨てて整数化する関数であり、ＶＡＬは任意の値である。
【０１４４】
図２１（Ｂ）のソラリゼーションは、ある点において入力値（ＰＤ）と出力値（ＣＰＤ）の曲線関数の傾きが反転するエフェクト処理である。図２１（Ｃ）の２値化は、画像のハイコントラスト効果を実現するエフェクト処理である。
【０１４５】
なお間接テクスチャマッピングを利用した本実施形態の変換処理によれば、図２０（Ａ）〜図２１（Ｃ）に示すような画像エフェクト以外にも、例えばモノトーンフィルタやセピアフィルタなどの様々な画像エフェクトを実現できる。また例えば図２０（Ａ）〜図２１（Ｃ）に示すような色の変換のみならず、α値、Ｚ値、又は輝度などのピクセルデータを同種のピクセルデータに変換する処理を、間接テクスチャマッピングを利用して実現してもよい。
【０１４６】
図２２に、ガンマ補正のエフェクト処理の具体例のフローチャートを示す。
【０１４７】
まず、当該フレームにおいて表示すべき背景、キャラクタなどのオブジェクトをフレームバッファに描画して、元画像を生成する（ステップＳ４１）。そしてガンマ補正処理を行うか否かを判断し（ステップＳ４２）、行わない場合にはステップＳ４９に移行する。
【０１４８】
ガンマ補正処理を行う場合には、フレームバッファと同サイズのテクスチャバッファ１（２４ビット）を確保する（ステップＳ４３）。そしてフレームバッファの元画像の色成分（ＲＧＢプレーン）をテクスチャバッファ１（間接テクスチャ記憶部）にコピーする（ステップＳ４４）。
【０１４９】
次にテクスチャバッファ１（間接テクスチャ記憶部）に設定された間接テクスチャのＲ（赤）成分と、図２３の上段に示す通常（勾配）テクスチャとに基づき、図３〜図４（Ｄ）で説明した間接テクスチャマッピングを行い、元画像のＲ成分に応じたガンマ補正後のＲ成分を得る（ステップＳ４５）。即ち図２０（Ａ）に示すような変換特性の変換処理を行う。
【０１５０】
次にテクスチャバッファ１に設定された間接テクスチャのＧ（緑）成分と、図２３の中段に示す通常テクスチャとに基づき、間接テクスチャマッピングを行い、元画像のＧ成分に応じたガンマ補正後のＧ成分を得る（ステップＳ４６）。同様に、テクスチャバッファ１に設定された間接テクスチャのＢ（青）成分と、図２３の下段に示す通常テクスチャとに基づき、間接テクスチャマッピングを行い、元画像のＢ成分に応じたガンマ補正後のＢ成分を得る（ステップＳ４７）。
【０１５１】
次にガンマ補正後のＲ、Ｇ、Ｂ成分をフレームバッファに描画して、表示する（ステップＳ４８）。こにより、元画像にガンマ補正が施された画像が表示されるようになる。そして最後にゲームオーバー（フレーム更新）か否かを判断し、ゲームオーバーではない場合にはステップＳ４１に戻り、次のフレームの処理に移行する。
【０１５２】
なお、Ｒ、Ｇ、Ｂ成分の間でガンマ補正のカーブが同じである場合には、図２３の通常テクスチャとして同じ勾配（ｒａｍｐ）のテクスチャを用いることも可能である。
【０１５３】
２．５  ハレーションのエフェクト処理
本実施形態では、強い光が当たった部分（輝度の明るい部分）の回りを白くぼかして見せるハレーション（ｈａｌａｔｉｏｎ）の画像エフェクトについても、間接テクスチャマッピングを利用した変換処理により実現している。
【０１５４】
即ち本実施形態では、元画像の各ピクセルの輝度（ＲＧＢをＹＵＶに変換した時のＹ成分）を、間接テクスチャマッピングを利用してα値に変換する。具体的には図３において、元画像の輝度を間接テクスチャ記憶部１７７に設定し、輝度をα値に変換するための変換用データを通常テクスチャ記憶部１７８に設定する。そして図４（Ｂ）で説明した間接テクスチャマッピングによる変換処理により、元画像の輝度を、輝度に応じてその値が変化するα値に変換する。即ち輝度が暗いほどα値が０．０（透明）に近づき、輝度が明るいほどα値が１．０（不透明）に近づくように、輝度をα値に変換する。
【０１５５】
このように間接テクスチャマッピングを利用した変換処理を行うことで、図２４のＧ１に示すように、元画像の各ピクセルＡ、Ｂ、Ｃ、Ｄの輝度ＢＲＡ、ＢＲＢ、ＢＲＣ、ＢＲＤに応じた値に、各ピクセルのα値αＡ、αＢ、αＣ、αＤを設定し、Ｇ２に示すようなαプレーンを生成する。より具体的には、輝度が明るいピクセルほど、例えばα値を１．０に近づける。これにより、輝度が明るいピクセルほど、ぼかし画像の合成比率が高くなる。
【０１５６】
そして、図２４のＧ３に示すように、生成されたαプレーン（各ピクセルに設定されたα値）に基づいて、図７に示す元画像と、元画像のぼかし画像とのα合成（上述の式（４）（５）（６）の加算αブレンディング等）を行う。なお加算αブレンディングを行うことにより、いわゆる「白飛び」を表現できる。
【０１５７】
このように、輝度に応じて設定されたα値に基づき元画像とぼかし画像のα合成を行うことで、例えば雲などの輝度が明るい部分（白い部分）の回りがぼやけた画像になるハレーション画像を生成できるようになり、現実のカメラで撮ったかのように見えるリアルな画像を生成できる。
【０１５８】
図２５に、ハレーションのエフェクト処理の具体例のフローチャートを示す。
【０１５９】
まず、当該フレームにおいて表示すべき背景、キャラクタなどのオブジェクトをフレームバッファに描画して、図７に示すような元画像を生成する（ステップＳ５１）。そしてハレーション処理を行うか否かを判断し（ステップＳ５２）、行わない場合にはステップＳ６３に移行する。
【０１６０】
ハレーション処理を行う場合には、フレームバッファと同サイズのテクスチャバッファ１（２４ビット）を確保する（ステップＳ５３）。同様にフレームバッファの１／６４サイズのテクスチャバッファ２（２４ビット）と、フレームバッファと同サイズのテクスチャバッファ３（８ビット）を確保する（ステップＳ５４、Ｓ５５）。
【０１６１】
次に、フレームバッファの元画像（図７）の色成分（ＲＧＢプレーン）をテクスチャバッファ１にコピーする（ステップＳ５６）。またフレームバッファの元画像の輝度成分（Ｙプレーン）を、１／４にサイズダウンしながらテクスチャバッファ３（間接テクスチャ記憶部）にコピーする（ステップＳ５７）。これにより図２７の左隅部分に示す画像がテクスチャバッファ３にコピーされる。なお元画像の輝度成分としては、元画像のＲＧＢをＹＵＶに変換した時のＹ成分を採用できる。
【０１６２】
次にテクスチャバッファ３（間接テクスチャ記憶部）に設定された間接テクスチャ（元画像の輝度）と、予め用意された図２６に示す通常（勾配）テクスチャとに基づき、図３〜図４（Ｄ）で説明した間接テクスチャマッピングを行い、元画像の輝度に応じたα値αＰ１を得る（ステップＳ５８）。即ち図２４のＧ１、Ｇ２に示す変換を行って、Ｇ３に示すαＰ１のプレーンを得る。このαＰ１のプレーンは、輝度が暗いオブジェクト（例えばキャラクタ）ほど、αＰ１が０（透明）に近づき、輝度が明るいオブジェクト（例えば雲）ほど、αＰ１が１（不透明）に近づくプレーンとなっている。
【０１６３】
次に、テクスチャバッファ１のテクスチャ（色成分）を１／６４にサイズダウンしながら、αＰ１と掛け合わせて（αＰ１と乗算して）、フレームバッファに描画する（ステップＳ５９）。そしてフレームバッファに描画された１／６４サイズの画像の色成分をテクスチャバッファ２にコピーする（ステップＳ６０）。またテクスチャバッファ１のテクスチャ（色成分）をフレームバッファに描画する（ステップＳ６１）。
【０１６４】
次に、テクスチャバッファ２のテクスチャ（色成分）をバイリニア補間（テクセル補間）で６４倍にサイズアップして、輝度の明るい部分が白くぼやけた画像を生成し、フレームバッファに加算αブレンディング（広義にはα合成）で描画して表示する（ステップＳ６２）。これにより、図２８に示すようなハレーションが表現された画像が表示されるようになる。即ち図２８と図７の画像を比較すれば明らかなように、図２８では雲などの白部分の画像の輪郭がぼやけた画像になり、ハレーションが表現される。そして最後にゲームオーバー（フレーム更新）か否かを判断し、ゲームオーバーではない場合にはステップＳ５１に戻り、次のフレームの処理に移行する。
【０１６５】
なおステップ５８で使用される通常テクスチャ（ｒａｍｐ  ｔｅｘｔｕｒｅ）を時間経過などに応じて変化させることで、リアルタイムでピント位置が変化する画像を生成できる。
【０１６６】
３．ハードウェア構成
図２９に本実施形態を実現できるハードウェア構成の例を示す。
【０１６７】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【０１６８】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１６９】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１７０】
データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード（伸長）処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１７１】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１７２】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介して入力される。
【０１７３】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする処理を行う。
【０１７４】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行う。通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどがある。
【０１７５】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１７６】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１７７】
図３０（Ａ）に業務用ゲームシステムへの本実施形態の適用例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、操作部１１０２を操作してゲームを楽しむ。内蔵されるシステムボード１１０６にはプロセッサ、メモリなどが実装される。本実施形態の各部の処理を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラムと呼ぶ。
【０１７８】
図３０（Ｂ）に家庭用ゲームシステムへの本実施形態の適用例を示す。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９に格納される。
【０１７９】
図３０（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２を介して接続される端末１３０４−１〜１３０４−ｎ（ゲーム機、携帯電話）とを含むシステムへの本実施形態の適用例を示す。この場合、上記格納プログラムは、ホスト装置１３００の情報記憶媒体１３０６（ハードディスク、磁気テープ装置等）に格納される。また本実施形態の各部の処理をホスト装置と端末の分散処理で実現してもよい。
【０１８０】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１８１】
例えば、明細書又は図面中の記載において広義や同義な用語（描画バッファ、所与の色、テクセル補間、ピクセルデータ、α合成等）として引用された用語（フレームバッファ、フォグ色・ぼかし画像の色、バイリニア補間、色・α値・Ｚ値・輝度、αブレンディング・加算αブレンディング等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１８２】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１８３】
また元画像のピクセルデータの変換処理も、本実施形態で説明したものに限定されず、これらと均等な種々の変換処理も本発明の範囲に含まれる。
【０１８４】
また、本発明は種々のゲーム（格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等）に適用できる。
【０１８５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】図２（Ａ）（Ｂ）は間接テクスチャマッピングの説明図である。
【図３】間接テクスチャマッピングを利用したピクセルデータの変換処理の説明図である。
【図４】図４（Ａ）〜（Ｄ）は、間接テクスチャマッピングを利用したピクセルデータの変換処理の説明図である。
【図５】元画像のＺ値を変換することで得られたα値で元画像の色とフォグ色を合成する手法の説明図である。
【図６】フォグむら画像の生成手法の説明図である。
【図７】元画像の例である。
【図８】フォグのむら模様の例である。
【図９】フォグむら用の通常テクスチャ（変換用データ）の例である。
【図１０】Ｚ値に応じたα値に対してむら模様を掛け合わせることで得られる画像の例である。
【図１１】本実施形態により生成されたフォグむら画像の例である。
【図１２】仮想プレーン内でのむら模様が異なる複数のαむら設定用α値を合成する手法の説明図である。
【図１３】図１３（Ａ）、（Ｂ）も、仮想プレーン内でのむら模様が異なる複数のαむら設定用α値を合成する手法の説明図である。
【図１４】図１４（Ａ）、（Ｂ）は、仮想カメラ情報に基づいてむら模様を変化させる手法の説明図である。
【図１５】フォグむらのエフェクト処理の具体例のフローチャートである。
【図１６】Ｚ値に応じて設定されたα値を用いて元画像とぼかし画像を合成し、被写界深度画像を生成する手法の説明図である。
【図１７】被写界深度のエフェクト処理の具体例のフローチャートである。
【図１８】変換により得られるαプレーンの例である。
【図１９】本実施形態により生成された被写界深度画像の例である。
【図２０】図２０（Ａ）（Ｂ）は、ガンマ補正、ネガポジ反転の変換特性の例である。
【図２１】図２１（Ａ）（Ｂ）（Ｃ）は、ポスタリゼーション、ソラリゼーション、２値化の変換特性の例である。
【図２２】ガンマ補正のエフェクト処理の具体例のフローチャートである。
【図２３】ガンマ補正用の通常テクスチャ（変換用データ）の例である。
【図２４】輝度に応じて設定されたα値を用いて元画像とぼかし画像を合成し、ハレーション画像を生成する手法の説明図である。
【図２５】ハレーションのエフェクト処理の具体例のフローチャートである。
【図２６】ハレーション用の通常テクスチャ（変換用データ）の例である。
【図２７】元画像の輝度成分の例である。
【図２８】本実施形態により生成されたハレーション画像の例である。
【図２９】ハードウェア構成例である。
【図３０】図３０（Ａ）（Ｂ）（Ｃ）は種々の形態のシステム例である。
【符号の説明】
１００  処理部、１１０  オブジェクト空間設定部、
１１２  移動・動作処理部、１１４  仮想カメラ制御部、
１２０  画像生成部、１２２  隠面消去部、
１２３  テクスチャマッピング部、１２４  間接テクスチャ設定部、
１２５  通常テクスチャ設定部、１２６  α値合成部、１２７  色合成部、
１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  描画バッファ、１７４  Ｚバッファ、１７６  テクスチャ記憶部、
１７７  間接テクスチャ設定部、１７８  通常テクスチャ設定部、
１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2004334661.tif 000003
【図２】
2004334661.tif 000004
【図３】
2004334661.tif 000005
【図４】
2004334661.tif 000006
【図５】
2004334661.tif 000007
【図６】
2004334661.tif 000008
【図７】
2004334661.tif 000009
【図８】
2004334661.tif 000010
【図９】
2004334661.tif 000011
【図１０】
2004334661.tif 000012
【図１１】
2004334661.tif 000013
【図１２】
2004334661.tif 000014
【図１３】
2004334661.tif 000015
【図１４】
2004334661.tif 000016
【図１５】
2004334661.tif 000017
【図１６】
2004334661.tif 000018
【図１７】
2004334661.tif 000019
【図１８】
2004334661.tif 000020
【図１９】
2004334661.tif 000021
【図２０】
2004334661.tif 000022
【図２１】
2004334661.tif 000023
【図２２】
2004334661.tif 000024
【図２３】
2004334661.tif 000025
【図２４】
2004334661.tif 000026
【図２５】
2004334661.tif 000027
【図２６】
2004334661.tif 000028
【図２７】
2004334661.tif 000029
【図２８】
2004334661.tif 000030
【図２９】
2004334661.tif 000031
【図３０】
2004334661.tif 000032