(57)【特許請求の範囲】
【請求項１】
画像生成を行うシステムであって、
所与の瞬間における仮想３次元空間を所定の視点に対して透視変換した２次元画像を生成する手段と、
仮想３次元空間における水滴の存在位置または表示画像における水滴の表示希望位置に応じて、前記２次元画像上における当該水滴の代表点対応位置を求め、水滴を構成する頂点または構成点について、予め求めておいた前記２次元画像上の代表点対応位置相対の参照先情報を用いて、各水滴を構成する頂点または構成点に対応する２次元画像上の参照位置を求める手段と、
各水滴を構成する頂点または構成点と求めた参照位置とを関連づけて、前記２次元画像の少なくとも一部を水滴にマッピングする処理を行い、所与の瞬間またはその近傍のフレームにおける水滴の画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記２次元画像は前記所与の瞬間における仮想３次元空間の仮想カメラから見た画像であることを特徴とする画像生成システム。
【請求項３】
請求項１〜２のいずれかにおいて、
前記代表点対応位置相対の参照先情報は、水滴の形状及びレンズとしての性質の少なくとも一つに応じて予め設定しておくことを特徴とする画像生成システム。
【請求項４】
請求項１〜３のいずれかにおいて、
各水滴を構成する頂点または構成点について各水滴の代表点対応位置に対するオフセット値を前記参照先情報として予め求めておき、当該オフセット値を用いて、各水滴を構成する頂点または構成点に対応する２次元画像上の参照位置を求めることを特徴とする画像生成システム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記水滴を移動させ、移動中の水滴位置に基づいて水滴の代表点対応位置を決定し、水滴の映り込み画像を生成することを特徴とする画像生成システム。
【請求項６】
請求項１〜５のいずれかにおいて、
所与の水滴を第一の形状から第二の形状に変形させる際に、第一の形状の水滴に関しては第一の形状の水滴に対して予め求めた第一の参照先情報に基づき水滴への映り込み画像を生成し、第二の形状の水滴に関しては第二の形状の水滴に対して予め求めた第二の参照先情報に基づき水滴への映り込み画像を生成し、第一の形状から第二の形状に変形する過程の水滴に関しては、変形の進行度合いに応じて前記第一の参照先情報と前記第二の参照先情報を補間して、補間後の参照先情報に基づき水滴への映り込み画像を生成することを特徴とする画像生成システム。
【請求項７】
請求項１〜６のいずれかにおいて、
仮想カメラの画角の変化に応じて、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つを動的に変化させる手段をさらに含むことを特徴とする画像生成システム。
【請求項８】
請求項１〜７のいずれかにおいて、
画角が狭くなるにつれ水滴の形状を多角形またはカメラの絞りの形状に近づくように変化させることを特徴とする画像生成システム。
【請求項９】
画像生成を行うシステムであって、
仮想カメラの画角の変化に応じて、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つの設定を動的に変化させる手段と、
前記設定に従って水滴の画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項１０】
画像生成を行うシステムであって、
水滴のぼけ具合が変化するイベントを検出して、イベント内容に基づき、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つの設定を動的に変化させる手段と、
前記設定に従って水滴の画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項１１】
請求項９〜１０のいずれかにおいて、
水滴のエッジの透明度を水滴自体の透明度とは別個に制御し、水滴のエッジが目立たなくなるように透明度を変化させることでぼけた水滴の画像を生成することを特徴とする画像生成システム。
【請求項１２】
請求項９〜１１のいずれかにおいて、
画角がせまくなると水滴の形状を多角形またはカメラの絞りの形状に近づくように変化させることを特徴とする画像生成システム。
【請求項１３】
請求項１〜１２のいずれかにおいて、
前記水滴は、仮想３次元空間を写すカメラに付着した水滴であるという設定の水滴画像を生成することを特徴とする画像生成システム。
【請求項１４】
コンピュータを、
所与の瞬間における仮想３次元空間を所定の視点に対して透視変換した２次元画像を生成する手段、
仮想３次元空間における水滴の存在位置または表示画像における水滴の表示希望位置に応じて、前記２次元画像上における当該水滴の代表点対応位置を求め、水滴を構成する頂点または構成点について、予め求めておいた前記２次元画像上の代表点対応位置相対の参照先情報を用いて、各水滴を構成する頂点または構成点に対応する２次元画像上の参照位置を求める手段、
各水滴を構成する頂点または構成点と求めた参照位置とを関連づけて、前記２次元画像の少なくとも一部を水滴にマッピングする処理を行い、所与の瞬間またはその近傍のフレームにおける水滴の画像を生成する手段、
として機能させることを特徴とするプログラム。
【請求項１５】
請求項１４において、
前記２次元画像は前記所与の瞬間における仮想３次元空間の仮想カメラから見た画像であることを特徴とするプログラム。
【請求項１６】
請求項１４〜１５のいずれかにおいて、
前記代表点対応位置相対の参照先情報は、水滴の形状及びレンズとしての性質の少なくとも一つに応じて予め設定しておくことを特徴とするプログラム。
【請求項１７】
請求項１４〜１６のいずれかにおいて、
各水滴を構成する頂点または構成点について各水滴の代表点対応位置に対するオフセット値を前記参照先情報として予め求めておき、当該オフセット値を用いて、各水滴を構成する頂点または構成点に対応する２次元画像上の参照位置を求めることを特徴とするプログラム。
【請求項１８】
請求項１４〜１７のいずれかにおいて、
前記水滴を移動させ、移動中の水滴位置に基づいて水滴の代表点対応位置を決定し、水滴の映り込み画像を生成することを特徴とするプログラム。
【請求項１９】
請求項１４〜１８のいずれかにおいて、
所与の水滴を第一の形状から第二の形状に変形させる際に、第一の形状の水滴に関しては第一の形状の水滴に対して予め求めた第一の参照先情報に基づき水滴への映り込み画像を生成し、第二の形状の水滴に関しては第二の形状の水滴に対して予め求めた第二の参照先情報に基づき水滴への映り込み画像を生成し、第一の形状から第二の形状に変形する過程の水滴に関しては、変形の進行度合いに応じて前記第一の参照先情報と前記第二の参照先情報を補間して、補間後の参照先情報に基づき水滴への映り込み画像を生成することを特徴とするプログラム。
【請求項２０】
請求項１４〜１９のいずれかにおいて、
コンピュータをさらに、
仮想カメラの画角の変化に応じて、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つを動的に変化させる手段
として機能させることを特徴とするプログラム。
【請求項２１】
請求項１４〜２０のいずれかにおいて、
画角が狭くなるにつれ水滴の形状を多角形またはカメラの絞りの形状に近づくように変化させることを特徴とするプログラム。
【請求項２２】
コンピュータを、
仮想カメラの画角の変化に応じて、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つの設定を動的に変化させる手段、
前記設定に従って水滴の画像を生成する手段、
として機能させることを特徴とするプログラム。
【請求項２３】
コンピュータを、
水滴のぼけ具合が変化するイベントを検出して、イベント内容に基づき、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つの設定を動的に変化させる手段、
前記設定に従って水滴の画像を生成する手段、
として機能させることを特徴とするプログラム。
【請求項２４】
請求項２２〜２３のいずれかにおいて、
水滴のエッジの透明度を水滴自体の透明度とは別個に制御し、水滴のエッジが目立たなくなるように透明度を変化させることでぼけた水滴の画像を生成することを特徴とするプログラム。
【請求項２５】
請求項２２〜２４のいずれかにおいて、
画角がせまくなると水滴の形状を多角形またはカメラの絞りの形状に近づくように変化させることを特徴とするプログラム。
【請求項２６】
請求項１４〜２５のいずれかにおいて、
前記水滴は、仮想３次元空間を写すカメラに付着した水滴であるという設定の水滴画像を生成することを特徴とするプログラム。
【請求項２７】
コンピュータにより読みとり可能な情報記憶媒体であって、請求項１４〜２６のいずれかのプログラムが記憶されていることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
現実世界では、例えば雨や水しぶき等の水滴が付着しているカメラごしに外界を見ると光の屈折により、水滴に外界の景色が映り込む現象に出くわすことがある。
【０００３】
このような現象を例えばゲームシステム等で仮想３次元空間の画像生成する際に行うことができると、水滴についてよりリアルな光の屈折表現を行うことができる。
【０００４】
ところが当該光の屈折を忠実にシミュレーションして外界が移り込んだ水滴を表現しようとすると、例えば各水滴毎にどのような景色が移り込むかを演算して描画する必要があるため複雑で膨大な計算が必要となる。したがって、ゲームシステム等の限られた処理能力のハードウエアでは、光の屈折をリアルタイムにシミュレートした水滴の画像を生成することは困難である。
【０００５】
また例えばカメラに付着した水滴の見え方は、カメラの画角変化や、ピントのずれや、カメラの絞りの影響を受けて複雑に変化する。
【０００６】
この複雑な変化をリアルタイムにシミュレートするにはさらに複雑な計算が必要となる。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない演算負荷でリアルな水滴の画像をリアルタイムに生成可能な画像生成システム、プログラム及び情報記憶媒体を提供することである。
【０００８】
【課題を解決するための手段】
（１）本発明は、画像生成を行うシステムであって、
所与の瞬間における仮想３次元空間を所定の視点に対して透視変換した２次元画像を生成する手段と、
仮想３次元空間における水滴の存在位置または表示画像における水滴の表示希望位置に応じて、前記２次元画像上における当該水滴の代表点対応位置を求め、水滴を構成する頂点または構成点について、予め求めておいた前記２次元画像上の代表点対応位置相対の参照先情報を用いて、各水滴を構成する頂点または構成点に対応する２次元画像上の参照位置を求める手段と、
各水滴を構成する頂点または構成点と求めた参照位置とを関連づけて、前記２次元画像の少なくとも一部を水滴にマッピングする処理を行い、所与の瞬間またはその近傍のフレームにおける水滴の画像を生成する手段と、
を含むことを特徴とする。
【０００９】
また本発明にかかるプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させることを特徴とする。また本発明にかかる情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体、上記手段をコンピュータに実現させるためのプログラムを含むことを特徴とする。
【００１０】
ここにおいて各水滴を構成する頂点とは、例えば各水滴がポリゴンモデルで構成されている場合には当該ポリゴンの頂点であり、各水滴が自由曲面で構成されている場合には、当該自由曲面の構成点である。
【００１１】
前記２次元画像は、例えば所与の瞬間における仮想３次元空間の仮想カメラから見た画像でもよいし、仮想カメラとは異なる視点から見た仮想３次元空間の画像でもよい。
【００１２】
２次元画像上の参照位置とは例えば２次元画像をテクスチャとして用いてマッピングを行う際のＵＶ座標等でもよい。
【００１３】
本発明によれは、リアルタイムに変化する仮想３次元空間の様子が映り込んだ水滴の画像を生成することができる。
【００１４】
また本発明によれば、水滴を構成する頂点または構成点について、予め求めておいた前記２次元画像上の代表点対応位置相対の参照先情報を用いて、各水滴を構成する頂点または構成点の２次元画像上の対応参照位置を求めるので、その都度水滴の光の屈折演算を行い、どのような画像が水滴に移り込むのか演算する場合に比べて処理負荷を大幅に削減することができる。
【００１５】
（２）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、
前記２次元画像は前記所与の瞬間における仮想３次元空間の仮想カメラから見た画像であることを特徴とする。
【００１６】
本発明によれば、例えばフレームバッファの画像を前記２次元画像として利用することができるので、水滴の映り込み画像を生成するための画像をわざわざ特別に生成若しくは用意する必要がなく、処理付加を増大させることなく、リアルタイムに変化する仮想３次元空間の様子が映り込んだ水滴の画像を生成することができる。
【００１７】
（３）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、
前記代表点対応位置相対の参照先情報は、水滴の形状及びレンズとしての性質の少なくとも一つに応じて予め設定しておくことを特徴とする。
【００１８】
本発明によれば、水滴の形状及びレンズとしての性質の少なくとも一つが変化すると、各水滴を構成する頂点または構成点の２次元画像上の対応位置も変化するため、よりリアルに光の屈折による水滴への映り込みを表現することができる。
【００１９】
（４）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、
各水滴を構成する頂点または構成点について各水滴の代表点対応位置に対するオフセット値を前記参照先情報として予め求めておき、当該オフセット値を用いて、各水滴を構成する頂点または構成点に対応する２次元画像上の参照位置を求めることを特徴とする。
【００２０】
（５）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、
前記水滴を移動させ、移動中の水滴位置に基づいて水滴の代表点対応位置を決定し、水滴の映り込み画像を生成することを特徴とする。
【００２１】
本発明によれば、水滴の移動につれてその映り込み画像が変化するので、よりリアルに水滴の移動を表現することができる。
【００２２】
（６）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、
所与の水滴を第一の形状から第二の形状に変形させる際に、第一の形状の水滴に関しては第一の形状の水滴に対して予め求めた第一の参照先情報に基づき水滴への映り込み画像を生成し、第二の形状の水滴に関しては第二の形状の水滴に対して予め求めた第二の参照先情報に基づき水滴への映り込み画像を生成し、第一の形状から第二の形状に変形する過程の水滴に関しては、変形の進行度合いに応じて前記第一の参照先情報と前記第二の参照先情報を補間して、補間後の参照先情報に基づき水滴への映り込み画像を生成することを特徴とする。
【００２３】
１個の水滴が変形する場合でもよいし、複数の水滴が合体する場合でもよいし、１個の水滴が複数に分裂する場合でもよい。
【００２４】
水滴の形状の変形は例えばモーフィングの手法により行うことができるが、単にモデルを差し替えて行う場合でもよい。後者の場合は変形前後の頂点の対応関係を明らかにさせておくことが好ましい。
【００２５】
本発明によれば、第一の形状から第二の形状に変形する過程の水滴に関しては、変形の進行度合いに応じて前記第一の参照先情報と前記第二の参照先情報を補間して、補間後の参照先情報に基づき水滴への映り込み画像を生成するので、水滴の変形に合わせて映り込み画像もなめらかに変形させることができる。
【００２６】
（７）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、
仮想カメラの画角の変化に応じて、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つを動的に変化させる手段をさらに含むことを特徴とする。
【００２７】
ここにおいて例えば、画角が狭くなるほど水滴を大きく、画角が広くなるほど水滴を小さくすることができる。
【００２８】
また例えば、画角が狭くなるほど水滴がみえにくくなるように水滴の透明度を調整し、画角が広くなるほど水滴がよく見えるように水滴の透明度を調整することができる。
【００２９】
また例えば、画角が狭くなるほどエッジが目立たなくなるように水滴のエッジの透明度を調整し、画角が広くなるほどエッジが目だつように水滴のエッジの透明度を調整することができる。
【００３０】
また例えば、画角が狭くなるほど水滴の形状をカメラ絞りの形や６角形等の多角形に近づかせるようにすることができる。
【００３１】
本発明によれば画角の変化に応じて水滴の見え方が変化する様子をリアルに表現することができる。
【００３２】
（８）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、
画角が狭くなるにつれ水滴の形状を多角形またはカメラの絞りの形状に近づくように変化させることを特徴とする。
【００３３】
（９）本発明は、画像生成を行うシステムであって、
仮想カメラの画角の変化に応じて、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つの設定を動的に変化させる手段と、
前記設定に従って水滴の画像を生成する手段と、
を含むことを特徴とする。
【００３４】
また本発明にかかるプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させることを特徴とする。また本発明にかかる情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体、上記手段をコンピュータに実現させるためのプログラムを含むことを特徴とする。
【００３５】
ここにおいて例えば、画角が狭くなるほど水滴を大きく、画角が広くなるほど水滴を小さくすることができる。
【００３６】
また例えば、画角が狭くなるほど水滴がみえにくくなるように水滴の透明度を調整し、画角が広くなるほど水滴がよく見えるように水滴の透明度を調整することができる。
【００３７】
また例えば、画角が狭くなるほどエッジが目立たなくなるように水滴のエッジの透明度を調整し、画角が広くなるほどエッジが目だつように水滴のエッジの透明度を調整することができる。
【００３８】
また例えば、画角が狭くなるほど水滴の形状をカメラ絞りの形や６角形等の多角形に近づかせるようにすることができる。
【００３９】
本発明によれば画角の変化に応じて水滴の見え方が変化する様子をリアルに表現することができる。
【００４０】
（１０）本発明は、画像生成を行うシステムであって、
水滴のぼけ具合が変化するイベントを検出して、イベント内容に基づき、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つの設定を動的に変化させる手段と、
前記設定に従って水滴の画像を生成する手段と、
を含むことを特徴とする。
【００４１】
また本発明にかかるプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させることを特徴とする。また本発明にかかる情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体、上記手段をコンピュータに実現させるためのプログラムを含むことを特徴とする。
【００４２】
水滴のぼけ具合が変化するイベントとは、例えば、カメラのピントずれや画角の変化やその他の水滴のぼける映像効果を発生させるイベントである。
【００４３】
ここにおいて例えば、水滴がぼけるほど水滴を大きく、水滴が鮮明になるほど水滴を小さくすることができる。
【００４４】
また例えば、水滴がぼけるほど水滴がみえにくくなるように水滴の透明度を調整し、水滴が鮮明になるほど水滴がよく見えるように水滴の透明度を調整することができる。
【００４５】
また例えば、水滴がぼけるほどエッジが目立たなくなるように水滴のエッジの透明度を調整し、水滴が鮮明になるほどエッジが目だつように水滴のエッジの透明度を調整することができる。
【００４６】
また例えば、水滴がぼけるほど水滴の形状をカメラ絞りの形や６角形等の多角形に近づかせるようにすることができる。
【００４７】
本発明によれば水滴のぼけ具合が変化するイベントの発生に応じて水滴の見え方が変化する様子をリアルに表現することができる。
【００４８】
（１１）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、水滴のエッジの透明度を水滴自体の透明度とは別個に制御し、水滴のエッジが目立たなくなるように透明度を変化させることでぼけた水滴の画像を生成することを特徴とする。
【００４９】
本発明によれば簡易な処理で水滴の縁をぼかすことができるので、少ない演算負荷で水滴のぼけた様子を表現することができる。
【００５０】
（１２）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、画角がせまくなると水滴の形状を多角形またはカメラの絞りの形状に近づくように変化させることを特徴とする。
【００５１】
（１３）また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記水滴は、仮想３次元空間を写すカメラに付着した水滴であるという設定の水滴画像を生成することを特徴とする。
【００５２】
本発明によれば例えば試合やレースを中継するカメラ等に水滴が付着している様子をリアルに表現することができる。
【００５３】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００５４】
１．構成
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００５５】
図１に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく、それ以外のブロックについては、任意の構成要素とすることができる。
【００５６】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００５７】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００５８】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、メインメモリ１７２、フレームバッファ１７４（第１のフレームバッファ、第２のフレームバッファ）として機能し、ＲＡＭなどのハードウェアにより実現できる。
【００５９】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００６０】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００６１】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００６２】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００６３】
セーブ用情報記憶装置１９４は、プレーヤの個人データ（セーブデータ）などが記憶されるものであり、このセーブ用情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００６４】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００６５】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００６６】
処理部１００は、ゲーム処理部１１０、画像生成部１３０、音生成部１５０を含む。
【００６７】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置するための処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部１６０からの操作データや、セーブ用情報記憶装置１９４からの個人データや、ゲームプログラムなどに基づいて行う。
【００６８】
画像生成部１３０は、ゲーム処理部１１０からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。また、音生成部１５０は、ゲーム処理部１１０からの指示等にしたがって各種の音処理を行い、ＢＧＭ、効果音、音声などの音を生成し、音出力部１９２に出力する。
【００６９】
なお、ゲーム処理部１１０、画像生成部１３０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００７０】
ゲーム処理部１１０は、移動・動作演算部１１２を含む。
【００７１】
ここで移動・動作演算部１１２は、キャラクタ車などのオブジェクトの移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００７２】
より具体的には、移動・動作演算部１１２は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでのオブジェクトの位置をＰＭｋ−１、速度をＶＭｋ−１、加速度をＡＭｋ−１、１フレームの時間を△ｔとする。するとｋフレームでのオブジェクトの位置ＰＭｋ、速度ＶＭｋは例えば下式（１）、（２）のように求められる。
【００７３】
ＰＭｋ＝ＰＭｋ−１＋ＶＭｋ−１×△ｔ              （１）
ＶＭｋ＝ＶＭｋ−１＋ＡＭｋ−１×△ｔ              （２）
画像生成部１３０は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）や、ジオメトリ処理後のオブジェクト（モデル）を、フレームバッファに描画する描画処理を行う。
【００７４】
画像生成部１３０は水滴処理部１４０を含む。
【００７５】
水滴処理部１４０は、所与の瞬間における仮想３次元空間を所定の視点に対して透視変換した２次元画像を生成し、仮想３次元空間における水滴の存在位置または表示画像における水滴の表示希望位置に応じて、前記２次元画像上における当該水滴の代表点対応位置を求め、水滴を構成する頂点または構成点について、予め求めておいた前記２次元画像上の代表点対応位置相対の参照先情報を用いて、各水滴を構成する頂点または構成点に対応する２次元画像上の参照位置を求め、各水滴を構成する頂点または構成点と求めた参照位置とを関連づけて、前記２次元画像の少なくとも一部を水滴にマッピングする処理を行い、所与の瞬間またはその近傍のフレームにおける水滴の画像を生成する処理を行うようにしてもよい。
【００７６】
また前記２次元画像は前記所与の瞬間における仮想３次元空間の仮想カメラから見た画像でもよい。
【００７７】
また前記代表点対応位置相対の参照先情報は、水滴の形状及びレンズとしての性質の少なくとも一つに応じて予め設定しておくようにしてもよい。
【００７８】
また各水滴を構成する頂点または構成点について各水滴の代表点対応位置に対するオフセット値を前記参照先情報として予め求めておき、当該オフセット値を用いて、各水滴を構成する頂点または構成点に対応する２次元画像上の参照位置を求めるようにしてもよい。
【００７９】
また前記水滴を移動させ、移動中の水滴位置に基づいて水滴の代表点対応位置を決定し、水滴の映り込み画像を生成するようにしてもよい。
【００８０】
また所与の水滴を第一の形状から第二の形状に変形させる際に、第一の形状の水滴に関しては第一の形状の水滴に対して予め求めた第一の参照先情報に基づき水滴への映り込み画像を生成し、第二の形状の水滴に関しては第二の形状の水滴に対して予め求めた第二の参照先情報に基づき水滴への映り込み画像を生成し、第一の形状から第二の形状に変形する過程の水滴に関しては、変形の進行度合いに応じて前記第一の参照先情報と前記第二の参照先情報を補間して、補間後の参照先情報に基づき水滴への映り込み画像を生成する処理を行うようにしてもよい。
【００８１】
また仮想カメラの画角の変化に応じて、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つを動的に変化させる処理をさらに行うようにしてもよい。
【００８２】
また画角が狭くなるにつれ水滴の形状を多角形またはカメラの絞りの形状に近づくように変化させるようにしてもよい。
【００８３】
また水滴のぼけ具合が変化するイベントを検出して、イベント内容に基づき、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つの設定を動的に変化させ、前記設定に従って水滴の画像を生成する処理を行うようにしてもよい。
【００８４】
また水滴のエッジの透明度を水滴自体の透明度とは別個に制御し、水滴のエッジが目立たなくなるように透明度を変化させることでぼけた水滴の画像を生成するようにしてもよい。
【００８５】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００８６】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００８７】
２．本実施形態の特徴と処理
本実施の形態の特徴と処理を図面を用いて説明する。
【００８８】
図２は本実施の形態のゲーム画像の一例であり、ゲーム空間の天候が雨で雨粒等の水滴が付着したカメラからみた画像という設定のゲーム画像である。
【００８９】
本ゲーム画像には２１０−１、２１０−２、２１０−３等の多数の水滴が表されている。本発明の特徴の一つはこれらの各水滴２１０−１、２１０−２、２１０−３にゲーム空間（仮想３次元空間）が映りこんでいる点にある。
【００９０】
図３は水滴に映り込む画像の内容について説明するための図である。
【００９１】
２５０は所与の瞬間またはその近傍のフレームにおける水滴の表示されている画像（以下、「所与のフレームの画像」という）であり、２６０は所与の瞬間における仮想３次元空間を所定の視点に対して透視変換した２次元画像である。当該２次元画像として、例えば水滴を描画する前のフレームバッファの画像を用いることができる。
【００９２】
例えばフレームバッファの画像を用いる場合には、フレームバッファの画像をワークバッファにコピーして、ワークバッファの画像をテクスチャ画像として用いるようにしてもよい。
【００９３】
なお図３では所与のフレームの画像２５０の背景画像は省略しているが、前記フレームバッファの画像を用いる場合には、２次元画像２６０が背景画像となる。
【００９４】
このように所与のフレームの画像２５０と２次元画像とを、時間的に同期のとれた画像にすることにより、水滴に映り込む画像に対してもリアルタイム性を担保することができる。
【００９５】
ここで本実施の形態では、所与のフレームの画像２５０の水滴２１０に、２次元画像２６０上の２７０に示す映り込み範囲の画像を映り込ませる。この映り込み範囲（参照範囲）２７０は、水滴の位置や大きさ、レンズとしての屈折の性質によって定まる。ここにおいて、水滴の位置とは、例えば仮想３次元空間における水滴の存在位置でもよいし、表示画像上の水滴の表示希望位置でもよい。
【００９６】
水滴の位置は例えば水滴の代表点２１２の位置でもよい。２次元画像２６０上の水滴の代表点の対応位置２７２は、所与のフレームの画像２５０上の水滴の代表点２１２の位置に応じて決定され、たとえばフレーム画像上の同位置に当たる点である。
【００９７】
本実施の形態では、前記２次元画像２６０上の代表点対応位置２７２相対の参照先情報を用いて映り込み範囲（参照範囲）を決定する。
【００９８】
図４は、本実施の形態の代表点対応位置相対の参照先情報について説明するための図である。
【００９９】
２８０と２９０は水滴の付着面（ここではカメラのレンズ表面）、２次元画像面を横から見た様子を表している。水滴２１０を構成する頂点ｖ１，ｖ２，ｖ３，ｖ４の参照先をそれぞれｒ１，ｒ２，ｒ３，ｒ４とすると、ｏ１，ｏ２，ｏ３，ｏ４が２次元画像上の代表点対応位置２７２相対の参照先情報となる。
【０１００】
ここで代表点対応位置相対の参照先情報ｏ１，ｏ２，ｏ３，ｏ４は、各水滴を構成する頂点ｖ１，ｖ２，ｖ３，ｖ４について各水滴の代表点対応位置２７２に対するオフセット値をもちいることができる。
【０１０１】
例えば各水滴の代表点対応位置２７２を（ｘ０，ｙ０）、参照先ｒ１を（ｘ１，ｙ１）とすると、ｏ１を（ｏｘ１，ｏｙ１）とすると以下のように予め設定しておくことができる。
【０１０２】
ｏｘ１＝ｘ１−ｘ０
ｏｙ１＝ｙ１−ｙ０
この場合、リアルタイムに行う参照先情報の演算は以下のようになる。
【０１０３】
ｘ１＝ｘ０＋ｏｘ１
ｙ１＝ｙ０＋ｏｙ１
本実施の形態では、この前記代表点対応位置相対の参照先情報ｏ１，ｏ２，ｏ３，ｏ４を予め設定しておくことにより、リアルタイムに複雑な光の屈折演算を行う必要がなく、代表点対応位置と参照先情報に基づく参照先の演算のみリアルタイムに行えばよいため、処理負荷を大幅に軽減することができる。
【０１０４】
またｏ１，ｏ２，ｏ３，ｏ４は代表点対応位置に対する相対的な参照先情報なので、水滴について１種類設定しておくと、同じ性質を有する同一画面上の他の水滴についても同様に用いることができる。
【０１０５】
従って同一画面上に多数の水滴が存在する場合でも、参照先情報は１種類でよいため情報量の増大を招かずにすむ。さらに各水滴ごとに複雑な光の屈折演算を行う必要がなく、各水滴について代表点対応位置と参照先情報に基づく参照先の演算のみリアルタイムに行えばよいため、処理負荷を大幅に軽減することができる。
【０１０６】
図５（Ａ）（Ｂ）は参照先情報の設定例について説明するための図である。
【０１０７】
屈折率ｎ１の媒体１内で入射光Ｅベクトルと屈折面に対する法線Ｎの角度がθ１で、屈折率ｎ２の媒体２内で屈折光Ｅ’ベクトルと屈折面に対する法線Ｎの角度がに対してθ２とすると、スネルの法則により次式が成り立つ。
【０１０８】
【数１】
0003576126.tif 000002
【０１０９】
ここで媒体１の屈折率ｎ１として水滴の屈折率を用い、媒体２の屈折率ｎ２として空気の屈折率を用いることで、水滴表面上における屈折ベクトルＥ’を求めることができる。そして図５（Ｂ）に示すように、屈折ベクトルＥ’に対して２次元平面２９０を適宜設定してｖに対する参照先ｒを求める。
【０１１０】
このようにすることにより水滴の形状に応じた光の屈折を物理的にシミュレートして映り込み参照先を決定することができる。
【０１１１】
図６（Ａ）（Ｂ）、図７（Ａ）（Ｂ）（Ｃ）は、所与のフレームにおいてゲーム空間（仮想３次元空間）が映り込んだ水滴の画像を生成する様子を模式的に示した図である。
【０１１２】
図６（Ａ）の３１０はフレームバッファ等に描画されたゲーム空間の２次元画像（水滴描画前）であり、マッピングを行う際にテクスチャとして用いられる画像である。図６（Ｂ）は、ゲーム画像に対する水滴の位置を示す図である。
【０１１３】
図７（Ａ）は、３２０における各水滴２１０−１、２１０−２、２１０−３の代表点２１２−１、２１２−２、２１２−３を示した図である。
【０１１４】
図７（Ｂ）は、３１０における各水滴の映り込み画像生成用の参照範囲を示した図である。２７２−１、２７２−２、２７２−３は各水滴の代表点２１２−１、２１２−２、２１２−３（図７（Ａ）参照）の２次元画像上の代表点対応位置であり、２７０−１、２７０−２、２７０−３は各水滴の２次元画像上の参照範囲である。
【０１１５】
図７（Ｃ）は、対応する参照範囲（図７（Ｂ）参照）をマッピングした各水滴を、図６（Ａ）の２次元画像が描画されているフレームバッファ等に描画した図である。
【０１１６】
図８は、仮想カメラの画角の変化と、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の関係について説明するための図である。
【０１１７】
３００は画角が広い場合の水滴の様子を模式的に示したものであり、３００’は他の条件は同じで画角が狭くなった場合の水滴の様子を示したものである。
【０１１８】
本実施の形態では、仮想カメラの画角のが狭くなると水滴の大きさを水滴が大きくなるように変化させる。
【０１１９】
また仮想カメラの画角が狭くなると水滴が見えにくくなるように水滴の透明度を調整する（水滴の透明度を高くする）。
【０１２０】
また仮想カメラの画角が狭くなるとエッジが目立たなくなるように水滴のエッジの透明度を調整する（水滴のエッジの透明度を高くする）。
【０１２１】
また仮想カメラの画角が狭くなるほど水滴の形状をカメラ絞りの形や６角形等の多角形に近づかせる。
【０１２２】
本発明によれば画角の変化に応じて水滴の見え方が変化する様子を少ない処理負荷で擬似的に表現することができる。
【０１２３】
図９は仮想３次元空間の様子が映り込んだ水滴の画像を生成する処理の一例について説明するためのフローチャート図である。
【０１２４】
まず本フレームの水滴付着前の２次元画像をフレームバッファ等に描画する（ステップＳ１０）。なおフレームバッファ自体に描画する場合でなくＶＲＡＭのワークバッファに描画する場合でもよい。
【０１２５】
次に画面中に表示する水滴数を変数ｊにセットする（ステップＳ２０）。
【０１２６】
ステップＳ３０〜ステップＳ８０までは各水滴毎の処理である。
【０１２７】
まず水滴の代表点の描画位置（ここでは、フレームバッファ上の水滴の代表点位置と２次元画像上における当該水滴の代表点対応位置が等しい）を求め変数ｃｅｎｔｅｒにセットし、水滴の頂点数を変数ｉにセットする（ステップＳ３０）。
【０１２８】
そして各水滴のすべての頂点について終了するまで、ステップＳ４０〜ステップＳ８０の処理を繰りかえす。
【０１２９】
まず水滴（ｊ）のローカル座標系の頂点（ｉ）の座標をｌｏｃａｌ−ｖｅｒｔにセットし、頂点（ｉ）について予め設定されている参照情報をｌｏｃａｌ−ｒｅｆｌｅｃｔにセットする（ステップＳ４０）。
【０１３０】
次にｌｏｃａｌ−ｖｅｒｔ  ＋  ｃｅｎｔｅｒをｖｅｒｔにセットし、ｌｏｃａｌ−ｒｅｆｌｅｃｔ    ＋  ｃｅｎｔｅｒをｕｖにセットする（ステップＳ５０）。ここでｖｅｒｔは、水滴（ｊ）を構成する頂点（ｉ）のフレームバッファ等における位置座標である。またｕｖはフレームバッファ等に描画されているゲーム画像をテクスチャとして用いる場合のｕｖ座標である。
【０１３１】
次にフレームバッファ等に描画されている２次元画像をテクスチャとして、テクスチャ座標ｕｖ、描画頂点座標ｖｅｒｔとして描画情報を出力する（ステップＳ６０）。
【０１３２】
次にｉを１だけ減少させる（ステップＳ７０）。
【０１３３】
そしてｉ＞０の場合にはステップＳ４０にもどり次の頂点についてステップＳ４０〜Ｓ８０の処理を繰り返す（ステップＳ８０）。
【０１３４】
ｉ＞０でない場合には、ｊを１だけ減少させる（ステップＳ９０）。
【０１３５】
そしてｊ＞０の場合にはステップＳ３０に戻り、次の水滴についてステップＳ３０〜Ｓ１００の処理を繰り返す（ステップＳ１００）。
【０１３６】
図１０及び図１１は、画角の変化に応じた水滴の変化及び水滴に映り込んだ画像の変化を実現するための処理の一例について説明するためのフローチャート図である。ここでは変化前の水滴の形状（基本モデル）と変化後の水滴の形状（絞りモデル）をモデルとして持たせておき、変化する過程の水滴の形状はモーフィングにより補間して求める場合を例にとり説明する。絞りモデルとは６角形等のカメラの絞りの形状に変形した水滴のモデルである。
【０１３７】
まずカメラの画角に対応した水滴の拡大率、透明度、エッジの透明度、絞りモデルとの補間比率を計算し、計算した拡大率をｓｃａｌｅに、透明度をａｌｐｈａに、エッジの透明度をｅｄｇｅ−ａｌｐｈａに、絞りモデルとの補間比率をｉｎｔｅｒｐｏｌａｔｉｏｎにセットする（ステップＳ２１０）。
【０１３８】
そしてこれらの値を引数にしてサブルーティンの水滴描画処理を実行する（ステップＳ２２０）。
【０１３９】
次に水滴描画処理の処理の詳細（図１１参照）について説明する。
【０１４０】
ここでテクスチャとして用いる水滴付着前の２次元画像は、既にフレームバッファ等に描画されているものとする。
【０１４１】
まず画面中に表示する水滴数を変数ｊにセットする（ステップＳ３１０）。
【０１４２】
ステップＳ３２０〜ステップＳ４３０までは各水滴毎の処理である。
【０１４３】
まず水滴の代表点の描画位置（ここでは、フレームバッファ上の水滴の代表点位置と２次元画像上における当該水滴の代表点対応位置が等しい）を求め変数ｃｅｎｔｅｒにセットし、水滴の頂点数を変数ｉにセットする。
【０１４４】
そして各水滴のすべての頂点について終了するまで、ステップＳ３３０〜ステップＳ４１０の処理を繰りかえす。
【０１４５】
まず水滴（ｊ）のローカル座標系の頂点（ｉ）の座標をｖｅｒｔ１にセットし、絞り（ｊ）のローカル座標系における頂点（ｉ）座標をｖｅｒｔ２にセットし、水滴の頂点（ｉ）の透明度をａｌｐｈａ１にセットし、絞りの頂点（ｉ）の座標をａｌｐｈａ２にセットし、水滴頂点（ｉ）について予め設定されている参照情報をｒｅｆｌｅｃｔ１にセットし、絞り頂点（ｉ）について予め設定されている参照情報をｒｅｆｌｅｃｔ２にセットする（ステップＳ３３０）。
【０１４６】
次にｖｅｒｔ１とｖｅｒｔ２をｉｎｔｅｒｐｏｌａｔｉｏｎで補間してｌｏｃａｌ−ｖｅｒｔにセットし、ａｌｐｈａ１とａｌｐｈａ２をｉｎｔｅｒｐｏｌａｔｉｏｎで補間してｌｏｃａｌ−ａｌｐｈａにセットし、ｒｅｆｌｅｃｔ１とｒｅｆｌｅｃｔ２をｉｎｔｅｒｐｏｌａｔｉｏｎで補間してｌｏｃａｌ−ｒｅｆｌｅｃｔにセットする（ステップＳ３４０）。
【０１４７】
次に水滴（ｉ）の頂点位置の頂点位置を移動させる処理（ｌｏｃａｌ−ｖｅｒｔ＊ｓｃａｌｅ  ＋  ｃｅｎｔｅｒ  →  ｖｅｒｔ）や参照点の位置をを移動させる処理（ｌｏｃａｌ−ｒｅｆｌｅｃｔ＊ｓｃａｌｅ    ＋  ｃｅｎｔｅｒ  →  ｒｅｆｌｅｃｔ）を行う（ステップＳ３５０）。ここでｖｅｒｔは、水滴（ｊ）を構成する頂点（ｉ）のフレームバッファ等における位置座標である。またｒｅｆｌｅｃｔはフレームバッファ等に描画されているゲーム画像をテクスチャとして用いる場合のｒｅｆｌｅｃｔ座標である。
【０１４８】
次に頂点（ｉ）がエッジ部分である場合には頂点の透明度をエッジ用に補正してｔｒａｎｓｐａｒｅｎｃｙにセットする処理（ｌｏｃａｌ−ａｌｐｈａ＊ａｌｐｈａ    ＋  ｅｄｇ−ａｌｐｈａ    →  ｔｒａｎｓｐａｒｅｎｃｙ）を行う（ステップＳ３６０、Ｓ３７０）。
【０１４９】
また頂点（ｉ）がエッジ部分でない場合には頂点の透明度をエッジ用に補正しないでｔｒａｎｓｐａｒｅｎｃｙにセットする処理（ｌｏｃａｌ−ａｌｐｈａ＊ａｌｐｈａ    →  ｔｒａｎｓｐａｒｅｎｃｙ）を行う（ステップＳ３６０、Ｓ３８０）。
【０１５０】
次にフレームバッファ等に描画されている２次元画像をテクスチャとして、テクスチャ座標ｒｅｆｌｅｃｔ、描画頂点座標ｖｅｒｔ、透明度ｔｒａｎｓｐａｒｅｎｃｙとして描画情報を出力する（ステップＳ３９０）。
【０１５１】
次にｉを１だけ減少させる（ステップＳ４００）。
【０１５２】
そしてｉ＞０の場合にはステップＳ３３０にもどり次の頂点についてステップＳ３３０〜Ｓ４１０の処理を繰り返す（ステップＳ４１０）。
【０１５３】
ｉ＞０でない場合には、ｊを１だけ減少させる（ステップＳ４２０）。
【０１５４】
そしてｊ＞０の場合にはステップＳ３２０に戻り、次の水滴についてステップＳ３２０〜Ｓ４３０の処理を繰り返す（ステップＳ４３０）。
【０１５５】
このようにすることにより、基本モデルから絞りモデルに変形する過程の水滴に関しては、変形の進行度合いに応じて前記基本モデルの参照先情報と絞りモデルの参照先情報を補間して、補間後の参照先情報に基づき映り込み画像を生成するので、水滴の変形に合わせて映り込み画像もなめらかに変形させることがでできる。
【０１５６】
３．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１１を用いて説明する。
【０１５７】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１５８】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１５９】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１６０】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、所与の画像圧縮方式で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１６１】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１６２】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１６３】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１６４】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１６５】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１６６】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１６７】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１６８】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステム、他のゲームシステムとの間でのデータ転送が可能になる。
【０１６９】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１７０】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１７１】
図１２（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１７２】
図１２（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１７３】
図１２（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４−１〜１３０４−ｎとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４−１〜１３０４−ｎが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４−１〜１３０４−ｎに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４−１〜１３０４−ｎに伝送し端末において出力することになる。
【０１７４】
なお、図１２（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１７５】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１７６】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１７７】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１７８】
また本実施の形態では、カメラに付着した水滴の画像を生成する場合を例にとり説明したがこれに限られない。例えば建物や車等の窓ガラスに付着した水滴でもよいしそれ以外のオブジェクトに付着した水滴でもよい。
【０１７９】
また水滴は静止した状態で付着している場合に限られず、水滴が移動している場合でもよい。水滴が移動している場合には、各フレームごとの水滴の位置に基づき、水滴の頂点に関連付ける２次元画像（例えば水滴描画前のフレームバッファに描画されている画像）の参照位置を演算してマッピング処理を行うので、水滴の移動につれてその映り込み画像を変化させることができる。
【０１８０】
本実施の形態では、仮想カメラの画角の変化によって、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状が変化する場合を例にとり説明したがこれに限られない。例えば画角以外の要因で水滴のぼけ具合が変化するイベントを検出して、イベント内容に基づき、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の少なくとも一つを動的に変化させる場合でもよい。
【０１８１】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１８２】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【図１】本実施形態のゲームシステムのブロック図の例である。
【図２】本実施の形態のゲーム画像の一例である。
【図３】本実施の形態の水滴に映り込む画像の内容について説明するための図である。
【図４】本実施の形態の代表点対応位置相対の参照先情報について説明するための図である。
【図５】図５（Ａ）（Ｂ）は参照先情報の設定例について説明するための図である。
【図６】図６（Ａ）（Ｂ）は、所与のフレームにおいてゲーム空間（仮想３次元空間）が映り込んだ水滴の画像を生成する様子を模式的に示した図である。
【図７】図７（Ａ）（Ｂ）（Ｃ）は、図６（Ａ）（Ｂ）に続いて、所与のフレームにおいてゲーム空間（仮想３次元空間）が映り込んだ水滴の画像を生成する様子を模式的に示した図である。
【図８】仮想カメラの画角の変化と、水滴の大きさ、水滴の透明度、水滴のエッジの透明度、水滴の形状の関係について説明するための図である。
【図９】本実施の形態で仮想３次元空間の様子が映り込んだ水滴の画像を生成する処理の一例について説明するためのフローチャート図である。
【図１０】図１０は、画角の変化に応じた水滴の変化及び水滴に映り込んだ画像の変化を実現するための処理の一例について説明するためのフローチャート図である。
【図１１】図１１は、図１０に続いて画角の変化に応じた水滴の変化及び水滴に映り込んだ画像の変化を実現するための処理の一例について説明するためのフローチャート図である。
【図１２】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  ゲーム処理部
１１２  移動・動作演算部
１３０  画像生成部
１４０  水滴処理部
１５０  音生成部
１６０  操作部
１７０  記憶部
１７２  メインメモリ
１７４  フレームバッファ
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  セーブ用情報記憶装置
１９６  通信部
【図１】
0003576126.tif 000003
【図２】
0003576126.tif 000004
【図３】
0003576126.tif 000005
【図４】
0003576126.tif 000006
【図５】
0003576126.tif 000007
【図６】
0003576126.tif 000008
【図７】
0003576126.tif 000009
【図８】
0003576126.tif 000010
【図９】
0003576126.tif 000011
【図１０】
0003576126.tif 000012
【図１１】
0003576126.tif 000013
【図１２】
0003576126.tif 000014
【図１３】
0003576126.tif 000015