(57)【要約】【課題】  照明オブジェクトのリアルな表現を可能にするプログラム、情報記憶媒体及び画像生成システムを提供すること。【解決手段】  照明オブジェクトＬＯＢの各点に照明エフェクト用の仮想法線ベクトルＮを設定する。仮想カメラＶＣの視線方向ベクトルＳＤと仮想法線ベクトルＮとのなす角度の大小を表す角度パラメータＡＰを、仮想法線ベクトル情報に基づいて求める。仮想カメラＶＣに正対するように配置設定される照明エフェクト用のビルボードプリミティブ面ＢＰのサイズ、α値、輝度、明度及び彩度の少なくとも１つを、角度パラメータＡＰに基づいて設定し、ビルボードプリミティブ面Ｎを描画する。【選択図】      図５
2005275796.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
照明オブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
仮想カメラを制御する仮想カメラ制御部と、
前記照明オブジェクトの各点に設定される照明エフェクト用の仮想法線ベクトルの情報を記憶する仮想法線ベクトル情報記憶部と、
仮想カメラの視線方向ベクトルと仮想法線ベクトルとのなす角度の大小を表す角度パラメータを、前記仮想法線ベクトル情報に基づいて求めるパラメータ演算部と、
仮想カメラに正対するように配置設定される照明エフェクト用のビルボードプリミティブ面のサイズ、α値、輝度、明度及び彩度の少なくとも１つを、前記角度パラメータに基づいて設定するビルボード設定部と、
前記ビルボードプリミティブ面を描画する描画部して、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記仮想法線ベクトル情報記憶部が、
前記照明オブジェクトの照明画像が描かれる面である照明面の中心点から端辺に向かうにつれて、仮想法線ベクトルと前記照明面とのなす角度が９０度から徐々に減少するように設定された仮想法線ベクトルの情報を記憶することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記ビルボード設定部が、
前記角度パラメータに基づいてビルボードプリミティブ面のα値を設定し、
前記描画部が、
照明テクスチャがマッピングされるビルボードプリミティブ面を、設定された前記α値に基づいてα加算ブレンディングで描画することを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記ビルボード設定部が、
ベースサイズが異なる複数種類のビルボードプリミティブ面の設定処理を行うことを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記描画部が、
照明エフェクトのベーステクスチャがマッピングされるベースプリミティブ面を描画し、そのベースプリミティブ面にオーバーラップするように、前記ビルボードプリミティブ面を描画することを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記描画部が、
前記仮想法線ベクトルが設定される照明オブジェクトの各点をスクリーン上に透視投影した点に、ビルボードプリミティブ面を描画することを特徴とするプログラム。
【請求項７】
請求項６において、
前記ビルボード設定部が、
前記角度パラメータに基づいてビルボードプリミティブ面のサイズを設定し、設定されたサイズと前記透視投影点の座標とに基づいてビルボードプリミティブ面の頂点座標を求め、
前記描画部が、
求められた頂点座標で特定されるビルボードプリミティブ面を描画することを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記パラメータ演算部が、
仮想カメラのカメラ回転行列に基づいて前記仮想法線ベクトルを回転させ、回転後の仮想法線ベクトルのＺ成分を符号反転したものを、前記角度パラメータとして求めることを特徴とするプログラム。
【請求項９】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至８のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１０】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
照明オブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
仮想カメラを制御する仮想カメラ制御部と、
前記照明オブジェクトの各点に設定される照明エフェクト用の仮想法線ベクトルの情報を記憶する仮想法線ベクトル情報記憶部と、
仮想カメラの視線方向ベクトルと仮想法線ベクトルとのなす角度の大小を表す角度パラメータを、前記仮想法線ベクトル情報に基づいて求めるパラメータ演算部と、
仮想カメラに正対するように配置設定される照明エフェクト用のビルボードプリミティブ面のサイズ、α値、輝度、明度及び彩度の少なくとも１つを、前記角度パラメータに基づいて設定するビルボード設定部と、
前記ビルボードプリミティブ面を描画する描画部とを含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。野球ゲームの画像を生成する画像生成システムを例にとれば、守備側のプレーヤが投手キャラクタを操作してボールを投げ、攻撃側のプレーヤが打者キャラクタを操作して投げられたボールを打つゲームの画像を生成する。
【０００３】
このような画像生成システムでは、例えば球場のナイター照明のハイライトエフェクトなどについてもリアルに表現できることが望ましい。そしてこのようなハイライト表現を実現する手法として、ハイライトエフェクトオブジェクトを表示物上に配置して、ハイライトエフェクト画像が表示物にオーバーラップして表示される画像を生成する手法がある。
【０００４】
しかしながらこの手法では、仮想カメラの視線ベクトルの方向が変化しても、ハイライトエフェクトの見え方は変化しないため、今ひとつリアルな画像を生成できないという課題がある。
【特許文献１】特開２００１−３２５６０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、照明オブジェクトのリアルな表現を可能にするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、照明オブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、仮想カメラを制御する仮想カメラ制御部と、前記照明オブジェクトの各点に設定される照明エフェクト用の仮想法線ベクトルの情報を記憶する仮想法線ベクトル情報記憶部と、仮想カメラの視線方向ベクトルと仮想法線ベクトルとのなす角度の大小を表す角度パラメータを、前記仮想法線ベクトル情報に基づいて求めるパラメータ演算部と、仮想カメラに正対するように配置設定される照明エフェクト用のビルボードプリミティブ面のサイズ、α値、輝度、明度及び彩度の少なくとも１つを、前記角度パラメータに基づいて設定するビルボード設定部と、前記ビルボードプリミティブ面を描画する描画部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明によれば、照明オブジェクトの各点に照明エフェクト用の仮想法線ベクトルが設定される。そして仮想カメラの視線方向ベクトルと仮想法線ベクトルとのなす角度の大小を表す角度パラメータが、仮想法線ベクトル情報に基づいて求められる。そして、そのサイズ、α値、輝度、明度及び彩度の少なくとも１つが角度パラメータに基づいて設定される照明エフェクト用のビルボードプリミティブ面が描画される。このようにすれば、使用されるプリミティブ面数を最小限に抑えながら、照明オブジェクトのリアルな表現が可能になる。
【０００８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記仮想法線ベクトル情報記憶部が、前記照明オブジェクトの照明画像が描かれる面である照明面の中心点から端辺に向かうにつれて、仮想法線ベクトルと前記照明面とのなす角度が９０度から徐々に減少するように設定された仮想法線ベクトルの情報を記憶するようにしてもよい。
【０００９】
このようにすれば、照明オブジェクトの例えば左手前側や右手前側に設定される仮想カメラから見た場合に、照明オブジェクトの照明面の左側や右側にハイライトエフェクトが表示されるリアルな画像を生成できる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ビルボード設定部が、前記角度パラメータに基づいてビルボードプリミティブ面のα値を設定し、前記描画部が、照明テクスチャがマッピングされるビルボードプリミティブ面を、設定された前記α値に基づいてα加算ブレンディングで描画するようにしてもよい。
【００１１】
このようにすれば、角度パラメータに応じてα値が変化し、そのα値に応じてビルボードプリミティブ面で表現されるハイライトの明るさが変化するようになり、リアルな画像表現を実現できる。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ビルボード設定部が、ベースサイズが異なる複数種類のビルボードプリミティブ面の設定処理を行うようにしてもよい。
【００１３】
このようにすれば、照明の多様な画像表現を実現できる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部が、照明エフェクトのベーステクスチャがマッピングされるベースプリミティブ面を描画し、そのベースプリミティブ面にオーバーラップするように、前記ビルボードプリミティブ面を描画するようにしてもよい。
【００１５】
このようにすれば、照明オブジェクト全体が光ってみえる画像の生成が可能になる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部が、前記仮想法線ベクトルが設定される照明オブジェクトの各点をスクリーン上に透視投影した点に、ビルボードプリミティブ面を描画するようにしてもよい。
【００１７】
このようにすればビルボードプリミティブ面の描画処理を簡素化できる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ビルボード設定部が、前記角度パラメータに基づいてビルボードプリミティブ面のサイズを設定し、設定されたサイズと前記透視投影点の座標とに基づいてビルボードプリミティブ面の頂点座標を求め、前記描画部が、求められた頂点座標で特定されるビルボードプリミティブ面を描画するようにしてもよい。
【００１９】
このようにすれば、角度パラメータに基づいてビルボードプリミティブ面のサイズが変化し、ビルボードプリミティブ面で表現されるハイライトの全体的な明るさが変化するようになり、リアルな画像を生成できる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記パラメータ演算部が、仮想カメラのカメラ回転行列に基づいて前記仮想法線ベクトルを回転させ、回転後の仮想法線ベクトルのＺ成分を符号反転したものを、前記角度パラメータとして求めるようにしてもよい。
【００２１】
このようにすれば、少ない処理負荷で角度パラメータを求めることが可能になる。
【発明を実施するための最良の形態】
【００２２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２３】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２４】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２７】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２８】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３０】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、パラメータ演算部１１６、ビルボード設定部１１８、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３１】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３２】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３３】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００３４】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００３５】
パラメータ演算部１１６は、ゲーム処理に使用される各種のパラメータの演算処理（更新処理）を行う。ここでパラメータとは、ゲーム状況やキャラクタの状態などを質的、量的に表す変数であり、ゲーム処理における各種の判断（ゲーム進行の判断、ゲーム結果の判断等）に使用されるものである。
【００３６】
具体的には本実施形態では、オブジェクト空間設定部１１０が、照明オブジェクト（照明を表現するためのモデルオブジェクト）をオブジェクト空間に配置設定する。また記憶部１７０の仮想法線ベクトル情報記憶部１７６が、照明エフェクト用の仮想法線ベクトルの情報（例えば仮想法線ベクトルのＸ、Ｙ、Ｚ成分や仮想法線ベクトルの始点の座標）を記憶する。この仮想法線ベクトル（仮想法線ベクトルの始点）は、照明オブジェクト（例えば球場や競技場のナイター照明を表現するオブジェクト）の各点に設定される。この各点は、例えば照明オブジェクトが複数のライトを有する場合に、これらのライトの各位置に対応する点であり、照明オブジェクトの面上に設定されていてもよいし、照明オブジェクトから離れた位置に設定されていもよい。また仮想法線ベクトルは、照明のハイライト表現のために用いられる仮想的な法線ベクトルである。仮想法線ベクトルの方向は、照明オブジェクトの面に垂直な方向のみならず、それ以外の任意の方向に設定でき、その意味で本実施形態では「仮想的」な法線ベクトルと呼ぶ。
【００３７】
そしてパラメータ演算部１１６は、仮想カメラの視線方向ベクトルと仮想法線ベクトルとのなす角度の大小を表す角度パラメータを、仮想法線ベクトル情報（ベクトル成分等）に基づいて求める。このような角度パラメータ（ＡＰ）としては、仮想カメラのカメラ回転行列（Ｘ軸、Ｙ軸、Ｚ軸回りでの回転行列）に基づいて仮想法線ベクトルを回転させ（座標変換し）、回転後の仮想法線ベクトルのＺ成分（ＮＺ）を符号反転（ＡＰ＝−ＮＺ）したものを用いることができる。或いは、仮想カメラの視線方向ベクトル（ＳＤ）と仮想法線ベクトル（Ｎ）との内積（ＡＰ＝ＳＤ・Ｎ）を、角度パラメータとして用いてもよい。
【００３８】
ビルボード設定部１１８は、ビルボードの設定処理（生成処理）を行う。具体的には、照明エフェクト用のビルボードプリミティブ面（ポリゴン、スプライト等）のサイズ、α値、輝度、明度及び彩度の少なくとも１つを、角度パラメータ（ＡＰ）に基づいて設定する。別の言い方をすれば、角度パラメータによりそのサイズやα値や輝度や明度や彩度が設定されるビルボードプリミティブ面のデータ（ポリゴンデータ、スプライトデータ）を生成する。更に具体的にはビルボード設定部１１８は、照明オブジェクトの各点（各頂点）に設定された各仮想法線ベクトルと仮想カメラの視線方向ベクトルとにより求められた各角度パラメータに基づいて、その各点（各点に対応する位置）に配置設定される各ビルボードプリミティブ面のサイズやα値や輝度や明度や彩度を設定する。この場合、ビルボードプリミティブ面は、仮想カメラに正対するように配置される。即ちビルボードプリミティブ面は、その照明面（照明画像が描かれる面。照明テクスチャがマッピングされる面）の法線ベクトルと、仮想カメラの視線方向ベクトルとのなす角度が１８０度になるように、配置設定される。このビルボードプリミティブ面は３次元のオブジェクト空間内に配置設定してもよいし、照明オブジェクトの各点（各仮想法線ベクトルの始点）に対応する２次元スクリーン（透視投影スクリーン）上の透視投影点（透視変換点）に配置設定しもよい。
【００３９】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７２（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００４０】
描画部１２０は、テクスチャマッピング部１２２、αブレンディング部１２４を含む。
【００４１】
テクスチャマッピング部１２２は、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理を行う。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００４２】
αブレンディング部１２４はα値（Ａ値）に基づくαブレンディング処理（通常αブレンディング、α加算ブレンディング又はα減算ブレンディング等）を行う。例えば通常αブレンディングの場合には下式の処理を行う。
【００４３】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2    （１）
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2    （２）
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2    （３）
一方、加算αブレンディングの場合には下式の処理を行う。
【００４４】
ＲQ＝Ｒ1＋α×Ｒ2                （４）
ＧQ＝Ｇ1＋α×Ｇ2                （５）
ＢQ＝Ｂ1＋α×Ｂ2                （６）
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファ１７２に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画バッファ１７２に描画すべき画像のＲＧＢ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４５】
本実施形態ではビルボード設定部１１８が、パラメータ演算部１１６で求められた角度パラメータに基づいてビルボードプリミティブ面のα値を設定する。そしてテクスチャマッピング部１２２（描画部１２０）が、テクスチャ記憶部１７４に記憶される照明テクスチャ（ハイライトテクスチャ）をビルボードプリミティブ面にマッピングする。またαブレンディング部（描画部１２０）が、照明テクスチャがマッピングされるビルボードプリミティブ面を、ビルボード設定部１１８により設定されたα値に基づいて、照明オブジェクトの各点に対応する位置（各点の位置、各点の透視投影点等）にα加算ブレンディングで描画する。これにより照明のハイライトをリアルに表現できる。
【００４６】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４７】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４８】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、球場（競技場）のナイター照明のハイライト表現に本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このようなナイター照明のハイライト表現のみならず、種々の画像表現に適用できる。
【００４９】
２．１  仮想法線ベクトルを用いたハイライト表現
図２に照明オブジェクトＬＯＢの例を示す。このＬＯＢは、球場等に設置される照明を表現するためのモデルオブジェクトである。この照明オブジェクトＬＯＢは、複数のライトを有しており、本実施形態では、これらのライトが異なる照明方向に向いていることを、仮想法線ベクトルを用いて擬似的に表現している。
【００５０】
図３に、照明オブジェクトＬＯＢの各点に設定される仮想法線ベクトルＮの例を示す。これらの仮想法線ベクトルＮは、図４（Ａ）に示すように、照明オブジェクトＬＯＢの照明面（照明画像が描かれる面、照明テクスチャがマッピングされる面）に対して必ずしも直交していない。この意味において本実施形態ではこのベクトルを「仮想的」な法線ベクトルと呼ぶ。
【００５１】
具体的には本実施形態では、照明オブジェクトＬＯＢの照明面の中心点から端辺（第１〜第４の辺）に向かうにつれて、仮想法線ベクトルＮと照明面とのなす角度が９０度から減少（徐々に減少）するように設定される。例えば照明オブジェクトＬＯＢの照明面の中心点においては、図４（Ａ）のＣ１に示すように、仮想法線ベクトルＮと照明面とのなす角度は９０度になっている。一方、照明面の端辺においては、Ｃ２、Ｃ３に示すように、仮想法線ベクトルＮと照明面とのなす角度（小さい方の角度）は９０度よりも小さい角度になっている。このように本実施形態では、照明面の中心点から端辺に向かうにつれて、端辺側に広がるように仮想法線ベクトルＮの方向が設定されている。このようにすることで、図４（Ａ）に示すように照明オブジェクトＬＯＢの例えば左手前側に設定される仮想カメラＶＣで見た場合に、照明オブジェクトＬＯＢの左側にハイライトが形成される画像を生成でき、ナイター照明のリアルな表現が可能になる。
【００５２】
なお仮想法線ベクトルＮの方向や始点位置の設定は図３、図４（Ａ）の例に限定されず、種々の変形実施が可能である。また仮想法線ベクトルＮが設定される照明オブジェクトＬＯＢの各点（Ｎの始点）は、ＬＯＢの照明面上の点であってもよいし、照明面から離れた点でもよい。そして例えば図２のような照明を表現する場合には、この各点は、照明オブジェクトＬＯＢが有する各ライトの位置に設定することが望ましい。また仮想法線ベクトルＮの情報は、各仮想法線ベクトルＮのベクトル成分（ＮＸ、ＮＹ、ＮＺ）と、各仮想法線ベクトルＮの始点位置の座標（ＸＳ、ＹＳ、ＺＳ）などを含むことができる。
【００５３】
図４（Ｂ）に示すように本実施形態では、図４（Ａ）のように設定された仮想法線ベクトルＮと、仮想カメラＶＣの視線方向ベクトルＳＤとのなす角度θの大小を表す角度パラメータＡＰ（倍率パラメータ）を、仮想法線ベクトル情報に基づいて求める。この角度パラメータＡＰは、仮想法線ベクトルＮと視線法線ベクトルＳＤとの内積などに対応するパラメータである。そして本実施形態では、この角度パラメータＡＰに基づいて、照明エフェクト用のビルボードプリミティブ面（ビルボードポリゴン、ビルボードスプライト）のサイズやα値（輝度や明度や彩度でもよい。他の説明でも同様）を設定している。
【００５４】
例えば図５（Ａ）のように仮想カメラＶＣが設定されている場合に、図５（Ａ）のＤ１では、仮想法線ベクトルＮと視線方向ベクトルＳＤとのなす角度は１８０度に近い。従ってＮとＳＤのなす角度θの大小を表す角度パラメータＡＰの値も大きくなり（例えばＡＰ＝１．０程度）、この仮想法線ベクトルＮの始点に設定されるビルボードプリミティブ面ＢＰのサイズやα値も大きな値に設定される。そしてこの大きなサイズのビルボードプリミティブ面が、この大きな値に設定されたα値に基づいて、加算αブレンディング（広義にはαブレンディング）で、その位置（仮想法線ベクトルＮの始点に対応する位置）に描画される。
【００５５】
一方、図５（Ａ）のＤ２では、仮想法線ベクトルＮと視線方向ベクトルＳＤとのなす角度は９０度に近い。従って角度パラメータＡＰの値も小さくなり（例えばＡＰ＝０．０）、この仮想法線ベクトルＮの始点に設定されるビルボードプリミティブ面ＢＰのサイズやα値も小さな値に設定される。そしてこの小さなサイズのビルボードプリミティブ面が、この小さな値に設定されたα値に基づいて、加算αブレンディングでその位置に描画される。
【００５６】
また図５（Ｂ）のように仮想カメラＶＣが設定されている場合に、図５（Ｂ）のＥ１では、仮想法線ベクトルＮと視線方向ベクトルＳＤとのなす角度は１８０度に近い。従って角度パラメータＡＰの値も大きくなり、大きなサイズで大きなα値が設定されたビルボードプリミティブ面ＢＰがその位置に描画される。一方、図５（Ｂ）のＥ２、Ｅ３では、仮想法線ベクトルＮと視線方向ベクトルＳＤとのなす角度は１８０度より小さい。従って角度パラメータＡＰの値も小さくなり、小さなサイズで小さなα値が設定されたビルボードプリミティブ面ＢＰがその位置に描画される。
【００５７】
図６、図７、図８に、本実施形態の手法で生成された照明オブジェクトＬＯＢの画像の例を示す。
【００５８】
図６は、図５（Ａ）のように照明オブジェクトＬＯＢの左手前側に仮想カメラが配置されている時に生成される画像の例である。図６に示すように、仮想カメラから見て照明オブジェクトＬＯＢの左側に強いハイライトが生じている。一方、ＬＯＢの右側ではハイライトは弱くなっている。
【００５９】
図７は、図５（Ｂ）のように照明オブジェクトＬＯＢの正面付近に仮想カメラが配置されている時に生成される画像の例である。図７に示すように、仮想カメラから見て照明オブジェクトＬＯＢの中央付近に強いハイライトが生じている。一方、ＬＯＢの右側、左側ではハイライトは比較的弱くなっている。
【００６０】
図８は、照明オブジェクトＬＯＢの右手間側に仮想カメラが配置されている時に生成される画像の例である。図８に示すように、仮想カメラから見て照明オブジェクトＬＯＢの右側に強いハイライトが生じている。
【００６１】
このように本実施形態では、現実世界のナイター照明に生じるハイライトを、擬似的な手法を用いながらもリアルに表現することに成功している。
【００６２】
例えば本実施形態の第１の比較例として次のような手法も考えられる。即ち、画面中央に照明オブジェクトが位置する場合には、照明オブジェクトの照明面全体のハイライトを強くする。一方、画面中央から離れた位置に照明オブジェクトが位置する場合には、照明面全体のハイライトを弱くする。
【００６３】
しかしながら、現実世界においては、野球の中継カメラの撮影画面の中央から離れた位置に、ナイター照明が位置していた場合にも、例えば図６に示すように、ナイター照明の端辺に位置するライトによりハイライトが生じる場合がある。従って、上述のように照明オブジェクトの画面上の位置に応じて照明面全体のハイライトの強弱を制御する第１の比較例の手法では、このような現実世界のナイター照明をリアルに表現できない。
【００６４】
これに対して本実施形態では、図５（Ａ）（Ｂ）に示すような仮想的な法線ベクトルＮを設定することで、図６〜図８に示すようにナイター照明のリアルなハイライト表現を実現できる。例えば図５（Ａ）のＤ１のように仮想法線ベクトルＮを設定すれば、たとえ照明オブジェクトＬＯＢが画面中央から離れた位置に映っている場合にも、Ｄ１の仮想法線ベクトルＮにより、図６のように照明オブジェクトＬＯＢの左側にハイライトが生じる。従って、照明オブジェクトＬＯＢの左側に、仮想カメラに正対するライトが配置されているかのように見える画像を生成でき、リアルな照明の表現を実現できる。
【００６５】
更に本実施形態では図５（Ａ）（Ｂ）に示すように、仮想法線ベクトルＮとビルボードプリミティブ面ＢＰとは必ずしも直交しない。具体的には、強いハイライトが生じる点（Ｄ１、Ｅ１に示す点）においては、仮想法線ベクトルＮとビルボードプリミティブ面ＢＰが直交するが、それ以外の点（Ｅ２、Ｅ３に示す点）においては直交しない。
【００６６】
そしてビルボードプリミティブ面ＢＰは、仮想法線ベクトルＮの方向とは無関係に、常に仮想カメラＶＣに正対するように配置設定される。このようにすることで、少ないプリミティブ面数で、広い範囲の照明画像を生成できるようになる。
【００６７】
例えば本実施形態の第２の比較例として、仮想カメラＶＣに正対するようにビルボードプリミティブ面ＢＰを配置設定すると共に、そのビルボードプリミティブ面ＢＰに常に直交するように仮想法線ベクトルＮを設定する手法も考えられる。
【００６８】
しかしながら、この第２の比較例の手法では、どの場所に仮想カメラＶＣが配置されていても、視線方向ベクトルＳＤと仮想法線ベクトルＮとのなす角度が常に１８０度になってしまい、図６〜図８に示すようなナイター照明のリアルな表現を実現できない。
【００６９】
また第３の比較例として、ビルボードプリミティブ面を用いずに、図４（Ａ）のように設定された仮想法線ベクトルに直交するようにビルボードではない通常のプリミティブ面を配置する手法も考えられる。しかしながら、この第３の比較例の手法では、ビルボードプリミティブ面を用いないため、照明画像を生成するために必要なプリミティブ面の数が増えてしまい、処理負荷の増加等を招く。
【００７０】
これに対して本実施形態では、図４（Ａ）〜図５（Ｂ）に示すように、仮想法線ベクトルの配置設定とは独立にビルボードプリミティブ面が配置設定される。従って、図４（Ａ）のように配置設定された仮想法線ベクトルＮを用いて図６〜図８に示すようなナイター照明のリアルな表現を実現しながらも、図５（Ａ）（Ｂ）に示すようにビルボードプリミティブ面を配置設定することで、使用されるプリミティブ面数を節約できる。従って、少ない処理負荷、少ない使用メモリ容量でリアルなハイライト表現を実現できる。
【００７１】
２．２  α値の設定
図９（Ａ）（Ｂ）に、ビルボードプリミティブ面にマッピングされる照明テクスチャの例を示す。本実施形態では、ビルボード設定部１１８が、ベースサイズが異なる複数種類のビルボードプリミティブ面の設定処理を行う。そしてベースサイズが小さい第１の種類のビルボードプリミティブ面には図９（Ａ）の照明テクスチャがマッピングされ、ベースサイズが大きい第２の種類のビルボードプリミティブ面には図９（Ｂ）の照明テクスチャがマッピングされる。そしてベースサイズの大きい第２の種類のビルボードプリミティブ面は、照明オブジェクトＬＯＢの照明面の数箇所の場所に散在して配置される。これにより、ナイター照明などにおいて一部のライトだけが強く光って見える様子をリアルに表現できる。なお、ベースサイズが異なるビルボードプリミティブ面の種類は２種類に限定されず、３種類以上であってもよい。またベースサイズとは、角度パラメータＡＰに基づいてビルボードプリミティブ面のサイズを変化させる時の基本となるサイズ（最小値のサイズ）である。
【００７２】
本実施形態では、図４（Ｂ）の手法で得られた角度パラメータＡＰに基づいて、ビルボードプリミティブ面のα値を設定する。そして図９（Ａ）（Ｂ）に示すような照明テクスチャがマッピングされるビルボードプリミティブ面を、設定されたα値に基づいて、照明オブジェクトＬＯＢの各点に対応する位置（例えば透視投影点）に例えばα加算ブレンディングで描画する。このようにすれば、背景画像に、ビルボードプリミティブ面がα加算ブレンディングで描画されて、図６〜図８に示すような画像を生成できる。そして図６の照明オブジェクトＬＯＢの左側部分では、α値が大きなビルボードプリミティブ面が描画されるため、α加算ブレンディングによりその場所の色が真っ白に近づき、強いハイライトが生じる。一方、図６の照明オブジェクトＬＯＢの右側部分では、α値が小さなビルボードプリミティブ面が描画されるため、ハイライトは弱くなる。このように本実施形態では、角度パラメータＡＰに基づいてビルボードプリミティブ面のα値を制御することで、リアルなハイライト表現を実現している。
【００７３】
なお本実施形態では図１０に示すように、照明エフェクトのベーステクスチャがマッピングされるベースプリミティブ面を、まず描画する。このベーステクスチャは、図９（Ａ）（Ｂ）の照明テクスチャの下地となるテクスチャである。またベースプリミティブ面は、照明オブジェクトＬＯＢの照明面に沿って配置設定されるプリミティブ面であり、本実施形態では例えば複数のベースプリミティブ面が照明面に沿って配置設定される。
【００７４】
そして本実施形態では、図１０のようなベーステクスチャがマッピングされたベースプリミティブ面にオーバーラップするように、図９（Ａ）（Ｂ）の照明テクスチャがマッピングされたビルボードプリミティブ面を描画する。これにより、図１１に示すようなハイライトエフェクトが表現された照明オブジェクトの画像を生成できる。例えば図１０のようなベースプリミティブ面の描画を行わずに、照明エフェクト用のビルボードプリミティブ面だけを描画すると、照明オブジェクトＬＯＢが全体的に光って見える様子を表現するのが難しくなる。これに対して図１０のようなベースプリミティブ面の描画を行うようにすれば、ビルボードプリミティブ面間の領域にもベーステクスチャの照明画像が描画されるようになるため、照明オブジェクトＬＯＢが全体的に光って見える様子をリアルに表現できるようになる。なお、照明オブジェクトの種類によっては、このようなベースプリミティブ面の描画を行わない手法を採用してもよい。
【００７５】
２．３  サイズの設定
本実施形態では図４（Ｂ）に示すように、視線方向ベクトルＳＤと仮想法線ベクトルＮとのなす角度の大小を表す角度パラメータＡＰ（ＳＤとＮの内積）に基づいて、ビルボードプリミティブ面のサイズ（高さ、幅）を設定している。例えば角度パラメータＡＰが大きい場合（例えばＡＰ＝１．０）には、ビルボードプリミティブ面のサイズを大きくし、ＡＰが小さい場合（例えばＡＰ＝０．０）には、ビルボードプリミティブ面のサイズを小さくする。このように、角度パラメータＡＰによりそのサイズが設定されるビルボードプリミティブ面の描画処理は、例えば図１２（Ａ）（Ｂ）に示すような手法により実現できる。
【００７６】
図１２（Ａ）では、仮想法線ベクトルＮが設定される照明オブジェクトの各点（Ｎの始点、ライト位置）をスクリーンＳＣ（透視投影面）に透視投影する。そして得られた透視投影点にビルボードプリミティブ面を描画している。このようにすれば、仮想カメラに常に正対するビルボードプリミティブ面を簡素な処理で描画できるようになる。
【００７７】
そして図１２（Ｂ）では、角度パラメータＡＰに基づいてビルボードプリミティブ面ＢＰのサイズＤＸ、ＤＹ（Ｘ方向、Ｙ方向のサイズ）を設定し、設定されたサイズＤＸ、ＤＹと透視投影点ＰＰの座標（ＰＸ、ＰＹ）とに基づいてビルボードプリミティブ面ＢＰの頂点Ｖ１〜Ｖ４の座標を求める。そしてこの求められた頂点Ｖ１〜Ｖ４の座標で特定されるビルボードプリミティブ面ＢＰを描画する。このようにすれば、常に仮想カメラに正対するビルボードプリミティブ面ＢＰを簡素な処理で描画できると共に、描画されるビルボードプリミティブ面のサイズを、角度パラメータＡＰに応じて変化させることが可能になる。
【００７８】
なお、ビルボードプリミティブ面ＢＰとしてスプライトを用いる場合には、２つの頂点（例えばＶ１とＶ３）の座標を求めて特定するだけで、そのビルボードスプライトを描画できる。一方、ビルボードプリミティブ面ＢＰとしてポリゴンを用いる場合には、４つの頂点（例Ｖ１〜Ｖ４）の座標を求めて特定する必要がある。従って、処理負荷の軽減のためには、２つの頂点の特定だけで済むスプライトを用いることが望ましい。
【００７９】
なおビルボードプリミティブ面の描画手法は、図１２（Ａ）（Ｂ）に示す手法に限定されない。例えば３次元のオブジェクト空間内の照明オブジェクトＬＯＢの各点に、ビルボードプリミティブ面を配置し、そのビルボードプリミティブ面をスクリーンに透視変換（透視投影）して描画するようにしてもよい。この場合には、ビルボードプリミティブ面が仮想カメラに常に正対するように、ビルボードプリミティブ面の回転角度（Ｘ、Ｙ、Ｚ軸での回転角度）を制御すればよい。
【００８０】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１３のフローチャートを用いて説明する。
【００８１】
まず仮想カメラのカメラ回転行列に基づいて、仮想法線ベクトルを回転する（ステップＳ１）。これにより、カメラ座標系（視点座標系）での仮想法線ベクトルの座標成分（ＮＸ、ＮＹ、ＮＺ）が求まる。そして、回転後の仮想法線ベクトルのＺ成分ＮＺを符号反転して角度パラメータＡＰ＝−ＮＺを求める（ステップＳ２）。この場合、仮想法線ベクトルが仮想カメラから見て表向きのベクトルである場合には、０≦ＡＰ≦１になり、裏向きのベクトルである場合には、−１≦ＡＰ＜０になる。更に具体的には、仮想法線ベクトルと視線法線ベクトルとのなす角度が１８０度の時にはＡＰ＝−ＮＺ＝１になり、９０度の時にはＡＰ＝−ＮＺ＝０になり、０度の時にはＡＰ＝−ＮＺ＝−１になる。
【００８２】
次にＡＰが０より小さいか否か（裏向きか否か）を判断する（ステップＳ３）。そしてＡＰ＜０の場合にはステップＳ９に移行する。一方、ＡＰ≧０の時には、ビルボードプリミティブ面（ポリゴン、スプライト）に設定するα値を求める（ステップＳ４）。具体的には例えばα＝ＡＰ×ＭＡＸαの計算式でα値を求める。ここでＭＡＸαはα値の最大値である。
【００８３】
次に図１２（Ａ）で説明したように、仮想法線ベクトルが設定されるされる照明オブジェクトの各点（始点）をスクリーンに透視投影した点ＰＰ（ＰＸ、ＰＹ）を求める（ステップＳ５）。そしてベースサイズＭＩＮＸ、ＭＩＮＹと拡大率ＷＤＴＸ、ＷＤＴＹと角度パラメータＡＰとに基づきＤＸ、ＤＹを求める（ステップＳ６）。具体的にはＤＸ＝ＭＩＮＸ＋ＡＰ×ＷＤＴＸ、ＤＹ＝ＭＩＮＹ＋ＡＰ×ＷＤＴＹの計算式でＤＸ、ＤＹを求める。なお、ＭＩＮＸ＝ＭＩＮＹ、ＷＤＴＸ＝ＷＤＴＹとすることができる。
【００８４】
次に、図１２（Ｂ）で説明したように、ビルボードプリミティブ面の左上の頂点Ｖ１（Ｘ１，Ｙ１）と右下の頂点Ｖ３（Ｘ３，Ｙ３）を求める（ステップＳ７）。具体的には、Ｘ１＝ＰＸ−ＤＸ、Ｙ１＝ＰＹ−ＤＹ、Ｘ３＝ＰＸ＋ＤＸ、Ｙ３＝ＰＹ＋ＤＹの計算式で、Ｖ１（Ｘ１，Ｙ１）、Ｖ３（Ｘ３，Ｙ３）を求める。そしてＶ１，Ｖ３で特定されるビルボードプリミティブ面（ビルボードスプライト）を、ステップＳ４で求められたα値に基づき加算αブレンディングで描画する（ステップＳ８）。そして、全てのライト（仮想法線ベクトル）についての処理が終了したか否かを判断し（ステップＳ９）、終了した場合にはステップＳ１に戻り、次のライト（仮想法線ベクトル）についての処理に移行する。
【００８５】
４．ハードウェア構成
図１４に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００８６】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００８７】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００８８】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００８９】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００９０】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００９１】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００９２】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（αブレンディング、プリミティブ面等）として引用された用語（加算αブレンディング、ポリゴン・スプライト等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００９３】
また仮想法線ベクトルの配置手法、ビルボードプリミティブ面の配置手法や描画手法、ビルボードプリミティブ面のサイズやα値の設定手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００９４】
また本実施形態では、ビルボードプリミティブ面のα値を制御することで、ハイライトエフェクト（照明エフェクト）の明るさを制御する場合について説明した。しかしながら本発明はこれに限定されず、ビルボードプリミティブ面の輝度（Ｒ、Ｇ、Ｂの輝度）や明度や彩度などの明るさパラメータを制御して、ハイライトエフェクトの明るさを制御してもよい。
【００９５】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００９６】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】照明オブジェクトの例。
【図３】仮想法線ベクトルの設定例。
【図４】図４（Ａ）（Ｂ）は本実施形態の手法の説明図。
【図５】図５（Ａ）（Ｂ）も本実施形態の手法の説明図。
【図６】本実施形態の手法で生成された画像の例。
【図７】本実施形態の手法で生成された画像の例。
【図８】本実施形態の手法で生成された画像の例。
【図９】図９（Ａ）（Ｂ）は照明テクスチャの例。
【図１０】ベーステクスチャ、ベースプリミティブ面の説明図。
【図１１】ベースプリミティブ面にオーバーラップしてビルボードプリミティブ面を描画する手法の説明図。
【図１２】図１２（Ａ）（Ｂ）もビルボードプリミティブ面の描画手法の説明図。
【図１３】本実施形態の具体的な処理のフローチャート。
【図１４】ハードウェア構成例。
【符号の説明】
【００９７】
ＬＯＢ  照明オブジェクト、Ｎ  仮想法線ベクトル、
ＶＣ  仮想カメラ、ＳＤ  視線方向ベクトル、ＢＰ  ビルボードプリミティブ面、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  パラメータ演算部、１１８  ビルボード設定部、
１２０  描画部、１２２  テクスチャマッピング部、１２４  α合成部、
１３０  音生成部、１６０  操作部、１７０  記憶部、１７２  描画バッファ、
１７４  テクスチャ記憶部、１７６  仮想法線ベクトル情報記憶部、
１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2005275796.tif 000003
【図４】
2005275796.tif 000004
【図５】
2005275796.tif 000005
【図１２】
2005275796.tif 000006
【図１３】
2005275796.tif 000007
【図１４】
2005275796.tif 000008
【図２】
2005275796.tif 000009
【図３】
2005275796.tif 000010
【図６】
2005275796.tif 000011
【図７】
2005275796.tif 000012
【図８】
2005275796.tif 000013
【図９】
2005275796.tif 000014
【図１０】
2005275796.tif 000015
【図１１】
2005275796.tif 000016