(57)【特許請求の範囲】
【請求項１】
オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
影テクスチャを記憶するテクスチャ記憶部と、
前記オブジェクト空間内における第１のオブジェクトと第２のオブジェクトとの位置関係に基づいて距離パラメータを求める距離演算部と、
前記距離パラメータと、前記テクスチャ記憶部から読み出された影テクスチャのテクセルデータとに基づき得られる影濃度パラメータに基づいて、第２のオブジェクトに対して第１のオブジェクトの影を生成する影処理を行う影処理部として、
コンピュータを機能させ、
前記影テクスチャのテクセルには、ＲＧＢの各色成分の輝度値（Ｒ、Ｇ、Ｂ）と、α値（Ａ）とが前記テクセルデータとして設定されており、
前記影処理部が、
前記影テクスチャのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）と、前記距離パラメータ（ｈ）とに基づいて、各テクセルに対応する前記影濃度パラメータ（ｓ）を求めることを特徴とするプログラム。
【請求項２】
請求項１において、
前記影処理部が、下式により各テクセルに対応する前記影濃度パラメータ（ｓ）を求めることを特徴とするプログラム。
【数２】
0004804122.tif 000009
【請求項３】
請求項１または２において、
前記オブジェクト空間には、前記第１のオブジェクトとして、プレーヤオブジェクトと敵オブジェクトとが設定され、前記第２のオブジェクトとして、地形オブジェクトが設定され、
前記影処理部が、
前記地形オブジェクトに対して前記プレーヤオブジェクトの影を生成する場合には第１の影処理を行い、前記地形オブジェクトに対して前記敵オブジェクトの影を生成する場合には第１の影処理とは処理内容が異なる第２の影処理を行うことを特徴とするプログラム。
【請求項４】
請求項３において、
前記距離演算部が、
前記プレーヤオブジェクトに設定した基準点の位置に基づいて前記距離パラメータを求め、
前記影処理部が、
前記基準点を投影中心として前記地形オブジェクトに対して前記影テクスチャを投影して前記地形オブジェクトの頂点と前記影テクスチャのテクセルとを対応付け、前記頂点に対応づけられたテクセルのテクセルデータと、前記距離パラメータとに基づき得られる影濃度パラメータに応じて前記地形オブジェクトの色を暗くする処理を第１の影処理として行うことを特徴とするプログラム。
【請求項５】
請求項３において、
前記距離演算部が、
前記敵オブジェクトに設定した基準点の位置に基づいて前記距離パラメータを求め、
前記影処理部が、
求められた前記距離パラメータと、影ポリゴンの頂点に予め対応づけられた前記影テクスチャのテクセルのテクセルデータとに基づき得られる影濃度パラメータを用いて、頂点に影の色が予め対応づけられた前記影ポリゴンの透明度を設定し、前記敵オブジェクトの位置に応じて定められる前記地形オブジェクトの所与の領域に前記影ポリゴンを描画する処理を第２の影処理として行うことを特徴とするプログラム。
【請求項６】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜５のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項７】
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
影テクスチャを記憶するテクスチャ記憶部と、
前記オブジェクト空間内における第１のオブジェクトと第２のオブジェクトとの位置関係に基づいて距離パラメータを求める距離演算部と、
前記距離パラメータと、前記テクスチャ記憶部から読み出された影テクスチャのテクセルデータとに基づき得られる影濃度パラメータに基づいて、第２のオブジェクトに対して第１のオブジェクトの影を生成する影処理を行う影処理部と、
を含み、
前記影テクスチャのテクセルには、ＲＧＢの各色成分の輝度値（Ｒ、Ｇ、Ｂ）と、α値（Ａ）とが前記テクセルデータとして設定されており、
前記影処理部が、
前記影テクスチャのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）と、距離パラメータ（ｈ）とに基づいて、各テクセルに対応する前記影濃度パラメータ（ｓ）を求めることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内の仮想カメラ（所与の視点）から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができる画像生成システムを例にとれば、プレーヤはプレーヤオブジェクトを操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作する敵オブジェクトと競争することで３次元ゲームを楽しむ。
【０００３】
このような画像生成システムでは、プレーヤの仮想現実感の向上のためによりリアルな画像を生成することが重要な技術的課題になっている。このため地面に映るオブジェクトの影などについても、よりリアルに表現できることが望まれる。
【特許文献１】特許３６６７３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は上記事情に鑑みてなされたものであり、その目的は、オブジェクトの影等をリアルに表現することができるプログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、影テクスチャを記憶するテクスチャ記憶部と、前記オブジェクト空間内における第１のオブジェクトと第２のオブジェクトとの位置関係に基づいて距離パラメータを求める距離演算部と、前記距離パラメータと、前記テクスチャ記憶部から読み出された影テクスチャのテクセルデータとに基づき得られる影濃度パラメータに基づいて、第２のオブジェクトに対して第１のオブジェクトの影を生成する影処理を行う影処理部と、を含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム及び該プログラムを記憶する情報記憶媒体に関係する。
【０００６】
本発明によれば、第１のオブジェクトと第２のオブジェクトとの位置関係に応じて変化する距離パラメータと影テクスチャのテクセルデータとから第１のオブジェクトと第２のオブジェクトとの位置関係に応じた影濃度パラメータが求められる。このため本発明によれば、第１のオブジェクトと第２のオブジェクトとの位置関係毎に影テクスチャを用意しなくても済むので、メモリの使用量の節約や処理負荷の軽減が期待できる。
【０００７】
（２）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記影処理部が、前記距離パラメータの２次関数に反比例して変化するように前記影濃度パラメータを求めて、第２のオブジェクトに対して第１のオブジェクトの影を生成する影処理を行うようにしてもよい。このようにすれば、第２のオブジェクトから見た第１のオブジェクトの断面がオブジェクト間の距離の２次関数に従って小さくなりつつ薄くなっていくような影濃度パラメータの分布パターンを得ることができる。
【０００８】
（３）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャ記憶部が、前記第１のオブジェクトと前記第２のオブジェクトとの位置関係に応じて得られる複数の前記影濃度パラメータ（ｓ）の分布パターンに基づいて、前記距離パラメータ（ｈ）と前記影濃度パラメータとが下式の関係を満たすように、テクセルのＲＧＢの各色成分の輝度値（Ｒ、Ｇ、Ｂ）とテクセルのα値（Ａ）とが設定された影テクスチャを記憶するようにしてもよい。
【０００９】
【数１】
0004804122.tif 000002
【００１０】
このようにすれば、第１のオブジェクトが第２のオブジェクトに近いほど第１のオブジェクトの断面形状に沿った影濃度パラメータの分布パターンが得られ、第１のオブジェクトが第２のオブジェクトから離れるに従って、影の形状が曖昧になっていくような影濃度パラメータの分布パターンを得ることができるようになる。
【００１１】
（４）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記影テクスチャのテクセルには、ＲＧＢの各色成分の輝度値（Ｒ、Ｇ、Ｂ）と、α値（Ａ）とが前記テクセルデータとして設定されており、前記影処理部が、前記影テクスチャのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）と、距離パラメータ（ｈ）とに基づいて、下式により各テクセルに対応する影濃度パラメータ（ｓ）を求めることを特徴とするようにしてもよい。
【００１２】
【数２】
0004804122.tif 000003
【００１３】
このようにすれば、第１のオブジェクトと第２のオブジェクトとの位置関係に応じて第１のオブジェクトが第２のオブジェクトから離れれば離れるほど、第２のオブジェクトに映る第１のオブジェクトの影が薄くなるようなリアルな表現を行うことができる。
【００１４】
（５）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記オブジェクト空間には、前記第１のオブジェクトとして、プレーヤオブジェクトと敵オブジェクトとが設定され、前記第２のオブジェクトとして、地形オブジェクトが設定され、前記影処理部が、前記地形オブジェクトに対して前記プレーヤオブジェクトの影を生成する場合には第１の影処理を行い、前記地形オブジェクトに対して前記敵オブジェクトの影を生成する場合には第１の影処理とは処理内容が異なる第２の影処理を行うようにしてもよい。このように影処理の内容を全てのオブジェクトに共通にせずに、プレーヤに注目されやすいプレーヤオブジェクトの影を生成する処理と敵オブジェクトの影を生成する処理とで処理内容を変えることで、ある程度の画像品質を保ちつつ大量の敵オブジェクトが描画対象となる場合の処理負荷を軽減することができる。
【００１５】
（６）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記距離演算部が、前記プレーヤオブジェクトに設定した基準点の位置に基づいて前記距離パラメータを求め、前記影処理部が、前記基準点を投影中心として前記地形オブジェクトに対して前記影テクスチャを投影して前記地形オブジェクトの頂点と前記影テクスチャのテクセルとを対応付け、前記頂点に対応づけられたテクセルのテクセルデータと、頂点毎に求められた距離パラメータとに基づき得られる影濃度パラメータに応じて前記地形オブジェクトの色を暗くする処理を第１の影処理として行うようにしてもよい。このようにすれば、プレーヤに注目されやすいプレーヤオブジェクトの影については高精細な表現を行うことができる。
【００１６】
（７）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記距離演算部が、前記敵オブジェクトに設定した基準点の位置に基づいて前記距離パラメータを求め、前記影処理部が、求められた前記距離パラメータと、影ポリゴンの頂点に予め対応づけられた前記影テクスチャのテクセルのテクセルデータとに基づき得られる影濃度パラメータを、頂点に影の色が予め対応づけられた前記影ポリゴンの半透明度として、前記敵オブジェクトの位置に応じて定められる前記地形オブジェクトの所与の領域に前記影ポリゴンを半透明描画する処理を第２の影処理として行うようにしてもよい。このようにすれば、例えば、プレーヤオブジェクトに比べて敵オブジェクトの出現数が多い場合に、その影を簡略化して表現することで処理負荷を軽減することができる。
【００１７】
（８）また本発明は、コンピュータがオブジェクト空間に設定された第１のオブジェクトと第２のオブジェクトとの位置関係に応じて変化する距離パラメータを求めて、第２のオブジェクトに対して生成される第１のオブジェクトの影を距離パラメータに基づいて算出される影濃度パラメータに応じて変化させる影処理に用いられるテクスチャデータ構造であって、ＲＧＢの各色成分の輝度値とα値とからなるテクセルデータがテクスチャ座標に対応づけられており、前記距離パラメータの２次関数に反比例して前記影濃度パラメータが変化するように、前記テクセルデータが設定されているテクスチャデータ構造に関係する。また本発明は、上記テクスチャデータ構造を記憶する情報記憶媒体に関係する。
【００１８】
本発明によれば、第２のオブジェクトから見た第１のオブジェクトの断面がオブジェクト間の距離の２次関数に従って小さくなりつつ薄くなっていくような影濃度パラメータの分布パターンを得ることができる。
【００１９】
（９）また本発明は、コンピュータがオブジェクト空間に設定された第１のオブジェクトと第２のオブジェクトとの位置関係に応じて変化する距離パラメータ（ｈ）を求めて、第２のオブジェクトに対して生成される第１のオブジェクトの影を距離パラメータ（ｈ）に基づいて算出される影濃度パラメータ（ｓ）に応じて変化させる影処理に用いられるテクスチャデータ構造であって、ＲＧＢの各色成分の輝度値（Ｒ、Ｇ、Ｂ）と、α値（Ａ）とからなるテクセルデータがテクスチャ座標（Ｕ、Ｖ）に対応づけられており、前記距離パラメータ（ｈ）と前記影濃度パラメータ（ｓ）とが下式の関係を満たすように、前記テクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）が設定されているテクスチャデータ構造に関係する。また本発明は、上記テクスチャデータ構造を記憶する情報記憶媒体に関係する。
【００２０】
【数３】
0004804122.tif 000004
【００２１】
本発明によれば、第１のオブジェクトが第２のオブジェクトに近いほど第１のオブジェクトの断面形状に沿った影濃度パラメータの分布パターンが得られ、第１のオブジェクトが第２のオブジェクトから離れるに従って、影の形状が曖昧になっていくような影濃度パラメータの分布パターンを得ることができるようになる。
【００２２】
（１０）また本発明は、コンピュータがオブジェクト空間に設定された第１のオブジェクトと第２のオブジェクトとの位置関係に応じて変化する距離パラメータ（ｈ）を求めて、第２のオブジェクトに対して生成される第１のオブジェクトの影を距離パラメータ（ｈ）に基づいて算出される影濃度パラメータ（ｓ）に応じて変化させる影処理に用いられるテクスチャデータ構造であって、ＲＧＢの各色成分の輝度値（Ｒ、Ｇ、Ｂ）と、α値（Ａ）とからなるテクセルデータがテクスチャ座標（Ｕ、Ｖ）に対応づけられており、前記距離パラメータ（ｈ）、前記テクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）、及び影濃度パラメータ（ｓ）が下式の関係を有するテクスチャデータ構造に関係する。また本発明は、上記テクスチャデータ構造を記憶する情報記憶媒体に関係する。
【００２３】
【数４】
0004804122.tif 000005
【００２４】
本発明によれば、第１のオブジェクトと第２のオブジェクトとの位置関係毎に影テクスチャを用意しなくても済むので、メモリの使用量の節約や処理負荷の軽減が期待できる。また本発明によれば、第１のオブジェクトと第２のオブジェクトとの位置関係に応じて第１のオブジェクトが第２のオブジェクトから離れれば離れるほど、第２のオブジェクトに映る第１のオブジェクトの影が薄くなるようなリアルな表現を行うことができる。
【発明を実施するための最良の形態】
【００２５】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２６】
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２７】
操作部１６０は、プレーヤがプレーヤオブジェクト（移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタ）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２９】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３０】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３１】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３２】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３３】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、距離演算部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３４】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。なおオブジェクトの頂点座標等を含むオブジェクトデータは記憶部１７０のオブジェクトデータ記憶部１７６に格納される。
【００３５】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、電車又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。特に本実施形態では、操作部１６０によりプレーヤが入力した操作データなどに基づいて、照明源オブジェクト（移動体オブジェクト）をオブジェクト空間内で移動させる処理を行う。
【００３６】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００３７】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００３８】
距離演算部１１６は、オブジェクト空間内における第１のオブジェクトと第２のオブジェクトとの位置関係に基づいて距離パラメータを求める処理を行う。距離パラメータは、第１のオブジェクトの基準点（代表点）の位置（高さ）に基づいて求めることができる。なお距離パラメータは、第２のオブジェクトにおける影処理の対象となる領域の頂点毎に求めてもよいし、第２のオブジェクトにおける影処理の対象となる領域に対して１の距離パラメータのみを求めるようにしてもよい。
【００３９】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００４０】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００４１】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００４２】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【００４３】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００４４】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００４５】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００４６】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４７】
さらに本実施形態では描画部１２０が、影処理部１２２を含む。
【００４８】
影処理部１２２は、距離パラメータと、テクスチャ記憶部１７８から読み出された影テクスチャのテクセルデータとに基づき得られる影濃度パラメータに基づいて、第２のオブジェクトに対して第１のオブジェクトの影を生成する影処理を行う。影処理としては、第１のオブジェクトに設定した基準点を投影中心として第２のオブジェクトに影テクスチャを投影マッピングして、距離パラメータに応じて変化する影濃度パラメータに基づいて第２のオブジェクトの色を暗くする（輝度を下げる）処理（第１の影処理）や、予め頂点に影の色と影テクスチャのテクスチャ座標が設定された影ポリゴンを用意しておき、距離パラメータに応じて変換する影濃度パラメータを半透明度として、影ポリゴンを第１のオブジェクトの位置に応じて第２のオブジェクトに重ねて半透明描画する処理（第２の影処理）などを行うことができる。これらの影処理は、第１のオブジェクトの種類に応じて切り替えるようにしてもよい。
【００４９】
また影処理部１２２は、影濃度演算部１２４を含む。
【００５０】
影濃度演算部１２４は、影テクスチャのテクセル毎に設定されたＲＧＢの各色成分の輝度値（Ｒ、Ｇ、Ｂ）及びα値（Ａ）からなるテクセルデータと、距離演算部１１６で求められた第１のオブジェクトと第２のオブジェクトとの位置関係に応じた距離パラメータ（ｈ）とに基づいて、所定の変換式を用いて影濃度パラメータｓを求める処理を行う。
【００５１】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００５３】
２．本実施形態の手法
本実施形態では、図２に示すように、地形オブジェクトＯＢ２（第２のオブジェクト）に映る車両オブジェクトＯＢ１（第１のオブジェクト）の影をリアルに表現するために以下のような手法を採用している。
【００５４】
まず本実施形態では、地形オブジェクトに対する車両オブジェクトの高さ（地形オブジェクトと車両オブジェクトとの距離）に応じた影濃度パラメータの分布パターンを求めることができる影テクスチャを予め用意しておく手法を採用している。
【００５５】
図３に影テクスチャＴＥＸの例を示す。この影テクスチャＴＥＸは、テクセル毎にテクスチャ座標（Ｕ、Ｖ）とＲＧＢの各色成分の輝度値（Ｒ、Ｇ、Ｂ）とα値（Ａ）とが対応づけられており、所定の変換式を用いて影濃度パラメータを算出することにより、図４に示すように、地形に対する車両の高さに応じて影の濃度が薄くなっていくような影濃度パラメータの分布パターンを得ることができるようになっている。
【００５６】
そして影濃度パラメータ（ｓ）、距離パラメータ（ｈ：高さパラメータ）、及びテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）が以下の変換式に基づく関係を有している。
【００５７】
【数５】
0004804122.tif 000006
【００５８】
ここで影テクスチャＴＥＸのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）は、図５に示すように、車両オブジェクトＯＢ１が地表上にいる場合の影の濃さを表す影濃度パラメータ（ｓ０）と、車両オブジェクトＯＢ１が地表より高い位置にある場合の影の濃さを表す影濃度パラメータ（ｓ１）と、その地表より高い位置の高さを表す距離パラメータ（ｈ１）とに基づいて、距離パラメータｈの２次関数に反比例して影濃度パラメータｓが変化するように設定されている。
【００５９】
このとき図６に示すように、天球全体から一様な強さの光で物体（オブジェクト）を照らす面光源ＬＳを用いてテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）を生成する。すなわち面光源ＬＳからの照射光が車両オブジェクトＯＢ１によって遮蔽されることにより投影面に映る影（本影（ハードシャドウ）及び半影（ソフトシャドウ））の濃さの分布を車両オブジェクトＯＢ１の地表からの高さ（車両オブジェクトＯＢ１と地表との距離）に応じた影濃度パラメータの分布パターンとして求めておき、下式の関係を有するようにパラメータ（β、γ、δ、ε）をフィッティングしてテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）を設定することにより影テクスチャＴＥＸを得ることができる。
【００６０】
【数６】
0004804122.tif 000007
【００６１】
このようにすれば、投影面から見た車両オブジェクトＯＢ１の断面が車両オブジェクトＯＢ１から投影面までの距離の２乗（広義には、距離を変数とする２次関数）に従って小さくなりつつ薄くなっていくような影濃度パラメータの分布パターンを得ることができる。すなわち複数の影濃度パラメータの分布パターンを統合した影テクスチャＴＥＸを予め用意しておくことによって、車両オブジェクトＯＢ１が地形オブジェクトＯＢ２に近いほど車両オブジェクトＯＢ１の断面形状に沿った影濃度パラメータの分布パターンが得られ、車両オブジェクトＯＢ１が地形オブジェクトＯＢ２から離れるに従って、影の形状が曖昧になっていくような影濃度パラメータの分布パターンを得ることができるようになる。
【００６２】
また本実施形態では、車両オブジェクト（第１のオブジェクト）として、プレーヤが操作するプレーヤ車両オブジェクトと、プレーヤ車両オブジェクトの競争相手となる敵車両オブジェクトとをオブジェクト空間に登場させてレーシングゲームを行わせる場合に、地形オブジェクト（第２のオブジェクト）に映るプレーヤ車両オブジェクトの影と地形オブジェクトに映る敵車両オブジェクトの影とを異なる手法で生成している。
【００６３】
まずプレーヤ車両オブジェクトについての影の生成手法（第１の影処理の手法）を説明する。プレーヤ車両オブジェクトについては、影テクスチャを地形オブジェクトに投影マッピングして、影テクスチャから得た影濃度パラメータの分布パターンに応じて地形オブジェクトの色を暗くしてプレーヤ車両オブジェクトの影を生成している。
【００６４】
具体的には、図７に示すように、車両オブジェクトＯＢ１に対して基準点Ｃを設定し、基準点Ｃを投影中心とする投影マッピング用の仮想カメラＶＣを地形オブジェクトＯＢ２に向けて設置する。
【００６５】
そして仮想カメラＶＣからの射影空間と交差する領域Ｒ１を影テクスチャＴＥＸの投影マッピングの対象領域として、領域Ｒ１に影テクスチャＴＥＸを置いたときの領域Ｒ１内に含まれる頂点Ｖ（Ｘ、Ｙ、Ｚ）と影テクスチャＴＥＸのテクセルＴ（Ｕ、Ｖ）との対応付けを行う。
【００６６】
具体的には、所与の変換マトリクスを用いて地形オブジェクトＯＢ２の領域Ｒ１内の頂点座標を影テクスチャＴＥＸのテクスチャ座標に変換することで地形オブジェクトＯＢ２の頂点と影テクスチャＴＥＸのテクセルとが対応づけられる。例えば、地形オブジェクトＯＢ２の頂点の座標値をローカル座標系（モデル座標系）の座標値からワールド座標系の座標値へ変換するワールドマトリクスＷと、仮想カメラＶＣの投影中心を原点とするビュー座標系（視点座標系）への変換を行うビューマトリクスＶと、車両オブジェクトＯＢ１のサイズ（Ｈ、Ｗ）に応じた影の広がり具合（投影中心からの距離に応じた影テクスチャＴＥＸの拡大率）と投影中心に対する影の生成位置のずれ具合を表す射影マトリクスＰと、各マトリクスＷ，Ｖ，Ｐによって得られたテクスチャ座標の座標系の中心（原点）をずらすとともに値域を正規化（−１〜１を０〜１に正規化）するための行列要素を含む補正マトリクスとを用意して、これらの各マトリクスに基づいて、コースオブジェクトＯＢ２の頂点座標をテクスチャ座標に変換するための変換マトリクスｍを求めることができる。
【００６７】
【数７】
0004804122.tif 000008
【００６８】
また影テクスチャＴＥＸを地形オブジェクトＯＢ２に投影マッピングする場合には、車両オブジェクトＯＢ１に対して設定した基準点Ｃの位置と地形オブジェクトＯＢ２の位置とに基づいて距離パラメータ（ｈ）を求めておく。距離パラメータ（ｈ）は、地形オブジェクトＯＢ２の領域Ｒ１内の頂点毎に求めておくことが好ましい。このようにすれば、地形オブジェクトＯＢ２の面の傾斜や凹凸を反映した影を生成することができる。
【００６９】
そして、地形オブジェクトＯＢ２の領域Ｒ１内の頂点に対応づけられたテクセルのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）と距離パラメータ（ｈ）とに基づいて、上記変換式を用いて影濃度パラメータｓを求めて、図８に示すように、地形オブジェクトＯＢ２の領域Ｒ１については、ＲＧＢ（ｏ）＝ＲＧＢ（ｍ）×（１−ｓ）として地形オブジェクトＯＢ２のオブジェクトデータに基づき得られる色ＲＧＢ（ｍ）を影濃度パラメータｓに応じて暗く（輝度を低く）した色ＲＧＢ（ｏ）を描画色として設定することにより地形オブジェクトＯＢ２の領域Ｒ１に対して車両オブジェクトＯＢ１の影を生成することができる。一方、地形オブジェクトＯＢ２の領域Ｒ１以外の領域Ｒ２については、地形オブジェクトＯＢ２のオブジェクトデータに基づき得られる色ＲＧＢ（ｍ）を、そのまま描画色として設定する。なお色ＲＧＢ（ｍ）は、オブジェクトの頂点色であってもよいし、オブジェクトにテクスチャマッピングされるデカールテクスチャ（模様テクスチャ）のテクセルの色であってもよいし、頂点色とデカールテクスチャのテクセルの色との乗算結果であってもよい。
【００７０】
続いて、敵車両オブジェクトについての影の生成手法（第２の影処理の手法）を説明する。敵車両オブジェクトについては、黒色（影の色）を頂点色として設定した単色の四角形ポリゴンである影ポリゴンを、影テクスチャから得た影濃度パラメータを半透明度として、地形オブジェクトに重ねて半透明描画することで、影濃度パラメータの分布パターンに応じて地形オブジェクトの色を暗くして敵車両オブジェクトの影を生成している。
【００７１】
具体的には、図９（Ａ）に示すように、車両オブジェクトＯＢ１に設定した基準点Ｃの位置に基づいて、地形オブジェクトＯＢ２上の領域Ｒ１を影ポリゴンの描画位置として決定する。このとき領域Ｒ１は、車両オブジェクトＯＢ１を地形オブジェクトＯＢ２に平行投影した位置（真下の位置）としてもよいが、本実施形態では影ポリゴンの描画位置を車両オブジェクトＯＢ１の中心からずれた位置に設定している。このようにすれば、画像を見る者に擬似的に光源の方向を意識させることができる。また影ポリゴンは地形オブジェクトＯＢ２から少し浮かせた位置に置くようにしてもよい。このようにすれば、地形オブジェクトＯＢ２の面の傾斜や凹凸によって影ポリゴンの一部が地形オブジェクトＯＢ２の下にめり込んでしまうような事態を防ぐことができる。
【００７２】
また図９（Ｂ）に示すように、影ポリゴンＳＰは、予め頂点に影テクスチャＴＥＸ用のテクスチャ座標が設定されていて、頂点Ｖ１〜Ｖ４に対して影テクスチャＴＥＸの４角のテクセルＴ１〜Ｔ４が対応づけられている。
【００７３】
そして地形オブジェクトＯＢ２の領域Ｒ１に影ポリゴンＳＰを重ねて描画する際には、図１０に示すように、影テクスチャＴＥＸのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）と、車両オブジェクトＯＢ１の基準点Ｃの位置（高さ）と地形オブジェクトＯＢ２の位置（高さ）とに基づいて求められる距離パラメータ（ｈ）とに基づいて、上記変換式により影濃度パラメータ（ｓ）の分布パターンを得て、影濃度パラメータ（ｓ）の分布パターンを影ポリゴンＳＰのαプレーンとして半透明描画する。このようにすると、領域Ｒ１における地形オブジェクトＯＢ２の描画色ＲＧＢ（ｏ）は、ＲＧＢ（ｏ）＝ＲＧＢ（ｍ）×（１−ｓ）＋ＲＧＢ（ｓ）×ｓにより求められる。なおＲＧＢ（ｍ）は地形オブジェクトＯＢ２のオブジェクトデータに基づいて得られる色であり、ＲＧＢ（ｓ）は、影ポリゴンＳＰの頂点Ｖ１〜Ｖ４に設定された色（影の色）である。本実施形態では、影ポリゴンＳＰに設定された影の色が黒色（Ｒ＝０、Ｇ＝０、Ｂ＝０）であるため、実際の地形オブジェクトＯＢ２の描画色ＲＧＢ（ｏ）は、ＲＧＢ（ｏ）＝ＲＧＢ（ｍ）×（１−ｓ）となって、地形オブジェクトＯＢ２の色が影濃度パラメータ（ｓ）に応じて暗くした色で領域Ｒ１に影が描かれる。
【００７４】
以上に説明したように本実施形態の手法によれば、車両オブジェクトＯＢ１（プレーヤ車両オブジェクト又は敵車両オブジェクト）が地形オブジェクトＯＢ２から離れるほど影の濃度が薄くなるように影テクスチャＴＥＸのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）が設定されていて、上記のような変換式を用いることにより、距離パラメータ（ｈ）の２次関数に反比例して変化するような影濃度パラメータ（ｓ）を求めることができる。そして１枚の影テクスチャＴＥＸから得られる影濃度パラメータ（ｓ）の分布パターンに応じて地形オブジェクトＯＢ２の色を暗く（輝度値を低く）することによって、メモリの消費量を節約しながら地表からの車両の高さに応じたリアルな車両の影を生成することができる。
【００７５】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１１及び図１２のフローチャートを用いて説明する。
【００７６】
まず図１１を参照しながら、車両オブジェクトがプレーヤ車両オブジェクトである場合の影処理の例を説明する。
【００７７】
はじめに車両オブジェクトＯＢ１の位置、向きを求めておき（ステップＳ１０）、車両オブジェクトＯＢ１の位置と、車両オブジェクトＯＢ１の向きと、車両オブジェクトＯＢ１のサイズ（形状）とに応じた変換マトリクスｍを演算する（ステップＳ１１）。
【００７８】
次に、地形オブジェクトＯＢ２の頂点の位置座標を変換マトリクスｍを用いてテクスチャ座標に変換するとともに、地形オブジェクトＯＢ２の頂点の位置に対応する距離パラメータ（ｈ）を求める。そして求めたテクスチャ座標に基づいて影テクスチャＴＥＸをサンプリングし、影テクスチャＴＥＸのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）と距離パラメータｈとに基づいて影濃度パラメータｓを求める。
【００７９】
そして、地形オブジェクトＯＢ２のオブジェクトデータに基づき得られる色（Ｒ、Ｇ、Ｂ）に１−ｓを乗算しながら地形オブジェクトＯＢ２を描画するとともに車両オブジェクトＯＢ１を描画して、地形オブジェクトＯＢ２に車両オブジェクトＯＢ１の高さに応じた影が生成された画像を得る（ステップＳ１４、Ｓ１５）。
【００８０】
次に図１２を参照しながら、車両オブジェクトが敵車両オブジェクトである場合の影処理の例を説明する。
【００８１】
まず車両オブジェクトＯＢ１の位置、向きを求めておき（ステップＳ２０）、車両オブジェクトＯＢ１の位置、向きに基づいて、影ポリゴンＳＰの位置、向きを演算する（ステップＳ２１）。また車両オブジェクトＯＢ１の位置に基づいて距離パラメータｈを求めておく（ステップＳ２２）。
【００８２】
次に影テクスチャＴＥＸを読み込んで（ステップＳ２３）、影テクスチャＴＥＸのテクセルデータ（Ｒ、Ｇ、Ｂ、Ａ）と距離パラメータｈに基づいて影濃度パラメータｓを求める（ステップＳ２４）。そして地形オブジェクトＯＢ２を描画するとともに、影濃度パラメータｓを影ポリゴンＳＰのα値として影ポリゴンＳＰを地形オブジェクトＯＢ２に重ねて半透明描画する（ステップＳ２５）。そして車両オブジェクトＯＢ１を描画することにより地形オブジェクトＯＢ２に車両オブジェクトＯＢ１の高さに応じた影が生成された画像を得る（ステップＳ２６）。
【００８３】
４．ハードウェア構成
図１３に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００８４】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００８５】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更（更新）やピクセル（あるいはフラグメント）の描画色の決定を行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００８６】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００８７】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい。）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい。）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００８８】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００８９】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００９０】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。また接触痕跡の表現手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００９１】
また上記実施形態では、テクスチャ投影や影ポリゴンの描画により地形オブジェクトに対して影を生成する手法を採用したが、上記以外の手法を採用してもよい。
【００９２】
また本発明は種々のゲーム（レーシングゲーム、格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００９３】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】本実施形態の手法を用いて描かれた画像。
【図３】本実施形態の手法で用いられる影テクスチャの例。
【図４】本実施形態の手法で用いられる影テクスチャの説明図。
【図５】本実施形態の手法で用いられる影テクスチャの生成過程の説明図。
【図６】本実施形態の手法で用いられる影テクスチャの生成過程の説明図。
【図７】本実施形態の手法を説明するための図。
【図８】本実施形態の手法を説明するための図。
【図９】本実施形態の手法を説明するための図。
【図１０】本実施形態の手法を説明するための図。
【図１１】本実施形態の処理の例を示すフローチャート。
【図１２】本実施形態の処理の例を示すフローチャート。
【図１３】ハードウェア構成の例。
【符号の説明】
【００９４】
ＯＢ１  車両オブジェクト（第１のオブジェクト）、
ＯＢ２  地形オブジェクト（第２のオブジェクト）、
ＴＥＸ  影テクスチャ、ＳＰ  影ポリゴン、Ｃ  基準点、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  距離演算部、１２０  描画部、１２２  影処理部、
１２４  影濃度演算部、１６０  操作部、１７０  記憶部、１７２  主記憶部、
１７４  描画バッファ、１７６  オブジェクトデータ記憶部、
１７８  テクスチャ記憶部、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部、
【図１】
0004804122.tif 000010
【図６】
0004804122.tif 000011
【図７】
0004804122.tif 000012
【図８】
0004804122.tif 000013
【図９】
0004804122.tif 000014
【図１０】
0004804122.tif 000015
【図１１】
0004804122.tif 000016
【図１２】
0004804122.tif 000017
【図１３】
0004804122.tif 000018
【図２】
0004804122.tif 000019
【図３】
0004804122.tif 000020
【図４】
0004804122.tif 000021
【図５】
0004804122.tif 000022