(57)【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
仮想カメラからの距離に応じて用意された複数のテクスチャを記憶する手段と、
仮想カメラからの距離に基づいて前記複数のテクスチャの補間処理を行い、補間処理により得られたテクスチャをオブジェクトにマッピングする手段と、
テクスチャに設定されたα値に基づいてα合成処理を行う手段と、
オブジェクト空間において仮想カメラから見える画像を生成する手段とを含み、
仮想カメラから近い距離用のテクスチャであり水面オブジェクト用又はフォグオブジェクト用のテクスチャとして、より高い透明度のα値が設定されたテクスチャを用意し、仮想カメラから遠い距離用のテクスチャであり水面オブジェクト用又はフォグオブジェクト用のテクスチャとして、より低い透明度のα値が設定されたテクスチャを用意し、水面オブジェクト又はフォグオブジェクトの透明度を、仮想カメラからの距離が遠くなるにつれて徐々に低くすることを特徴とする画像生成システム。
【請求項２】
請求項１において、
仮想カメラからの距離が離れる方向にオブジェクトを移動させると共に、仮想カメラからの距離が離れるにつれてオブジェクトの透明度を徐々に低くすることを特徴とする画像生成システム。
【請求項３】
請求項２において、
仮想カメラからの距離が所与の距離以上になった場合には、仮想カメラからの距離が離れるにつれてオブジェクトの透明度を徐々に高くすることを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
仮想カメラからの距離に基づいて、前記複数のテクスチャから少なくとも２つのテクスチャが選択されると共にテクスチャ補間率が求められ、求められたテクスチャ補間率に基づいて、選択されたテクスチャの補間処理が行われることを特徴とする画像生成システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
描画対象となるピクセルについての仮想カメラからの距離に基づいて、前記複数のテクスチャから少なくとも２つのテクスチャが選択されると共にテクスチャ補間率が求められ、求められたテクスチャ補間率に基づいて、選択されたテクスチャのテクセルに設定された色データ及びα値の補間処理が行われ、補間処理により得られた色データ及びα値に基づいて、描画対象となるピクセルが描画されることを特徴とする画像生成システム。
【請求項６】
仮想カメラからの距離に応じて用意された複数のテクスチャを記憶する手段と、
仮想カメラからの距離に基づいて前記複数のテクスチャの補間処理を行い、補間処理により得られたテクスチャをオブジェクトにマッピングする手段と、
テクスチャに設定されたα値に基づいてα合成処理を行う手段と、
オブジェクト空間において仮想カメラから見える画像を生成する手段としてコンピュータを機能させるためのプログラムであって、
仮想カメラから近い距離用のテクスチャであり水面オブジェクト用又はフォグオブジェクト用のテクスチャとして、より高い透明度のα値が設定されたテクスチャを用意し、仮想カメラから遠い距離用のテクスチャであり水面オブジェクト用又はフォグオブジェクト用のテクスチャとして、より低い透明度のα値が設定されたテクスチャを用意し、水面オブジェクト又はフォグオブジェクトの透明度を、仮想カメラからの距離が遠くなるにつれて徐々に低くすることを特徴とするプログラム。
【請求項７】
請求項６のいずれかにおいて、
仮想カメラからの距離が離れる方向にオブジェクトを移動させると共に、仮想カメラからの距離が離れるにつれてオブジェクトの透明度を徐々に低くすることを特徴とするプログラム。
【請求項８】
請求項７において、
仮想カメラからの距離が所与の距離以上になった場合には、仮想カメラからの距離が離れるにつれてオブジェクトの透明度を徐々に高くすることを特徴とするプログラム。
【請求項９】
請求項６乃至８のいずれかにおいて、
仮想カメラからの距離に基づいて、前記複数のテクスチャから少なくとも２つのテクスチャが選択されると共にテクスチャ補間率が求められ、求められたテクスチャ補間率に基づいて、選択されたテクスチャの補間処理が行われることを特徴とするプログラム。
【請求項１０】
請求項６乃至９のいずれかにおいて、
描画対象となるピクセルについての仮想カメラからの距離に基づいて、前記複数のテクスチャから少なくとも２つのテクスチャが選択されると共にテクスチャ補間率が求められ、求められたテクスチャ補間率に基づいて、選択されたテクスチャのテクセルに設定された色データ及びα値の補間処理が行われ、補間処理により得られた色データ及びα値に基づいて、描画対象となるピクセルが描画されることを特徴とするプログラム。
【請求項１１】
コンピュータ読み取り可能な情報記憶媒体であって、請求項６乃至１０のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ（操作者）は、銃などを模して作られたガン型コントローラ（シューティングデバイス）を用いて、画面に映し出される敵キャラクタ（敵オブジェクト）などの標的をシューティングすることで、３次元ゲームを楽しむ。
【０００３】
さて、このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な課題になっている。従って、ゲーム画面中に表示される水面等についても、よりリアルに表現できることが望まれる。
【０００４】
例えば、このような水面を表現する手法として、水面オブジェクトを構成する各ポリゴンに、水面の絵柄を表したテクスチャを一様にマッピングする手法を考えることができる。
【０００５】
しかしながら、この手法では、仮想カメラから見てどの場所でも水面の絵柄が同じに見えてしまい、得られる画像が単調になるという問題点がある。
【０００６】
一方、水面の画像が単調になるのを防止する手法として、水面オブジェクトの各ポリゴンに対して、場所に依って異なるテクスチャを切り替えてマッピングする手法を考えることができる。
【０００７】
しかしながら、この手法では、テクスチャが切り替わる場所でテクスチャの境界線が目立ってしまい、今一つ高品質な画像を生成できないという問題点ある。
【０００８】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、水面、フォグ等のオブジェクトのリアルで高品質な画像を少ない処理負荷で生成できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、仮想カメラからの距離に応じて用意された複数のテクスチャを記憶する手段と、仮想カメラからの距離に基づいて前記複数のテクスチャの補間処理を行い、補間処理により得られたテクスチャをオブジェクトにマッピングする手段と、テクスチャに設定されたα値に基づいてα合成処理を行う手段と、オブジェクト空間において仮想カメラから見える画像を生成する手段とを含み、前記複数のテクスチャとして仮想カメラからの距離に応じて互いに異なるα値が設定された複数のテクスチャを用意し、オブジェクトの透明度を仮想カメラからの距離に応じて変化させることを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴とする。
【００１０】
本発明によれば、第１の距離用の第１のテクスチャ、第２の距離用の第２のテクスチャ・・・・・第Ｎの距離用の第Ｎのテクスチャというように、仮想カメラからの距離（奥行き距離又は直線距離等）に応じて複数のテクスチャが用意される。そして、仮想カメラからの距離に基づいて、これらの複数のテクスチャの補間処理（線形補間又は非線形補間等）が行われ、補間処理により得られたテクスチャがオブジェクトにマッピングされる。
【００１１】
そして本発明では、これらの複数のテクスチャに対して、例えば仮想カメラからの距離に応じて異なるα値（αプレーン）が設定される。例えば第１の距離用の第１のテクスチャには第１のα値（αプレーン）が設定され、第２の距離用の第２のテクスチャには第２のα値が設定され・・・・・第Ｎの距離用の第Ｎのテクスチャには第Ｎのα値が設定される。
【００１２】
このようにすることで本発明によれば、仮想カメラからの距離に応じてオブジェクトのα値（透明度）を徐々に変化させることが可能になり、水面やフォグ等のリアルな表現が可能になる。
【００１３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、仮想カメラから近い距離用のテクスチャとして、より高い透明度のα値が設定されたテクスチャを用意し、仮想カメラから遠い距離用のテクスチャとして、より低い透明度のα値が設定されたテクスチャを用意し、オブジェクトの透明度を、仮想カメラからの距離が遠くなるにつれて徐々に低くすることを特徴とする。このようにすれば、仮想カメラから近い場所ではオブジェクトの透明度が高くなり（透明になり）、仮想カメラから遠い場所ではオブジェクトの透明度が低くなる（不透明になる）画像を生成できるようになる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、仮想カメラから近い距離用のテクスチャであり水面オブジェクト用又はフォグオブジェクト用のテクスチャとして、より高い透明度のα値が設定されたテクスチャを用意し、仮想カメラから遠い距離用のテクスチャであり水面オブジェクト用又はフォグオブジェクト用のテクスチャとして、より低い透明度のα値が設定されたテクスチャを用意し、水面オブジェクト又はフォグオブジェクトの透明度を、仮想カメラからの距離が遠くなるにつれて徐々に低くすることを特徴とする。このようにすれば、仮想カメラから近い場所では水面オブジェクトを介して水面の奥側の背景画像（水底）が透けて見える一方、仮想カメラから遠い場所では背景画像が透けて見えないリアルな画像を生成できる。
【００１５】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、仮想カメラからの距離が離れる方向にオブジェクトを移動させると共に、仮想カメラからの距離が離れるにつれてオブジェクトの透明度を徐々に低くすることを特徴とする。このようにすれば、例えば透明から不透明に変化しながら仮想カメラから離れる方向に移動するオブジェクトを表現でき、フォグ表現等に好適な画像を生成できる。
【００１６】
なお本発明に係る画像生成システム、プログラム及び情報記憶媒体では、仮想カメラからの距離が所与の距離以上になった場合には、仮想カメラからの距離が離れるにつれてオブジェクトの透明度を徐々に高くするようにしてもよい。
【００１７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、仮想カメラからの距離に基づいて、前記複数のテクスチャから少なくとも２つのテクスチャが選択されると共にテクスチャ補間率が求められ、求められたテクスチャ補間率に基づいて、選択されたテクスチャの補間処理が行われることを特徴とする。このようにすれば、仮想カメラの距離に応じて変化するテクスチャ補間率でテクスチャが補間されるようになるため、テクスチャ間の境界線を目立たなくすることが可能になる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、描画対象となるピクセルについての仮想カメラからの距離に基づいて、前記複数のテクスチャから少なくとも２つのテクスチャが選択されると共にテクスチャ補間率が求められ、求められたテクスチャ補間率に基づいて、選択されたテクスチャのテクセルに設定された色データ及びα値の補間処理が行われ、補間処理により得られた色データ及びα値に基づいて、描画対象となるピクセルが描画されることを特徴とする。このようにすれば、テクスチャ単位ではなくテクセル単位で、仮想カメラからの距離に応じてテクスチャの色データ及びα値が徐々に変化するようになるため、テクスチャ間の境界線を更に目立たなくすることが可能になる。
【００１９】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００２０】
１．構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００２１】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体などのハードウェアにより実現できる。
【００２２】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）をコンピュータに実現（実行、機能）させるためのプログラムが格納され、このプログラムは、例えば１又は複数のモジュール（オブジェクト指向におけるオブジェクトも含む）を含む。
【００２４】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【００２５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００２６】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００２７】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００２８】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２９】
なお本発明（本実施形態）の各手段を実現（実行、機能）するためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３０】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。
【００３１】
ここで、処理部１００が行う処理としては、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【００３２】
処理部１００は、移動・動作演算部１１０、仮想カメラ制御部１１２、オブジェクト空間設定部１１４、画像生成部１２０、音生成部１３０を含む。
【００３３】
ここで移動・動作演算部１１０は、キャラクタ、車などのオブジェクト（移動オブジェクト）の移動情報（位置、回転角度）や動作情報（オブジェクトの各パーツの位置、回転角度）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作（モーション、アニメーション）させたりする処理を行う。
【００３４】
より具体的には、移動・動作演算部１１０は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒、１／３０秒等）毎に変化させる。例えば（ｋ−１）フレームでのオブジェクトの位置、回転角度をＰk-1、θk-1とし、オブジェクトの１フレームでの位置変化量（速度）、回転変化量（回転速度）を△Ｐ、△θとする。するとｋフレームでのオブジェクトの位置Ｐk、回転角度θkは例えば下式（１）、（２）のように求められる。
【００３５】
Ｐk＝Ｐk-1＋△Ｐ              （１）
θk＝θk-1＋△θ              （２）
仮想カメラ制御部１１２は、オブジェクト空間内の所与（任意）の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転（Ｘ、Ｙ、Ｚ軸回りでの回転）を制御する処理（視点位置や視線方向を制御する処理）等を行う。
【００３６】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転（仮想カメラの方向）を制御することが望ましい。この場合には、移動・動作演算部１１０で得られた移動オブジェクトの位置、方向又は速度などの情報に基づいて、仮想カメラを制御することになる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御することになる。
【００３７】
オブジェクト空間設定部１１４は、マップなどの各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間内に設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度（方向）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転）でオブジェクトを配置する。
【００３８】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部１９０に出力する。例えば、いわゆる３次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の構成点（頂点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像が、描画バッファ１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００３９】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４０】
画像生成部１２０は、テクスチャマッピング部１２２、α合成部１２４を含む。
【００４１】
ここでテクスチャマッピング部１２２は、テクスチャ記憶部１７６に記憶されるテクスチャをオブジェクトにマッピングするための処理を行う。
【００４２】
α合成部１２４は、α値（Ａ値）に基づくα合成処理（αブレンディング、α加算又はα減算等）を行う。例えばα合成がαブレンディングである場合には下式のような合成処理が行われる。
【００４３】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2    （３）
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2    （４）
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2    （５）
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファ１７４に既に描画されている画像の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画画像の色のＲ、Ｇ、Ｂ成分である。またＲQ、ＧQ、ＢQは、αブレンディングにより生成される画像の色のＲ、Ｇ、Ｂ成分である。
【００４４】
なお、α値（Ａ値）は、各ピクセルに関連づけられて記憶される情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４５】
そして本実施形態では、テクスチャ記憶部１７６が、仮想カメラ（視点）からの距離（奥行き距離又は直線距離等）に応じて用意された複数のテクスチャを記憶する。即ちテクスチャ記憶部１７６は、第１の距離（仮想カメラから最も近い距離）用の第１のテクスチャ、第２の距離（第１の距離の次に近い距離）用の第２のテクスチャ、第３の距離（第２の距離の次に近い距離）・・・・・第Ｎの距離（仮想カメラから最も遠い距離）用の第Ｎのテクスチャを記憶する。
【００４６】
そして本実施形態では、これらの複数のテクスチャ（第１〜第Ｎのテクスチャ）として、仮想カメラからの距離に応じて異なるα値が設定されたテクスチャを用意する。
【００４７】
例えば第１のテクスチャには、透明度（半透明度、不透明度）が最も高くなるα値（例えば完全に透明となるα値）を設定する。また、第２のテクスチャには、第１のテクスチャのα値よりも透明度が低くなるα値を設定する。また、第３のテクスチャには、第２のテクスチャのα値よりも透明度が更に低くなるα値を設定する。そして第Ｎのテクスチャでは透明度が最も低くなるα値（例えば完全に不透明となるα値）を設定する。
【００４８】
そして画像生成部１２０のテクスチャマッピング部１２２は、仮想カメラからの距離に基づいて、テクスチャ記憶部１７６に記憶されるこれらの複数のテクスチャ（第１〜第Ｎのテクスチャ）の補間処理を行い、得られたテクスチャを水面オブジェクト、フォグオブジェクト等のオブジェクトにマッピングする処理を行う。
【００４９】
より具体的には、テクスチャマッピング部１２２は、描画対象となるピクセル（オブジェクトのピクセル）についての仮想カメラの距離（例えばＺバッファに格納されているＺ値）に基づいて、テクスチャ記憶部１７６に記憶される複数のテクスチャから例えば２つ（３つ以上でもよい）のテクスチャを選択する。また、仮想カメラからの距離に基づいて、補間処理に使用するテクスチャ補間率を求める。そして、選択されたテクスチャと求められたテクスチャ補間率に基づいて、テクスチャのテクセルに設定された色データ（例えばＲＧＢ）及びα値の補間処理を行う。そして、このような補間処理により得られた色データ及びα値に基づいて、描画対象となるピクセルが描画されることになる。
【００５０】
なお、メモリの使用記憶容量を節約しながら高品質な画像を生成するために、テクスチャ記憶部１７６に記憶される第１〜第Ｎのテクスチャは、ミップマップ用のテクスチャであることが望ましい。即ち、第１のテクスチャを最も精密度が高いテクスチャとし、第２のテクスチャを第１のテクスチャよりも精密度が低いテクスチャとし、第３のテクスチャを第２のテクスチャよりも精密度が低いテクスチャとし・・・・・・第Ｎのテクスチャを最も精密度が低いテクスチャとすることが望ましい。
【００５１】
またテクスチャ記憶部１７６に記憶されるテクスチャは、例えば、電源投入時等に情報記憶媒体１８０からテクスチャ記憶部１７６（ＶＲＡＭ等）に転送されるものである。
【００５２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５３】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００５４】
２．本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。なお、以下では仮想カメラからの距離（仮想カメラからオブジェクトまでの距離）がＺ値（奥行き距離）である場合を主に例にとり説明するが、本発明における仮想カメラからの距離はＺ値に限定されない。また、以下では、水面表現に本発明を適用した場合を主に例にとり説明するが、本発明は、フォグ表現等の他の画像表現にも適用できる。
【００５５】
２．１  水面表現
本実施形態では、異なるα値が設定されたテクスチャをトライリニア補間することでリアルな水面表現を実現している。
【００５６】
より具体的には本実施形態では図２に示すように、仮想カメラＶＣ（視点）からの奥行き距離であるＺ値（カメラ（視点）座標系でのＺ値）に応じて設定される、例えば４つ（少なくとも２以上）の水面表現用のテクスチャＴＥＸ１〜ＴＥＸ４を用意する。
【００５７】
ここでＴＥＸ１はＺ＝Ｚ１の場合用に用意されたテクスチャである。同様に、ＴＥＸ２、ＴＥＸ３、ＴＥＸ４は、各々、Ｚ＝Ｚ２、Ｚ３、Ｚ４の場合用に用意されたテクスチャである。
【００５８】
そして本実施形態では、これらのテクスチャ間でα値の設定を互いに異ならせている。
【００５９】
即ち、図２に示すようＴＥＸ１は、色（ＲＧＢ）のプレーンＲ１、Ｇ１、Ｂ１とα値のプレーンα１を含む。同様に、ＴＥＸ２はプレーンＲ２、Ｇ２、Ｂ２、α２を含み、ＴＥＸ３はプレーンＲ３、Ｇ３、Ｂ３、α３を含み、ＴＥＸ４はプレーンＲ４、Ｇ４、Ｂ４、α４を含む。
【００６０】
そして本実施形態では、これらのプレーンα１、α２、α３、α４のα値を互いに異ならせている。より具体的には、α１では最も高い透明度（例えば完全な透明）のα値が設定され、α２ではα１よりも低い透明度のα値が設定され、α３ではα２よりも低い透明度のα値が設定され、α４では最も低い透明度（例えば完全な不透明）のα値が設定される。
【００６１】
そして本実施形態ではこれらの水面表現用（或いはフォグ表現用）のテクスチャＴＥＸ１〜４（異なるα値が設定されたテクスチャ）を用いてトライリニア補間を行い、水面（或いはフォグ）を表現している。
【００６２】
より具体的には図３に示すように、複数のポリゴン（広義にはプリミティブ面）で構成される水面オブジェクトＯＢＳ（或いはフォグオブジェクト）を用意する。
【００６３】
そして、仮想カメラＶＣからの奥行き距離であるＺ値がＺ１（第１の距離）〜Ｚ２（第２の距離）の間にある場合には、Ｚ１用のテクスチャＴＥＸ１とＺ２用のテクスチャＴＥＸ２を選択する。そして、これらのテクスチャＴＥＸ１、ＴＥＸ２を例えば下式のような線形式で補間し、補間により得られたテクスチャＴＥＸ１２を水面オブジェクトＯＢＳにマッピングする（テクセル単位でマッピングする）。
【００６４】
ＴＥＸ１２＝（１−γ１）×ＴＥＸ１＋γ１×ＴＥＸ２    （６）
ここで、テクスチャ補間率γ１は例えばＺ値の線形式により表され、Ｚ＝Ｚ１の時にγ１＝０になり、Ｚ＝Ｚ２の時にγ１＝１になる。
【００６５】
また、Ｚ値がＺ２（第２の距離）〜Ｚ３（第３の距離）の間にある場合には、Ｚ２用のテクスチャＴＥＸ２とＺ３用のテクスチャＴＥＸ３を選択する。そして、これらのテクスチャＴＥＸ２、ＴＥＸ３を例えば下式のような線形式で補間し、補間により得られたテクスチャＴＥＸ１２を水面オブジェクトＯＢＳにマッピングする。
【００６６】
ＴＥＸ２３＝（１−γ２）×ＴＥＸ２＋γ２×ＴＥＸ３    （７）
ここで、テクスチャ補間率γ２は例えばＺ値の線形式により表され、Ｚ＝Ｚ２の時にγ２＝０になり、Ｚ＝Ｚ３の時にγ２＝１になる。
【００６７】
また、Ｚ値がＺ３（第３の距離）〜Ｚ４（第４の距離）の間にある場合には、Ｚ３用のテクスチャＴＥＸ３とＺ４用のテクスチャＴＥＸ４を選択する。そして、これらのテクスチャＴＥＸ３、ＴＥＸ４を例えば下式のような線形式で補間し、補間により得られたテクスチャＴＥＸ３４を水面オブジェクトＯＢＳにマッピングする。
【００６８】
ＴＥＸ３４＝（１−γ３）×ＴＥＸ３＋γ３×ＴＥＸ４    （８）
ここで、テクスチャ補間率γ３は例えばＺ値の線形式により表され、Ｚ＝Ｚ３の時にγ３＝０になり、Ｚ＝Ｚ４の時にγ３＝１になる。
【００６９】
そして本実施形態では前述のように、テクスチャＴＥＸ１のα値（α１）は最も高い透明度に設定され、テクスチャＴＥＸ４のα値（α４）は最も低い透明度に設定されている。
【００７０】
従って、これらのテクスチャＴＥＸ１〜４を図３に示すようにトライリニア補間して水面オブジェクトＯＢＳにマッピングすることで、仮想カメラＶＣに近い場所では透明な水面を介して水底が透けて見え、仮想カメラＶＣから遠い場所では不透明（半透明）な水面により水底が見えなくなるというリアルな画像を生成できるようになる。
【００７１】
しかも、本実施形態では、テクスチャＴＥＸ１〜４がトライリニア補間されて水面オブジェクトＯＢＳにマッピングされる。従って、テクスチャＴＥＸ１〜４を単純に切り替えてマッピングする手法と異なり、テクスチャＴＥＸ１〜４が切り替わる場所（Ｚ１、Ｚ２、Ｚ３、Ｚ４）での境界線も目立たなくなる。即ち、テクスチャの色やα値がテクスチャ単位ではなくてテクセル（ドット）単位で徐々に変化してゆくため、水面が透明から不透明にスムーズに変化して見える自然な画像を生成できる。
【００７２】
図４に本実施形態により生成された画像の例を示す。
【００７３】
図４に示すように本実施形態によれば、仮想カメラ（視点）から近い場所では、水中にある壁や水底が透けて見え、仮想カメラから遠ざかるにつれて、水面が徐々に不透明になり水底が透けて見えなくなるリアルな水面表現を実現できる。
【００７４】
なお、図５に示すように、トライリニア補間に使用する複数のテクスチャＴＥＸ１〜４は、仮想カメラＶＣからの距離（Ｚ値）が遠くなるにつれて精密度が低くなるミップマップ用のテクスチャであることが望ましい。
【００７５】
より具体的には図５に示すように、Ｚ＝Ｚ２用のテクスチャＴＥＸ２として、Ｚ＝Ｚ１用のテクスチャＴＥＸ１よりもテクセル数（ドット数）が少ないテクスチャ（精密度、解像度が低いテクスチャ）を使用する。同様に、Ｚ＝Ｚ３用のテクスチャＴＥＸ３として、Ｚ＝Ｚ２用のテクスチャＴＥＸ２よりもテクセル数が少ないテクスチャを使用し、Ｚ＝Ｚ４用のテクスチャＴＥＸ４として、Ｚ＝Ｚ３用のテクスチャＴＥＸ３よりもテクセル数が少ないテクスチャを使用する。
【００７６】
このようにすれば、仮想カメラＶＣからの距離が近い場所では、精密度の高いテクスチャにより高精細な画像を生成できる。
【００７７】
一方、仮想カメラＶＣからの距離が遠い場所では、精密度の低いテクスチャにより画像が生成されてしまう反面、テクスチャの使用記憶容量を節約できるという利点を得ることができる。そして、仮想カメラＶＣからの距離が遠い場所では、距離が遠いため画像の粗さが目立たなく、それほど問題は生じない。このように図５の手法を採用すれば、少ないメモリ使用記憶容量で高品質な画像を生成できるという利点を得ることができる。
【００７８】
２．２  フォグ表現
図３では、仮想カメラＶＣの前方に広がる水面（フォグでもよい）を表現する場合について説明したが、プレーヤの足下からプレーヤの前方にフォグが流れて行くような表現にも本実施形態は適用できる。
【００７９】
例えば図６（Ａ）、（Ｂ）、（Ｃ）に示すように、仮想カメラＶＣからの距離（Ｚ値）が離れる方向に、フォグオブジェクトＯＢＦをリアルタイムに移動させる（ＶＣとＯＢＦの相対的な距離を変化させる）。
【００８０】
そして図３で説明した手法を用いて、図６（Ａ）、（Ｂ）に示すように仮想カメラＶＣからの距離が離れるにつれてフォグオブジェクトＯＢＦの透明度が徐々に低くなる（徐々に不透明になる）画像を生成する。
【００８１】
一方、図６（Ｃ）に示すように、仮想カメラＶＣからの距離が所与の距離（ＺＧ）以上になった場合には、今度は逆に、仮想カメラＶＣからの距離が離れるにつれてフォグオブジェクトＯＢＦの透明度が徐々に高くなる（徐々に透明になる）画像を生成する。
【００８２】
より具体的には以下のような手法により図６（Ａ）、（Ｂ）、（Ｃ）のフォグオブエジェクトを表現する。
【００８３】
即ち図２と同様に、仮想カメラＶＣからの距離（Ｚ値）に応じて設定される複数（少なくとも２以上）のフォグ表現用のテクスチャＴＥＸ１〜ＴＥＸ４を用意する。
【００８４】
そして図２と同様に、これらのテクスチャ間でα値の設定を互いに異ならせておく。即ち、テクスチャＴＥＸ１〜４が含むαプレーンα１〜４を互いに異ならせる。
【００８５】
そして、これらのフォグ表現用のテクスチャＴＥＸ１〜４を用いてトライリニア補間を行い、フォグを表現する。
【００８６】
より具体的には図３と同様に、フォグオブジェクトＯＢＦのＺ値（仮想カメラＶＣからの距離）がＺ１〜Ｚ２の間にある場合にはテクスチャＴＥＸ１、２を選択し、これらのテクスチャＴＥＸ１、２を線形補間し、補間により得られたテクスチャＴＥＸ１２をＯＢＦにマッピングする。
【００８７】
また、フォグオブジェクトＯＢＦのＺ値がＺ２〜Ｚ３の間にある場合にはテクスチャＴＥＸ２、３を選択し、これらのＴＥＸ２、３を線形補間し、補間により得られたテクスチャＴＥＸ２３をＯＢＦにマッピングする。
【００８８】
また、フォグオブジェクトＯＢＦのＺ値がＺ３〜Ｚ４の間にある場合にはテクスチャＴＥＸ３、４を選択し、これらのＴＥＸ３、４を線形補間し、補間により得られたテクスチャＴＥＸ３４をＯＢＦにマッピングする。
【００８９】
このようにすることで、仮想カメラＶＣに近い場所では透明なフォグを介して地面（背景）が透けて見え、ＶＣからＺＧの距離では不透明なフォグにより地面が透けて見えなくなり、ＶＣから更に離れると再度地面が透けて見えるようになるというリアルなフォグ表現を実現できる。
【００９０】
しかも、本実施形態では、テクスチャＴＥＸ１〜４がトライリニア補間されてフォグオブジェクトＯＢＦにマッピングされるため、ＴＥＸ１〜４が切り替わる様子も目立たなくなる。
【００９１】
従って図７に模式的に示されるように、フォグが透明から不透明、不透明から透明にスムーズに変化して見えるリアルな画像を生成できるようになる。
【００９２】
２．３  トライリニア補間
次に、トライリニア補間の詳細について説明する。
【００９３】
図８に、トライリニア補間を実現するテクスチャマッピング部の機能ブロック図の例を示す。なお図８のテクスチャマッピング部の機能は、ハードウェアのみにより実現してもよいし、プログラム（ソフトウェア）のみによりも実現してもよい。或いはハードウェアとプログラムの両方により実現してもよい。
【００９４】
ピクセルデータ演算部１４０は、前段から入力されたポリゴンデータ（広義にはプリミティブ面データ）に基づいてポリゴンの各ピクセル（ドット）のデータを求める。
【００９５】
ここで、ピクセルデータ演算部１４０に入力されるポリゴンデータは、ポリゴンの各頂点（構成点）の位置座標ＶＸ、ＶＹ、ＶＺ、テクスチャ座標ＶＴＸ、ＶＴＹ等を含む。また、ピクセルデータ演算部１４０が出力するピクセルデータは、ポリゴンの各ピクセルの位置座標（表示座標）Ｘ、Ｙ、テクスチャ座標ＴＸ、ＴＹ、Ｚ値Ｚ等を含む。
【００９６】
アドレス生成部１４２は、ピクセルデータ演算部１４０から入力されたピクセルデータ（ＴＸ、ＴＹ、Ｚ）に基づいて、テクスチャ記憶部１７６に記憶されるテクスチャを読み出すためのテクスチャアドレスを生成し、テクスチャ記憶部１７６に出力する。また、Ｚ値に基づいてテクスチャ補間率γを算出し、補間部１４４に出力する。
【００９７】
テクスチャ記憶部１７６は、アドレス生成部１４２から入力されたテクスチャアドレスに基づいて、テクスチャの各テクセルのデータを補間部１４４に出力する。
【００９８】
ここで、テクスチャ記憶部１７６が出力するテクセルデータは、テクスチャの各テクセルの色データＲ、Ｇ、Ｂ、α値を含む。
【００９９】
補間部１４４は、アドレス生成部１４２からのテクスチャ補間率γとテクスチャ記憶部１７６からのテクセルデータ（Ｒ、Ｇ、Ｂ、α）に基づいて補間処理を行い、補間テクセルデータ（Ｒ’、Ｇ’、Ｂ’、α’）を算出する。
【０１００】
そして、ピクセルデータ演算部１４０からの位置（表示）座標（Ｘ、Ｙ）と補間テクセルデータ（Ｒ’、Ｇ’、Ｂ’、α’）に基づいてポリゴンの描画処理が行われる。より具体的には、位置座標（Ｘ、Ｙ）により特定される描画バッファ（フレームバッファ）の各ピクセルに対して、補間テクセルデータ（Ｒ’、Ｇ’、Ｂ’、α’）が描画される。
【０１０１】
本実施形態では、アドレス生成部１４２が、各ピクセルのテクスチャ座標ＴＸ、ＴＹ及びＺ値（仮想カメラからの距離）に基づいて、複数のテクスチャＴＥＸ１〜４から２つ（２以上）のテクスチャを選択するためのテクスチャアドレスを生成すると共にテクスチャ補間率γを算出する。図３を例にとれば、Ｚ値がＺ１〜Ｚ２の間にある場合にはテクスチャＴＥＸ１、ＴＥＸ２を読み出すためのテクスチャアドレスが生成される。また、Ｚ値に基づく線形補間により、ＴＥＸ１とＴＥＸ２を補間するためのテクスチャ補間率γを算出する。
【０１０２】
そして、補間部１４４は、生成されたテクスチャアドレスによりテクスチャ記憶部１７６から読み出されたテクセルデータ（Ｒ、Ｇ、Ｂ、α）と、アドレス生成部１４２からのテクスチャ補間率γとに基づいて、図３で説明したような補間処理を行い、補間テクセルデータ（Ｒ’、Ｇ’、Ｂ’、α’）を算出する。そして、この補間テクセルデータ（Ｒ’、Ｇ’、Ｂ’、α’）に基づいて、当該ピクセルについての描画行われることになる。
【０１０３】
本実施形態では図８に示すように、オブジェクトの各ピクセルのＺ値に基づいてテクスチャアドレスが生成される（テクスチャが選択される）と共にテクスチャ補間率γが算出される。従って、補間により得られた補間テクセルデータ（Ｒ’、Ｇ’、Ｂ’、α’）は、テクセル（ピクセル）単位で滑らかに変化することになるため、テクセル間の境界が目立ってしまうというような事態を防止でき、スムーズにα値が変化する高品質な画像を生成できる。
【０１０４】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図９のフローチャートを用いて説明する。
【０１０５】
まず、視点（仮想カメラ）から遠いほど透明度が低くなるα値が設定されたミップマップ用の複数のテクスチャ（図２、図５参照）を、テクスチャ記憶部（ＶＲＡＭ等）に転送しておく（ステップＳ１）。
【０１０６】
次に、転送されたミップマップ用の複数のテクスチャのうち、視点から最も近い２枚のテクスチャの組を選択する（ステップＳ２）。即ち図３においてテクスチャＴＥＸ１、２の組を選択する。
【０１０７】
次に、描画対象となるピクセルのＺ値が、選択された２枚のテクスチャの設定Ｚ値の間の値か否かを判断する（ステップＳ３）。即ち図３において、Ｚ値がＺ１〜Ｚ２の間の値か否かを判断する。そして、設定Ｚ値の間の値ではないと判断された場合には、視点から次に近い２枚のテクスチャの組を選択して（ステップＳ４）、ステップＳ３に戻る。即ち図３においてテクスチャＴＥＸ２、３を選択する。
【０１０８】
一方、ステップＳ３で設定Ｚ値の間の値であると判断された場合には、描画対象ピクセルのＺ値と、選択された２枚のテクスチャの設定Ｚ値とに基づいて、テクスチャ補間率を求める（ステップＳ５）。即ち図３において、描画対象ピクセルのＺ値と、テクスチャＴＥＸ１、２の設定Ｚ値Ｚ１、Ｚ２に基づいて、テクスチャ補間率γ１を求める。
【０１０９】
次に、ステップＳ５で求められたテクスチャ補間率に基づいて、選択された２枚のテクスチャのテクセルのＲ、Ｇ、Ｂ、α値を補間する（ステップＳ６）。即ち図３において、テクスチャ補間率γに基づいて、ＴＥＸ１、２のテクセルのＲ、Ｇ、Ｂ、α値を補間する。
【０１１０】
次に、ステップＳ６の補間処理により得られたＲ、Ｇ、Ｂ、α値に基づいて、α合成処理（αブレンディング）を行いながら、描画対象ピクセルを描画する処理を行う（ステップＳ７）。
【０１１１】
以上の処理をオブジェクト（ポリゴン）の各ピクセルに対して行うことにより、視点から遠ざかるにつれて徐々に透明度が変化する水面やフォグの画像を生成できるようになる。
【０１１２】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１０を用いて説明する。
【０１１３】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１１４】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１１５】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１１６】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１１７】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１１８】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１１９】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１２０】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１２１】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１２２】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１２３】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１２４】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１２５】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現（実行）してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１２６】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【０１２７】
図１１（Ａ）に、本実施形態を業務用ゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤは、ディスプレイ１１００、１１０１上に映し出されたゲーム画像を見ながら、ガン型コントローラ１１０２、１１０３などを操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラム（格納情報）と呼ぶ。
【０１２８】
図１１（Ｂ）に、本実施形態を家庭用のゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ガン型コントローラ１２０２、１２０４などを操作してゲームを楽しむ。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９などに格納されている。
【０１２９】
図１１（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-１〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム（格納情報）は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体１３０６に格納されている。端末１３０４-１〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-１〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-１〜１３０４-nに伝送し端末において出力することになる。
【０１３０】
なお、図１１（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム（格納情報）を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１３１】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１３２】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１３３】
例えば本発明の手法は、水面オブジェクトやフォグオブジェクトの画像生成に特に有効だが、これら以外のオブジェクトの画像生成にも適用できる。
【０１３４】
またトライリニア補間の手法としては図３で説明した手法が特に望ましいが、これと均等な種々の変形実施が可能である。
【０１３５】
また、テクスチャのα値の設定手法も、図２等で説明した手法が特に望ましいが、これに限定されるものではない。
【０１３６】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１３７】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１３８】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】テクスチャのα値の設定手法について説明するための図である。
【図３】異なるα値が設定されたテクスチャをトライリニア補間することにより水面を表現する手法について説明するための図である。
【図４】本実施形態により生成された画像の例を示す図である。
【図５】ミップマップ用のテクスチャについて説明するための図である。
【図６】図６（Ａ）、（Ｂ）、（Ｃ）は、仮想カメラから離れる方向に移動するフォグオブジェクトによりフォグを表現する手法について説明するための図である。
【図７】本実施形態により生成された画像の例を示す図である。
【図８】トライリニア補間を行うテクスチャマッピング部の詳細な機能ブロック図の例である。
【図９】本実施形態の処理の詳細例について示すフローチャートである。
【図１０】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１１】図１１（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
ＶＣ    仮想カメラ
ＯＢＳ  水面オブジェクト
ＯＢＦ  フォグオブジェクト
ＴＥＸ１〜４  テクスチャ
Ｚ      Ｚ値（仮想カメラからの距離）
Ｚ１〜４  設定Ｚ値
α１〜４  α値（αプレーン）
γ１〜４  テクスチャ補間率
１００  処理部
１１０  移動・動作演算部
１１２  仮想カメラ制御部
１１４  オブジェクト空間設定部
１２０  画像生成部
１２２  テクスチャマッピング部
１２４  α合成部
１３０  音生成部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１７６  テクスチャ記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0004610748.tif 000002
【図２】
0004610748.tif 000003
【図３】
0004610748.tif 000004
【図４】
0004610748.tif 000005
【図５】
0004610748.tif 000006
【図６】
0004610748.tif 000007
【図７】
0004610748.tif 000008
【図８】
0004610748.tif 000009
【図９】
0004610748.tif 000010
【図１０】
0004610748.tif 000011
【図１１】
0004610748.tif 000012