(57)【要約】【課題】少ない処理付加で変化に富んでインパクトのある光の反射表現が可能な画像生成システム、プログラム及び情報記憶媒体を提供すること。【解決手段】オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、グレア設定対象オブジェクトの所定面の法線ベクトルと、光源ベクトル及びカメラベクトルの少なくとも一方に基づき、グレア表現を行うために用いるグレアパラメータを演算する手段と、第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する手段と、前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する手段と、グレア設定対象オブジェクト及び第１のグレアオブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を生成する手段とを含む。【選択図】      図１７
2006323514.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
グレア設定対象オブジェクトの所定面の法線ベクトルと、光源ベクトル及びカメラベクトルの少なくとも一方に基づき、グレア表現を行うために用いるグレアパラメータを演算する手段と、
第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する手段と、
前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する手段と、
グレア設定対象オブジェクト及び第１のグレアオブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を生成する手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
グレア設定対象オブジェクトの所定面の法線ベクトル、光源ベクトル、仮想カメラ位置、グレア設定対象オブジェクトの位置の少なくとも１つの変化に応じてグレア表現を行うためのグレアパラメータの値を変化させるための演算を行う手段と、
第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する手段と、
前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する手段と、
グレア設定対象オブジェクト及び第１のグレアオブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を生成する手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項３】
請求項１乃至２のいずれかにおいて、
光源ベクトルとグレア設定対象オブジェクトの仮想カメラ方向を向いた面の法線ベクトルに基づき、第１のグレアオブジェクトの長さ及び透明度の少なくとも一方を決定し、
決定された長さ及び透明度の少なくとも一方を用いてグレアオブジェクトの画像を生成することを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記グレア設定対象オブジェクトには複数の特徴点が設定されており、当該特徴点に基づき前記グレア軌道を設定することを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記グレア設定対象オブジェクトの特徴点には、グレア設定対象オブジェクトに応じた幅データが設定されており、
前記幅データに基づき、第１のグレアオブジェクトの幅を決定することを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
カメラベクトルとグレア設定対象オブジェクトの仮想カメラ方向を向いた面の法線に基づき、
第１のグレアオブジェクトの幅調整パラメータを決定し、
決定された幅調整パラメータを用いてグレアオブジェクトの幅を調整して画像を生成することを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
第１のグレアオブジェクトとしてビルボードオブジェクトを用いることを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
第１のグレア表現を行うための第１のグレアテクスチャを記憶するテクスチャ記憶部を含み、
前記画像生成部は、
前記第１のグレアオブジェクトに第１のグレアテクスチャをマッピングすることを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
グレアオブジェクトの幅はグレア設定対象オブジェクトの幅より広い幅に設定されることを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前フレームまたは過去に生成した第１のグレアオブジェクトの情報を保持する手段を含み、
前フレームまたは過去に生成した第１のグレアオブジェクトの情報に基づき、前フレームまたは過去に生成した第１のグレアオブジェクトの残像画像を生成する残像生成手段をさらに含み、
前記残像生成手段は、
残像画像の透明度を高く設定して描画することを特徴とするプログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
グレア対象オブジェクトの法線ベクトルと光源ベクトルに基づいて、第２のグレアオブジェクト表示イベントの発生の有無を判断する手段と、
第２のグレアオブジェクト表示イベントの発生ありと判断すると、前記グレアオブジェクト設定点に基づき第２のグレア表現を行うための第２のグレアオブジェクトを配置する手段とを含み、
第２のグレアオブジェクト発生イベントから所定期間の間第２のグレアオブジェクトが表示されるように画像生成を行うことを特徴とするプログラム。
【請求項１２】
請求項１１において、
前記グレアパラメータに基づき、第２のグレアオブジェクトを仮想カメラに正対する軸の回りで回転させて配置することを特徴とするプログラム。
【請求項１３】
請求項１１乃至１２のいずれかにおいて、
時間の経過とともに第２のグレアオブジェクトをフェードアウトさせる手段を含むことを特徴とするプログラム。
【請求項１４】
請求項１１乃至１３のいずれかにおいて、
第２のグレアオブジェクトとしてビルボードオブジェクトを用いることを特徴とするプログラム。
【請求項１５】
請求項１乃至１４のいずれかにおいて、
前記テクスチャ記憶部は、
第２のグレア表現を行うための第２のグレアテクスチャを記憶するテクスチャ記憶部を含み、
前記画像生成部は、
前記第２のグレアオブジェクトに第２のグレアテクスチャをマッピングすることを特徴とするプログラム画像生成システム。
【請求項１６】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１５のいずれかのプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１７】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
グレア設定対象オブジェクトの所定面の法線ベクトルと、光源ベクトル及びカメラベクトルの少なくとも一方に基づき、グレア表現を行うために用いるグレアパラメータを演算する手段と、
第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する手段と、
前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する手段と、
グレア設定対象オブジェクト及び第１のグレアオブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を生成する手段とを、
含むことを特徴とする画像生成システム。
【請求項１８】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
グレア設定対象オブジェクトの所定面の法線ベクトル、光源ベクトル、仮想カメラ位置、グレア設定対象オブジェクトの位置の少なくとも１つの変化に応じてグレア表現を行うためのグレアパラメータの値を変化させるための演算を行う手段と、
第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する手段と、
前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する手段と、
グレア設定対象オブジェクト及び第１のグレアオブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を生成する手段とを、
含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
さてこのようなゲームシステムでは、プレーヤの仮想現実向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。ここにおいてよりリアルな画像を生成するためには光の効果は重要であるため、表現したい画像に応じた光源処理を施しオブジェクトの立体感や質感をよりリアルに表現することが行われる。また光の反射を表現することでよりインパクトのある画像を生成することができる。
【０００４】
例えばオブジェクトに光源を加味したグーロシェーディングを施したり、またより強い光の反射を表現したい場合にはオブジェクトの表面の一部にハイライトが生じている画像を生成する。
【特許文献１】特開２００３−０８５５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし光源と物体の位置関係に基づいて光の反射をシミュレーションすると演算付加が増大し、限られたハードウエア資源でリアルタイムに画像生成を行うことが必要なゲーム装置等では処理が困難であるという問題点があった。
【０００６】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理付加で変化に富んでインパクトのある光の反射表現が可能な画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００７】
（１）本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
グレア設定対象オブジェクトの所定面の法線ベクトルと、光源ベクトル及びカメラベクトルの少なくとも一方に基づき、グレア表現を行うために用いるグレアパラメータを演算する手段と、
第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する手段と、
前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する手段と、
グレア設定対象オブジェクト及び第１のグレアオブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を生成する手段とを、
含むことを特徴とする画像生成システムに関係する。
【０００８】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００９】
グレア表現とは光が反射してまぶしい様子の演出であり、例えばオブジェクトの一部がひかりを反射して生じるさまざまな形状の反射光の画像を表示する。
【００１０】
またグレア設定対象オブジェクトとはグレアオブジェクトを配置して光の反射演出が行われるオブジェクトであればよい。例えば剣等の武器でもよい。
【００１１】
ここで光源ベクトルとは、光源０からの光線の向きを表すベクトルであり例えば影データを作成する際に用いるベクトルである。並行光源を使用する場合には、物体の位置にかかわらず一様な向きを有するベクトルとなる。
【００１２】
また所定面の法線ベクトルとは、グレア設定対象オブジェクト所定面の法線ベクトルであり、本演算用に設定された法線ベクトルであり、例えば代表点に設定されたベクトルでもよい。
【００１３】
またカメラベクトルとは、仮想カメラの座標と、グレア設定対象オブジェクトの代表点の座標を結ぶベクトルである。
【００１４】
例えば、カメラベクトルと光源ベクトルの中間ベクトルと、グレア設定対象オブジェクトの固定面の法線ベクトルの内積値からグレアパラメータをもとめるようにしてもよい。またカメラベクトル、光源ベクトル、グレア設定対象オブジェクトの固定面の法線ベクトルから所定の関数ｆによりグレアパラメータｆ（ＫＶ、ＬＶ、ＮＶ）を求めるようにしてもよい。
【００１５】
またグレア軌道はグレア設定対象オブジェクトに関連づけて設定される。例えばグレア設定対象オブジェクトをモデリングする際にグレア軌道を生成するための情報をモデル情報として持たせておくようにしてもよい。
【００１６】
なおグレアオブジェクト２６０をオブジェクト空間内に配置する場合には、グレアオブジェクトを設定点よりも仮想カメラ方向に少しずらして配置するようにしてもよい。
【００１７】
本発明によれば法線ベクトル、光源ベクトル、カメラベクトルの変化に応じて、グレアパラメータの値を変化させ、グレアオブジェクトの設定点をグレア軌道上で移動させることができるので、オブジェクトや仮想カメラや光線の向きの変化を反映して移動または変化するインパクトのある反射光を表現することができる。
【００１８】
しかも光の反射等の複雑なシミュレーション演算を行う必要がないので、少ない処理付加で変化に富んでインパクトのある光の反射表現が可能となる。
【００１９】
（２）本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
グレア設定対象オブジェクトの所定面の法線ベクトル、光源ベクトル、仮想カメラ位置、グレア設定対象オブジェクトの位置の少なくとも１つの変化に応じてグレア表現を行うためのグレアパラメータの値を変化させるための演算を行う手段と、
第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する手段と、
前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する手段と、
グレア設定対象オブジェクト及び第１のグレアオブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を生成する手段とを、
含むことを特徴とする画像生成システムに関係する。
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００２０】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
光源ベクトルとグレア設定対象オブジェクトの仮想カメラ方向を向いた面の法線ベクトルに基づき、第１のグレアオブジェクトの長さ及び透明度の少なくとも一方を決定し、
決定された長さ及び透明度の少なくとも一方を用いてグレアオブジェクトの画像を生成することを特徴とする。
【００２１】
ここで仮想カメラ方向を向いた法線ベクトルとは、グレア設定対象オブジェクトが例えば剣のように２面を持ったオブジェクトである場合には仮想カメラから見える側の法線ベクトルである。
【００２２】
本発明によれば、光源の位置や仮想カメラ位置グレア設定対象オブジェクトの位置の変化に応じてグレアオブジェクトの長さや透明度を変化させることができる。グレアオブジェクトの長さを変化させることにより反射光の形状を変化させることができる。またグレアオブジェクトの透明度を変化させることにより、反射光の強さを変化させることができる。
【００２３】
（４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記グレア設定対象オブジェクトには複数の特徴点が設定されており、当該特徴点に基づき前記グレア軌道を設定することを特徴とする。
【００２４】
グレア設定対象オブジェクトには複数の特徴点を設定するとは、たとえばグレア設定対象オブジェクトのモデル情報として特徴点の座標値（グレアオブジェクトのローカル座標系における座標値）をふくませておいもよい。そして当該特徴点をスプライン補完してグレア軌道を求めるようにしてもよい。
【００２５】
また特徴点についてのモデル情報として、例えばグレア設定対象オブジェクトに応じた幅データが設定されており、前記幅データに基づき、第１のグレアオブジェクトの幅を決定するようにしてもよい。
【００２６】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記グレア設定対象オブジェクトの特徴点には、グレア設定対象オブジェクトに応じた幅データが設定されており、
前記幅データに基づき、第１のグレアオブジェクトの幅を決定することを特徴とする。
【００２７】
本発明によればあらかじめ特徴点に、幅データとしてグレア設定対象オブジェクトの形状に対応した幅の幅データを設定しておくことにより、グレア設定対象オブジェクトの形状に応じたグレアオブジェクトを生成することができる。したがって、グレア設定対象オブジェクトの形状に応じた光の反射画像を生成することができる。
【００２８】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
カメラベクトルとグレア設定対象オブジェクトの仮想カメラ方向を向いた面の法線に基づき、
第１のグレアオブジェクトの幅調整パラメータを決定し、
決定された幅調整パラメータを用いてグレアオブジェクトの幅を調整して画像を生成することを特徴とする。
【００２９】
ここで仮想カメラ方向を向いた面の法線ベクトルは、グレア設定対象オブジェクトが例えば剣のように２面を持ったオブジェクトである場合には仮想カメラから見える側の法線ベクトルである。
【００３０】
またカメラベクトルとは、仮想カメラの座標と、グレア設定対象オブジェクトの代表点の座標を結ぶベクトルである。
【００３１】
仮想カメラから見えるグレア設定対象オブジェクトの幅はグレア設定対象オブジェクトの配置や仮想カメラの向きによって異なる。
【００３２】
本発明によれば仮想カメラからみたグレア設定対象オブジェクトの幅に応じて幅調整パラメータの値も連動して変化させる（例えば幅の大小の変化とパラメータの大小の変化を連動させたり、所定の相関関係や関数関係を持たせて変化させる）ことにより、仮想カメラからみたグレア設定対象オブジェクトの幅に応じてグレアオブジェクトの幅の大小を調整することができる。
【００３３】
例えば仮想カメラからみたグレア設定対象オブジェクトの幅が狭くなった場合にはグレアオブジェクトの幅も狭くするようにしてもよい。
【００３４】
（７）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
第１のグレアオブジェクトとしてビルボードオブジェクトを用いることを特徴とする。
【００３５】
ビルボードオブジェクトとは、仮想カメラに対して正対するオブジェクトであり、仮想カメラの視線方向に対して並行な法線ベクトルを有する板ポリゴン等でもよい。
【００３６】
（８）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
第１のグレア表現を行うための第１のグレアテクスチャを記憶するテクスチャ記憶部を含み、
前記画像生成部は、
前記第１のグレアオブジェクトに第１のグレアテクスチャをマッピングすることを特徴とする。
【００３７】
（９）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
グレアオブジェクトの幅はグレア設定対象オブジェクトの幅より広い幅に設定されることを特徴とする。
【００３８】
例えば各特徴点に設定された幅データを各特徴点におけるグレア設定対象オブジェクトの実際の幅より広く設定することで実現することができる。
【００３９】
このようにするとグレア対象オブジェクトの外側にも絵をかくことができるため、例えばグレア設定対象オブジェクトからはみ出して光るグレアエフェクトの表現を行うことができる。
【００４０】
（１０）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前フレームまたは過去に生成した第１のグレアオブジェクトの情報を保持する手段を含み、
前フレームまたは過去に生成した第１のグレアオブジェクトの情報に基づき、前フレームまたは過去に生成した第１のグレアオブジェクトの残像画像を生成する残像生成手段をさらに含み、
前記残像生成手段は、
残像画像の透明度を高く設定して（前回または過去に描画したときに比べて、または今回のグレアオブジェクトに比べて高く設定する）描画することを特徴とする。
【００４１】
前フレームまたは過去に生成した第１のグレアオブジェクトの情報とは例えば頂点データの情報やマッピングするテクスチャ座標（ＵＶ座標値、ＳＴ座標値）等である。
【００４２】
残像画像の透明度を高く設定するとは例えば前回または過去に描画したときに比べて、または今回のグレアオブジェクトに比べて透明度を高く設定することである。
【００４３】
このように前フレームまたは過去に生成した第１のグレアオブジェクトの情報、前フレームまたは過去に生成した第１のグレアオブジェクトの情報に基づき、前フレームまたは過去に生成した第１のグレアオブジェクトの残像画像を生成することで、移動するグレアの残像が表示され、グレアの移動が滑らかで違和感のないグレア表現を行うことができる。
【００４４】
（１１）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
グレア対象オブジェクトの法線ベクトルと光源ベクトルに基づいて、第２のグレアオブジェクト表示イベントの発生の有無を判断する手段と、
第２のグレアオブジェクト表示イベントの発生ありと判断すると、前記グレアオブジェクト設定点に基づき第２のグレア表現を行うための第２のグレアオブジェクトを配置する手段とを含み、
第２のグレアオブジェクト発生イベントから所定期間の間第２のグレアオブジェクトが表示されるように画像生成を行うことを特徴とする。
【００４５】
グレア対象オブジェクトの法線ベクトルは仮想カメラ方向を向いた法線ベクトルをもちいるようにしてもよい。
【００４６】
本発明によれば、グレア対象オブジェクトの法線ベクトルと光源ベクトルに基づいて、例えばつよい光の反射を表現するイベント（第２のグレアオブジェクト表示イベント）の発生の有無を判断することができる。
【００４７】
そしてかかるイベントの発生があった場合には、第１のグレア表現（通常の光の反射）に加えて第２のグレア表現（例えば瞬間的な強い光の反射）を行うことができる。
【００４８】
（１２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記グレアパラメータに基づき、第２のグレアオブジェクトを仮想カメラに正対する軸の回りで回転させて配置することを特徴とする。
【００４９】
本発明によればグレアパラメータが変化すると第２のグレアオブジェクトが回転するので、グレア設定対象オブジェクトに反射する光についてよりインパクトのある演出を行うことができる。
【００５０】
（１３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
時間の経過とともに第２のグレアオブジェクトをフェードアウトさせる手段を含むことを特徴とする。
【００５１】
なお時間の経過とともに第２のグレアオブジェクトをフェードアウトさせるようにしてもよい。例えば第２のグレアオブジェクトを半透明合成処理によって描画するようにして、時間の経過とともに半透明合成計数であるα値の値を変化させる（第２のグレアオブジェクトが透明になるように変化させる）ようにしてもよい。
【００５２】
（１４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
第２のグレアオブジェクトとしてビルボードオブジェクトを用いることを特徴とする。
【００５３】
（１５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記テクスチャ記憶部は、
第２のグレア表現を行うための第２のグレアテクスチャを記憶するテクスチャ記憶部を含み、
前記画像生成部は、
前記第２のグレアオブジェクトに第２のグレアテクスチャをマッピングすることを特徴とする。
【発明を実施するための最良の形態】
【００５４】
以下、本実施形態について説明する。
【００５５】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００５６】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図１の構成要素（各部）の一部を省略した構成としてもよい。
【００５７】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００５８】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどにより実現できる。
【００５９】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶（記録、格納）される。
【００６０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００６１】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００６２】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００６３】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００６４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。また処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）やＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００６５】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、第１のグレアオブジェクト設定部１１６、第２のグレアオブジェクト設定部１１８、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略してもよい。
【００６６】
オブジェクト空間設定部１１０は、キャラクタ、樹木、車、柱、壁、建物、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００６７】
移動・動作処理部１１２は、オブジェクト（車、飛行機、又はキャラクタ等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、操作部１６０によりプレーヤが入力した操作データ、プログラム（移動・動作アルゴリズム）、或いは各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６８】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００６９】
例えば仮想カメラによりオブジェクトを後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた回転角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００７０】
第１のグレアオブジェクト設定部１１６は、グレア設定対象オブジェクトの所定面の法線ベクトルと、光源ベクトル及びカメラベクトルの少なくとも一方に基づき、グレア表現を行うために用いるグレアパラメータを演算する処理と、第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する処理と、前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する処理を行う。
【００７１】
また第１のグレアオブジェクト設定部１１６は、グレア設定対象オブジェクトの所定面の法線ベクトル、光源ベクトル、仮想カメラ位置、グレア設定対象オブジェクトの位置の少なくとも１つの変化に応じてグレア表現を行うためのグレアパラメータの値を変化させるための演算を行うようにしてもよい。
【００７２】
また第１のグレアオブジェクト設定部１１６は、第１のグレア表現を行うための第１のグレアオブジェクトの設定点を、前記グレアパラメータに基づきグレア設定対象オブジェクトに関連づけて設定されたグレア軌道上のいずれかの点に決定する処理と、前記設定点に基づき、前記グレア軌道上又はその近傍に第１のグレアオブジェクトを配置する処理を行うようにしてもよい。
【００７３】
また第１のグレアオブジェクト設定部１１６は、光源ベクトルとグレア設定対象オブジェクトの仮想カメラ方向を向いた面の法線ベクトルに基づき、第１のグレアオブジェクトの長さ及び透明度の少なくとも一方を決定する処理を行うようにしてもよい。
【００７４】
また第１のグレアオブジェクト設定部１１６は、前記グレア設定対象オブジェクトには複数の特徴点が設定されており、当該特徴点に基づき前記グレア軌道を設定する処理を行うようにしてもよい。
【００７５】
また前記グレア設定対象オブジェクトの特徴点には、グレア設定対象オブジェクトに応じた幅データが設定されており、第１のグレアオブジェクト設定部１１６は、前記幅データに基づき、第１のグレアオブジェクトの幅を決定する処理を行うようにしてもよい。
【００７６】
また第１のグレアオブジェクト設定部１１６は、カメラベクトルとグレア設定対象オブジェクトの仮想カメラ方向を向いた面の法線に基づき、第１のグレアオブジェクトの幅調整パラメータを決定し、決定された幅調整パラメータを用いてグレアオブジェクトの幅を調整する処理を行うようにしてもよい。
【００７７】
第１のグレアオブジェクト設定部１１６は、第１のグレアオブジェクトとしてビルボードオブジェクトを用いるようにしてもよい。
【００７８】
第２のグレアオブジェクト設定部１１８は、グレア対象オブジェクトの法線ベクトルと光源ベクトルに基づいて、第２のグレアオブジェクト表示イベントの発生の有無を判断する処理と、第２のグレアオブジェクト表示イベントの発生ありと判断すると、前記グレアオブジェクト設定点に基づき第２のグレア表現を行うための第２のグレアオブジェクトを配置する処理と、第２のグレアオブジェクト発生イベントから所定期間の間第２のグレアオブジェクトが表示されるように制御する処理を行う。
【００７９】
また第２のグレアオブジェクト設定部１１８は、前記グレアパラメータに基づき、第２のグレアオブジェクトを仮想カメラに正対する軸の回りで回転させて配置する処理を行うようにしてもよい。
【００８０】
第２のグレアオブジェクト設定部１１８は、時間の経過とともに第２のグレアオブジェクトをフェードアウトさせる処理を行うようにしてもよい。
【００８１】
また第２のグレアオブジェクト設定部１１８は、第２のグレアオブジェクトとしてビルボードオブジェクトを用いる処理を行うようにしてもよい。
【００８２】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７２（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００８３】
画像生成部１２０は、隠面消去部１２２、テクスチャマッピング部１２４、α合成部１２６を含む。なおこれらの一部を省略する構成としてもよい。
【００８４】
隠面消去部１２２は、Ｚ値（奥行き情報）が格納されるＺバッファ１７４（奥行きバッファ）等を用いて、Ｚバッファ法（奥行き比較法）により隠面消去処理を行う。
【００８５】
マッピング部１２４は、テクスチャ記憶部１７６に記憶される第１のグレアテクスチャや第１のグレアテクスチャ等のテクスチャ（テクセル値）をオブジェクトにマッピングする処理を行う。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いて、テクスチャ記憶部１７６からテクスチャ（α値、色の輝度、或いは法線などの表面プロパティ）を読み出す。なおテクスチャの読み出しに使用されるテクスチャ座標は、テクスチャ座標演算部１１６で求めることができる。そしてテクスチャマッピング部１２４は、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００８６】
α合成部１２６はα値（Ａ値）に基づくα合成処理（αブレンディング、α加算又はα減算、α乗算、α乗加算等）を行う。例えばα合成がαブレンディングである場合には下式のような合成処理を行う。
【００８７】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
また合成処理が加算αブレンディングである場合を例にとれば、色合成部１２６は下式に従ったα合成処理を行う。
【００８８】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
また合成処理がα乗算である場合を例にとれば、色合成部１２６は下式に従ったα合成処理を行う。
【００８９】
ＲＱ＝α×Ｒ１                      （７）
ＧＱ＝α×Ｇ１                      （８）
ＢＱ＝α×Ｂ１                      （９）
また合成処理がα乗加算である場合を例にとれば、色合成部１２６は下式に従ったα合成処理を行う。
【００９０】
ＲＱ＝α×Ｒ１＋Ｒ２                      （７）
ＧＱ＝α×Ｇ１＋Ｇ２                      （８）
ＢＱ＝α×Ｂ１＋Ｂ２                      （９）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７２に既に描画されている画像（背景画像）の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７２に描画するオブジェクト（プリミティブ）の色のＲ、Ｇ、Ｂ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像の色のＲ、Ｇ、Ｂ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００９１】
本実施の形態では、前記リフレクションテクスチャは、画素情報として少なくともα値情報を含み、画像生成部１２０は、各ピクセルごとに元画像の色値Ｃｄとリフレクションマッピングされたリフレクションテクスチャのα値αｓの乗算処理Ｃｄ×αｓを行い各ピクセルの色値を演算する。
【００９２】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００９３】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００９４】
２．第１のグレアオブジェクトを用いたグレア表現の手法
図２は、本実施の形態の第１のグレアオブジェクトを用いてグレア表現を行った画像の一例である。
【００９５】
２００はグレア設定対象オブジェクト（ここでは剣）であり、２２０がグレア設定対象オブジェクト（ここでは剣）２００に反射する光のグレアエフェクトである。ここでは剣の形状に沿って、剣の周囲にまで光るエフェクトとなっている。本実施の形態ではかかるグレアエフェクト２２０を、第１のグレアオブジェクトを用いて実現している。
【００９６】
図３は、本実施の形態のグレアパラメータを求める処理について説明するための図である。
【００９７】
本実施の形態ではグレア設定対象オブジェクト２００の所定面の法線ベクトルＮＶと、光源ベクトルＬＶ及びカメラベクトルＫＶの少なくとも一方に基づき、グレア表現を行うために用いるグレアパラメータを演算する。
【００９８】
ここで光源ベクトルＬＶとは、光源２３０からの光線の向きを表すベクトルであり例えば影データを作成する際に用いるベクトルである。並行光源を使用する場合には、物体の位置にかかわらず一様な向きを有するベクトルとなる。
【００９９】
また所定面の法線ベクトルＮＶとは、グレア設定対象オブジェクト２００の所定面の法線ベクトルであり、本演算用に設定された法線ベクトルであり、例えば代表点Ｐに設定されたベクトルでもよい。
【０１００】
カメラベクトルＫＶとは、仮想カメラ２４０の座標と、グレア設定対象オブジェクト２００の代表点Ｐの座標を結ぶベクトルである。
【０１０１】
このようにしてグレアパラメータを設定すると、法線ベクトルＮＶ、光源ベクトルＬＶ、カメラベクトルＫＶの変化に応じて、グレアパラメータの値を変化させることができる。
【０１０２】
例えば、カメラベクトルＫＶと光源ベクトルＬＶの中間ベクトルと、グレア設定対象オブジェクト２００の固定面の法線ベクトルＮＶの内積値からグレアパラメータをもとめるようにしてもよい。またカメラベクトルＫＶ、光源ベクトルＬＶ、グレア設定対象オブジェクト２００の固定面の法線ベクトルＮＶから所定の関数ｆによりグレアパラメータｆ（ＫＶ、ＬＶ、ＮＶ）を求めるようにしてもよい。
【０１０３】
なおそれ以外の、グレア設定対象オブジェクト２００の所定面の法線ベクトルＮＶ、光源ベクトルＬＶ、仮想カメラ２４０の位置、グレア設定対象オブジェクト２００の位置の少なくとも１つの変化に応じてグレアパラメータの値を変化させるための演算を行ってグレアパラメータを求めるようにしてもよい。
【０１０４】
図４（Ａ）（Ｂ）は、グレア軌道上の第１のグレアオブジェクトの設定点について説明するための図である。
【０１０５】
本実施の形態では、図４（Ａ）に示すようにグレア設定対象オブジェクト２００に関連づけてグレア軌道２５０が設定されている。
【０１０６】
グレア設定対象オブジェクト２００をモデリングする際にグレア軌道２５０を生成するための情報をモデル情報として持たせておくようにしてもよい。例えばグレア設定対象オブジェクト２００のモデル情報にグレア軌道２５０を生成するための特徴点の座標（グレアオブジェクトのローカル座標系における座標値）を含ませておいて、当該特徴点をスプライン補完してグレア軌道２５０を求めるようにしてもよい。
【０１０７】
そしてグレアパラメータの値に基づいてグレア軌道２５０上のいずれかの点にグレアオブジェクト設定点を決定する。
【０１０８】
このようにすると例えばＰ１、Ｐ２、Ｐ３のようにグレアパラメータの変化に応じてグレアオブジェクト設定点の位置も変化する。
【０１０９】
図４（Ｂ）は、グレア軌道上の決定されたグレアオブジェクト設定点Ｐ１に基づき第１のグレアオブジェクト２６０が配置されている様子を示している。グレアオブジェクト２６０をオブジェクト空間内に配置する場合には、グレアオブジェクト２６０を設定点Ｐ１よりも仮想カメラ方向に少しずらして配置するようにしてもよい。
【０１１０】
図４（Ｃ）は、グレア軌道上の決定されたグレアオブジェクト設定点Ｐ２に基づき第１のグレアオブジェクト２６０が配置されている様子を示している。
【０１１１】
また図４（Ｄ）は、グレア軌道上の決定されたグレアオブジェクト設定点Ｐ３に基づき第１のグレアオブジェクト２６０が配置されている様子を示している。
【０１１２】
このようにグレアパラメータの変化に応じてグレアオブジェクト設定点Ｐ１、Ｐ２、Ｐ３もグレア軌道上を移動するので、光源ベクトルの向きやカメラの向きやグレア設定対象オブジェクトの向きの変化に応じてグレアエフェクトの位置が変化する画像を生成することができる。
【０１１３】
図５（Ａ）（Ｂ）は、グレア設定対象オブジェクトに埋め込まれた特徴点について説明するための図である。
【０１１４】
本実施の形態では図５（Ａ）に示すようにグレア設定対象オブジェクト２００には複数の特徴点Ｋ１、Ｋ２、Ｋ３、・・・が設定されており、当該特徴点Ｋ１、Ｋ２、Ｋ３、・・・に基づき前記グレア軌道２５０を設定する。
【０１１５】
図５（Ｂ）はグレア設定対象オブジェクト２００のモデル情報に含まれた特徴点Ｋ１、Ｋ２、Ｋ３、・・・についてのデータの一例である。このように特徴点Ｋ１、Ｋ２、Ｋ３、・・・についてのモデル情報３００として、例えば特徴点Ｋ１、Ｋ２、Ｋ３、・・・の座標値３１０（グレアオブジェクトのローカル座標系における座標値）をふくませておいて、当該特徴点をスプライン補完してグレア軌道２５０を求めるようにしてもよい。
【０１１６】
またＫ１、Ｋ２、Ｋ３、・・・についてのモデル情報３００として、例えばグレア設定対象オブジェクトに応じた幅データ３２０が設定されており、前記幅データに基づき、第１のグレアオブジェクトの幅を決定するようにしてもよい。
【０１１７】
なおグレアオブジェクトの幅はグレア対象オブジェクトの幅より広く設定するようにしてもよい。例えば各特徴点Ｋ１、Ｋ２、Ｋ３、・・・に設定された幅データｗ１、ｗ２、ｗ３、・・・を各特徴点におけるグレア設定対象オブジェクトの実際の幅ｏｗ１、ｏｗ２、ｏｗ３、・・・より広く設定することで実現することができる。
【０１１８】
このようにするとグレア対象オブジェクトの外側にも絵をかくことができるため、例えば図２に示すように剣（グレア設定対象オブジェクト２００）からはみ出して光るグレアエフェクト２２０の表現を行うことができる。
【０１１９】
図６は、第１のグレアオブジェクトの生成について説明するための図である。
【０１２０】
本実施の形態ではグレアオブジェクト２６０の長手方向の長さｌと左右の端の幅ｗｒ、ｗｌを求めてグレアオブジェクト２６０の形状を決定する。
【０１２１】
例えば光源ベクトルとオブジェクトの仮想カメラ方向を向いた面の法線に基づき、第１のグレアオブジェクトの長さｌや透明度を決定するようにしてもよい。
【０１２２】
また左右の端の幅ｗｒ、ｗｌは、近くの特徴点（ｗｒについてはＫ１とＫ２、ｗｌについてはＫ３とＫ４）の幅データからそれぞれの特徴点までの距離に応じて求めることができる。
【０１２３】
このようにして、各フレーム毎に、グレアオブジェクト２６０の長手方向の長さｌと左右の端の幅ｗｒ、ｗｌを求めてリアルタイムにグレアオブジェクト２６０の形状を決定して第１のグレアオブジェクトを生成する。
【０１２４】
図７（Ａ）（Ｂ）は本実施の形態のグレアオブジェクトとしてビルボードオブジェクトを使用する場合について説明する図である。
【０１２５】
ビルボードオブジェクト２６２とは、仮想カメラ２４０に対して正対するオブジェクトであり、仮想カメラ２４０の視線方向２４２に対して並行な法線ベクトル２６４を有する板ポリゴン等でもよい。
【０１２６】
図７（Ａ）に示すようにグレアオブジェクト設定点をＰとすると、グレアオブジェクトと重ならずに仮想カメラ２４０に対して手前に位置する点Ｐ’にビルボードオブジェクト２６２を仮想カメラ２４０と正対するように配置する。
【０１２７】
グレアオブジェクトとしてビルボードオブジェクトを使用する場合には、図７（Ｂ）の２００’に示すように仮想カメラの視線方向２４２に対するグレア設定対象オブジェクトの向きが変化したとしても（グレアオブジェクト設定点Ｐの位置が変化しないと仮定した場合には）ビルボードオブジェクトの向きは図７（Ａ）のとき同じで変化しない。
【０１２８】
またグレアオブジェクトとしてビルボードオブジェクトを使用する場合には、図７（Ｃ）の２４２’に示すように仮想カメラ２４０の視線方向が変化した場合には（グレアオブジェクト設定点Ｐの位置が変化しないと仮定した場合には）ビルボードオブジェクトの向き２６４’も、仮想カメラの視線方向２４２’と並行になるように変化する。
【０１２９】
図８（Ａ）（Ｂ）、図９（Ａ）（Ｂ）は、幅調整パラメータによるグレアオブジェクトの幅の調整について説明するための図である。
【０１３０】
図８（Ａ）及び図９（Ａ）は、オブジェクト空間のＸＺ平面におけるグレア設定対象オブジェクト２００と仮想カメラ２４０とグレアオブジェクトの位置関係を示した図である。図８（Ａ）では、仮想カメラ２４０は、図８（Ｂ）に示すようにグレア設定対象オブジェクト２００の正面（ここでは剣の幅の広い部分）から見る位置にある。
【０１３１】
また図９（Ａ）では、仮想カメラ２４０は、図９（Ｂ）に示すようにグレア設定対象オブジェクト２００の刃を上方向から見る位置にある。
【０１３２】
従って図８（Ｂ）の場合より図９（Ｂ）の場合のほうが仮想カメラから見た場合のグレア設定対象オブジェクトの幅が狭くなる（ｏｗ１＞ｏｗ２）。
【０１３３】
このような場合本実施の形態では、設定するグレアオブジェクトの幅も図８（Ｂ）の場合より図９（Ｂ）の場合のほうが狭くなるように調整する（ｏｗ１＞ｏｗ２となるように調整する）。
【０１３４】
すなわち本実施の形態ではカメラベクトルＫＶとグレア設定対象オブジェクト２００の仮想カメラ２４０方向を向いた面２０６の法線ベクトルＫＶＮに基づき第１のグレアオブジェクト２６０の幅調整パラメータを決定する。
【０１３５】
ここで仮想カメラ２４０方向を向いた面２０６の法線ベクトルＮＶとは、グレア設定対象オブジェクト２００が例えば剣のように２面を持ったオブジェクトである場合には仮想カメラから見える側の法線ベクトルである。例えば図９（Ａ）のような場合には少しでもカメラから見える面の法線ベクトルを用いるようにしてもよい。
【０１３６】
カメラベクトルＫＶとは、仮想カメラ２４０の座標と、グレア設定対象オブジェクト２００の代表点の座標を結ぶベクトルである。
【０１３７】
そして決定された幅調整パラメータを用いて、例えば図６で説明したように特徴点の幅データに基づき決定されたグレアオブジェクトの幅の値を補正することにより、設定するグレアオブジェクトの幅を図８（Ｂ）の場合より図９（Ｂ）の場合のほうが狭くなるように調整する（ｏｗ１＞ｏｗ２となるように調整する）ことができる。
【０１３８】
図１０（Ａ）〜（Ｃ）は、本実施の形態における残像表示について説明するための図である。
【０１３９】
図１０（Ａ）の４１０は、第ｎフレームにおいて生成された第１のグレアオブジェクトの画像であり、図１０（Ｂ）の４２０は、第ｎ＋１フレームにおいて生成された第１のグレアオブジェクトの画像である。
【０１４０】
本実施の形態では、第ｎフレームにおいて生成された第１のグレアオブジェクトの画像４１０を生成するために必要な情報（頂点データおよびテクスチャ座標）を保持し、前フレームまたは過去に生成した第１のグレアオブジェクトの情報に基づき、図１０（Ｃ）に示すように、前フレームまたは過去に生成した第１のグレアオブジェクトの残像画像４１０’を生成する。
【０１４１】
ここで残像画像４１０’の透明度を高く設定して（前回または過去に描画した画像４１０に比べて、または今回の第１のグレアオブジェクト４２０に比べて高く設定する）描画する。
【０１４２】
このように前フレームまたは過去に生成した第１のグレアオブジェクトの情報（頂点データおよびテクスチャ座標）を保持し、前フレームまたは過去に生成した第１のグレアオブジェクトの情報に基づき、前フレームまたは過去に生成した第１のグレアオブジェクトの残像画像を生成することで、移動するグレアの残像が表示され、グレアの移動が滑らかで違和感のないグレア表現を行うことができる。
【０１４３】
図１１は、本実施の形態の第１のグレアオブジェクトにマッピングされる第１のグレアテクスチャの一例である。
【０１４４】
例えば図１１に示すような第１のグレアテクスチャをテクスチャ記憶部に記憶し、前記第１のグレアオブジェクトに第１のグレアテクスチャをマッピングすることにより図２の２２０に示すような剣の形状に沿って、剣の周囲にまで光るエフェクト（第１のグレア表現）画像を生成するようにしてもよい。
【０１４５】
３．第２のグレアオブジェクトを用いたグレア表現の手法
図１２は、本実施の形態の第１のグレアオブジェクト及び第２のグレアオブジェクトを用いてグレア表現を行った画像の一例である。
【０１４６】
同図では、２００はグレア設定対象オブジェクト（ここでは剣）であり、２２０（剣の形状に沿って、剣の周囲にまで光るエフェクト）、５１０（星のような形状の光のエフェクト）がグレア設定対象オブジェクト（ここでは剣）２００に反射する光のグレアエフェクトである。本実施の形態ではかかるグレアエフェクト２２０、５１０を、第１のグレアオブジェクト及び第２のグレアオブジェクトを用いて実現している。
【０１４７】
図１３、図１４（Ａ）〜（Ｃ）は、第２のグレアオブジェクトの配置について説明するための図である。
【０１４８】
図１３に示すように本実施の形態では、グレア対象オブジェクト２００の法線ベクトル（仮想カメラ２３０方向を向いた法線）と光源ベクトルＬＶに基づいて、第２のグレアオブジェクト表示イベントの発生の有無を判断する。
【０１４９】
そして第２のグレアオブジェクト表示イベントの発生ありと判断すると、図１４（Ｂ）に示すように前記グレアオブジェクト設定点Ｐ（図１４（Ａ）に示すように第１のグレアオブジェクトが設定されている）に第２のグレアオブジェクト５６０を配置する。そして第２のグレアオブジェクト発生イベントから所定期間の間第２のグレアオブジェクトが表示されるように画像を生成を行う。
【０１５０】
なお時間の経過とともに第２のグレアオブジェクト５６０をフェードアウトさせるようにしてもよい。例えば第２のグレアオブジェクトを半透明合成処理によって描画するようにして、時間の経過とともに半透明合成計数であるα値の値を変化させる（第２のグレアオブジェクトが透明になるように変化させる）ようにしてもよい。
【０１５１】
また第２のグレアオブジェクトとしてビルボードオブジェクトを使用するようにしてもよい。ビルボードオブジェクトとは、仮想カメラに対して正対するオブジェクトであり、仮想カメラの視線方向に対して並行な法線ベクトルを有する板ポリゴン等でもよい。
【０１５２】
このようにすると第２のグレアオブジェクト発生イベントから所定期間の間は、図１４（Ｃ）に示すように第１のグレアオブジェクトと第２のグレアオブジェクトが両方配置され、図１１に示すようなグレア表現を行うことができる。
【０１５３】
図１５（Ａ）（Ｂ）は、第２のグレアオブジェクトの回転について説明するための図である。
【０１５４】
本実施の形態では前記グレアパラメータに基づき、第２のグレアオブジェクト５６０を仮想カメラに正対する軸５９０の回りで回転させて配置するようにしてもよい。
【０１５５】
このようにするとグレアパラメータが変化すると図１５（Ａ）（Ｂ）に示すように第２のグレアオブジェクトが回転する（６００参照）ので、グレア設定対象オブジェクトに反射する光についてよりインパクトのある演出を行うことができる。
【０１５６】
図１６は、本実施の形態の第２のグレアオブジェクトにマッピングされる第２のグレアテクスチャの一例である。
【０１５７】
例えば図１６に示すような第２のグレアテクスチャをテクスチャ記憶部に記憶し、前記第２のグレアオブジェクトに第２のグレアテクスチャをマッピングすることにより図１２の５１０に示すような星のような形状の光のエフェクト（第２のグレア表現）画像を生成するようにしてもよい。
【０１５８】
４．本実施形態の処理
図１７は、第１のグレアオブジェクトを用いたグレア表現を行うための処理の流れを示すフローチャート図である。
【０１５９】
まずグレア設定対象オブジェクトに仕込んだ特徴点から第１のグレアオブジェクトの軌道となるスプラインレールを作成する（ステップＳ１０）。
【０１６０】
次にカメラベクトル（カメラ座標と、グレア設定対象オブジェクトの代表点を結ぶベクトル）と光源ベクトル（影データを作成するためのベクトル）の中間ベクトルと、グレア設定対象オブジェクトの固定面の法線ベクトルの内積値からグレアパラメータをもとめ、グレアパラメータに基づき軌道上の設定点を演算する（ステップＳ２０）。
【０１６１】
次に光源ベクトルとグレア設定対象オブジェクトのカメラ方向を向いた面の法線の内積値から第１のグレアオブジェクトの長さと明るさ（半透明度）を決定する（ステップＳ３０）。
【０１６２】
グレア設定対象オブジェクトのカメラ方向を向いた面の法線とカメラベクトルの内積値からグレアオブジェクトの幅調整パラメータを決定する（ステップＳ４０）。
【０１６３】
決定された設定点及び長さと設定点に関連づけて記憶され幅データ及び幅調整パラメータに基づき第１のグレアオブジェクトとして使用するグレアビルボードの各座標点を決定する（ステップＳ５０）。
【０１６４】
グレアビルボードを透視変換してスクリーン座標系に変換し、第１のグレアテクスチャをマッピングする（ステップＳ６０）。
【０１６５】
次にグレアビルボードを描画する（ステップＳ７０）。
【０１６６】
図１８は、第２のグレアオブジェクトを用いたグレア表現を行うための処理の流れを示すフローチャート図である。
【０１６７】
まず第２のグレアオブジェクトが表示中であるかを判定し（ステップＳ１１０）、第２のグレアオブジェクトが表示中でない場合にはステップＳ１３０にいく。
【０１６８】
表示中ある場合には、光源ベクトルと武器のカメラ方向を向いた面の法線の内積値から第２のグレア発生オブジェクト表示イベントの発生の有無の判定を行う（ステップＳ１２０）。
【０１６９】
発生ありの場合には（ステップＳ１２０）、グレアパラメータに基づき第２のグレアオブジェクトの設定点、回転を決定する（ステップＳ１３０）。ここでグレアパラメータは、各フレームにおいて第１のグレアオブジェクトに対して求めたもの（図１７のステップＳ２０で求めたもの）を使用することができる。
【０１７０】
次に第２のグレア発生オブジェクト表示イベントの発生時からの経過時間に基づき半透明度を決定する（ステップＳ１４０）。
【０１７１】
求めた半透明度に基づき、第２のグレアオブジェクトを描画（ステップＳ１４０）。
【０１７２】
次に第２のグレア発生オブジェクト表示イベントの発生時からの経過時間が一定時間が経過していれば、第２のグレアオブジェクトを削除する（ステップＳ１５０）
４．ハードウェア構成
図１９に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１７３】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１７４】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１７５】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１７６】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１７７】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１７８】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１７９】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１８０】
例えば、明細書又は図面中の記載において広義や同義な用語（テクセル値、テクセル値パターン、プリミティブ面等）として引用された用語（α値・輝度、グラディエーションパターン、ポリゴン等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１８１】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１８２】
またテクスチャのマッピング処理も、本実施形態で説明したものに限定されず、これらと均等な変換処理も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯端末等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１８３】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】第１のグレアオブジェクトを用いてグレア表現を行った画像の一例。
【図３】グレアパラメータを求める処理について説明するための図。
【図４】図４（Ａ）（Ｂ）は、グレア軌道上の第１のグレアオブジェクトの設定点について説明するための図。
【図５】図５（Ａ）（Ｂ）は、グレア設定対象オブジェクトに埋め込まれた特徴点について説明するための図。
【図６】第１のグレアオブジェクトの生成について説明するための図である。
【図７】図７（Ａ）（Ｂ）はグレアオブジェクトとしてビルボードオブジェクトを使用する場合について説明する図。
【図８】図８（Ａ）（Ｂ）は、幅調整パラメータによるグレアオブジェクトの幅の調整について説明するための図。
【図９】図９（Ａ）（Ｂ）は、幅調整パラメータによるグレアオブジェクトの幅の調整について説明するための図。
【図１０】図１０（Ａ）〜（Ｃ）は、残像表示について説明するための図。
【図１１】第１のグレアオブジェクトにマッピングされる第１のグレアテクスチャの一例。
【図１２】第１のグレアオブジェクト及び第２のグレアオブジェクトを用いてグレア表現を行った画像の一例である。
【図１３】第２のグレアオブジェクトの配置について説明するための図。
【図１４】図１４（Ａ）〜（Ｃ）は、第２のグレアオブジェクトの配置について説明するための図。
【図１５】図１５（Ａ）（Ｂ）は、第２のグレアオブジェクトの回転について説明するための図。
【図１６】第２のグレアオブジェクトにマッピングされる第２のグレアテクスチャの一例。
【図１７】第１のグレアオブジェクトを用いたグレア表現を行うための処理の流れを示すフローチャート図である。
【図１８】第２のグレアオブジェクトを用いたグレア表現を行うための処理の流れを示すフローチャート図である。
【図１９】ハードウェア構成例である。
【符号の説明】
【０１８４】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、１１４  仮想カメラ制御部、１１６  第１のグレアオブジェクト設定部、１１８  第２のグレアオブジェクト設定部、１２０  画像生成部、１２２  隠面消去部、１２４  テクスチャマッピング部、１２６  α合成部、１３０  音生成部、１６０  操作部、１７０  記憶部、１７２  描画バッファ、１７４  Ｚバッファ、１７６  テクスチャ記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2006323514.tif 000003
【図２】
2006323514.tif 000004
【図３】
2006323514.tif 000005
【図４】
2006323514.tif 000006
【図５】
2006323514.tif 000007
【図６】
2006323514.tif 000008
【図７】
2006323514.tif 000009
【図８】
2006323514.tif 000010
【図９】
2006323514.tif 000011
【図１０】
2006323514.tif 000012
【図１２】
2006323514.tif 000013
【図１３】
2006323514.tif 000014
【図１４】
2006323514.tif 000015
【図１５】
2006323514.tif 000016
【図１７】
2006323514.tif 000017
【図１８】
2006323514.tif 000018
【図１９】
2006323514.tif 000019
【図１１】
2006323514.tif 000020
【図１６】
2006323514.tif 000021