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