(57)【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
描画バッファに描画された途中段階のフレーム画像に基づいて、オブジェクトにマッピングすべき環境テクスチャを生成する手段と、
生成された環境テクスチャをオブジェクトにマッピングしながら、該オブジェクトを、前記途中段階のフレーム画像が描画されている描画バッファに描画し、オブジェクト空間において仮想カメラから見える画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項２】
請求項１において、
オブジェクトの面の反射方向を表すための反射ベクトルに基づいて、テクスチャ記憶手段から前記環境テクスチャを読み出すためのテクスチャ座標が求められ、求められたテクスチャ座標に基づいて、前記環境テクスチャがオブジェクトにマッピングされることを特徴とする画像生成システム。
【請求項３】
請求項１又は２において、
前記環境テクスチャが、
前記途中段階のフレーム画像を所与の形状の仮想オブジェクトにマッピングして変形することで生成されることを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
反射ベクトルの第１、第２の座標成分又は該第１、第２の座標成分を線形変換することで得られる第１’、第２’の座標成分が第１、第２のテクスチャ座標成分となる環境テクスチャが、前記途中段階のフレーム画像に基づき生成されることを特徴とする画像生成システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記途中段階のフレーム画像が、
オブジェクトに映り込ませるべき背景オブジェクトを描画バッファに描画することで生成されることを特徴とする画像生成システム。
【請求項６】
請求項５において、
前記途中段階のフレーム画像を変換して環境テクスチャを生成する際に、前記背景オブジェクトの輝度が変更されることを特徴とする画像生成システム。
【請求項７】
請求項６において、
前記背景オブジェクトが含む最遠景オブジェクトの輝度が、前記背景オブジェクトが含む中遠景オブジェクトに比べてより明るくなるように、輝度変更が行われることを特徴とする画像生成システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
オブジェクトに、ベーステクスチャと環境テクスチャとがマルチテクスチャマッピングされることを特徴とする画像生成システム。
【請求項９】
請求項８において、
前記ベーステクスチャと環境テクスチャとを用いたα合成処理の際のα値が、オブジェクトの面の方向を表すための法線ベクトルとオブジェクトの面の反射方向を表すための反射ベクトルとに基づいて求められることを特徴とする画像生成システム。
【請求項１０】
コンピュータ使用可能なプログラムであって、
描画バッファに描画された途中段階のフレーム画像に基づいて、オブジェクトにマッピングすべき環境テクスチャを生成する手段と、
生成された環境テクスチャをオブジェクトにマッピングしながら、該オブジェクトを、前記途中段階のフレーム画像が描画されている描画バッファに描画し、オブジェクト空間において仮想カメラから見える画像を生成する手段と、
をコンピュータに実現させることを特徴とするプログラム。
【請求項１１】
請求項１０において、
オブジェクトの面の反射方向を表すための反射ベクトルに基づいて、テクスチャ記憶手段から前記環境テクスチャを読み出すためのテクスチャ座標が求められ、求められたテクスチャ座標に基づいて、前記環境テクスチャがオブジェクトにマッピングされることを特徴とするプログラム。
【請求項１２】
請求項１０又は１１において、
前記環境テクスチャが、
前記途中段階のフレーム画像を所与の形状の仮想オブジェクトにマッピングして変形することで生成されることを特徴とするプログラム。
【請求項１３】
請求項１０乃至１２のいずれかにおいて、
反射ベクトルの第１、第２の座標成分又は該第１、第２の座標成分を線形変換することで得られる第１’、第２’の座標成分が第１、第２のテクスチャ座標成分となる環境テクスチャが、前記途中段階のフレーム画像に基づき生成されることを特徴とするプログラム。
【請求項１４】
請求項１０乃至１３のいずれかにおいて、
前記途中段階のフレーム画像が、
オブジェクトに映り込ませるべき背景オブジェクトを描画バッファに描画することで生成されることを特徴とするプログラム。
【請求項１５】
請求項１４において、
前記途中段階のフレーム画像を変換して環境テクスチャを生成する際に、前記背景オブジェクトの輝度が変更されることを特徴とするプログラム。
【請求項１６】
請求項１５において、
前記背景オブジェクトが含む最遠景オブジェクトの輝度が、前記背景オブジェクトが含む中遠景オブジェクトに比べてより明るくなるように、輝度変更が行われることを特徴とするプログラム。
【請求項１７】
請求項１０乃至１６のいずれかにおいて、
オブジェクトに、ベーステクスチャと環境テクスチャとがマルチテクスチャマッピングされることを特徴とするプログラム。
【請求項１８】
請求項１７において、
前記ベーステクスチャと環境テクスチャとを用いたα合成処理の際のα値が、オブジェクトの面の方向を表すための法線ベクトルとオブジェクトの面の反射方向を表すための反射ベクトルとに基づいて求められることを特徴とするプログラム。
【請求項１９】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１０乃至１８のいずれかのプログラムを含むことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ（操作者）は、銃などを模して作られたガン型コントローラ（シューティングデバイス）を用いて、画面に映し出される敵キャラクタ（敵オブジェクト）などの標的をシューティングすることで、３次元ゲームを楽しむ。
【０００３】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。そして、このような課題を解決する１つの手法として、環境マッピングと呼ばれる手法が知られている。
【０００４】
この環境マッピングでは、オブジェクトの周囲の環境を表す環境テクスチャをオブジェクトにマッピングすることで、オブジェクトへの環境の映り込みを表現し、オブジェクトの画像のリアル度を高めている。
【０００５】
さて、このような環境マッピングを実現する手法として以下に説明するような第１、第２の手法が考えられる。
【０００６】
第１の手法では、オブジェクトにマッピングすべき、擬似的な専用の環境テクスチャを予め用意しておく。そして、この擬似的な環境テクスチャを仮想カメラの方向（或いはオブジェクトの上方）からオブジェクトにマッピングする。
【０００７】
しかしながら、この第１の手法は、処理負荷が軽いという有利点がある反面、得られる画像が単調になってしまい、リアルな環境マッピングを実現できないという不利点がある。
【０００８】
一方、第２の手法では、オブジェクトの各点から反射方向に見えるべきオブジェクトの周囲の環境の画像を、専用のレンダリングを用いて生成する。そして、生成された画像を環境テクスチャとしてオブジェクトにマッピングする。
【０００９】
しかしながら、この第２の手法では、環境テクスチャを生成するために専用のレンダリング処理が必要になる。従って、そのレンダリング処理の分だけ処理負荷が重くなり、この種の画像生成システムに要求されるリアルタイム処理の要請に応えることができない。
【００１０】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負荷でリアルな環境マッピングを実現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、描画バッファに描画された途中段階のフレーム画像に基づいて、オブジェクトにマッピングすべき環境テクスチャを生成する手段と、生成された環境テクスチャをオブジェクトにマッピングしながら、該オブジェクトを、前記途中段階のフレーム画像が描画されている描画バッファに描画し、オブジェクト空間において仮想カメラから見える画像を生成する手段とを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴とする。
【００１２】
本発明によれば、途中段階のフレーム画像に基づき環境テクスチャが生成される。そして、この環境テクスチャがマッピングされるオブジェクトを、途中段階のフレーム画像が描画されている描画バッファに描画することで、最終段階のフレーム画像が生成される。
【００１３】
このように本発明では、途中段階のフレーム画像に基づき環境テクスチャが生成されるため、環境テクスチャの生成のための専用のレンダリング処理を行わなくても済むようになる。しかも、この途中段階のフレーム画像は最終段階のフレーム画像の生成にも利用される。従って、本発明によれば、処理負荷がそれほど増えることなく、リアルな環境マッピングを実現できる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、オブジェクトの面の反射方向を表すための反射ベクトルに基づいて、テクスチャ記憶手段から前記環境テクスチャを読み出すためのテクスチャ座標が求められ、求められたテクスチャ座標に基づいて、前記環境テクスチャがオブジェクトにマッピングされることを特徴とする。
【００１５】
このようにすれば、オブジェクトの形状に応じたリアルな映り込み表現を、少ない処理負荷で実現できる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記環境テクスチャが、前記途中段階のフレーム画像を所与の形状の仮想オブジェクトにマッピングして変形することで生成されることを特徴とする。
【００１７】
このようにすれば、所与の形状の仮想オブジェクトに途中段階のフレーム画像をテクスチャマッピングするだけという簡素な処理で、環境テクスチャを生成できるようになる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、反射ベクトルの第１、第２の座標成分又は該第１、第２の座標成分を線形変換することで得られる第１’、第２’の座標成分が第１、第２のテクスチャ座標成分となる環境テクスチャが、前記途中段階のフレーム画像に基づき生成されることを特徴とする。
【００１９】
このようにすれば、反射ベクトルの第１、第２の座標成分、或いは、この第１、第２の座標成分を線形変換することで得られる第１’、第２’の座標成分を、そのまま環境テクスチャの第１、第２のテクスチャ座標成分として用いることが可能になる。これにより、環境テクスチャのマッピング処理の負荷を軽減することが可能になる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記途中段階のフレーム画像が、オブジェクトに映り込ませるべき背景オブジェクトを描画バッファに描画することで生成されることを特徴とする。
【００２１】
このようにすれば、例えば最遠景オブジェクト又は中遠景オブジェクトなどを含む背景オブジェクトの画像を、オブジェクトにリアルに映り込ませることが可能になる。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記途中段階のフレーム画像を変換して環境テクスチャを生成する際に、前記背景オブジェクトの輝度が変更されることを特徴とする。
【００２３】
このようにすれば、現実世界の事象に則したリアルなシミュレーション処理では得ることができない演出効果の高い映り込み表現を、実現できるようになる。
【００２４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記背景オブジェクトが含む最遠景オブジェクトの輝度が、前記背景オブジェクトが含む中遠景オブジェクトに比べてより明るくなるように、輝度変更が行われることを特徴とする。
【００２５】
このようにすれば、最遠景オブジェクトの輝度を明るくして目立たせることが可能になり、より演出効果の高い画像を生成できる。
【００２６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、オブジェクトに、ベーステクスチャと環境テクスチャとがマルチテクスチャマッピングされることを特徴とする。
【００２７】
なお、この場合のマルチテクスチャマッピングは、画像生成システムのハードウェアによりサポートされている狭義のマルチテクスチャマッピングでもよいし、ベーステクスチャがマッピングされるオブジェクトと環境テクスチャがマッピングされるオブジェクトとを同一位置に描画することで実現される疑似的なマルチテクスチャマッピングでもよい。
【００２８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記ベーステクスチャと環境テクスチャとを用いたα合成処理の際のα値が、オブジェクトの面の方向を表すための法線ベクトルとオブジェクトの面の反射方向を表すための反射ベクトルとに基づいて求められることを特徴とする。
【００２９】
このようにすれば、法線ベクトルと反射ベクトルのなす角度等に応じて、環境テクスチャの映り込みの強度が変化するようになり、よりリアルな画像を生成できる。しかも、環境テクスチャのテクスチャ座標を求める処理の際に計算された反射ベクトルを、α値を求める処理に有効利用できるようになり、処理負荷の軽減化を図れる。
【００３０】
【発明の実施の形態】
以下、本実施形態について図面を用いて説明する。
【００３１】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３２】
１．構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００３３】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体などのハードウェアにより実現できる。
【００３４】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）をコンピュータに実現（実行、機能）させるためのプログラムが格納され、このプログラムは、例えば１又は複数のモジュール（オブジェクト指向におけるオブジェクトも含む）を含む。
【００３６】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【００３７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３８】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００３９】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００４０】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４１】
なお本発明（本実施形態）の各手段を実現（実行、機能）するためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。
このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４２】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。
【００４３】
ここで、処理部１００が行う処理としては、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【００４４】
処理部１００は、テクスチャ座標演算部１１０、α値演算部１１２、画像生成部１２０、音生成部１３０を含む。なお、処理部１００は、これらの全ての機能ブロックを含む必要はない。
【００４５】
ここで、テクスチャ座標演算部１１０は、オブジェクトにマッピングされる環境テクスチャ（オブジェクトの映り込み表現のためのテクスチャであり、光沢表現テクスチャ等も含む）をテクスチャ記憶部１７６から読み出すためのテクスチャ座標（第１、第２のテクスチャ座標成分）を求める。より具体的には、オブジェクトの面の反射方向を表すための反射ベクトル（オブジェクトの各頂点或いは各面に設定される反射ベクトル）に基づいて、環境テクスチャを読み出すためのテクスチャ座標を求める。更に具体的には、仮想カメラ（視点）の位置とオブジェクトの各頂点（構成点）の位置と各頂点に設定された法線ベクトルとに基づいて、各頂点での反射ベクトルを求める。そして、この求められた反射ベクトルに基づいて、環境テクスチャを読み出すためのテクスチャ座標を求める。
【００４６】
α値演算部１１２は、ベーステクスチャ（環境テクスチャの下層にマッピングされる下地テクスチャ、元絵テクスチャ）と環境テクスチャとをマルチテクスチャマッピングする際のα合成処理（αブレンディング、α加算又はα減算等）のα値を求める。より具体的には、オブジェクトの面の方向を表すための法線ベクトル（オブジェクトの各頂点或いは各面に設定される法線ベクトル）と、オブジェクトの面の反射方向を表すための反射ベクトルとに基づいて、このα値を求める。この場合に、例えば、この法線ベクトルと反射ベクトルとのなす角度が０度に近づくほど環境テクスチャの映り込みが弱くなるように（或いは法線ベクトルと反射ベクトルとのなす角度が直角に近づくほど環境テクスチャの映り込みが強くなるように）、α値を設定することが望ましい。
【００４７】
なお、画像生成システムが、１つのオブジェクトに複数のテクスチャを一度に重ねてマッピングできる狭義のマルチテクスチャマッピング機能をハードウェアでサポートしている場合には、このマルチテクスチャマッピング機能を利用して、ベーステクスチャと環境テクスチャのマルチテクスチャマッピングを実現できる。一方、画像生成システムが、このような狭義のマルチテクスチャマッピング機能をサポートしていない場合には、ベーステクスチャがマッピングされるオブジェクトと環境テクスチャがマッピングされるオブジェクトとを同じ位置に描画することで（同じ描画データを用いて描画することで）、ベーステクスチャと環境テクスチャの擬似的なマルチテクスチャマッピングを実現できる。
【００４８】
また、α値（Ａ値）は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４９】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部１９０に出力する。例えば、いわゆる３次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点（構成点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）が作成される。
そして、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像が、描画バッファ１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００５０】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５１】
画像生成部１２０は、環境テクスチャ生成部１２２、テクスチャマッピング部１２４、α合成部１２６を含む。
【００５２】
ここで、環境テクスチャ生成部１２２は、オブジェクトにマッピングされる環境テクスチャを生成するための処理を行う。より具体的には、描画バッファ（フレームバッファ、ワークバッファ等）に描画された途中段階のフレーム画像に基づいて、環境テクスチャを生成する。そして、生成された環境テクスチャはテクスチャ記憶部１７６に一時的に記憶（描画）される。
【００５３】
この場合、環境テクスチャは、途中段階のフレーム画像を所与の形状（例えばスフィア形状）の仮想オブジェクト（変形のためのテンプレートオブジェクト）にマッピング（スフィアマッピング）して、このフレーム画像を変形することで生成できる。また、オブジェクトの反射ベクトルの第１、第２の座標成分（ＲＸ、ＲＹ）を線形変換することで得られる座標成分（或いは第１、第２の座標成分そのもの）が、第１、第２のテクスチャ座標成分（Ｕ、Ｖ）としてそのまま使用できるような変換方式で、途中段階のフレーム画像を変換し、環境テクスチャを生成することが望ましい。
【００５４】
なお、環境テクスチャの生成に使用する途中段階のフレーム画像は、オブジェクトに映り込ませるべき背景オブジェクト（空、雲等を表す最遠景オブジェクト、或いは建物、地面、街灯、橋等を表す中遠景オブジェクト）を描画バッファに描画することで生成できる（背景オブジェクト以外のオブジェクトを描画してもよい）。そして、表示部１９０に表示される最終段階のフレーム画像（オブジェクト空間において仮想カメラから見える画像）は、この途中段階のフレーム画像が描画されている描画バッファに、残りの他のオブジェクト（環境テクスチャがマッピングされるオブジェクト等）を描画することで生成されることになる。
【００５５】
テクスチャマッピング部１２４は、テクスチャ記憶部１７６に記憶されるテクスチャ（ベーステクスチャ、環境テクスチャ等）をオブジェクトにマッピングするための処理を行う。
【００５６】
この場合、テクスチャマッピング部１２４は、いわゆるムービーテクスチャマッピング機能も有している。また、環境テクスチャ生成部１２２による環境テクスチャの生成処理は、このテクスチャマッピング部１２４のテクスチャマッピング機能を利用して生成できる。
【００５７】
α合成部１２６は、α値（Ａ値）に基づくα合成処理（αブレンディング、α加算又はα減算等）を行う。例えばα合成がαブレンディングである場合には下式のような合成処理が行われる。
【００５８】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2    （１）
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2    （２）
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2    （３）
【００５９】
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファ１７４に既に描画されている画像（背景画像）の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画バッファに描画するオブジェクト（プリミティブ）の色のＲ、Ｇ、Ｂ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより得られる画像の色のＲ、Ｇ、Ｂ成分である。
【００６０】
そして本実施形態では、α値演算部１１２により得られたα値（αプレーン）に基づいて、α合成部１２６がα合成処理を行う。より具体的には、α値演算部１１２により求められたα値に基づいて、ベーステクスチャ（ベーステクスチャがマッピングされたオブジェクト）と環境テクスチャと（環境テクスチャがマッピングされたオブジェクト）とを用いたα合成処理（半透明合成処理）が行われる。
【００６１】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００６２】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００６３】
２．本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。なお、以下では、水面表現に本実施形態を適用した場合を主に例にとり説明するが、本実施形態は、水面表現以外の他の画像表現にも広く適用できる。
【００６４】
２．１  途中段階のフレーム画像を利用した環境マッピング
さて、前述のように、環境マッピングを実現する第１の手法では、予め用意された擬似的な専用の環境テクスチャがオブジェクトにマッピングされる。このため、得られる画像は擬似的なものになり、今ひとつリアルな環境マッピングを実現できないという課題がある。
【００６５】
また、環境マッピングを実現する第２の手法では、環境テクスチャの生成に専用のレンダリング処理が必要になる。このため、そのレンダリング処理の分だけ処理負荷が重くなってしまうという課題がある。
【００６６】
そこで本実施形態では、途中段階のフレーム画像を用いて環境テクスチャを生成し、この途中段階のフレーム画像と、生成された環境テクスチャがマッピングされたオブジェクトとに基づいて、表示部に生成する最終的なフレーム画像を生成している。
【００６７】
より具体的には図２のＡ１に示すように、まず、空、雲などを表す最遠景オブジェクト（天球オブジェクト。ドーム形状、球形状又は円柱形状のオブジェクト）を描画バッファ（フレームバッファ等）に描画する。
【００６８】
そして、Ａ２に示すように、建物、地面、橋、街灯などを表す中遠景オブジェクトを描画バッファに描画する。この場合に、環境テクスチャがマッピングされる水面オブジェクトＯＢ（広義にはオブジェクト。以下の説明でも同様）については、描画バッファには描画しないでおく。
【００６９】
次に、このように最遠景オブジェクトや中遠景オブジェクトなどの背景オブジェクトを描画することで得られたＡ２に示す途中段階のフレーム画像（フレーム毎に生成される画面サイズの画像）を変換して、Ａ３に示すように環境テクスチャを生成する。
【００７０】
そして、Ａ４に示すように、この生成された環境テクスチャをマッピングしながら、水面オブジェクトＯＢを描画バッファに描画する。この際、この環境テクスチャと、水面の絵柄を表すベーステクスチャとを、水面オブジェクトにマルチテクスチャマッピングする。
【００７１】
そして、このようにして生成されたＡ５に示す最終段階のフレーム画像をフレーム（１／６０秒、１／３０秒等）毎に表示部に出力して、ゲーム画像を生成する。
【００７２】
このように本実施形態によれば、水面オブジェクトＯＢの周囲にある背景オブジェクト（空、雲、建物等）の画像が、環境テクスチャとして水面オブジェクトＯＢにマッピングされるようになる。従って、予め用意された擬似的な環境テクスチャをマッピングする上記の第１の手法に比べて、極めてリアルな環境マッピングを実現でき、プレーヤの仮想現実感を向上できる。
【００７３】
また、本実施形態によれば、最終段階のフレーム画像の生成の途中段階で生成されるＡ２に示す途中段階のフレーム画像を利用して、水面オブジェクトＯＢにマッピングすべき環境テクスチャが生成される。従って、環境テクスチャの生成に専用のレンダリング処理が必要な前述の第２の手法とは異なり、専用のレンダリング処理を行うことなくＡ３に示す環境テクスチャを生成できる。従って、少ない処理負荷でリアルな環境マッピングを実現できる。
【００７４】
さて、本実施形態では、図２のＡ３のように生成された環境テクスチャを、例えば以下のような手法により水面オブジェクトＯＢにマッピングしている。
【００７５】
即ち図３に示すように、水面オブジェクトＯＢの頂点ＶＸ（構成点）と仮想カメラＶＣとを結ぶ方向に沿ったベクトルＥを求める。そして、このベクトルＥと頂点ＶＸに設定された法線ベクトルＮとに基づいて、例えば下式（４）のような演算を行い、頂点ＶＸでの反射ベクトルＲを求める。なお、ベクトルＥ、Ｎ、Ｒは、視点座標系での単位ベクトルである。
【００７６】
Ｒ（ＲＸ、ＲＹ、ＲＺ）＝２（Ｅ・Ｎ）Ｎ−Ｅ    （４）
【００７７】
なお、上式（４）において”・”はベクトル同士の内積を意味する。
【００７８】
そして、この求められた反射ベクトルＲに基づいて、環境テクスチャのテクスチャ座標（Ｕ、Ｖ）を求め、求められたテクスチャ座標により特定される環境テクスチャを水面オブジェクトにマッピングする。
【００７９】
このようにすることで、仮想カメラＶＣと水面オブジェクトＯＢとの位置関係やＯＢの面形状に応じた適切な環境テクスチャの絵柄を、水面オブジェクトＯＢにマッピングできるようになり、よりリアルな環境マッピングを実現できる。
【００８０】
しかも、本実施形態では、後述するように、反射ベクトルＲの座標成分ＲＸ、ＲＹの線形変換で得られる座標成分（或いはＲＸ、ＲＹそのもの）を、テクスチャ座標成分Ｕ、Ｖとしてそのまま用いることができるように、環境テクスチャが生成される。従って、上式（４）により得られた反射ベクトルＲの座標成分ＲＸ、ＲＹを用いて、少ない処理負荷で環境テクスチャを読み出すことが可能になる。これにより、環境マッピングの処理負荷を更に軽減できる。
【００８１】
図４に、環境テクスチャの生成に使用される途中段階のフレーム画像の例を示す。このフレーム画像では、空、雲、建物、橋などの、水面に映り込ませるべき背景のオブジェクトが描画されている。
【００８２】
本実施形態では、このようにして生成された図４の途中段階のフレーム画像を、例えば図５に示すような仮想オブジェクト（変形のテンプレートとなるオブジェクト）にマッピングする。この仮想オブジェクトは、中心座標が（０．０、０．０、０．０）で半径が異なる複数の円を同心円状に並べて繋げた形状のオブジェクトである。この場合の同心円の半径の範囲は、例えば０．０〜１．０の範囲となる。
【００８３】
そして、この図５の仮想オブジェクトに、図４の途中段階のフレーム画像をテクスチャマッピングすることで、図６に示すような環境テクスチャが生成される。この環境テクスチャの画像は、水面オブジェクトの方から周囲の環境（空、雲、建物）を魚眼レンズを通して見たような画像になっている。
【００８４】
次に、図４の途中段階のフレーム画像が描画されている描画バッファに、ベーステクスチャ（水面の波等を表すテクスチャ）をマッピングしながら水面オブジェクトを描画することで、図７に示すようなフレーム画像が生成される。このフレーム画像では、水面に対する周囲の環境の映り込みは表現されていない。
【００８５】
次に、図７のフレーム画像が描画されている描画バッファに、図６の環境テクスチャをマッピングしながら水面オブジェクトを描画することで、図８に示すような最終的なフレーム画像が生成される。この図８のフレーム画像では、図７とは異なり、水面に対して周囲の環境（空、雲、建物、橋）が映り込んでいる。従って、図７に比べて非常にリアルな画像になる。
【００８６】
図９は、図８の場合とは異なる位置に仮想カメラが移動した時に生成される最終的なフレーム画像の例である。
【００８７】
図８、図９に示すように、本実施形態では、仮想カメラと水面、建物、橋等との位置関係に応じて、水面へ映り込む環境の画像も変化する。従って、擬似的な環境テクスチャを単にマッピングする前述の第１の手法に比べて、非常にリアルな画像を生成できる。しかも、途中段階のフレーム画像を用いて環境テクスチャが生成されるため、少ない処理負荷で図８、図９に示すようなリアルな画像を生成できる。
【００８８】
２．２  環境テクスチャの生成手法
さて、本実施形態では、環境マッピングの処理負荷を更に軽減するために、以下に説明するような手法で環境テクスチャを生成している。
【００８９】
即ち本実施形態では、図４に示す途中経過のフレーム画像を、図５に示す仮想オブジェクト（テンプレートオブジェクト）にマッピングすることで、図６に示す環境テクスチャを生成している。
【００９０】
この場合に、本実施形態では、図５の仮想オブジェクトの各頂点（Ｘ、Ｙ、０）のテクスチャ座標（Ｕ、Ｖ）を、下式のように求めている。
【００９１】
Ｕ  ＝Ｕ’／２＋０．５                                  （５）
Ｕ’＝Ｘ／｛（１−Ｘ2−Ｙ2）1/2×ｔａｎ（θ／２）｝      （６）
Ｖ  ＝Ｖ’／２＋０．５                                  （７）
Ｖ’＝Ｙ／｛（１−Ｘ2−Ｙ2）1/2×ｔａｎ（θ／２）×Ａ｝  （８）
【００９２】
上式（６）、（８）においてθは仮想カメラの画角であり（例えばθ＝４５度）、Ａは画面のアスペクト比である。また、上式（５）、（７）は、値域が−１．０〜１．０であるＳ’、Ｔ’を、値域が０．０〜１．０であるＳ、Ｔに変換する式である。
【００９３】
本実施形態では、図５の仮想オブジェクトの頂点の座標（Ｘ、Ｙ、０）を上式（５）〜（８）に代入することで得られるテクスチャ座標（Ｕ、Ｖ）を用いて、図４のフレーム画像を図５の仮想オブジェクトにテクスチャマッピングしている。これにより、図６に示すような環境テクスチャを生成できる。
【００９４】
上式（５）〜（８）を概念的に説明すると図１０に示すようになる。
【００９５】
図１０において、反射ベクトルＲ（ＲＸ、ＲＹ、ＲＺ）の座標を（Ｘ、Ｙ、Ｚ）とした場合に、反射ベクトルＲを延長したベクトルＲ’が、無限遠にある射影面ＰＳと交わる点ＩＰの座標を、上式（５）〜（８）は求めている。
【００９６】
射影面ＰＳへの投影結果（描画バッファのフレーム画像）をテクスチャとして用いるためには、射影面ＰＳ上における画角θ内の任意の点の座標を、０．０〜１．０の範囲で任意に変化させる必要がある。このため、仮想オブジェクトの頂点のテクスチャ座標（Ｕ、Ｖ）は、上式（５）〜（８）のようにして求められることになる。
【００９７】
以上のようにして、図６に示す環境テクスチャを生成すれば、下式に示すように、環境テクスチャの読み出しに使用するテクスチャ座標（Ｕ、Ｖ）を、視点座標系での反射ベクトルＲの座標成分ＲＸ、ＲＹの線形変換だけで得ることが可能になる。
【００９８】
Ｕ＝ＲＸ／２＋０．５                          （９）
Ｖ＝ＲＹ／２＋０．５                        （１０）
【００９９】
なお、前述のように、反射ベクトルＲ（ＲＸ、ＲＹ、ＲＺ）は下式のように求められる。
【０１００】
Ｒ（ＲＸ、ＲＹ、ＲＺ）＝２（Ｅ・Ｎ）Ｎ−Ｅ  （１１）
【０１０１】
以上のように本実施形態では、反射ベクトルＲの座標成分ＲＸ、ＲＹを線形変換（式（９）、（１０））することで得られる座標成分が、テクスチャ座標成分Ｕ、Ｖになるように、途中段階のフレーム画像（図４）を変換して、環境テクスチャ（図６）を生成している。従って、反射ベクトルからテクスチャ座標を求める処理の際に、平方根や二乗根を求める処理が不要になり、線形変換式（式（９）、（１０））だけでテクスチャ座標を求めることができる。従って、テクスチャ座標の演算処理の負荷を軽減でき、環境マッピングの処理負荷を軽減できるようになる。
【０１０２】
なお、反射ベクトルの座標成分ＲＸ、ＲＹを、そのままテクスチャ座標成分Ｕ、Ｖとして使用可能にする変換方式で、途中段階のフレーム画像を環境テクスチャに変換するようにしてもよい。
【０１０３】
２．３  α値の演算
さて、本実施形態では、水面のベーステクスチャがマッピングされる水面オブジェクトと、環境テクスチャがマッピングされる水面オブジェクトとのα合成処理（広義にはベーステクスチャと環境テクスチャとを用いたα合成処理）の際のα値を、図１１に示すような手法で求めている。即ち、水面オブジェクトＯＢの頂点ＶＸの法線ベクトルＮと、上式（１１）で得られた反射ベクトルＲとのなす角度βとに基づいて、α値を求め、このα値に基づいてα合成処理を行う。
【０１０４】
より具体的は、角度βが０度に近づくほどベーステクスチャのα合成率が高くなり、角度βが直角に近づくほど環境テクスチャのα合成率が高くなるように、環境テクスチャのα値を求める（例えばα＝１−（ｃｏｓβ）n）。
【０１０５】
このようにすれば、法線ベクトルＮと反射ベクトルＲとのなす角度βが直角に近づくほど、その反射ベクトルの方向にある環境がその場所（頂点ＶＸの場所）に強く映り込むようになる。従って、臨界屈折角での映り込み等が表現されたリアルな画像を生成できる。
【０１０６】
しかも、図１１の手法によれば、環境テクスチャのテクスチャ座標を求めるために計算した反射ベクトルを有効利用して、α値を求めることができる。従って、処理負荷をそれほど増すことなく、リアルな映り込み表現を実現できる。
【０１０７】
２．４  輝度の変更
本実施形態では、途中段階のフレーム画像（図４）を変換することで環境テクスチャ（図６）が生成されることを有効利用して、途中段階のフレーム画像に描かれた背景オブジェクト（最遠景オブジェクト、中遠景オブジェクト）の輝度を変更するようにしている。
【０１０８】
より具体的には図１２に示すように、途中段階のフレーム画像から環境テクスチャを生成する際に、背景オブジェクトの中の最遠景オブジェクト（空、雲）の輝度が、背景オブジェクトの中の中遠景オブジェクト（建物、橋）に比べて明るくなるように、輝度変更を行う。
【０１０９】
即ち、現実世界での空の水面への映り込みをリアルにシミュレーションしようとした場合には、空の輝度を変更せずに環境テクスチャを生成し、水面オブジェクトにマッピングすることになる。
【０１１０】
しかしながら、このような現実世界の事象に則したシミュレーション処理では、得られる映り込み画像が今ひとつ演出効果に欠けるということが判明した。即ち、現実世界の事象に則したシミュレーション処理では、図８、図９に示すような演出効果の高い映り込み画像を生成できず、水面に映り込んだ空がくすんで見えてしまう。
【０１１１】
そこで本実施形態では、途中段階のフレーム画像から環境テクスチャを生成する際に、背景オブジェクトの輝度変更が可能であることに着目し、空などを表す最遠景オブジェクトの輝度を明るくする輝度変更手法を採用している。
【０１１２】
このようにすることで、図８、図９に示すように、空の映り込み画像の輝度が明るくなり、空の映り込み部分と建物の映り込み分との輝度の差が強調してプレーヤに伝えられるようになる。これにより、映り込んでいる空がくすんで見える事態を防止でき、より演出効果が高く、プレーヤの仮想現実感を向上できるゲーム画像を生成できる。
【０１１３】
なお、図１２では、空などを表現する最遠景オブジェクトの輝度を明るくしているが、輝度の変更対象となるオブジェクトの種類及び輝度の変化のさせ方については任意である。例えば、空などを表現する最遠景オブジェクトの輝度を明るくする代わりに、建物などを表現する中遠景オブジェクトの輝度を暗くしてもよい。或いは、最遠景オブジェクト及び中遠景オブジェクトの両方の輝度を明るく（或いは暗く）してもよい。
【０１１４】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図１３、図１４のフローチャートを用いて説明する。
【０１１５】
まず、図２のＡ１で説明したように、最遠景（天球）オブジェクトをフレームバッファ（広義には描画バッファ。以下の説明でも同様）に描画する（ステップＳ１）。そして、フレームバッファにおいて、最遠景オブジェクトが描画されたピクセルにフラグＦＬをセットする（ステップＳ２）。このフラグＦＬは、図１２で説明した輝度変更処理に使用するフラグである。また、このフラグＦＬは、フレームバッファにおいて最遠景オブジェクトが描画されたピクセルに、所定値のα値（マスク情報）を書き込むことで、セットできる。
【０１１６】
次に、図２のＡ２で説明したように、建物、橋などの中遠景オブジェクトをフレームバッファに描画する（ステップＳ３）。この際に、フレームバッファにおいて、中遠景オブジェクトが描画されたピクセルのフラグＦＬをクリアする。このようにすることで、最遠景オブジェクトが描画されたピクセルでは、フラグＦＬがセットされ、中遠景オブジェクトが描画されたピクセルではフラグＦＬがクリアされるようになる。
【０１１７】
次に、フレームバッファのフレーム画像をテクスチャマッピングしながら、仮想オブジェクト（図５参照）をエフェクト用のワークバッファ（ＶＲＡＭ上のバッファ）に描画する（ステップＳ４）。この際に、フラグＦＬがセットされているピクセル（最遠景オブジェクトの描画ピクセル）の部分だけをワークバッファに描画すると共に、明るい輝度に変更して描画するようにする。これにより、最遠景オブジェクト（空）が明るい輝度に変更された環境テクスチャを生成できるようになる（図１２参照）。
【０１１８】
次に、フレームバッファのフレーム画像をテクスチャマッピングしながら、仮想オブジェクトをエフェクト用のワークバッファに再度描画する（ステップＳ５）。この際に、フラグＦＬがクリアされているピクセル（中遠景オブジェクトの描画ピクセル）の部分だけをワークバッファに描画すると共に、暗い輝度に変更して描画するようにする。これにより、中遠景オブジェクト（建物）が暗い輝度に変更された環境テクスチャを生成できる。
【０１１９】
以上のようにすることで、図６に示すような環境テクスチャが、ワークバッファ上に生成される。
【０１２０】
次に、水面オブジェクトのＺ値（奥行き値）のみをＺバッファ（奥行きバッファ）に描画する（ステップＳ６）。即ち、半透明の水面オブジェクトを描画すると、仮想カメラから見て波が重なった部分がより濃く（明るく）なって描画されてしまう。この場合に、水面オブジェクトのＺ値のみを先だって描画するようにすれば、その後に水面オブジェクトをフレームバッファに描画する際に、最も手前の面のみが描画されるようになる。この結果、波の重なり部分があっても、水面の濃度が均一になって描画されるようになり、より自然な画像を生成できる。
【０１２１】
次に、水面や波の動きを表現したムービーテクスチャ（ベーステクスチャ）をマッピングしながら水面オブジェクトをフレームバッファに描画する（ステップＳ７）。これにより、図７に示すようなフレーム画像がワークバッファ上に描画される。
【０１２２】
次に、図３で説明したように、仮想カメラの位置と各頂点の位置と各頂点の法線ベクトルとに基づき、各頂点の反射ベクトルを求め、この反射ベクトルに基づき各頂点のテクスチャ座標を求める（ステップＳ８。上式（９）〜（１１）参照）。また、図１１で説明したように、各頂点の反射ベクトルとのなす角度に基づき、各頂点のα値を求める（ステップＳ９）。
【０１２３】
次に、ステップＳ８で求められたテクスチャ座標に基づきエフェクト用バッファの環境テクスチャ（図６）をマッピングしながら、水面オブジェクトをフレームバッファに描画する（ステップＳ１０）。この際に、ステップＳ９で求められたα値に基づいて、半透明（α合成）処理を行いながら水面オブエジェクトを描画する。
【０１２４】
以上のようにすることで、図８、図９に示すようなリアルな環境マッピングが施された最終的なフレーム画像を生成できる。
【０１２５】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１５を用いて説明する。
【０１２６】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１２７】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１２８】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１２９】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１３０】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１３１】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１３２】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１３３】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１３４】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１３５】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１３６】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１３７】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１３８】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現（実行）してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１３９】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【０１４０】
図１６（Ａ）に、本実施形態を業務用ゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤは、ディスプレイ１１００、１１０１上に映し出されたゲーム画像を見ながら、ガン型コントローラ１１０２、１１０３などを操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラム（格納情報）と呼ぶ。
【０１４１】
図１６（Ｂ）に、本実施形態を家庭用のゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ガン型コントローラ１２０２、１２０４などを操作してゲームを楽しむ。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９などに格納されている。
【０１４２】
図１６（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-１〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム（格納情報）は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体１３０６に格納されている。端末１３０４-１〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-１〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-１〜１３０４-nに伝送し端末において出力することになる。
【０１４３】
なお、図１６（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム（格納情報）を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１４４】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１４５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１４６】
例えば、環境テクスチャの生成に使用される途中段階のフレーム画像は、図２のＡ２に示すような最遠景オブジェクトや中遠景オブジェクトが描画されたフレーム画像に限定されず、種々のフレーム画像を考えることができる。
【０１４７】
また、環境テクスチャのテクスチャ座標を求める手法も、図３で説明した手法に限定されず、種々の変形実施が可能である。例えば、仮想カメラの方向は考慮せず、オブジェクトの面の方向を表す法線ベクトルに基づいてテクスチャ座標を求めるようにしてもよい。
【０１４８】
また、環境テクスチャの生成手法も、図４〜図６、図１０で説明した手法に限定されるものではない。
【０１４９】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１５０】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１５１】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】本実施形態の環境マッピング手法について説明するための図である。
【図３】環境テクスチャのテクスチャ座標を求める手法について説明するための図である。
【図４】途中段階のフレーム画像の例を示す図である。
【図５】環境テクスチャの生成に使用する仮想オブジェクト（テンプレートオブジェクト）の例を示す図である。
【図６】生成された環境テクスチャの例を示す図である。
【図７】環境マッピングが施されていないフレーム画像の例を示す図である。
【図８】環境マッピングが施された後の最終段階のフレーム画像の例を示す図である。
【図９】環境マッピングが施された後の最終段階のフレーム画像の例を示す図である。
【図１０】環境テクスチャの生成手法を説明するための概念図である。
【図１１】α値を求める手法について説明するための図である。
【図１２】輝度の変更手法について説明するための図である。
【図１３】本実施形態の処理の詳細例について示すフローチャートである。
【図１４】本実施形態の処理の詳細例について示すフローチャートである。
【図１５】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１６】図１６（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  テクスチャ座標演算部
１１２  α値演算部
１２０  画像生成部
１２２  環境テクスチャ生成部
１２４  テクスチャマッピング部
１２６  α合成部
１３０  音生成部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１７６  テクスチャ記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0004574058.tif 000002
【図２】
0004574058.tif 000003
【図３】
0004574058.tif 000004
【図４】
0004574058.tif 000005
【図５】
0004574058.tif 000006
【図６】
0004574058.tif 000007
【図７】
0004574058.tif 000008
【図８】
0004574058.tif 000009
【図９】
0004574058.tif 000010
【図１０】
0004574058.tif 000011
【図１１】
0004574058.tif 000012
【図１２】
0004574058.tif 000013
【図１３】
0004574058.tif 000014
【図１４】
0004574058.tif 000015
【図１５】
0004574058.tif 000016
【図１６】
0004574058.tif 000017