(57)【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
視点の位置と光源の位置とを結ぶ第１の線と前記光源の光軸のなす角度と、前記光源からの距離とに応じて、所与のプリミティブの形状を変形する手段と、
前記所与のプリミティブの形状を変形した変形プリミティブを前記光軸上に複数配置する手段と、
オブジェクト空間において前記視点から見える画像を生成する手段と、
を含むことを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記変形プリミティブは、楕円変形された円板状の形状をなし、
当該変形プリミティブの短軸の長さが、前記光源からの距離に応じた長さであり、
当該変形プリミティブの長軸の長さが、前記第１の線と前記光軸とのなす角が９０度のときに、前記変形プリミティブが前記第１の線と接する長さであることを特徴とする画像生成システム。
【請求項３】
請求項１又は２において、
視点座標系の視線方向と直交する平面に対する前記光軸のベクトルの正投影ベクトルと前記変形プリミティブの長軸とが平行となるように、前記変形プリミティブの中心位置を通る前記視線方向と平行な軸回りに、前記変形プリミティブを回転する手段を含むことを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記変形プリミティブの透明度を、前記光源からの距離に応じて変化させることを特徴とする画像生成システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第１の線上に中心位置を有し、この中心位置から外側に透明度が上がり、前記所与のプリミティブ及び前記変形プリミティブとは異なる半透明プリミティブを更に配置し、前記光軸の向きに応じて前記半透明プリミティブ全体の透明度を変化させることを特徴とする画像生成システム。
【請求項６】
請求項５において、
前記第１の線と前記光軸とのなす角が９０度に近付くのに伴い、前記半透明プリミティブの透明度が高くなることを特徴とする画像生成システム。
【請求項７】
コンピュータにより使用可能なプログラムであって、
視点の位置と光源の位置とを結ぶ第１の線と前記光源の光軸のなす角度と、前記光源からの距離とに応じて、所与のプリミティブの形状を変形する手段と、
前記所与のプリミティブの形状を変形した変形プリミティブを前記光軸上に複数配置する手段と、
オブジェクト空間において前記視点から見える画像を生成する手段と、
をコンピュータに実現させることを特徴とするプログラム。
【請求項８】
請求項７において、
前記変形プリミティブは、楕円変形された円板状の形状をなし、
当該変形プリミティブの短軸の長さが、前記光源からの距離に応じた長さであり、
当該変形プリミティブの長軸の長さが、前記第１の線と前記光軸とのなす角が９０度のときに、前記変形プリミティブが前記第１の線と接する長さであることを特徴とするプログラム。
【請求項９】
請求項７又は８において、
視点座標系の視線方向と直交する平面に対する前記光軸のベクトルの正投影ベクトルと前記変形プリミティブの長軸とが平行となるように、前記変形プリミティブの中心位置を通る前記視線方向と平行な軸回りに、前記変形プリミティブを回転する手段をコンピュータに実現させることを特徴とするプログラム。
【請求項１０】
請求項７乃至９のいずれかにおいて、
前記変形プリミティブの透明度を、前記光源からの距離に応じて変化させることを特徴とするプログラム。
【請求項１１】
請求項７乃至１０のいずれかにおいて、
前記第１の線上に中心位置を有し、この中心位置から外側に透明度が上がり、前記所与のプリミティブ及び前記変形プリミティブとは異なる半透明プリミティブを更に配置し、前記光軸の向きに応じて前記半透明プリミティブ全体の透明度を変化させることを特徴とするプログラム。
【請求項１２】
請求項１１において、
前記第１の線と前記光軸とのなす角が９０度に近付くのに伴い、前記半透明プリミティブの透明度が高くなることを特徴とするプログラム。
【請求項１３】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項７乃至１２のいずれかのプログラムを含むことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ（操作者）は、銃などを模して作られたガン型コントローラ（シューティングデバイス）を用いて、画面に映し出される敵キャラクタ（敵オブジェクト）などの標的をシューティングすることで、３次元ゲームを楽しむ。
【０００３】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な課題になっている。従って、ゲーム画面中に表現されるサーチライト等の指向性があるライト表現等についても、よりリアルに表現できることが望まれる。
【０００４】
例えば、このような指向性のあるライトを表現する手法として、ライトの光軸上に複数の同心円となる円板状のポリゴンを配置する手法を考えることができる。
【０００５】
しかしながら、この手法では、仮想カメラの位置と光軸の向きとの関係によって、各ポリゴンとの間に隙間が生じ、ライト表現に不具合が生じるという問題点がある。
【０００６】
一方、上記した各ポリゴンとの間に隙間が生じないようにするために、各ポリゴンを常に仮想カメラの方向に向ける手法を考えることができる。
【０００７】
しかしながら、この手法では、ポリゴンの間に凹凸が生じ、この凹凸を減らすためにポリゴン数を増やす必要が生ずる。
【０００８】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、指向性のあるライト表現を少ないポリゴン数で効果的に表現することができる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、視点の位置と光源の位置とを結ぶ第１の線と前記光源の光軸のなす角度と、前記光源からの距離とに応じて、所与のプリミティブを変形する手段と、前記所与のプリミティブを変形した変形プリミティブを前記光軸上に複数配置する手段と、オブジェクト空間において前記視点から見える画像を生成する手段とを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴とする。
【００１０】
ここで、光軸は、擬似光源を指し、例えばサーチライトのような指向性を有する光を照射することができるものを考えることができる。
【００１１】
本発明によれば、視点の位置と光源の位置とを結ぶ第１の線と前記光源の光軸のなす角度に応じて、所与のプリミティブが変形される。また、前記光源からの距離に応じて、所与のプリミティブが変形される。そして、これら変形された変形プリミティブは、光軸上に複数配置される。
【００１２】
したがって、視点から見える複数の変形プリミティブの変形の仕方によって、光軸の角度によっては各変形プリミティブ同士が分断された状態になる不具合を、少ないプリミティブ数で回避することができるようになる。
【００１３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記変形プリミティブは、円板状の形状をなし、縦軸の長さが、前記光源からの距離に応じた長さであり、横軸の長さが、前記第１の線と前記光軸とのなす角が９０度のときに、前記変形プリミティブが前記第１の線と接する長さであることを特徴とする。
【００１４】
本発明によれば、上記した第１の線と光軸とのなす角度が９０度になった場合であっても、各変形プリミティブ同士が分断されることなく、輪郭がスムーズなプリミティブ画像を生成することができる。
【００１５】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、視点座標系の視線方向と直交する平面に対する前記光軸のベクトルの正投影ベクトルと前記変形プリミティブの横軸とが平行となるように、前記変形プリミティブの中心位置を通る前記視線方向と平行な軸回りに、前記変形プリミティブを回転する手段を含む（或いは該手段をコンピュータに実現させる、或いは該手段をコンピュータに実現させるためのプログラムを含む）ことを特徴とする。
【００１６】
本発明によれば、視点の視線方向と、光源の位置との関係に依存することなく、全方位の光軸に対して、上記した第１の線と光軸とのなす角度が９０度になった場合であっても、少ないポリゴン数で各変形プリミティブ同士が分断される事態を回避することができる。
【００１７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記変形プリミティブの透明度を、前記光源からの距離に応じて変化させることを特徴とする。
【００１８】
本発明によれば、光源からの距離に応じて変形プリミティブの透明度を変化させるようにしたので、例えば距離が長いほど透明度を上げるようにすることで、視点から見た変形プリミティブのプリミティブ画像として、光源付近は明るく、輪郭部分に向かって次第にぼんやりするような表現が可能となり、例えばよりリアルなライト表現が可能となる。
【００１９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記第１の線上に中心位置を有しこの中心位置から外側に半透明度が上がる半透明プリミティブを配置し、前記光軸の向きに応じて前記半透明プリミティブ全体の透明度を変化させることを特徴とする。
【００２０】
本発明によれば、中心位置から外側に次第に半透明度が上がる半透明プリミティブを、その中心位置が第１の線上になるように配置する。そして、この半透明プリミティブの透明度を、光軸の向きに応じて変化させるようにしたので、例えば光軸の向きが視線の向きの正面となった場合に、フレアを表現することができ、光軸の向きに応じて、少ない処理負荷でよりリアルなフレア表現が可能となる。
【００２１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記第１の線と前記光軸とのなす角が９０度に近付くのに伴い、前記半透明プリミティブの透明度が高くなることを特徴とする。
【００２２】
本発明によれば、第１の線と光軸とのなす角度が９０度に近付くのに伴い、フレア表現用の半透明プリミティブの透明度が高くなるように制御するようにしたので、光軸の向きによって変化するフレア効果をよりリアルな画像として生成することができる。
【００２３】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００２４】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２５】
１．  構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０とを含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００２６】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筐体などのハードウェアにより実現できる。
【００２７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２８】
情報記憶媒体（コンピュータにより読み取り可能な媒体）１８０は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）をコンピュータに実現（実行、機能）させるためのプログラムが格納され、このプログラムは例えば１又は複数のモジュール（オブジェクト指向におけるオブジェクトも含む）を含む。
【００２９】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【００３０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３１】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００３２】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３３】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３４】
なお本発明（本実施形態）の各手段を実現（実行、機能）するためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３５】
処理部（プロセッサ）１００は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。
【００３６】
ここで、処理部１００が行う処理としては、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回りの回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバ処理などを考えることができる。
【００３７】
ここで、オブジェクト空間とは、例えば定義点（ポリゴンの頂点或いは自由曲面の制御点など）により形状が特定されるオブジェクトが配置される仮想的な３次元空間をいう。
【００３８】
処理部１００は、プリミティブ変形処理部１１０、光源制御部１１２、フレア処理部１１４、画像生成部１２０、音生成部１３０を含む。
【００３９】
ここで、プリミティブ変形処理部１１０は、オブジェクト空間に配置され、指向性を有する光源（擬似光源、例えばサーチライトを表現する光源）によるライト表現を行うために、所与のライトオブジェクト（所与のプリミティブ）を変形した複数の変形オブジェクト（プリミティブ）を生成する。
【００４０】
より具体的には、プリミティブ変形処理部１１０は、例えば円板状のポリゴン（広義には、オブジェクト。若しくはオブジェクトの構成要素としてのプリミティブ。以下、同様。）のＹ軸方向の縦軸の長さとＸ軸方向の横軸の長さとを、光源の位置からの距離に応じて変形した複数の変形プリミティブを生成する。
【００４１】
光源制御部１１２は、指向性を有する光源の光軸の移動又は回転制御を行う。例えば、光源がサーチライトや灯台の場合には、サーチライト若しくは灯台の位置を基準に光軸を回転させる処理を行う。また、光源が懐中電灯の場合には、懐中電灯の移動に伴って、光軸を移動させる処理を行う。
【００４２】
フレア処理部１１４は、光源の光軸の向きに応じて、視点から見えるオブジェクト画像に対してフレア効果を与える処理を行う。
【００４３】
より具体的には、フレア処理部１１４は、視点の位置と光源の位置との間に配置される所与のフレア表現用半透明ポリゴン（広義には、オブジェクト若しくはプリミティブ）に対し、光源制御部１１２によって制御される光軸の向きに応じて、このフレア表現用半透明ポリゴン全体の透明度を制御する。
【００４４】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成して表示部１９０に出力する。例えば、いわゆる３次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の構成点（頂点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像が、記憶部１７０に設けられた描画バッファ（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００４５】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４６】
画像生成部１２０は、α合成部１２２を含む。
【００４７】
α合成部１２２は、α値（Ａ値）に基づくα合成処理を行う。ここで、α合成とは、α値と呼ばれるプラスアルファの情報に基づいて、例えばフレームバッファに描画された元画像とジオメトリ処理後の所与の画像との間で行われる画像の合成処理をいう。α値は、画像単位若しくは各画素の関連付けられて記憶される情報であって、オブジェクトの定義点毎に設定され、例えば色情報以外のプラスアルファの情報としての透明度（不透明度或いは半透明度と等価）を示す透明度情報をいう。α値が、例えばプラスアルファ情報として透明度情報を示す場合、α合成は半透明処理を意味する。
【００４８】
このようなα合成としては、例えばα値を用いた半透明ブレンディング（αブレンディング）、α値を用いた加算半透明（α加算）、α値を用いた減算半透明（α減算）などの合成処理方法がある。
【００４９】
例えばα合成がαブレンディングである場合には、次のような合成処理が行われる。
【００５０】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2      ・・・（１）
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2      ・・・（２）
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2      ・・・（３）
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファに既に描画されているジオメトリ処理後の画像の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画画像の色のＲ、Ｇ、Ｂ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより生成される画像の色のＲ、Ｇ、Ｂ成分である。なお、ここでは、α値として、ジオメトリ処理後の所与の画像のα値を用いてもよいし、描画された元画像のα値を使用するようにしてもよい。
【００５１】
本実施形態では、プリミティブ変形処理部１１０によって生成された複数の変形プリミティブについて、光源の位置からの距離に基づいて定められるα値を用いてα合成部１２２がα合成処理（半透明合成処理）を行う。また、α合成部１２２は、フレア処理部１１４によって制御されるα値を用いて、所与のフレア表現用オブジェクトに対して、α合成処理（半透明合成処理）を行う。
【００５２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５３】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００５４】
２．  本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。以下では、指向性を有するサーチライトのライト表現に本実施形態を適用した場合を主に例にとり説明するが、本実施形態はサーチライトのライト表現以外の他の画像表現にも広く適用できる。
【００５５】
２．１  コーンライト表現
図２（Ａ）、（Ｂ）に、サーチライトのような指向性を有する光源のライト表現を行うライトオブジェクトの一例を示す。
【００５６】
サーチライトのような指向性を有する光源のライト表現を行う場合、図２（Ａ）に示すように、サーチライトの光軸上に中心位置を持つ複数の円板状のポリゴン（広義には、オブジェクト若しくはプリミティブ）を、ライト表現を行うためのライトオブジェクトとして配置することが考えられる。図２（Ａ）では、視点（若しくは、仮想カメラ。以下同様。）からの視線方向をＺ軸とした場合に、Ｚ軸上に中心位置を持つ各円板状のポリゴンＰ１、Ｐ２、・・・が配置されている。
【００５７】
したがって、光源の光軸の向きが視点の向きの正面の場合には、図２（Ｂ）に示すようなライト表現が可能となる。
【００５８】
ところが、サーチライトの光源の向きが変化し、光源の向きと視点の向きとのなす角度がある一定以上になると、図３（Ａ）に示すように各円板状のポリゴンＰ１、Ｐ２、・・・が分離された状態となってしまい、ライト表現として不都合な画像となる。
【００５９】
このような状態を回避するために、例えば図３（Ｂ）に示すように各円板状のポリゴンＰ１、Ｐ２、・・・が、常に視点の向きとなるように配置する手法を考えることができる。この場合、図３（Ａ）に示す場合に比べて、より広い角度まで有効なライト表現が可能となるが、ある角度以上では各ポリゴン同士の分断が起こり得る。これに対して、各ポリゴンの間隔を密にするためポリゴン数を増やすことも考えられるが、ポリゴン数の増加に伴う処理負荷の増大を招くとともに、図３（Ｂ）に示すように、輪郭が滑らかに表現されるとは限らず、結果として適切にライト表現を実現できない場合もある。
【００６０】
そこで、本実施形態では、以下のようにライトオブジェクト（プリミティブ）を配置することで、少ないポリゴン数で、よりリアルなライト表現を実現させる。
【００６１】
図４に、本実施形態におけるライト表現の原理を説明するための説明図を示す。
【００６２】
視点としての仮想カメラＣの向きをＺ軸とした場合に、本実施形態では、このＺ軸と、Ｚ軸と直交するＸＹ平面とで定義されるオブジェクト空間において、仮想カメラＣの位置と光源ＬＳの位置（或いは、光源オブジェクトの中心位置）とを結ぶ直線（第１の線）３００と、光源ＬＳの光軸３１０との間のＸＺ平面における角度の絶対値θを求める。そして、この角度θと光源ＬＳからの距離Ｌとに応じて所与のプリミティブとしての円板状のライトオブジェクトを変形した変形オブジェクト（変形プリミティブ）を、光軸３１０上に配置する。
【００６３】
より具体的には、本実施形態では、この角度θに応じて変形した変形プリミティブを、光軸３１０上に複数配置する。さらに、本実施形態では、光源ＬＳと各変形プリミティブまでの距離に応じて変形した変形プリミティブを、光軸３１０上に複数配置する。
【００６４】
さらに、より具体的には、図５（Ａ）に示すように、円板状のオブジェクトＰｉ（ｉは自然数）の縦方向の長さＹAXと、横方向の長さＸAXとを次式のように定める。
【００６５】
ＹAX＝Ｌｉ・α                                          ・・・（４）
ＸAX＝（１−ｓｉｎ（θ））Ｌｉ・α＋ｓｉｎ（θ）・Ｌｉ・βｉ・・・（５）
ここで、Ｌｉは、光源ＬＳの位置から円板状のオブジェクトＰｉの中心位置までの距離を示す。また、αは、任意の定数を示す。
【００６６】
さらに、βｉは、視点からの視線方向であるＺ軸上に光源ＬＳが配置された場合に、Ｚ軸と光軸とのなす角度の絶対値θが９０度のときに、光軸上に配置される円板状のオブジェクトＰｉがＺ軸に接するように定められる。すなわち、（５）式によって角度θが９０度のときに表される円板状のオブジェクトＰｉの横方向の長さＸAX（＝Ｌｉ・βｉ）が、Ｚ軸に接するようにβｉを定める。
【００６７】
この結果、光源ＬＳの光軸上に、楕円変形された変形プリミティブＰ１、Ｐ２、・・・が複数配置され、例えば図６に示すようなライトオブジェクトによるライト表現を得ることができる。
【００６８】
この場合、図７（Ａ）に示すように、光軸の向きが視点の向きの正面（角度θが０度）のときには、図２（Ｂ）に示した場合と同様のライト表現が可能となる。さらに、図７（Ｂ）に示すように角度θが３０度のときと、図７（Ｃ）に示すように角度θが９０度のときにも、各変形プリミティブが分断されることなく、少ないポリゴン数によるライト表現が可能となる。
【００６９】
また、光軸上に配置される各変形プリミティブＰｉに付与される半透明情報としてのα値（αｉ）を、光源ＬＳの位置と各変形プリミティブＰｉの中心位置からの距離に応じて透明度が上がるように設定することにより、視点から見える変形プリミティブＰ１、Ｐ２、・・・によるα合成処理後のオブジェクト画像は、光源ＬＳの付近では明るく、その輪郭部分に向けて次第にぼんやりしたようなライト表現が可能となる。
【００７０】
以上説明したように、本実施形態によれば、視点の位置と光軸の向きとにかかわらず、少ないポリゴン数で、よりリアルなライト表現が可能となる。
【００７１】
ところで、図８に示すように光軸がオブジェクト空間におけるＸＺ平面内にない場合は、（４）式及び（５）式を一律に適用しただけでは、図９に示すように、サーチライトのような指向性を有するライト表現が不適切になる。
【００７２】
したがって、この場合には、光源の光軸を、視点座標系の視線方向（カメラ座標系のカメラの向き）であるＺ軸上に仮想的に（一時的に）配置し、光軸ベクトル４００のＸＹ平面への正投影ベクトル４１０と（５）式に従って変形した変形プリミティブＰｉの横軸とが平行になるように、各変形プリミティブを、各変形プリミティブの中心位置を通り、Ｚ軸と平行な軸回りにＺ回転する。
【００７３】
こうすることで、光軸がオブジェクト空間におけるＸＺ平面内にない場合でも、図１０に示すように、指向性を有する光源から光軸方向に次第に輪郭がぼんやりした状態を表現できるライトオブジェクトの画像を生成することができる。
【００７４】
２．２  フレア処理
本実施形態では、さらによりリアルなライト表現を行うため、フレア処理を行う。より具体的には、図１１（Ａ）に示すように、中心位置から外側に向かって半透明度が上がるフレア表現用の円板状のポリゴン（広義には、オブジェクト若しくはプリミティブ）ＦＰを用意する。そして、このフレア表現用の円板状のポリゴンＦＰを、図１１（Ｂ）に示すように、光源の位置と視点の位置との間に、中心位置が光源の位置と視点の位置とを結ぶ直線上に配置するとともに、上述した角度θに応じてフレア表現用の円板状のポリゴンＦＰ全体に付与されたα値を制御して、透明度を制御する。例えば、光軸の向きが視点の正面方向となったときに、フレア表現用半透明ポリゴンＦＰの透明度を最低にし、光軸の向きが視線方向と直交の向きになったときに、フレア表現用半透明ポリゴンＦＰの透明度を最高にすることで、よりリアル、かつ効果的にフレア効果を表現することができる。
【００７５】
このフレア表現用半透明ポリゴンＦＰの透明度の制御は、例えば図１２に示すように、角度の絶対値θに応じて直線Ｅ１に従って変化するようにしてもよいし、曲線Ｅ２、Ｅ３のように所与の曲線関数に従って変化するようにしてもよい。
【００７６】
以上のように、光軸上に複数の変形プリミティブを配置して、各変形プリミティブの透明度を制御するとともに、上述したフレア処理を行うことにより、光源の光軸の向きが視点の正面の位置になったとき（角度θ＝０度）、図１３に示すように、ライト表現を効果的に実現できる。
【００７７】
また、光源の光軸の向きが回転して、例えば角度θが３０度のときは、図１４に示すように指向性を有するライトオブジェクトをよりリアルに表現し、光源の光軸の向きが視線方向と直交する向きになったとき（角度θ＝９０度）のとき、図１５に示すように、各オブジェクトが分断されることなく、よりリアルに指向性のあるライトオブジェクトを表現することができる。
【００７８】
３．  本実施形態の処理
次に、本実施形態の処理の詳細例について、図１６乃至１８に示すフローチャートを用いて説明する。
【００７９】
図１６に、本実施形態におけるライト表現を行う処理の一例を示す。
【００８０】
まず、処理部１００のプリミティブ変形処理部１１０において、図５（Ｂ）に示すように、光源制御部１１２によって光軸の回転若しくは移動制御が行われる光源（光源オブジェクト）ＬＳを、一時的に視点の向きであるＺ軸上に配置するとともに、この光源ＬＳの光軸をＸＺ平面内であって光源の位置と視点の位置とを結ぶ直線に対して直交するように配置する（ステップＳ１０）。
【００８１】
そして、光軸上に配置されるライトオブジェクトとしての円形状のオブジェクト（変形プリミティブ）Ｐｉごとに、ＸＹ平面に平行になるように光軸上に配置される変形プリミティブＰｉの横方向（Ｘ軸方向）の長さＬｉ・βｉが、Ｚ軸と接するようにβｉを定める（ステップＳ１１）。
【００８２】
その後、光源ＬＳの位置と光軸の向きとを元に戻す（ステップＳ１２）。
【００８３】
続いて、プリミティブ変形処理部１１０は、各変形プリミティブＰｉの縦軸の長さＹAXを、上述した（４）式に従って、Ｌｉ・αに設定する（ステップＳ１３）。
【００８４】
さらに、プリミティブ変形処理部１１０は、光点の位置と視点の位置とを結ぶ直線と光軸とのなす角度の絶対値θを求める（ステップＳ１４）。
【００８５】
プリミティブ変形処理部１１０は、各変形プリミティブＰｉについて、横軸の長さＸAXを、ステップＳ１１及びステップＳ１４において求めたβｉと角度θとから、上述した（５）式に従って設定する（ステップＳ１５）。
【００８６】
そして、例えば画像生成部１２０において、光軸の向きを示す光軸ベクトルのＸＹ平面に対する正投影ベクトルに対し、各変形プリミティブの横軸の向きが平行になるように、各変形プリミティブの中心位置を通りＺ軸と平行な軸回りに回転させる処理を行う（ステップＳ１６）。
【００８７】
これにより、例えば図１０に示すようなライトオブジェクトによるオブジェクト画像を生成することができる。
【００８８】
以上のようにすることで、オブジェクト空間内に配置された光源ＬＳの光軸の向きに依存して分断されるライトオブジェクトによる画像表現の不具合を解消し、図１３乃至図１５に示したような、よりリアルなライト表現が可能となる。
【００８９】
図１７に、本実施形態におけるライト表現を行う各変形プリミティブに付与されるα値の制御内容の一例を示す。
【００９０】
すなわち、例えば処理部１００は、各変形プリミティブＰｉごとに、光源ＬＳの位置と変形プリミティブＰｉの中心位置との距離Ｌｉを求め（ステップＳ２０）、距離Ｌｉに応じて変形プリミティブＰｉの透明度を上げる（ステップＳ２１）。
【００９１】
より具体的には、変形プリミティブＰｉに付与される半透明情報としてのα値を、距離Ｌｉの値が大きくなればなるほど、当該変形プリミティブＰｉの透明度が高くなるように設定する。
【００９２】
こうすることで、α合成部１２２において、少なくともその一部が重複する複数の変形プリミティブ同士でα合成処理が行われた場合に、図１３乃至図１５に示したように光源ＬＳ付近が明るく、その輪郭部分に向けて次第にぼんやりさせたライト表現が可能となる。
【００９３】
図１８に、本実施形態におけるフレア処理の一例を示す。
【００９４】
まず、処理部１００の画像生成部１２０において、オブジェクト空間における光源の位置と視点の位置とを結ぶ直線上にその中心位置を有するＸＹ平面に平行なフレア表現用オブジェクト（プリミティブ）を、光源の位置と仮想カメラの位置との間に配置する（ステップＳ３０）。
【００９５】
その後、フレア処理部１１４において、光源の位置と視点の位置とを結ぶ直線と、光軸とのなす角度の絶対値θを求め（ステップＳ３１）、角度θの値に応じて、フレア表現用オブジェクト全体に付与された半透明情報としてのα値を変化させて、フレア表現用オブジェクト全体の透明度を変化させる（ステップＳ３２）。
【００９６】
より具体的には、フレア処理部１１４は、例えば図１２に示すように角度θに応じて、角度θが９０度のときに透明度が最高（完全に透明）、角度θが０度のときに透明度が最低となるように、フレア表現用オブジェクト全体に付与されるα値を変化させる。そして、α合成部１２２において、このフレア表現用オブジェクトに対してα合成処理を行う。
【００９７】
こうすることで、光源の光軸の向きが視点の正面の位置になったとき（角度θ＝０度）、図１３に示すように、フレアの効果を効率的に表現できる。また、光源の光軸の向きが回転して、例えば角度θが３０度のときは、図１４に示すように指向性を有するライトオブジェクトをよりリアルに表現し、光源の光軸の向きが視線方向と直交する向きになったとき（角度θ＝９０度）のとき、図１５に示すように、各オブジェクトが分断されることなく、よりリアルに指向性のあるライトオブジェクトを表現することができる。
【００９８】
４．  ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１９を用いて説明する。
【００９９】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１００】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１０１】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１０２】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１０３】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すとともに、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１０４】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１０５】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１０６】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１０７】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１０８】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１０９】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１１０】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１１１】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現（実行）してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１１２】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示するとともに、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【０１１３】
図２０（Ａ）に、本実施形態を業務用ゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤは、ディスプレイ１１００、１１０１上に映し出されたゲーム画像を見ながら、ガン型コントローラ１１０２、１１０３などを操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラム（格納情報）と呼ぶ。
【０１１４】
図２０（Ｂ）に、本実施形態を家庭用のゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ガン型コントローラ１２０２、１２０４などを操作してゲームを楽しむ。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９などに格納されている。
【０１１５】
図２０（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-１〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム（格納情報）は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体１３０６に格納されている。端末１３０４-１〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-１〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-１〜１３０４-nに伝送し端末において出力することになる。
【０１１６】
なお、図２０（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバ）と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム（格納情報）を、ホスト装置（サーバ）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１１７】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であるとともに家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１１８】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１１９】
例えば、本実施形態ではライト表現を行うためのオブジェクト（プリミティブ）として、円板状のポリゴンの横軸及び縦軸の長さを変更することで楕円変形した変形プリミティブを光軸上に配置するようにしたが、変形元のオブジェクト（プリミティブ）の形状、変形後の変形プリミティブの形状に限定されるものではない。表現しようとするオブジェクト画像によって、その形状は適宜選択されるものである。
【０１２０】
また、本実施形態では、円板状のポリゴンを所与のプリミティブとして、これを基準に変形した複数の変形プリミティブＰ１、Ｐ２、・・・を生成するようにしたが、これに限定されるものではない。例えば変形プリミティブＰｉを基準に変形した変形プリミティブＰｉ＋１、若しくは変形プリミティブＰｊ（ｊは、ｉ、ｉ＋１を除く自然数）を、光軸上に複数配置することによって、同様の効果を得ることもできる。
【０１２１】
また、変形プリミティブの生成手法、配置手法も、図４乃至１２で説明した手法に限定されるものではない。
【０１２２】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１２３】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１２４】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態における画像生成システムの機能ブロック図の例である。
【図２】図２（Ａ）は、指向性を有する光源のライト表現を行うライトオブジェクトの一例を示す説明図である。図２（Ｂ）は、光源の光軸の向きが視点の向きの正面の場合のライト表現の一例を示す説明図である。
【図３】図３（Ａ）は、視線方向と光軸の向きとのなす角度によって、ライトオブジェクトが分断された状態になる場合を説明するための説明図である。図３（Ｂ）は、各ライトオブジェクトを常に視点の向きに合わせた場合のライト表現を説明するための説明図である。
【図４】本実施形態におけるライト表現の原理を説明するための説明図である。
【図５】図５（Ａ）は、本実施形態における変形プリミティブの変形手法を説明するための説明図である。図５（Ｂ）は、本実施形態における変形プリミティブＰｉの変形を行うための値βｉを定める手法について説明するための説明図である。
【図６】本実施形態におけるライト表現の一例を示す図である。
【図７】図７（Ａ）は、本実施形態における角度θが０度の場合のライト表現の画像の一例を示す図である。図７（Ｂ）は、本実施形態における角度θが３０度の場合のライト表現の画像の一例を示す図である。図７（Ｃ）は、本実施形態における角度θが９０度の場合のライト表現の画像の一例を示す図である。
【図８】本実施形態において、光軸がオブジェクト空間におけるＸＺ平面内でない場合の変形手法について説明するための図である。
【図９】指向性を有するライト表現が不適切になる場合を説明するための図である。
【図１０】本実施形態において、光軸がオブジェクト空間におけるＸＺ平面内にない場合に生成した変形プリミティブによるライト表現の画像の一例を示す図である。
【図１１】図１１（Ａ）は、本実施形態におけるフレア表現用の円板状のポリゴンを模式的に示す模式図である。図１１（Ｂ）は、フレア処理の一例を説明するための図である。
【図１２】本実施形態におけるフレア処理における透明度の変化の一例を示す説明図である。
【図１３】本実施形態における角度θが０度のときのフレーム画像の一例を示す図である。
【図１４】本実施形態における角度θが３０度のときのフレーム画像の一例を示す図である。
【図１５】本実施形態における角度θが９０度のときのフレーム画像の一例を示す図である。
【図１６】本実施形態におけるライト表現の処理の詳細例を示すフローチャートである。
【図１７】本実施形態における変形プリミティブの透明度の制御の詳細例を示すフローチャートである。
【図１８】本実施形態におけるフレア処理の詳細例を示すフローチャートである。
【図１９】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図２０】図２０（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  プリミティブ変形処理部
１１２  光源制御部
１１４  フレア処理部
１２０  画像生成部
１２２  α合成部
１３０  音生成部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0004728510.tif 000002
【図２】
0004728510.tif 000003
【図３】
0004728510.tif 000004
【図４】
0004728510.tif 000005
【図５】
0004728510.tif 000006
【図６】
0004728510.tif 000007
【図７】
0004728510.tif 000008
【図８】
0004728510.tif 000009
【図９】
0004728510.tif 000010
【図１０】
0004728510.tif 000011
【図１１】
0004728510.tif 000012
【図１２】
0004728510.tif 000013
【図１３】
0004728510.tif 000014
【図１４】
0004728510.tif 000015
【図１５】
0004728510.tif 000016
【図１６】
0004728510.tif 000017
【図１７】
0004728510.tif 000018
【図１８】
0004728510.tif 000019
【図１９】
0004728510.tif 000020
【図２０】
0004728510.tif 000021