(57)【特許請求の範囲】
【請求項１】
画像を生成するための画像生成システムであって、
第１のオブジェクトの形状データを含む第１のオブジェクトデータと、前記第１のオブジェクトと同一形状又はほぼ同一形状の第２のオブジェクトの形状データを含む第２のオブジェクトデータと、前記第１のオブジェクトにマッピングされる第１のテクスチャと、前記第２のオブジェクトにマッピングされ、前記第１のテクスチャとはテクスチャパターンが異なる第２のテクスチャとに基づいて、前記第１のオブジェクトに前記第２のオブジェクトを重ねて描画する描画手段と、
前記第２のオブジェクトの透明度を可変に制御する透明度制御手段とを含み、
前記描画手段が、
前記第１のオブジェクトと同一形状又はほぼ同一形状であり、前記第１のテクスチャとはテクスチャパターンが異なる第３〜第Ｎ（Ｎ≧３）のテクスチャがマッピングされる第３〜第Ｎのオブジェクトを、前記第２のオブジェクトと共に、前記第１のオブジェクトに重ねて描画し、
前記透明度制御手段が、
前記第２〜第Ｎのオブジェクトの各々の透明度を独立に制御し、第Ｍ（１≦Ｍ≦Ｎ−１）のイベントが発生した場合に、第Ｍ＋１のオブジェクトの透明度を変化させることを特徴とする画像生成システム。
【請求項２】
コンピュータ読み取り可能な情報記憶媒体であって、
第１のオブジェクトの形状データを含む第１のオブジェクトデータと、前記第１のオブジェクトと同一形状又はほぼ同一形状の第２のオブジェクトの形状データを含む第２のオブジェクトデータと、前記第１のオブジェクトにマッピングされる第１のテクスチャと、前記第２のオブジェクトにマッピングされ、前記第１のテクスチャとはテクスチャパターンが異なる第２のテクスチャとに基づいて、前記第１のオブジェクトに前記第２のオブジェクトを重ねて描画する描画手段と、
前記第２のオブジェクトの透明度を可変に制御する透明度制御手段としてコンピュータを機能させるためのプログラムを記憶し、
前記描画手段が、
前記第１のオブジェクトと同一形状又はほぼ同一形状であり、前記第１のテクスチャとはテクスチャパターンが異なる第３〜第Ｎ（Ｎ≧３）のテクスチャがマッピングされる第３〜第Ｎのオブジェクトを、前記第２のオブジェクトと共に、前記第１のオブジェクトに重ねて描画し、
前記透明度制御手段が、
前記第２〜第Ｎのオブジェクトの各々の透明度を独立に制御し、第Ｍ（１≦Ｍ≦Ｎ−１）のイベントが発生した場合に、第Ｍ＋１のオブジェクトの透明度を変化させることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、車（オブジェクト）を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作する車と競争することで３次元ゲームを楽しむ。
【０００３】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、レーシングゲームを例にとれば、コース周回を重ねるにつれて、車の表面に徐々に汚れが付着するような表現を実現できることが望まれる。
【０００４】
さて、このようなレーシングゲームにおける車の汚れを表現する１つの手法として、例えば、車にマッピングされる汚れテクスチャ（汚れを表すテクスチャ）を順次差し替えて行く手法を考えることができる。即ち、車の走行距離が少ない場合には、汚れ具合の低い汚れテクスチャを車にマッピングする。そして、車の走行距離が増すと、汚れ具合が中ぐらいの汚れテクスチャを車にマッピングする。そして、車の走行距離が更に増すと、汚れ具合が高い汚れテクスチャを車にマッピングする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２９５９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、この手法では、汚れ具合が異なる多くの種類のテクスチャを予め用意しておく必要がある。従って、テクスチャを記憶するメモリの使用記憶容量が増してしまい、画像生成システムの大規模化、高コスト化の問題を招く。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、テクスチャの使用記憶容量を節約しながら、オブジェクトの汚れ等のリアルな画像表現を実現できる画像生成システム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、画像を生成するための画像生成システムであって、
第１のオブジェクトの形状データを含む第１のオブジェクトデータと、前記第１のオブジェクトと同一形状又はほぼ同一形状の第２のオブジェクトの形状データを含む第２のオブジェクトデータと、前記第１のオブジェクトにマッピングされる第１のテクスチャと、前記第２のオブジェクトにマッピングされ、前記第１のテクスチャとはテクスチャパターンが異なる第２のテクスチャとに基づいて、前記第１のオブジェクトに前記第２のオブジェクトを重ねて描画する描画手段と、
前記第２のオブジェクトの透明度を可変に制御する透明度制御手段とを含み、
前記描画手段が、
前記第１のオブジェクトと同一形状又はほぼ同一形状であり、前記第１のテクスチャとはテクスチャパターンが異なる第３〜第Ｎ（Ｎ≧３）のテクスチャがマッピングされる第３〜第Ｎのオブジェクトを、前記第２のオブジェクトと共に、前記第１のオブジェクトに重ねて描画し、
前記透明度制御手段が、
前記第２〜第Ｎのオブジェクトの各々の透明度を独立に制御することを特徴とする。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各手段としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関係する。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の画像生成システムのブロック図の例である。
【図２】汚れ表現用オブジェクトの透明度を制御する手法について説明するための図である。
【図３】汚れ表現用オブジェクトを車オブジェクトに追従させる手法について説明するための図である。
【図４】汚れ表現用オブジェクトを複数のパーツオブジェクトで構成する手法について示す図である。
【図５】２以上の汚れ表現用オブジェクトを車オブジェクトに重ね書きする手法について説明するための図である。
【図６】ジオメトリ処理後のオブジェクトデータを再利用する手法について説明するための図である。
【図７】図７（Ａ）、（Ｂ）は、ポリゴン分割が原因となる表示エラーの問題について説明するための図である。
【図８】本実施形態のＺシフト処理について説明するための図である。
【図９】ＤＤＡの演算誤差の大きさに基づいてＺシフト値の大きさを決定する手法について説明するための図である。
【図１０】シフトフラグＳＦＬ（識別情報）について説明するための図である。
【図１１】本実施形態の詳細な処理例について示すフローチャートである。
【図１２】本実施形態の詳細な処理例について示すフローチャートである。
【図１３】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１４】図１４（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【発明を実施するための形態】
【００１０】
本実施形態は、画像を生成するための画像生成システムであって、第１のオブジェクトの形状データを含む第１のオブジェクトデータと、前記第１のオブジェクトと同一形状又はほぼ同一形状の第２のオブジェクトの形状データを含む第２のオブジェクトデータと、前記第１のオブジェクトにマッピングされる第１のテクスチャと、前記第２のオブジェクトにマッピングされ、前記第１のテクスチャとはテクスチャパターンが異なる第２のテクスチャとに基づいて、前記第１のオブジェクトに前記第２のオブジェクトを重ねて描画する描画手段と、前記第２のオブジェクトの透明度を可変に制御する透明度制御手段とを含むことを特徴とする。また本実施形態に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本実施形態に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００１１】
本実施形態によれば、第１のテクスチャがマッピングされる第１のオブジェクトに、第２のテクスチャがマッピングされる第２のオブジェクトが重ねて描画される。そして、第２のオブジェクトの透明度が可変に制御される。従って、透明度を変化させて、第２のオブジェクトを完全な透明から半透明に段々と変化させることで、第２のテクスチャが徐々に目立って見えてくるような画像表現が可能になる。一方、透明度を変化させて、第２のオブジェクトを段々と透明に変化させることで、第２のテクスチャが徐々に目立たなくなり消えて行くというような画像表現が可能になる。従って、複数のテクスチャを順次差し替える手法に比べて、少ないテクスチャの使用記憶容量で、より多様でリアルな画像表現を実現できるようになる。
【００１２】
また本実施形態に係る画像生成システム、情報記憶媒体及びプログラムは、前記第２のテクスチャが、前記第１のオブジェクトの汚れを表現するためのテクスチャであることを特徴とする。このようにすることで、オブジェクトの汚れが段々と目立ってくるというような画像表現や、オブジェクトの汚れが段々と消えて行くというような画像表現が可能になる。
【００１３】
また本実施形態に係る画像生成システム、情報記憶媒体及びプログラムは、前記第１のオブジェクトの移動又は動作を演算する手段（又は該手段を実行するためのプログラム、処理ルーチン）を含み、前記第２のオブジェクトが、前記第１のオブジェクトに追従して移動又は動作することを特徴とする。このようにすることで、オブジェクト空間内で移動又は動作するオブジェクトの汚れ等のリアルな表現が可能になる。
【００１４】
また本実施形態に係る画像生成システム、情報記憶媒体及びプログラムは、前記第２のオブジェクトが複数のパーツオブジェクトにより構成されており、前記透明度制御手段が、前記複数のパーツオブジェクトの各々の透明度を独立に制御することを特徴とする。このようにすれば、オブジェクトの各部分で透明度の変わり具合を異ならせることが可能になり、より多様な画像表現が可能になる。
【００１５】
また本実施形態に係る画像生成システム、情報記憶媒体及びプログラムは、前記描画手段が、前記第１のオブジェクトと同一形状又はほぼ同一形状であり、前記第１のテクスチャとはテクスチャパターンが異なる第３〜第Ｎ（Ｎ≧３）のテクスチャがマッピングされる第３〜第Ｎのオブジェクトを、前記第２のオブジェクトと共に、前記第１のオブジェクトに重ねて描画し、前記透明度制御手段が、前記第２〜第Ｎのオブジェクトの各々の透明度を独立に制御することを特徴とする。このようにすれば、例えば第１のイベントが発生した場合には第２のオブジェクトの透明度を変化させ、第２のイベントが発生した場合には第３のオブジェクトの透明度を変化させるなどの処理が可能になり、画像のリアル度を増すことができる。
【００１６】
また本実施形態に係る画像生成システム、情報記憶媒体及びプログラムは、ジオメトリ処理後の第１のオブジェクトデータが記憶手段に保存され、前記描画手段が、保存されたジオメトリ処理後の第１のオブジェクトデータを、前記第２のオブジェクトデータとして用いることを特徴とする。
【００１７】
本実施形態によれば、ジオメトリ処理後の第１のオブジェクトデータが記憶手段に格納され、消されずに保存される。そして、ジオメトリ処理後の第１のオブジェクトデータと第１のテクスチャとに基づいて第１のオブジェクトが描画される。そして、その第１のオブジェクトの上に、保存されていたジオメトリ処理後の第１のオブジェクトデータと第２のテクスチャとにより描画される第２のオブジェクトが重ねて描画される。このようにすることで、第１のオブジェクトに第２のオブジェクトを重ねて描画する処理の負担の軽減化を図れる。
【００１８】
また本実施形態に係る画像生成システム、情報記憶媒体及びプログラムは、第１のオブジェクトのＺ値及び第２のオブジェクトのＺ値の少なくとも一方に対して、Ｚシフト値を加算又は減算するＺシフト手段（又は該手段を実行するためのプログラム、処理ルーチン）を含むことを特徴とする。このようにすれば、第１のオブジェクトの手前に第２のオブジェクトが常に表示されるようにすることができる。
【００１９】
また本実施形態に係る画像生成システム、情報記憶媒体及びプログラムは、前記Ｚシフト手段が、ジオメトリ処理後の第１のオブジェクトのプリミティブ面のＺ値及びジオメトリ処理後の第２のオブジェクトのプリミティブ面のＺ値の少なくとも一方に対して、Ｚシフト値を加算又は減算することを特徴とする。このようにすれば、補間処理の演算誤差等に起因して陰面消去に誤りが生じる問題を、少ない処理負担で解決できるようになる。
【００２０】
また本実施形態に係る画像生成システム、情報記憶媒体及びプログラムは、前記第２のオブジェクトのサイズを第１のオブジェクトのサイズよりも僅かに大きくする処理を行うスケーリング手段（又は該手段を実行するためのプログラム、処理ルーチン）を含むことを特徴とする。このようにすれば、第１のオブジェクトの手前に第２のオブジェクトが常に表示されるようにすることができる。
【００２１】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を、レーシングゲームに適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【００２２】
１．構成
図１に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０、或いは処理部１００と記憶部１７０と情報記憶媒体１８０を含めばよく）、それ以外のブロック（例えば操作部１６０、表示部１９０、音出力部１９２、携帯型情報記憶装置１９４、通信部１９６）については、任意の構成要素とすることができる。
【００２３】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００２４】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００２５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２６】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００２７】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００２８】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００２９】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００３０】
携帯型情報記憶装置１９４は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３１】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３２】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３３】
処理部１００は、ゲーム処理部１１０、画像生成部１３０、音生成部１５０を含む。
【００３４】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部１６０からの操作データや、携帯型情報記憶装置１９４からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【００３５】
ゲーム処理部１１０は移動・動作演算部１１４を含む。
【００３６】
ここで移動・動作演算部１１４は、車などのオブジェクトの移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００３７】
より具体的には、移動・動作演算部１１４は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでのオブジェクトの位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでのオブジェクトの位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
【００３８】
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
画像生成部１３０は、ゲーム処理部１１０からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内の所与の視点で見える画像を生成して、表示部１９０に出力する。また、音生成部１５０は、ゲーム処理部１１０からの指示等にしたがって各種の音処理を行い、ＢＧＭ、効果音、音声などの音を生成し、音出力部１９２に出力する。
【００３９】
なお、ゲーム処理部１１０、画像生成部１３０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００４０】
画像生成部１３０は、ジオメトリ処理部１３２（３次元座標演算部）、透明度制御部１３４、Ｚシフト部１３６、描画部１４０（レンダリング部）を含む。
【００４１】
ここで、ジオメトリ処理部１３２は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元座標演算）を行う。なお、本実施形態では、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標などの形状データ、或いは頂点テクスチャ座標、輝度データ等）は、記憶部１７０のメインメモリ１７２に格納されて、保存される。
【００４２】
透明度制御部１３４は、車オブジェクト（第１のオブジェクト）に重ねて描画される汚れ表現用オブジェクト（第２のオブジェクト）の透明度（半透明度、不透明度と等価）を可変に制御する処理を行う。ここで汚れ表現用オブジェクトは、車オブジェクトと同一形状（又はほぼ同一形状）であるが、車オブジェクトにマッピングされるテクスチャ（車の下地のテクスチャ）とは異なるパターンのテクスチャ（汚れテクスチャ）がマッピングされる。
【００４３】
なお、透明度制御部１３４の制御対象となる透明度は、各ポリゴン（広義にはプリミティブ面）に対して設定される透明度であることが処理負担の軽減化の観点から特に望ましいが、テクスチャに対して設定される透明度（各ピクセルのα値）であってもよい。即ち、透明度制御部１３４が、テクスチャ記憶部に記憶されるテクスチャの透明度（α値）を直接書き換えるようにしてもよい。
【００４４】
Ｚシフト部１３６は、車オブジェクトのＺ値（奥行き値）及び汚れ表現用オブジェクトのＺ値の少なくと一方に対して、Ｚシフト値を加減算（加算又は減算）する処理を行う。より具体的には、ジオメトリ処理後の車オブジェクトのポリゴン（プリミティブ面）のＺ値及びジオメトリ処理後の汚れ表現用オブジェクトのポリゴンのＺ値の少なくとも一方に対して、Ｚシフト値を加減算する。このようにすることで、車オブジェクトの手前に汚れ表現用オブジェクトが常に表示されるようにすることができる。また、Ｚバッファ法における陰面消去の誤りの問題も解決できる。
【００４５】
なお、Ｚシフト部１３６を設ける代わりに、スケーリング部１３８を設けるようにしてもよい。このスケーリング部１３８は、汚れ表現用オブジェクトのサイズを車オブジェクトのサイズよりも僅かに大きくする処理を行う。このようにすることによっても、車オブジェクトの手前に汚れ表現用オブジェクトが常に表示されるようにすることができる。
【００４６】
描画部１４０は、車オブジェクトのオブジェクトデータや、汚れ表現用オブジェクトのオブジェクトデータや、車オブジェクトにマッピングされる下地テクスチャや、汚れ表現用オブジェクトにマッピングされる汚れテクスチャなどに基づいて、車オブジェクトに汚れ表現用オブジェクトを重ねて描画する処理を行う。そして本実施形態では、透明度制御部１３４の制御処理により、この汚れ表現用オブジェクトの透明度が変化する。これにより、テクスチャの使用記憶容量を抑えながら、多様でリアルな汚れ表現を実現できるようになる。
【００４７】
なお、描画部１４０が含む補間部１４２は、ポリゴンの頂点（例えば３頂点）のＺ値に基づき、ポリゴンの各ピクセルのＺ値を、ＤＤＡなどの補間演算により求める。そして、上述のＺシフト部１３６は、この補間部１４２での演算誤差よりも大きな値のＺシフト値を、ポリゴンのＺ値に対して加減算することになる。
【００４８】
また描画部１４０が含む陰面消去部１４４は、Ｚ値が格納されるＺバッファ１７８を用いて、Ｚバッファ法のアルゴリズムにしたがった陰面消去を行う。
【００４９】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５０】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００５１】
２．本実施形態の特徴
（１）透明度の制御
本実施形態では、図２に示すように、車オブジェクトＯＢ１（第１のオブジェクト）と、ＯＢ１と同一形状だが、マッピングされるテクスチャが異なる汚れ表現用オブジェクトＯＢ２（第２のオブジェクト）を用意する。そして、汚れ表現用オブジェクトＯＢ２の透明度ＴＲＡＮＳ（半透明度、不透明度）を可変に制御しながら、車オブジェクトＯＢ１に対してＯＢ２を重ねて描画する。これにより、図２のＢ１に示すように、車の汚れをリアルに表現できるようになる。
【００５２】
例えば、車の走行スタート時においては、汚れ表現用オブジェクトＯＢ２の透明度ＴＲＡＮＳ＝０（％）にしておく。このようにすることにより、ＯＢ２が完全に透明になり、汚れが付着していない車が表示されるようになる。
【００５３】
そして、車が泥水エリア等に進入するなどのイベントが発生したり、車の走行距離が増えた場合に、ＯＢ２の透明度ＴＲＡＮＳを徐々に大きくする。これにより、ＯＢ２が透明から半透明に変わり、車の汚れが徐々に目立って見えるようになる。
【００５４】
一方、車が泥水エリアから脱出したり、きれいな水を浴びるなどのイベントが発生した場合には、ＯＢ２の透明度ＴＲＡＮＳを逆に徐々に小さくする。これにより、車の汚れが徐々に落ちて行く様子を表現できるようになる。
【００５５】
例えば、車の汚れを表現する他の手法として、車にマッピングされる汚れテクスチャを順次差し替えて行く手法を考えることができる。
【００５６】
しかしながら、この手法では、汚れ具合が異なる多くの種類のテクスチャを予め用意しておく必要がある。従って、テクスチャの使用記憶容量が増してしまい、画像生成システムの大規模化、高コスト化の問題を招く。
【００５７】
本実施形態によれば、汚れ表現用オブジェクトＯＢ２の透明度ＴＲＡＮＳを変化させるだけという簡易な処理で、複数段階の汚れ状態を表現できる。そして、汚れテクスチャとしては、ＯＢ２にマッピングされるテクスチャだけを用意すればよいため、テクスチャの使用記憶容量も節約できる。即ち、少ない使用記憶容量で、よりリアルで多種多様な汚れを表現できるようになる。
【００５８】
なお、第２のオブジェクトにマッピングされる第２のテクスチャは、第１のオブジェクトの汚れを表現するためのテクスチャであることが特に望ましいが、これに限定されるものではない。例えば車のリフレクションを表現するための環境テクスチャや、表面の凹凸を表現するためのバンプテクスチャなど、種々のテクスチャを考えることができる。
【００５９】
また本実施形態では、図３に示すように、汚れ表現用オブジェクトＯＢ２は、車オブジェクトＯＢ１に追従して移動（又は動作）する。即ち、車オブジェクトＯＢ１が移動（平行移動、回転移動）した場合に、車オブジェクトＯＢ１の位置ＰＭ（代表点）と汚れ表現用オブジェクトの位置ＰＭ’は常に同一になり、向く方向（回転角度）も常に同一になる。このようにすることで、車のように移動、回転するオブジェクトの汚れの表現が可能になる。
【００６０】
また本実施形態では図４に示すように、汚れ表現用オブジェクトＯＢ２を複数のパーツオブジェクトＯＢ２-1、ＯＢ２-2、ＯＢ２-3で構成し、これらのＯＢ２-1、ＯＢ２-2、ＯＢ２-3の各々の透明度ＴＲＡＮＳＡ、ＴＲＡＮＳＢ、ＴＲＡＮＳＣを独立に制御するようにしてもよい。
【００６１】
例えば、車の走行距離に対する透明度ＴＲＡＮＳＡ、ＴＲＡＮＳＢ、ＴＲＡＮＳＣの増加率を、各々、△ＴＲＡＮＳＡ、△ＴＲＡＮＳＢ、△ＴＲＡＮＳＣとした場合に、△ＴＲＡＮＳＡ＞△ＴＲＡＮＳＢ＞△ＴＲＡＮＳＣに設定する。このようにすれば、車の走行距離が増えた場合に、車の前方部の方が後方部に比べて、より早く汚れが目立って見えるようになる。これにより、車の汚れ表現のリアル性、多様性を増すことができる。
【００６２】
なお、汚れ表現用オブジェクトＯＢ２のパーツオブジェクトの構成形態は、図４に示すものに限定されない。例えば、車のバンパー、フェンダー、ボンネット、ドア、フロントガラス、ウィンドウ、トランクというように、更に細かなパーツオブジェクトに分割してもよい。また、パーツオブジェクトの一部についてのみ透明度を変化させ、他の部分は透明度を変化させないようにしてもよい。
【００６３】
また本実施形態では図５に示すように、テクスチャパターンが互いに異なる２個以上の汚れ表現用オブジェクトＯＢ２、ＯＢ３、ＯＢ４・・・を用意し、これらのＯＢ２、ＯＢ３、ＯＢ４・・・を車オブジェクトＯＢ１に重ねて描画するようにしてもよい。そして、ＯＢ２、ＯＢ３、ＯＢ４・・・の各々の透明度ＴＲＡＮＳＡ、ＴＲＡＮＳＢ、ＴＲＡＮＳＣ・・・を独立に制御するようにする。
【００６４】
例えば、車が泥水エリアに進入した場合には、泥水の汚れ表現用オブジェクトＯＢ２の透明度ＴＲＡＮＳＡを変化させる。また車が砂埃エリアに進入した場合には、砂埃の汚れ表現用オブジェクトＯＢ３の透明度ＴＲＡＮＳＢを変化させ、雨域エリアに進入した場合には、雨の汚れ表現用オブジェクトＯＢ４の透明度ＴＲＡＮＳＣを変化させる。このようにすれば、車の走行エリアや走行状況に応じて、車に異なった汚れが付着して見えるようになる。この結果が、汚れ表現の多様性や画像のリアル度を更に増すことができる。
【００６５】
（２）ジオメトリ処理後のオブジェクトデータの再利用
さて、車オブジェクトに汚れ表現用オブジェクトを重ねて描画する手法として、車オブジェクトと汚れ表現用オブジェクトとを別々に用意し、これらのオブジェクトの各々に対してジオメトリ処理（座標変換、クリッピング処理、透視変換、又は光源計算等）を別々に施す手法を考えることができる。
【００６６】
しかしながら、この手法によると、汚れ表現用オブジェクトを用いずに車オブジェクトだけを描画する場合に比べて、処理負担が２倍程度になる。この処理負担の増加は、１フレーム内で全ての描画処理を完了しなければならないという処理のリアルタイム性が要求される画像生成システムでは深刻な問題となる。
【００６７】
そこで、本実施形態では、ジオメトリ処理後の車オブジェクトのオブジェクトデータをメインメモリに保存しておき、この保存されたジオメトリ処理後のオブジェクトデータを、汚れ表現用オブジェクトのオブジェクトデータとして再利用している。これにより、上記処理負担の増加の問題を解決できる。
【００６８】
より具体的には、図６のA1に示すように、メインメモリ上の車オブジェクトのオブジェクトデータ（頂点座標、頂点テクスチャ座標、輝度、或いは法線ベクトル等）に基づきジオメトリ処理を行い、ジオメトリ処理後（透視変換後）のオブジェクトデータをメインメモリに格納し、消さずに保存しておく。
【００６９】
次に、図６のA2に示すように、ＶＲＡＭのテクスチャ記憶部（テクスチャ記憶領域）に車の下地テクスチャを転送する（ジオメトリ処理の前に転送してもよい）。
【００７０】
次に、図６のA3に示すように、ジオメトリ処理後のオブジェクトデータと、テクスチャ記憶部に記憶されている車の下地テクスチャとに基づいて、ＶＲＡＭのフレームバッファに車オブジェクトを描画する。これにより、フレームバッファ上には、下地テクスチャがマッピングされた車オブジェクトが描画されるようになる。
【００７１】
次に、図６のA4に示すように、テクスチャ記憶部に汚れテクスチャを転送して、オブジェクトにマッピングされるテクスチャを変更する。
【００７２】
次に、図６のA5に示すように、メインメモリに保存しておいたジオメトリ処理後のオブジェクトデータと、テクスチャ記憶部に格納される汚れテクスチャとに基づいて、フレームバッファに汚れ表現用オブジェクトをαブレンディングにより重ねて描画する。これにより、下地テクスチャがマッピングされた車オブジェクトの上に、汚れテクスチャがマッピングされた汚れ表現用オブジェクトが重ねて描画されることになる。
【００７３】
以上の処理を１フレーム内に行うことで、車オブジェクトに対して汚れ表現用オブジェクトを重ねて描画できるようになる。
【００７４】
そして本実施形態では、メインメモリに既に保存されているジオメトリ処理後の車オブジェクトのオブジェクトデータが、汚れ表現用オブジェクトのオブジェクトデータとして再利用される。従って、汚れ表現用オブジェクトに対するジオメトリ処理を再度行う必要がなく、１回で済むため、処理負担をそれほど増すことなく、車の汚れ表現を実現できるようになる。
【００７５】
特に、ジオメトリ処理（３次元座標演算）は、オブジェクトの全ての頂点に対して行う必要があるため、非常に負担の重い処理である。従って、このジオメトリ処理を２回行うことなく１回で済ませることで、処理負担を大幅に軽減できる。
【００７６】
（３）Ｚシフト処理、スケーリング処理
さて、車オブジェクトと汚れ表現用オブジェクトを重ねて描画する際に、汚れ表現用オブジェクトが車オブジェクトの手前に常に来るような工夫を施さないと、車の汚れが下地に隠れて表示されなくなる事態が生じる。
【００７７】
このような事態を防止するためには、車オブジェクトのＺ値（奥行き値）や汚れ表現用オブジェクトのＺ値に対してＺシフト値を加減算することが望ましい。即ち、汚れ表現用オブジェクトが車オブジェクトの手前に常に表示されるように、これらのオブジェクトの少なくとも一方に対してＺシフト値を加減算するＺシフト処理を行う。このようにすることで、車の汚れが下地に隠れてしまうという事態を防止できる。
【００７８】
なお、このようなＺシフト値を加減算する代わりに、汚れ表現用オブジェクトのサイズを、車オブジェクトのサイズよりも僅かに大きくするスケーリング処理を行うようにしてもよい。このようにすれば、汚れ表現用オブジェクトを、車オブジェクトの手前に常に表示できるようになる。但し、このようなスケーリング処理はＺシフト処理に比べて処理負荷が重いという欠点がある。従って、処理負荷の軽減化という観点からは、Ｚシフト処理の方が望ましい。
【００７９】
さて、本実施形態のような画像生成システムでは、視点から見えない部分を消去し、視点から見える部分だけを表示するための陰面消去が必要になる。そして、この陰面消去の中で代表的なもとのしては、奥行きソート法と呼ばれるものや、Ｚバッファ法と呼ばれるものが知られている。
【００８０】
奥行きソート法（Ｚソート法）では、視点からの距離に応じてポリゴン（プリミティブ面）をソーティングし、視点から遠い順にポリゴンを描画する。一方、Ｚバッファ法では、画面の全てのピクセル（ドット）についてのＺ値（奥行き値）を格納するＺバッファを用意し、このＺバッファを利用して陰面消去を行う。
【００８１】
このようなＺバッファ法を用いて陰面消去を行う場合において、車オブジェクトの手前に汚れ表現用オブジェクトを常に表示させるためには、以下のような手法を採用すればよい。
【００８２】
即ち、まず、図１のジオメトリ処理部１３２が、車オブジェクトのオブジェクトデータ（ポリゴンデータ）を描画部１４０に転送し、その後、汚れ表現用オブジェクトのオブジェクトデータを描画部１４０に転送する。そして、描画部１４０が含む陰面消去部１４４が、Ｚ値が同一であるピクセルについては、後にオブジェクトデータが転送されてきた方を上書きするように処理を行う。このような手法を採用することで、Ｚシフト処理やスケーリング処理を行わなくても、車オブジェクトの手前に汚れ表現用オブジェクトを常に表示させることが可能になる。
【００８３】
ところが、このような手法を採用した場合にも、図１の補間部１４２での補間演算（ポリゴンの各頂点のＺ値に基づいてポリゴンの各ピクセルのＺ値を求める演算）の誤差に起因して、本来は後ろに表示されるべき車オブジェクトの各部分が、汚れ表現用オブジェクトの手前に表示されてしまうという表示エラーが生じることが判明した。以下、この表示エラーの問題について詳しく説明する。
【００８４】
例えば、図１の描画部１４０が扱うことができるポリゴンの形状は、描画処理の高速化を図るために、一定形状に固定されている場合がある。より具体的には、描画部１４０が、その仕様上、三角形ポリゴンしか扱うことができない場合がある。このような場合には、頂点数が４個以上のポリゴンについては、描画部１４０にそのデータを転送する前に、三角形のポリゴンに分割しておく必要がある。
【００８５】
ところが、このようなポリゴン分割においては、同一座標の頂点を有するポリゴンであっても、分割の仕方によっては、分割後の三角形ポリゴンの頂点構成が異なったものになってしまう場合があることが判明した。
【００８６】
例えば図７（Ａ）では、ポリゴンＰＬ１は三角形ポリゴンＰＡ１とＰＢ１に分割され、ポリゴンＰＬ２は三角形ポリゴンＰＡ２とＰＢ２に分割されている。そして、この場合には、ＰＡ１とＰＡ２、ＰＢ１とＰＢ２は同一形状（頂点）の三角形ポリゴンになるため、正しい表示が行われる。
【００８７】
一方、図７（Ｂ）では、ポリゴンＰＬ１は三角形ポリゴンＰＡ１とＰＢ１に分割され、ポリゴンＰＬ２は三角形ポリゴンＰＣ２とＰＤ２に分割されている。そして、この場合には、ＰＡ１とＰＣ２、ＰＢ１とＰＤ２は異なる形状の三角形ポリゴンになるため、表示エラーが生じてしまう。即ち、ポリゴンの前後関係が狂ってしまい、本来ならば後ろに隠れるべきポリゴンＰＬ１のピクセルがポリゴンＰＬ２の手前に表示される事態が生じてしまう。
【００８８】
即ち、図１の補間部１４２は、ポリゴンの頂点のＺ値に基づいて、ポリゴンの各ピクセル（ドット）のＺ値をＤＤＡなどの手法により算出する。ところが、この補間処理には、通常、例えば１ＬＳＢ程度の演算誤差（累積誤差）がある。この演算誤差は、補間部１４２のハードウェア構成等を高性能なものにすれば小さくできるが、これは、ハードウェアのコスト増を招く。従って、この演算誤差を零にすることは実質的に極めて難しい。
【００８９】
一方、図１の陰面消去部１４４は、Ｚ値が同一である場合には、通常、後にデータが転送されてきた方を上書きするように設定されている。
【００９０】
そして、図７（Ａ）の場合には、三角形ポリゴンＰＡ１とＰＡ２、ＰＢ１とＰＢ２の形状（頂点）は同一になっている。従って、補間処理により得られるＰＡ１とＰＡ２の各ピクセルのＺ値は、たとえ演算誤差があっても、同一になる。同様に、補間処理により得られるＰＢ１とＰＢ２の各ピクセルのＺ値も、たとえ演算誤差があっても、同一になる。従って、この場合には、全てのピクセルにおいて、ポリゴンＰＡ１の上にポリゴンＰＡ２が上書きされ、ポリゴンＰＢ１の上にポリゴンＰＢ２が上書きされるようになる。従って、設定通りにポリゴンが描画されるようになり、正しい表示になる。
【００９１】
しかしながら、図７（Ｂ）の場合には、三角形ポリゴンＰＡ１とＰＣ２、ＰＢ１とＰＤ２の形状は異なっている。従って、補間処理により得られるＰＡ１とＰＣ２の各ピクセルのＺ値が、本来は同じ値になるべきなのに、演算誤差の存在に起因して、異なった値になってしまう場合がある。同様に、補間処理により得られるＰＢ１とＰＤ２の各ピクセルのＺ値も、演算誤差の存在に起因して、異なった値になってしまう場合がある。このため、本来は隠れるべきポリゴンＰＡ１、ＰＢ１のピクセルが、ポリゴンＰＣ２、ＰＤ２の手前に表示される事態が生じ、エラー表示となってしまう。
【００９２】
そこで、本実施形態では、このような問題を解決するために図８に示すような手法を採用している。
【００９３】
即ち、ジオメトリ処理後の車オブジェクトのポリゴンＰＬ１のＺ値及びジオメトリ処理後の汚れ表現用オブジェクトのポリゴンＰＬ２のＺ値の少なくとも一方に対して、Ｚシフト値を加減算するようにしている。例えば図８では、ポリゴンＰＬ１のＺ値にＺシフト値を加算したり、ポリゴンＰＬ２のＺ値からＺシフト値を減算する（視点から遠いほどＺ値が大きい場合）。このようにすることで、たとえ補間処理に演算誤差があったとしても、車オブジェクトのポリゴンＰＬ１の上に、汚れ表現用オブジェクトのポリゴンＰＬ２が正しく上書きされるようになる。この結果、車オブジェクトの手前に汚れ表現用オブジェクトが常に表示されるようになり、適正な車の汚れ表現を実現できるようになる。
【００９４】
さて、Ｚ値に加減算するＺシフト値の大きさは、図１の補間部１４２でのＤＤＡの演算誤差よりも大きな値にすることが望ましい。
【００９５】
より具体的には図９に示すように、ＤＤＡの演算誤差が、例えば、−Ｎ×ＬＳＢ〜Ｎ×ＬＳＢの場合には、加減算するＺシフト値の大きさを、−（Ｎ＋Ｋ）×ＬＳＢ〜（Ｎ＋Ｋ）×ＬＳＢにする（但し、Ｋ≧１）。このようにすれば、演算誤差に起因する陰面消去の誤りの問題を効果的に解決できる。
【００９６】
また、どのポリゴンのＺ値にＺシフト値を加減算するかは、ポリゴン（又はオブジェクト）に対して予め関連づけて設定された識別情報に基づいて判断することが望ましい。
【００９７】
例えば図１０のテーブルでは、Ｚシフト処理を行うか否かを示すシフトフラグＳＦＬ（ポリゴンがＺシフト値の加減算の対象か否かを識別するための識別情報）が、各ポリゴンに対して予め関連づけて設定されている。例えば、図１０では、ＳＦＬが１となっているポリゴンＰＬ１、ＰＬ３、ＰＬ４に対してはＺシフト処理が行われ、ＳＦＬが０となっているポリゴンＰＬ２に対してはＺシフト処理が行われない。このような設定を予め行っておくことで、Ｚシフト処理の際に、どのポリゴンが処理対象になるかを簡易に判断できるようになる。これにより、処理負担を大幅に軽減できる。
【００９８】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図１１、図１２のフローチャートを用いて説明する。
【００９９】
図１１は、汚れ表現用オブジェクトの透明度の制御処理に関するフローチャートである。
【０１００】
まず、車が泥水エリアに進入しているか否かを判断する（ステップＳ１）。この判断は、車の位置データや泥水エリアの位置データなどに基づいて行う。
【０１０１】
そして、車が泥水エリアに進入している場合には、汚れ表現用オブジェクトの透明度ＴＲＡＮＳを増加させる（ステップＳ２）。これにより、最初は完全な透明であった汚れ表現用オブジェクトが半透明になり、車の汚れが徐々に目立ってくるようになる。一方、車が泥水エリアに進入していない場合にはステップＳ５に移行する。
【０１０２】
次に、透明度ＴＲＡＮＳが１００（％）以上か否かを判断し（ステップＳ３）、１００（％）以上の場合には、ＴＲＡＮＳ＝１００（％）に固定する（ステップＳ４）。
【０１０３】
次に、車が泥水エリアから脱出したか否かを判断する（ステップＳ５）。そして、車が泥水エリアから脱出した場合には、透明度ＴＲＡＮＳが５０（％）より大きいか否かを判断する（ステップＳ６）。そして、大きい場合には、透明度ＴＲＡＮＳを徐々に小さくする（ステップＳ７）。これにより、汚れ表現用オブジェクトが徐々に透明になり、車の汚れが徐々に落ちて行く様子を表現できるようになる。
【０１０４】
次に、汚れ表現用オブジェクトの透明度ＴＲＡＮＳ＝０（％）か否かを判断し（ステップＳ８）、ＴＲＡＮＳ＝０（％）でない場合には、汚れ表現用オブジェクトを透明度ＴＲＡＮＳで車オブジェクトに重ねて描画する（ステップＳ９）。一方、ＴＲＡＮＳ＝０（％）の場合には、ステップＳ９の処理を省略して、処理負担の軽減化を図る。
【０１０５】
図１２は、ジオメトリ処理後のオブジェクトデータを再利用する手法の処理例を示すフローチャートである。
【０１０６】
まず、オブジェクトデータに基づいてジオメトリ処理を行う。即ち、車オブジェクトをローカル座標系からワールド座標系へ座標変換し（ステップＳ１１）、次に、ワールド座標系から視点座標系に座標変換する（ステップＳ１２）。そして、クリッピング処理を行い（ステップＳ１３）、スクリーン座標系への透視変換を行う（ステップＳ１４）。
【０１０７】
次に、図６で説明したように、透視変換後（ジオメトリ処理後）の車オブジェクトのオブジェクトデータをメインメモリに格納し、保存する（ステップＳ１５）。そして、車オブジェクトにマッピングする下地テクスチャをＶＲＡＭに転送する（ステップＳ１６）。
【０１０８】
次に、ステップＳ１５でメインメモリに保存された透視変換後のオブジェクトデータと、ステップＳ１６でＶＲＡＭに転送された車の下地テクスチャとに基づいて、フレームバッファに車オブジェクトを描画する（ステップＳ１７）。
【０１０９】
次に、汚れテクスチャをＶＲＡＭに転送する（ステップＳ１８）。そして、ステップＳ１５でメインメモリに保存された透視変換後のオブジェクトデータと、ステップＳ１８でＶＲＡＭに転送された汚れテクスチャとに基づいて、フレームバッファに汚れ表現用オブジェクトを描画する（ステップＳ１９）。即ち、ステップＳ１７で既に描画されている車オブジェクトの上に、汚れテクスチャがマッピングされた汚れ表現用オブジェクトを、αブレンディング処理などにより重ね書きする。
【０１１０】
なお、図８のようなＺシフト処理を行う場合には、例えば図１２のステップＳ１４の後に、処理対象となるポリゴンにＺシフト処理を施すか否かを図１０のシフトフラグＳＦＬに基づき判断する処理を挿入する。そして、Ｚシフト処理を施すと判断した場合には、所与のＺシフト値を、そのポリゴンのＺ値（ポリゴンの頂点のＺ値）に加減算すればよい。
【０１１１】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１３を用いて説明する。
【０１１２】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１１３】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１１４】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１１５】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１１６】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１１７】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１１８】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１１９】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１２０】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１２１】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１２２】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１２３】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システム、他のゲームシステムとの間でのデータ転送が可能になる。
【０１２４】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１２５】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１２６】
図１４（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１２７】
図１４（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１２８】
図１４（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１２９】
なお、図１４（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１３０】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１３１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１３２】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１３３】
また本発明により第２のオブジェクトにマッピングされるテクスチャは、第１のオブジェクトの汚れを表すテクスチャであることが特に望ましいが、これに限定されるものではない。
【０１３４】
また、第１のオブジェクトと第２のオブジェクトは、その一部において同一形状（又はほぼ同一形状）であれば十分である。
【０１３５】
また、第１のオブジェクトが第２のオブジェクトの上に来るように描画処理を行ってもよい。
【０１３６】
また、本実施形態では、ジオメトリ処理として座標変換や透視変換を例に挙げたが、本発明のジオメトリ処理はこれらに限定されない。
【０１３７】
また、オブジェクトにマッピングされるテクスチャは、色情報のテクスチャに限定されず、輝度情報、半透明情報（α値）、表面形状情報（バンプ値）、反射率情報、屈折率情報、或いは深さ情報などについてのテクスチャでもよい。
【０１３８】
また本発明はレーシングゲーム以外にも種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１３９】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【符号の説明】
【０１４０】
ＯＢ１  車オブジェクト（第１のオブジェクト）
ＯＢ２  汚れ表現用オブジェクト（第２のオブジェクト）
ＴＲＡＮＳ  透明度
１００  処理部
１１０  ゲーム処理部
１１４  移動・動作演算部
１３０  画像生成部
１３２  ジオメトリ処理部
１３４  透明度制御部
１３６  Ｚシフト部
１３８  スケーリング部
１４０  描画部
１４２  補間部
１４４  陰面消去部
１５０  音生成部
１６０  操作部
１７０  記憶部
１７２  メインメモリ
１７４  フレームバッファ
１７６  テクスチャ記憶部
１７８  Ｚバッファ
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0004721472.tif 000002
【図２】
0004721472.tif 000003
【図３】
0004721472.tif 000004
【図４】
0004721472.tif 000005
【図５】
0004721472.tif 000006
【図６】
0004721472.tif 000007
【図７】
0004721472.tif 000008
【図８】
0004721472.tif 000009
【図９】
0004721472.tif 000010
【図１０】
0004721472.tif 000011
【図１１】
0004721472.tif 000012
【図１２】
0004721472.tif 000013
【図１３】
0004721472.tif 000014
【図１４】
0004721472.tif 000015