(57)【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
所与の限定空間を内包するボリュームオブジェクトを、オブジェクト空間内に配置する手段と、
前記ボリュームオブジェクトのプリミティブ面のうち、対応する法線ベクトルが視点から遠ざかる方向のプリミティブ面のレンダリングを省略し、且つ、前記ボリュームオブジェクトを除く他のオブジェクトをレンダリングした際に生成された奥行き情報に基づいて隠面消去して、前記ボリュームオブジェクトをレンダリングする裏面消去レンダリング手段と、
前記ボリュームオブジェクトのプリミティブ面のうち、対応する法線ベクトルが視点に近付く方向のプリミティブ面のレンダリングを省略し、且つ、前記ボリュームオブジェクトを除く他のオブジェクトをレンダリングした際に生成された奥行き情報に基づいて隠面消去して、前記ボリュームオブジェクトをレンダリングする表面消去レンダリング手段と、
前記裏面消去レンダリング手段によってレンダリングされたレンダリング画像のエリアから前記表面消去レンダリング手段によってレンダリングされたレンダリング画像のエリアを除いたエリアを特定する手段と、
前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記特定したエリアに対応する部分に対して所与の画像エフェクト効果を与える処理を行う手段と、
を含むことを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記所与の画像エフェクト効果を与える処理は、
前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記特定したエリアに対応する部分の色情報を変化させる処理であることを特徴とする画像生成システム。
【請求項３】
請求項１において、
前記所与の画像エフェクト効果を与える処理は、
前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記特定したエリアに対応する部分の半透明情報を変化させる処理であることを特徴とする画像生成システム。
【請求項４】
所与の限定空間を内包するボリュームオブジェクトを、オブジェクト空間内に配置する手段と、
前記ボリュームオブジェクトのプリミティブ面のうち、対応する法線ベクトルが視点から遠ざかる方向のプリミティブ面のレンダリングを省略し、且つ、前記ボリュームオブジェクトを除く他のオブジェクトをレンダリングした際に生成された奥行き情報に基づいて隠面消去して、前記ボリュームオブジェクトをレンダリングする裏面消去レンダリング手段と、
前記ボリュームオブジェクトのプリミティブ面のうち、対応する法線ベクトルが視点に近付く方向のプリミティブ面のレンダリングを省略し、且つ、前記ボリュームオブジェクトを除く他のオブジェクトをレンダリングした際に生成された奥行き情報に基づいて隠面消去して、前記ボリュームオブジェクトをレンダリングする表面消去レンダリング手段と、
前記裏面消去レンダリング手段によってレンダリングされたレンダリング画像のエリアから前記表面消去レンダリング手段によってレンダリングされたレンダリング画像のエリアを除いたエリアを特定する手段と、
前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記特定したエリアに対応する部分に対して所与の画像エフェクト効果を与える処理を行う手段と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項５】
請求項４において、
前記所与の画像エフェクト効果を与える処理は、
前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記特定したエリアに対応する部分の色情報を変化させる処理であることを特徴とするプログラム。
【請求項６】
請求項４において、
前記所与の画像エフェクト効果を与える処理は、
前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記特定したエリアに対応する部分の半透明情報を変化させる処理であることを特徴とするプログラム。
【請求項７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項４乃至６のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ（操作者）は、レーシングカー（オブジェクト）を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作するレーシングカーと競争することで３次元ゲームを楽しむ。
【０００３】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な課題になっている。従って、ゲームの面白みを増大させるために複雑に設定されたレーシングコースを走行するレーシングカーの画像についても、よりリアルに表現されていることが望まれる。例えば、レーシングカーが橋等の構造物の下をくぐる場合に、レーシングカーに上部の構造物の影を落とし込む（広義には、画像エフェクト効果を与える）ことにより、よりリアルな画像を提供することが望まれる。
【０００４】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、より少ない処理負荷で、限定エリア内のオブジェクトに画像エフェクト効果を与えることができる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、所与の限定空間を内包するボリュームオブジェクトを、オブジェクト空間内に配置する手段と、前記ボリュームオブジェクトを裏面消去でレンダリングする手段と、前記ボリュームオブジェクトを表面消去でレンダリングする手段と、裏面消去したレンダリング画像から表面消去したレンダリング画像を除いたエリアを特定する手段と、前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記エリアに対応する部分に対して所与の画像エフェクト効果を与える処理を行う手段とを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴としている。
【０００６】
ここで、オブジェクト空間とは、例えば定義点（ポリゴンの頂点或いは自由曲面の制御点など）により形状が特定されるオブジェクトが配置される仮想的な３次元空間をいう。
【０００７】
また裏面消去というのは、例えば法線ベクトルが視点から遠ざかる方向のプリミティブ面（裏面）のレンダリングを省略することをいう。
【０００８】
さらに、表面消去というのは、例えば法線ベクトルが視点に近付く方向のプリミティブ面（表面）のレンダリングを省略することをいう。
【０００９】
さらにまた、ボリュームオブジェクトを除く他のオブジェクトというのは、例えばオブジェクト空間内のオブジェクトのうち、ボリュームオブジェクトを除く背景オブジェクト等の各種オブジェクトをいう。
【００１０】
本発明によれば、限定空間を内包するボリュームオブジェクトを配置し、このボリュームオブジェクトを裏面消去でレンダリングした画像から、ボリュームオブジェクトを表面消去でレンダリングした画像を取り除いてエリアを特定し、オブジェクト空間内のオブジェクトをレンダリングした画像のうち、このエリアに対応する部分に対して、画像エフェクト効果を与える処理を行うようにしたので、非常に簡素な２次元的な画像処理により、限定空間内への画像エフェクト効果を正確に与えることができるようになる。
【００１１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記ボリュームオブジェクトを除く他のオブジェクトをレンダリングし、その際に生成された奥行き情報に基づいて隠面消去しながら、前記ボリュームオブジェクトをレンダリングすることを特徴とする。
【００１２】
ここで、奥行き情報とは、例えば各ピクセル又は各プリミティブ（面、線）に設定される奥行き値をいい、より具体的にはＺ値がある。
【００１３】
本発明によれば、奥行き情報に基づいて隠面消去しながら、ボリュームオブジェクトを裏面消去及び表面消去でレンダリングするようにしたので、限定空間に存在するオブジェクトの一部が限定空間の外部に存在するような場合でも、限定空間内に存在する部分を特定することができるので、限定空間内を通過するオブジェクトに対して、正確な画像エフェクト効果を簡素な処理で与えることができる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記所与の画像エフェクト効果を与える処理は、前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記エリアに対応する部分の色情報を変化させる処理であることを特徴とする。
【００１５】
本発明よれば、エリアに対応する部分の色情報を変化させるようにしたので、オブジェクトに対して例えば構造物の影の落とし込みや、光に照らされた表現を正確に行うことができるようになる。
【００１６】
また本発明に係る画像合成システム、プログラム及び情報記憶媒体は、前記所与の画像エフェクト効果を与える処理は、前記ボリュームオブジェクトを除く他のオブジェクトのレンダリング画像のうち、前記エリアに対応する部分の半透明情報を変化させる処理であることを特徴とする。
【００１７】
本発明によれば、エリアに対応する部分の半透明情報を変化させるようにしたので、限定空間内に存在するオブジェクトに対して、非常に簡素な２次元的な画像処理で、所定の画像エフェクト効果を与えることができる。
【００１８】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００１９】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２０】
１．  構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。
【００２１】
なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０、或いは処理部１００と記憶部１７０と情報記憶媒体１８０を含めばよく）、それ以外のブロック（例えば操作部１６０、表示部１９０、音出力部１９２、携帯型情報記憶装置１９４、通信部１９６）については、任意の構成要素とすることができる。
【００２２】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、又は音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００２３】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筐体などのハードウェアにより実現できる。
【００２４】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２５】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００２６】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００２７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００２８】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００２９】
携帯型情報記憶装置１９４は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３０】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３１】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３２】
処理部１００は、ゲーム処理部１１０、ボリュームオブジェクト配置部１２０、画像エフェクト効果処理部１２２、画像生成部１３０、音生成部１５０を含む。
【００３３】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回りの回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバ処理などの種々のゲーム処理を、操作部１６０からの操作データや、携帯型情報記憶装置１９４からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【００３４】
ここで、オブジェクト空間とは、例えば定義点（ポリゴンの頂点或いは自由曲面の制御点など）により形状が特定されるオブジェクトが配置される仮想的な３次元空間をいう。
【００３５】
ボリュームオブジェクト配置部１２０は、オブジェクト空間内に（例えば仮想的に）ボリュームオブジェクトを配置する処理を行う。より具体的には、ボリュームオブジェクト配置部１２０は、オブジェクト空間において画像エフェクト効果を与える（画像の色情報や透明度情報といった表示部の画面を見るプレーヤにとって画像の見え方を変化させる）空間を内包するボリュームオブジェクトを配置する。
【００３６】
画像エフェクト効果処理部１２２は、オブジェクト空間内にボリュームオブジェクトを配置することによって、後述するレンダリング処理によって２次元的に特定されたエリアに対して、画像エフェクト効果を与える処理を行う。例えば、画像エフェクト効果処理部１２２は、上述したエリアに対して、色情報や半透明情報を変化させる。これにより、このエリア内のオブジェクトに対して、影を落とし込んだり、光を照らしたりといった画像エフェクト効果の表現が可能となる。
【００３７】
ここで、色情報とは、例えばプリミティブ面の定義点ごとに関連付けられた色に関する情報をいう。
【００３８】
また、半透明情報とは、透明度情報と等価で、画像単位若しくは各画素の関連付けられて記憶される情報であって、オブジェクトの定義点毎に設定され、例えば色情報以外のプラスアルファの情報としての透明度（不透明度或いは半透明度と等価）を示す情報をいう。半透明情報が、例えばプラスアルファ情報として透明度情報を示す場合、例えば半透明情報を用いた半透明ブレンディング（αブレンディング）、半透明情報を用いた加算半透明（α加算）、半透明情報を用いた減算半透明（α減算）などの合成処理方法がある。
【００３９】
例えばαブレンディングである場合には、次のような半透明情報（α）を用いた合成処理が行われる。
【００４０】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2      ・・・（１）
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2      ・・・（２）
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2      ・・・（３）
【００４１】
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファに既に描画されているジオメトリ処理後の画像の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画画像の色のＲ、Ｇ、Ｂ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより生成される画像の色のＲ、Ｇ、Ｂ成分である。なお、ここでは、α値として、ジオメトリ処理後の所与の画像のα値を用いてもよいし、描画された元画像のα値を使用するようにしてもよい。
【００４２】
画像生成部１３０は、ゲーム処理部１１０からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。
【００４３】
音生成部１５０は、ゲーム処理部１１０からの指示等にしたがって各種の音処理を行い、ＢＧＭ、効果音、又は音声などの音を生成し、音出力部１９２に出力する。
【００４４】
なお、ゲーム処理部１１０、ボリュームオブジェクト配置部１２０、画像エフェクト効果処理部１２２、画像生成部１３０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００４５】
画像生成部１３０は、ジオメトリ処理部（３次元演算部）１３２、エリア特定部１３４、描画部（レンダリング部）１４０を含む。
【００４６】
ここで、ジオメトリ処理部１３２は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）を行う。そして、本実施形態では、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標、頂点テクスチャ座標、或いは輝度データ等）は、記憶部１７０の主記憶部１７２に格納されて、保存される。
【００４７】
エリア特定部１３４は、描画部１４０によって描画されたレンダリング画像から、画像エフェクト効果を与えるエリアを特定する処理を行う。より具体的には、エリア特定部１３４は、奥行きバッファ１７６を参照して、ボリュームオブジェクトを裏面消去（カルバック）でレンダリングした第１の画像のエリアから、このボリュームオブジェクトを表面消去（カルフロント）でレンダリングした第２の画像のエリアを取り除いた部分を、画像エフェクト効果を与えるエリアとして特定する。
【００４８】
エリア特定部１３４は、例えば第１及び第２の画像が２値化された画像データの場合、第１の画像のエリアと第２の画像のエリアの差分を、画像エフェクト効果を与えるエリアとして特定することができる。
【００４９】
描画部１４０は、ジオメトリ処理後（透視変換後）のオブジェクトデータと、記憶部１７０に記憶されるテクスチャとに基づいて、オブジェクトを描画バッファ１７４に描画する。これにより、オブジェクトが移動するオブジェクト空間において、仮想カメラ（視点）から見える画像が描画（生成）されるようになる。
【００５０】
描画部１４０は、裏面消去レンダリング部１４２、表面消去レンダリング部１４４を含む。
【００５１】
ここで、裏面消去レンダリング部１４２は、奥行きバッファ１７６に格納される奥行き情報（例えば各ピクセル又は各プリミティブ（面、線）に設定される奥行き値。例えばＺ値）を参照して隠面消去しながら、ボリュームオブジェクトを裏面消去（カルバック）で描画バッファ１７４とは別のバッファ領域（例えばαプレーン）にレンダリングする。ここで、裏面消去というのは、例えば法線ベクトルが視点から遠ざかる方向のプリミティブ面（裏面）を、レンダリング対象としないことをいう。
【００５２】
表面消去レンダリング部１４４は、奥行きバッファ１７６に格納される奥行き情報（例えばＺ値）を参照して隠面消去しながら、ボリュームオブジェクトを裏面消去（カルバック）で描画バッファ１７４とは別のバッファ領域（例えばαプレーン）にレンダリングする。ここで、表面消去というのは、例えば法線ベクトルが視点に近付く方向のプリミティブ面（表面）を、レンダリング対象としないことをいう。
【００５３】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５４】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００５５】
２．  本実施形態の特徴
本実施形態では、所与の限定空間内のオブジェクトに対して画像エフェクト効果を与えるための処理を簡素化することができる。
【００５６】
以下では、オブジェクト空間において、移動オブジェクト（例えば車オブジェクト）がコース上を移動し、移動オブジェクトに影を落とし込む場合について説明するが、同様に光を照らす表現にも適用することができる。
【００５７】
図２に、移動オブジェクトが移動するコースの一部のオブジェクト画像の一例を示す。
【００５８】
移動オブジェクトが移動するコース２００上には、コースをまたがる構造物２１０（例えば橋）が配置されているものとする。したがって、移動オブジェクトがコース２００上を移動して構造物の下をくぐり抜ける場合には、限定空間２２内の移動オブジェクトに対して構造物の影を落とし込む処理を行うことになる。
【００５９】
図３に、構造物の下を移動する移動オブジェクトに影を落とし込んだ処理後のオブジェクト画像の一例を示す。
【００６０】
このように、移動オブジェクト２５０が構造物２１０の下を移動する際に、移動オブジェクト２５０の形状に合わせた影の落とし込み処理が必要となる。
【００６１】
このような構造物の影を移動オブジェクトに落とし込む手法としては、例えば限定空間２２０内の影が落とし込まれるエリアに、影の形をしたポリゴンを配置したり、テクスチャとしてマッピングすることが考えられる。
【００６２】
しかしながら、この手法では、影を落とし込む処理のためだけにポリゴンやテクスチャが必要となって、その分処理負荷が増大する。したがって、移動オブジェクト２５０の形状が図３に示したような細かい形状の場合には、影を表現することは困難である。
【００６３】
また、移動オブジェクトに影を落とし込む他の手法としては、例えば移動オブジェクトが限定空間２２０に進入したことを条件に、移動オブジェクトの輝度等を変化させたり、あらかじめ影を落とし込んだ移動オブジェクトを用意しておき、移動オブジェクト自体を差し替えるなどの手法が考えられる。
【００６４】
しかしながら、この手法では、移動オブジェクト全体が影を落とし込んだように表現されてしまうため、移動オブジェクトの一部のみが限定空間内に侵入したような場合には、本来影を落とし込むべき部分に影が落とし込まれなかったり、影を落とし込むべきではない部分に影が落とし込まれたりして、今ひとつリアルさに欠ける画像となってしまう。
【００６５】
また、ポリゴンの頂点単位で、限定空間内に進入したか否かを判別し、影を落とし込んだように輝度等を変化させる手法も考えることができる。
【００６６】
しかしながら、ポリゴンが限定空間内の影を落とし込むべきエリアを突き抜けるような細長い形状の場合には、影の落とし込みをリアルに表現することができない。この場合、ポリゴンを細かくする必要があるが、それだけポリゴン数が多くなって、処理負荷が増大する。
【００６７】
そこで、本実施形態では、レンダリング画像を２次元的に処理することで、影を落とし込むべきエリアを特定し、このエリアに対応するレンダリング画像に対して色情報若しくは半透明情報を調整することで、図３に示すような移動オブジェクトの形状に関わらず、簡素な処理で影の落とし込み処理を行ってリアルな画像を表現する。
【００６８】
２．１  ボリュームオブジェクト
本実施形態では、画像エフェクト効果を与えるエリアを特定するために、ボリュームオブジェクトを用いる。ボリュームオブジェクトは、影を落とし込む限定空間を完全に内包するオブジェクトとして作成される。
【００６９】
なお、このボリュームオブジェクトは、凸なオブジェクトであれば、その形状に限定されるものではない。ここで、凸なオブジェクトとは、例えば視線方向に重なるプリミティブ面が２枚以上ないオブジェクトをいう。
【００７０】
図４に、本実施形態におけるボリュームオブジェクトの一例を示す。
【００７１】
本実施形態では、図２に示す限定空間２２０を完全に内包するボリュームオブジェクト３００として立方体の形状をなしているものとする。したがって、図４に示すようなボリュームオブジェクト３００のオブジェクト画像が生成される場合、ボリュームオブジェクト３００の各面は、表面３１０、３１２、３１４、裏面３２０、３２２、３２４となる。
【００７２】
ここで、表面とは、ボリュームオブジェクト３００のポリゴン（広義には、プリミティブ面）の法線ベクトルの方向が視点から遠ざかる面をいう。また、裏面とは、ボリュームオブジェクト３００のポリゴンの法線ベクトルの方向が支店に近付く面をいう。このような表面及び裏面は、例えば法線ベクトルの方向で判別するようにしてもよいし、あらかじめ所与の順序で定義されたプリミティブ面の各頂点が、時計回りか、反時計回りかを判別することで、表面か裏面かを判別するようにしてもよい。
【００７３】
図５に、本実施形態におけるボリュームオブジェクト３００をオブジェクト空間に配置した例を示す。
【００７４】
ここでは、図２に示す構造物２１０についてワイヤフレームで表している。本実施形態では、図２に示す限定空間２２０を完全に内包するようにオブジェクト空間内にボリュームオブジェクト３００を配置する。より具体的には、構造物の影を落とし込みたい部分（構造物２１０の天井、側壁、コース２００）を完全に内包するように配置する。
【００７５】
また、本実施形態では、構造物２１０の影を構造物２１０の真下に落とし込むように表現するため、ボリュームオブジェクト３００の表面３１２が、構造物２１０の表面より手前に配置されないようにしている。
【００７６】
本実施形態では、このようにして配置されたボリュームオブジェクト３００を用いて、次に述べるように画像エフェクト効果を与えるエリアを特定する処理を行う。
【００７７】
２．２  エリアの特定
本実施形態では、画像エフェクト効果を与えるエリアを特定する処理を、オブジェクト空間内でレンダリングされた際に生成される奥行きバッファに格納される奥行き情報（奥行き値。例えばＺ値）を用いる。
【００７８】
すなわち、まず奥行きバッファに格納されている奥行き情報に基づいて隠面消去しながら、図５に示すように配置されたボリュームオブジェクト３００を、裏面消去（カルバック）でレンダリングした裏面消去レンダリング画像と、表面消去（カルフロント）でレンダリングした表面消去レンダリング画像とを生成する。
【００７９】
より具体的には、裏面消去でレンダリングする場合、ボリュームオブジェクトのプリミティブ面（ポリゴン、自由曲面等）が、視点から見て裏向きの場合には、その描画処理を省略（カリング処理）する。また、表面消去でレンダリングする場合、ボリュームオブジェクトのプリミティブ面が、視点から見て表向きの場合には、その描画処理を省略（カリング処理）する。
【００８０】
図６に、図５に示すボリュームオブジェクトの裏面消去レンダリング画像の一例を示す。なお、ここでは画像を見やすくするために、コース２００の向きを示す破線をあわせて示している（図７〜図９も同様）。
【００８１】
このように、ボリュームオブジェクト３００の裏面消去レンダリング画像３５０は、移動オブジェクト２５０のうちボリュームオブジェクト３００に内包されない部分を除いた画像となる。この裏面消去レンダリング画像３５０は、ボリュームオブジェクト３００の表面のうち、構造物２１０で見えなくなる表面を除いた表面（図４に示す表面３１２）のみがレンダリングされたものである。
【００８２】
なお、この裏面消去レンダリング画像３５０は、通常のオブジェクトのレンダリングを行う描画バッファとは別のバッファ（例えば、αプレーン）に生成される。
【００８３】
図７に、図５に示すボリュームオブジェクトの表面消去レンダリング画像の一例を示す。
【００８４】
このように、ボリュームオブジェクト３００の表面消去レンダリング画像３６０は、移動オブジェクト２５０のうちボリュームオブジェクト３００に内包されない部分を除いた画像となる。この表面消去レンダリング画像３６０は、ボリュームオブジェクト３００の裏面のうち、裏面（図４に示す裏面３２２）のみがレンダリングされたものである。
【００８５】
なお、この表面消去レンダリング画像３６０は、通常のオブジェクトのレンダリングを行う描画バッファとは別のバッファ（例えば、αプレーン）に生成される。
【００８６】
このように生成した裏面消去レンダリング画像３５０と、表面消去レンダリング画像３６０とを重ね合わせると、次のようになる。
【００８７】
図８に、裏面消去レンダリング画像３５０と表面消去レンダリング画像３６０とを重ね合わせた画像の一例を示す。
【００８８】
すなわち、裏面消去レンダリング画像３５０と表面消去レンダリング画像３６０とから、ボリュームオブジェクト３００、構造物の天井、側壁、コースに内包される空間のレンダリング画像が特定される。
【００８９】
したがって、裏面消去レンダリング画像３５０から、表面消去レンダリング画像３６０と重複した部分を取り除くことで、図９に示すように構造物２１０の影を落とし込むべきエリアとして、レンダリング画像に対するエリアが特定される。
【００９０】
この場合、裏面消去レンダリング画像３５０及び表面消去レンダリング画像３６０が、互いに別個のバッファに描画されたときは、例えば裏面消去レンダリング画像と表面消去レンダリング画像との差分画像として、上記エリアを特定することができる。
【００９１】
また、裏面消去レンダリング画像３５０及び表面消去レンダリング画像３６０が１つのバッファに描画されるときは、例えば既にバッファにレンダリングされた裏面消去レンダリング画像に対し、表面消去レンダリング画像がレンダリングされる部分をバッファ上で削除することで、上記エリアを特定することができる。
【００９２】
このように、本実施形態では、背景オブジェクトや移動オブジェクト等をレンダリング後に生成された奥行き情報を用い、ボリュームオブジェクトが内包する空間から例えば構造物の天井、側壁、或いはコースといったものに囲まれた限定空間を特定したレンダリング画像を得ることができる。したがって、既に背景オブジェクトや移動オブジェクト等がレンダリングされた描画バッファ上のレンダリング画像に対して、図９に示したような画像のエリアに対して、２次元的な画像処理として色情報を変化させた画像エフェクト効果を与えることで、構造物の影を移動オブジェクトに正確に反映させることができるようになる。
【００９３】
図１０に、本実施形態において構造物の影を落とし込んだ移動オブジェクトの画像の一例を示す。
【００９４】
このように、２次元的な画像処理のみで、構造物として橋の下をくぐる移動オブジェクトに対し、橋の影を正確に落とし込むことができる。したがって、より少ない処理負荷で、効果的な画像エフェクト効果を有する画像を得ることができる。
【００９５】
図１１（Ａ）、（Ｂ）に、橋の下をくぐる移動オブジェクトに対して影を落とし込んだ画像の一例を示す。
【００９６】
すなわち、本実施形態では、上述したような簡素な処理で構造物の下をくぐる移動オブジェクトに対して影を落とし込む表現が可能となるので、図１１（Ａ）、（Ｂ）に示すようなフレーム画像間で、移動オブジェクトに対して落とし込まれる影の形状が変化した場合であっても正確に表現することができる。
【００９７】
なお、本実施形態では、特定したエリアに対して色情報を変化させることで限定空間内の移動オブジェクトに対して影を落とし込む表現を行った場合について説明したが、これに限定されるものではない。例えば、特定したエリアの色情報を変化させることで、移動オブジェクトに光が照らされている表現を行ったりしてもよい。また、色情報に限らず、半透明情報を変化させて、効果的な画像エフェクト効果を与えるようにしてもよい。
【００９８】
また、本実施形態では、奥行き情報に基づいて隠面消去しながらボリュームオブジェクトをレンダリングしているが、限定空間内に移動オブジェクトが存在しない場合は奥行き情報を用いることなく、表面３１２と裏面３２２について、裏面消去と表面消去を行って、上記エリアを特定するようにしてもよい。
【００９９】
３．  本実施形態の処理例
次に、本実施形態の処理の詳細例について、図１２のフローチャートを用いて説明する。
【０１００】
図１２に、本実施形態における限定空間内のオブジェクトに画像エフェクト効果を与える処理の一例を示す。
【０１０１】
まず、画像生成部１３０のジオメトリ処理部１３２において、オブジェクト空間に配置されたオブジェクト（ボリュームオブジェクトを除く他のオブジェクト）に対してジオメトリ処理を行って、描画部１４０により描画バッファ１７４にオブジェクト画像を描画する（ステップＳ１０）。この際、奥行き情報（奥行き値。例えばＺ値）が奥行きバッファ１７６に格納される。
【０１０２】
続いて、ボリュームオブジェクト配置部１２０において、構造物の下などの限定空間を内包するボリュームオブジェクトが生成され、オブジェクト空間内に配置される（ステップＳ１１）。
【０１０３】
そして、裏面消去レンダリング部１４２において、ステップＳ１０で生成された奥行き情報を参照し、裏面消去（カルバック）でボリュームオブジェクトをレンダリングする（ステップＳ１２）。このとき、奥行き情報の更新は行わない。また、レンダリングは、描画バッファ１７４とは別個のバッファ（例えばαプレーン）に行う。
【０１０４】
さらに、表面消去レンダリング部１４４において、ステップＳ１０で生成された奥行き情報を参照し、表面消去（カルフロント）でボリュームオブジェクトをレンダリングする（ステップＳ１３）。このときも、奥行き情報の更新は行わない。また表面消去でレンダリングした画像は、例えば描画バッファ１７４とは別個のバッファに描画される。
【０１０５】
そして、エリア特定部１３４において、裏面消去レンダリングした画像と表面消去レンダリングとの差分により、画像エフェクト効果を与えるエリアを特定する（ステップＳ１４）。
【０１０６】
さらに、画像エフェクト効果処理部１２２において、ステップＳ１４で特定されたエリアに対して、２次元的にレンダリング画像の色情報等を変化させて、画像エフェクト効果を与える（ステップＳ１５）。
【０１０７】
こうすることで、簡素な処理で、図１１（Ａ）、（Ｂ）に示すように、構造物の下をくぐるような限定空間内の移動オブジェクトに対して、影を落とし込むといった画像エフェクト効果を、少ない処理負荷で与えることができる。
【０１０８】
４．  ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１３を用いて説明する。
【０１０９】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１１０】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１１１】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１１２】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１１３】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すとともに、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１１４】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１１５】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１１６】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１１７】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１１８】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１１９】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１２０】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１２１】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現（実行）してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１２２】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示するとともに、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【０１２３】
図１４（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム或いはデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１２４】
図１４（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１２５】
図１４（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１２６】
なお、図１４（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバ）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバ）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１２７】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であるとともに家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１２８】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１２９】
なお本実施形態では、移動オブジェクトに影を落とし込む処理について説明したが、これに限定されるものではない。例えば、オブジェクト擺動するものであるものに限定されない。
【０１３０】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１３１】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１３２】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態の画像生成システムのブロック図の例である。
【図２】本実施形態における移動オブジェクトが移動するコースの一部のオブジェクト画像の一例を示す図である。
【図３】構造物の下を移動する移動オブジェクトに影を落とし込んだ処理後のオブジェクト画像の一例を示す図である。
【図４】本実施形態におけるボリュームオブジェクトの一例を示す図である。
【図５】本実施形態におけるボリュームオブジェクトをオブジェクト空間に配置した例を示す図である。
【図６】本実施形態におけるボリュームオブジェクトの裏面消去レンダリング画像の一例を示す図である。
【図７】本実施形態におけるボリュームオブジェクトの表面消去レンダリング画像の一例を示す図である。
【図８】本実施形態における裏面消去レンダリング画像と表面消去レンダリング画像とを重ね合わせた画像の一例を示す図である。
【図９】本実施形態において特定されたエリアを示す図である。
【図１０】本実施形態において構造物の影を落とし込んだ移動オブジェクトの画像の一例を示す図である。
【図１１】図１１（Ａ）、（Ｂ）は、橋の下をくぐる移動オブジェクトに対して影を落とし込んだ画像の一例を示す図である。
【図１２】本実施形態における限定空間内のオブジェクトに画像エフェクト効果を与える処理の一例を示すフローチャートである。
【図１３】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１４】図１４（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  ゲーム処理部
１２０  ボリュームオブジェクト配置部
１２２  画像エフェクト効果処理部
１３０  画像生成部
１３２  ジオメトリ処理部
１３４  エリア特定部
１４０  描画部
１４２  裏面消去レンダリング部
１４４  表面消去レンダリング部
１５０  音生成部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１７６  奥行きバッファ
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
２００  コース
２１０  構造物
２２０  限定空間
２５０  移動オブジェクト
３００  ボリュームオブジェクト
３１０、３１２、３１４  表面
３２０、３２２、３２４  裏面
３５０  裏面消去レンダリング画像
３６０  表面消去レンダリング画像
【図１】
0004803909.tif 000002
【図２】
0004803909.tif 000003
【図３】
0004803909.tif 000004
【図４】
0004803909.tif 000005
【図５】
0004803909.tif 000006
【図６】
0004803909.tif 000007
【図７】
0004803909.tif 000008
【図８】
0004803909.tif 000009
【図９】
0004803909.tif 000010
【図１０】
0004803909.tif 000011
【図１１】
0004803909.tif 000012
【図１２】
0004803909.tif 000013
【図１３】
0004803909.tif 000014
【図１４】
0004803909.tif 000015