JP4229317B2 - 画像生成システム、プログラム及び情報記憶媒体 - Google Patents
画像生成システム、プログラム及び情報記憶媒体 Download PDFInfo
- Publication number
- JP4229317B2 JP4229317B2 JP2003133612A JP2003133612A JP4229317B2 JP 4229317 B2 JP4229317 B2 JP 4229317B2 JP 2003133612 A JP2003133612 A JP 2003133612A JP 2003133612 A JP2003133612 A JP 2003133612A JP 4229317 B2 JP4229317 B2 JP 4229317B2
- Authority
- JP
- Japan
- Prior art keywords
- original image
- image conversion
- conversion object
- texture coordinates
- shift amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【従来技術】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。このよう画像生成システムとして、空気が暖められることで密度分布にむらが生じ、そこを通過する光が不規則に屈折することで空気が揺らめいて見える陽炎エフェクトについてもリアルに表現できるシステムが知られている。
【0003】
【特許文献1】
特開2000−197765号公報
【0004】
【発明が解決しようとする課題】
この従来技術では、元画像の炎の周りのピクセルの色情報を入れ替える処理を、インデックスカラーテクスチャマッピングを利用して実現している。
【0005】
しかしながら上記の従来技術だけでは、画面内での陽炎のむらや、陽炎が動いている様子や、奥行き方向における陽炎のむらを表現するのは難しかった。
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、陽炎エフェクトなどの画像エフェクトを少ない処理負荷で効果的に実現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0007】
【課題を解決するための手段】
本発明は、画像生成を行う画像生成システムであって、オブジェクト空間にオブジェクトを配置設定するオブジェクト空間設定部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、前記画像生成部が、元画像変換用オブジェクト以外のオブジェクトを描画バッファに描画することで元画像を生成し、元画像変換用オブジェクトをスクリーン座標系に透視変換し、元画像変換用オブジェクトの透視投影位置に基づいてテクスチャ座標を求め、求められたテクスチャ座標で指定される元画像に基づいて、元画像変換用画像を元画像変換用オブジェクトにマッピングし、元画像変換用画像がマッピングされた元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0008】
本発明によれば、元画像変換用オブジェクト(カメラ座標系やワールド座標系のオブジェクト空間に配置設定されるオブジェクト)を透視変換することで、テクスチャ座標が求められる。そして、求められたテクスチャ座標で指定される元画像に基づいて、元画像変換用オブジェクトのマッピング処理が行われ、テクスチャ(元画像変換用画像)がマッピングされた元画像変換用オブジェクトが描画バッファ(描画領域)に描画される。これにより、元画像変換用オブジェクトに対応する領域(スクリーン座標系の領域)の元画像に対して、変換処理を施した画像を生成でき、陽炎エフェクトなどの画像エフェクトを少ない処理負荷で効果的に実現できる。しかも、テクスチャ座標は、元画像変換用オブジェクトを透視変換することで求められるため、元画像変換用オブジェクトの大きさや奥行き値に応じた適正な画像を、元画像変換用オブジェクトにマッピングすることが可能になる。
【0009】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、元画像変換用オブジェクトの透視投影位置を所与のずらし量だけずらすことでテクスチャ座標を求め、求められたテクスチャ座標で指定される元画像を、元画像変換用画像として元画像変換用オブジェクトにマッピングするようにしてもよい。
【0010】
このようにすれば、仮想カメラから見て元画像をずらして見える画像を、元画像変換用画像として元画像変換用オブジェクトにマッピングできるようになる。なお、求められたテクスチャ座標(ずらし量だけずらしたテクスチャ座標、或いはずらさないテクスチャ座標)で指定される元画像に変換処理を施して、変換処理後の画像を元画像変換用オブジェクトにマッピングしてもよい。
【0011】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み(パラメータ設定部としてコンピュータを機能させる、或いはパラメータ設定部としてコンピュータを機能させるプログラムを記憶し)、前記パラメータ設定部が、仮想カメラから見て奥側にある元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を大きくするようにしてもよい。
【0012】
このようにすれば、奥側に配置される元画像変換用オブジェクトほど、元画像からずれた画像に見えるようになり、リアルな画像エフェクトを実現できる。
【0013】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、元画像変換用オブジェクトの奥行き値と元画像のピクセルの奥行き値を比較し、元画像変換用オブジェクトの奥行き値の方がピクセルの奥行き値よりも仮想カメラから見て手前側となるピクセルに対して、元画像変換用オブジェクトの画像を描画するようにしてもよい。
【0014】
このようにすれば、元画像変換用オブジェクトとピクセルの奥行き値に応じた元画像変換用オブジェクトの描画処理を行うことが可能になり、更にリアルな画像表現を実現できる。
【0015】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、元画像が描画されている描画バッファに第1の元画像変換用オブジェクトを描画することで生成された画像を、元画像に設定し、設定された元画像と、第2の元画像変換用オブジェクトを透視変換することで得られるテクスチャ座標とに基づいて、第2の元画像変換用画像を第2の元画像変換用オブジェクトにマッピングし、第2の元画像変換用画像がマッピングされた第2の元画像変換用オブジェクトを描画バッファに描画するようにしてもよい。
【0016】
このようにすれば、元画像変換用画像(元画像変換用オブジェクト)の再帰的な多重合成が可能になり、複雑な画像エフェクト処理を実現できる。
【0017】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、元画像変換用オブジェクトの大きさ、位置、移動速度、及びテクスチャ座標のずらし量の少なくとも1つを含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み(パラメータ設定部としてコンピュータを機能させる、或いはパラメータ設定部としてコンピュータを機能させるプログラムを記憶し)、前記パラメータ設定部が、複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定するようにしてもよい。
【0018】
このように、複数の元画像変換用オブジェクトを用いると共に各元画像変換用オブジェクトに対して種々のパラメータを設定することで、1つの領域の元画像を画像変換することでは得ることができない、多様でリアルな画像エフェクトを実現できる。
【0019】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記パラメータ設定部が、元画像変換用オブジェクトのカメラ座標系での位置を、前記パラメータとして元画像変換用オブジェクトに設定するようにしてもよい。
【0020】
このようにすれば、仮想カメラの位置や方向(回転角度)の変化に依存せずに、画像エフェクトが施された画像をプレーヤの目の前に常に表示することが可能になる。
【0021】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、ワールド座標系の所与の発生領域で発生する元画像変換用オブジェクトが、仮想カメラの視野領域内に入った場合に、元画像変換用オブジェクトのマッピング処理及び描画処理を行うようにしてもよい。
【0022】
このようにすれば、仮想カメラ(仮想カメラに追従する移動体)が、ワールド座標系(ワールド空間)の一部の領域に位置した場合にだけ、画像エフェクトを発生させることが可能になり、仮想現実感の高い画像エフェクトを実現できる。
【0023】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部を含み(パラメータ設定部としてコンピュータを機能させる、或いはパラメータ設定部としてコンピュータを機能させるプログラムを記憶し)、前記パラメータ設定部が、発生領域の境界に近い場所に位置する元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を小さくするようにしてもよい。
【0024】
このようにすれば、画像エフェクトの発生領域の内側から外部に仮想カメラ(移動体)が出た場合に、画像エフェクトが突然に無くなってしまうという不自然な事態の発生を防止できる。
【0025】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、元画像変換用オブジェクトが、元画像に陽炎効果を施すための陽炎ポリゴンであってもよい。
【0026】
なお本発明は、陽炎エフェクト(光が不規則に屈折することで空気が揺らめいて見える現象)以外の画像エフェクトにも適用できる。
【0027】
【発明の実施の形態】
以下、本実施形態について説明する。
【0028】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0029】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図1の構成要素を全て含む必要はなく、その一部(例えば操作部160、携帯型情報記憶装置194又は通信部196等)を省略してもよい。
【0030】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、ペダル、マイク、センサー、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0031】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどにより実現できる。
【0032】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0033】
表示部190は本実施形態により生成された画像を出力するものであり、その機能はCRT、LCD、タッチパネル型ディスプレイ、或いはHMDなどにより実現できる。音出力部192は本実施形態により生成された音を出力するものであり、その機能はスピーカ、或いはヘッドフォンなどにより実現できる。
【0034】
携帯型情報記憶装置194(メモリカードや携帯型ゲーム装置)は、プレーヤの個人データやゲームのセーブデータなどを記憶するものである。通信部196は、外部(ホスト装置、他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、プロセッサ又は通信用ASICなどのハードウェアや、プログラムにより実現できる。
【0035】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0036】
処理部100(プロセッサ)は、操作部160からの操作データや、プログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。ここで処理部100が行うゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。処理部100の機能は、各種プロセッサ(CPU、DSP)やASIC(ゲートアレイ)などのハードウェアや、プログラムにより実現できる。
【0037】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、パラメータ制御部116、画像生成部120、音生成部130を含む。なおこれらの一部を省略してもよい。
【0038】
オブジェクト空間設定部110は、キャラクタ、車、柱、壁、建物、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。例えばワールド座標系(或いはカメラ座標系)でのオブジェクトの位置や回転角度(方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0039】
移動・動作処理部112は、移動オブジェクト(車、飛行機、又はキャラクタ等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)、或いは各種データ(モーションデータ)などに基づいて、移動オブジェクトをオブジェクト空間内で移動させたり、移動オブジェクトを動作(モーション、アニメーション)させる処理を行う。より具体的には、移動オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームは、移動オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0040】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
【0041】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られた移動オブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた回転角度で回転させるようにしてもよい。この場合には、仮想カメラの位置(移動経路)や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0042】
パラメータ設定部116は、ゲーム処理に必要な各種パラメータを設定する処理を行う。より具体的にはパラメータ設定部116は、元画像変換用オブジェクト(狭義には陽炎ポリゴン、陽炎オブジェクト。他の説明でも同様)の大きさ(幅、高さ)、位置、移動速度、或いはテクスチャ座標のずらし量などを含むパラメータを、元画像変換用オブジェクトに設定する(各元画像変換用オブジェクトに関連づけて記憶部170に記憶する)。この場合にパラメータ設定部116は、複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定できる。またパラメータが含む元画像変換用オブジェクトの位置としては、カメラ座標系(視点座標系)での位置を用いることができる。なお元画像変換用オブジェクトの位置としてワールド座標系での位置を用いてもよい。
【0043】
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0044】
画像生成部120は、ジオメトリ処理部121、描画部122、テクスチャマッピング部123、隠面消去部124、α合成部125を含む。なおこれらの一部を省略する構成としてもよい。
【0045】
ジオメトリ処理部121は3次元画像生成のためのジオメトリ処理を行う。より具体的には、座標変換(ワールド座標変換、カメラ座標変換、スクリーン座標変換)、クリッピング処理、或いは光源処理等のジオメトリ処理を行い、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を作成する。
【0046】
描画部122はオブジェクトの描画処理を行う。より具体的には、ジオメトリ処理により作成された描画データ(プリミティブ面データ)に基づいて、透視変換後(スクリーン座標変換後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ172(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0047】
テクスチャマッピング部123は、テクスチャ記憶部176に記憶されるテクスチャ(テクセルデータ)をオブジェクト(ポリゴン)にマッピングする処理を行う。具体的には、テクスチャ座標で指定されるテクセルデータをテクスチャ記憶部176(テクスチャバッファ、テクスチャ用記憶領域)から読み出す。そして読み出したテクセルデータを描画対象ピクセルに描画する。この場合にテクスチャマッピング部123は、バイリニア補間などのテクセル補間を行いながらマッピング処理を行うことができる。また、インデックスカラー・テクスチャマッピング用のLUT(ルックアップテーブル)を用いたテクスチャマッピングを行うこともできる。
【0048】
隠面消去部124は、Z値(奥行き情報)が格納されるZバッファ174(奥行きバッファ、Zプレーン)を用いて、Zバッファ法(奥行き比較法、Zテスト)により隠面消去処理を行う。
【0049】
α合成部125はα値(A値)に基づくα合成処理(αブレンディング、α加算又はα減算等)を行う。例えばα合成がαブレンディングである場合には下式のような合成処理を行う。
【0050】
RQ=(1−α)×R1+α×R2 (1)
GQ=(1−α)×G1+α×G2 (2)
BQ=(1−α)×B1+α×B2 (3)
また合成処理が加算αブレンディングである場合を例にとれば、下式に従ったα合成処理を行う。
【0051】
RQ=R1+α×R2 (4)
GQ=G1+α×G2 (5)
BQ=B1+α×B2 (6)
ここで、R1、G1、B1は、描画バッファ172に既に描画されている画像(背景画像)の色(輝度)のR、G、B成分であり、R2、G2、B2は、描画バッファ172に描画するオブジェクト(プリミティブ)の色のR、G、B成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像の色のR、G、B成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0052】
そして本実施形態では描画部122が、元画像変換用オブジェクト(陽炎ポリゴン)以外のオブジェクト(元画像生成用オブジェクト)を描画バッファ172に描画することで、元画像(フレーム画像)を生成する。この場合に、テクスチャマッピング部123によるテクスチャマッピング処理や隠面消去部124による隠面消去処理を行いながらオブジェクトの描画処理を行い、元画像を生成する。また隠面消去部124による隠面消去(Zテスト)の際に得られた元画像の各ピクセルの最終的な奥行き値(Z値)は、Zバッファ174(奥行きバッファ)に記憶される。
【0053】
そしてジオメトリ処理部121が元画像変換用オブジェクトをスクリーン座標系のスクリーンに透視変換し、これにより元画像変換用オブジェクトの透視投影位置(例えば透視変換後の元画像変換用オブジェクトの頂点位置)に基づいてテクスチャ座標を求める。この場合に例えば、パラメータ設定部116により当該元画像変換用オブジェクトに対して設定されたテクスチャ座標のずらし量に基づいて、透視投影位置に対応するテクスチャ座標をずらす処理を行う。
【0054】
次にテクスチャマッピング部123が、求められたテクスチャ座標で指定される元画像(透視投影位置で特定される領域にある元画像)に基づいて、元画像変換用画像(狭義には陽炎画像。他の説明でも同様)を元画像変換用オブジェクトにマッピングする。例えば上述のようにテクスチャ座標をずらす処理を行った場合には、仮想カメラから見て元画像(領域内の元画像)をずらした画像として見える元画像変換用画像を、元画像変換用オブジェクトにマッピングする。なお元画像に画像エフェクト処理(ピクセル入れ替えなどのぼかし処理)を施した画像を、元画像変換用画像として元画像変換用オブジェクトにマッピングしてもよい。
【0055】
次に描画部122が、元画像変換用画像がマッピングされた元画像変換用オブジェクトを描画バッファ172(元画像が描画されている領域)に描画する。この場合に例えば、隠面消去部124による隠面消去処理(Zテスト処理)を行いながら、元画像変換用オブジェクトを描画バッファ172に描画(α合成、上書き)する。
【0056】
具体的には、元画像変換用オブジェクトの奥行き値(代表的な奥行き値)と、Zバッファ174に既に記憶されている元画像のピクセルの奥行き値を比較する。そして元画像変換用オブジェクトの奥行き値の方がピクセルの奥行き値よりも仮想カメラから見て手前側となるピクセルについてだけ、元画像変換用オブジェクトの画像情報を描画する。また元画像変換用オブジェクトを描画バッファ172に描画する際に、α合成部125が、元画像変換用オブジェクトの元画像変換用画像と元画像とのα合成を行うようにする。但しα合成を行わないで元画像変換用オブジェクトを描画してもよい。
【0057】
以上のようにすることで、元画像に対して元画像変換用オブジェクトの元画像変換用画像が合成された画像が生成され、元画像に対して陽炎効果などの画像エフェクトを施すことが可能になる。
【0058】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0059】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0060】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、陽炎エフェクトに本実施形態の手法を適用した場合を説明するが、本実施形態の手法は、陽炎エフェクト以外の種々の画像エフェクトに適用できる。
【0061】
2.1 陽炎ポリゴンによる陽炎エフェクト
本実施形態では図2に示すような複数の陽炎ポリゴンHPL(広義には元画像変換用オブジェクト。他の説明でも同様)を配置する。これらの陽炎ポリゴンHPLは、その画像の表示面を仮想カメラVCの方に向けて配置されている。また陽炎ポリゴンHPLは、その大きさ(幅、高さ)が互いに異なっている。また陽炎ポリゴンHPLは所与の移動速度で移動(上昇)しており、その移動速度も互いに異なっている。更に陽炎ポリゴンHPLはZ値(奥行き値)を有しており、そのZ値も互いに異なっている。なお陽炎ポリゴンHPLの形状は四角形に限定されず、3角形や、5角形以上の多角形であってもよい。或いは、円形状や立体形状であってもよい。
【0062】
そして本実施形態では図2の陽炎ポリゴンHPLを用いることで、図3の元画像に陽炎エフェクトが施された画像である陽炎エフェクト画像(広義にはエフェクト画像)を生成している。ここで元画像は、陽炎ポリゴン以外のオブジェクトを、隠面消去を行いながら描画バッファに描画することで得られるフレーム画像である。
【0063】
例えば本実施形態では図4、図5に示す手法により陽炎エフェクト画像を生成している。即ち、まず陽炎ポリゴンHPL以外のオブジェクトを描画することにより図3に示すような元画像を生成する。次に、図4に示すように、陽炎ポリゴンHPLをスクリーン座標系のスクリーン(透視投影面)に透視変換し、HPLの透視投影位置(透視変換位置)に基づいてテクスチャ座標を求める。
【0064】
具体的には、陽炎ポリゴンHPLの頂点VX1〜VX4を透視変換し、透視変換後の頂点PVX1〜PVX4を求める。そして、陽炎ポリゴンHPLに設定されたテクスチャ座標のずらし量(例えば1テクセル未満のずらし量或いは1又は複数テクセルのずらし量)に基づいて、頂点PVX1〜PVX4をずらす処理を行う。そして、ずらし処理後の頂点PVX1’〜PVX4’に基づいてテクスチャ座標(U1、V1)〜(U4、V4)を求める。この場合、頂点PVX1’〜PVX4’のX、Y座標をそのままテクスチャ座標(U1、V1)〜(U4、V4)に設定してもよいし、X、Y座標に正規化処理(0≦U、V≦1.0に正規化する処理)などの変換処理を施したものを、テクスチャ座標(U1、V1)〜(U4、V4)に設定してもよい。
【0065】
そして求められたテクスチャ座標(U1、V1)〜(U4、V4)で指定される元画像(PVX1’〜PVX4’を頂点とする多角形の領域内の元画像)を、陽炎ポリゴンHPLにマッピングする。
【0066】
このようにすることで図5に示すように、仮想カメラから見て元画像をずらした画像として見える陽炎画像IMH(広義には元画像変換用画像。他の説明でも同様)を、陽炎ポリゴンHPLにマッピングできるようになる。これにより、元画像(山の画像)の輪郭がずれて見える画像を生成でき、陽炎エフェクトを実現できる。そして本実施形態によれば、ピクセルの入れ替え処理等を不要にできるため、特別なハードウェア回路などを用いずに陽炎エフェクトを実現できるという利点がある。
【0067】
また本実施形態では、陽炎ポリゴンHPLの透視投影位置に基づいてテクスチャ座標を求めているため、陽炎ポリゴンHPLが仮想カメラから見て手前側にある場合も、奥行き側にある場合も、陽炎ポリゴンHPLの位置に対応する元画像を適正に切り出すことが可能になる。
【0068】
更に本実施形態では図2に示すように、陽炎ポリゴンHPLを例えば上方向に移動させることで、陽炎のように揺れた空気が上昇して行く様子を表現でき、リアルな陽炎エフェクトを実現できる。また陽炎ポリゴンHPLの大きさを互いに異ならせることで、むらのある陽炎エフェクトを表現でき、更にリアルな画像を生成できる。
【0069】
なお、各陽炎ポリゴンHPLのパラメータとして設定されるテクスチャ座標のずらし量は、図6に示す手法により設定してもよい。例えば図6では、仮想カメラVC(視点)から見て奥側にある陽炎ポリゴンほど、テクスチャ座標のずらし量を大きくしている。即ち仮想カメラVCから見て手前側の陽炎ポリゴンHPL1ではテクスチャ座標のずらし量を小さくし、奥側の陽炎ポリゴンHPL2ではずらし量を大きくする。
【0070】
仮想カメラVCから見て手前側の陽炎ポリゴンHPL1のずらし量を小さくすれば、このHPL1での陽炎エフェクトが弱くなる。従って、HPL1の形が目立ってしまいプレーヤに気づかれてしまうという事態を防止できる。
【0071】
また仮想カメラVCから見て奥側の陽炎ポリゴンHPL3のずらし量を大きくすれば、奥の景色の方が陽炎エフェクトが強くなる。従って、奥の景色ほど水蒸気の厚さ(深度)が厚くなって、画像のぶれが大きくなるという現象を表現でき、リアルな陽炎エフェクトを実現できる。
【0072】
なお図4、図5では、テクスチャ座標をずらすことで、陽炎画像IMH(元画像をずらした画像として仮想カメラか見える画像)を生成しているが、陽炎ポリゴンHPLの位置をずらすことで、陽炎画像IMHを生成してもよい。またこのようなずらし処理を行わず、例えば透視変換後の頂点PVX1〜PVX4の領域内の元画像に対してぼかし処理を施してぼかし画像を生成し、生成されたぼかし画像を陽炎画像IMHとして陽炎ポリゴンHPLにマッピングしてもよい。この場合のぼかし画像は、ピクセル入れ替え処理やインデックス・テクスチャマッピングを利用した処理などで生成できる。
【0073】
2.2 Z値に基づく隠面消去
本実施形態では図7に示すように、陽炎ポリゴンHPLにZ値ZH(奥行き値)を持たせている。そして陽炎ポリゴンHPLのZ値ZHと、元画像のピクセルPX1〜PX6のZ値ZP1〜ZP6(奥行き値)を比較する。このZP1〜ZP6は、図3に示す元画像をZバッファ法により生成した場合に、最終的に得られる各ピクセルのZ値(Zバッファに格納されるZ値)である。
【0074】
そして本実施形態では、陽炎ポリゴンHPLのZ値の方がピクセルのZ値よりも仮想カメラVCから見て手前側となるピクセルに対してだけ、陽炎ポリゴンHPLの画像(色情報等)の描画処理を行う。
【0075】
即ち図7において、ピクセルPX2、PX3、PX4では、陽炎ポリゴンHPLのZHの方がPX2、PX3、PX4のZP2、ZP3、ZP4よりも仮想カメラVCから見て手前側の値になっている。従ってピクセルPX2、PX3、PX4については、陽炎ポリゴンHPLの描画処理を行うようにする。
【0076】
一方、ピクセルPX1、PX5、PX6では、PX1、PX5、PX6のZP1、ZP5、ZP6の方が、陽炎ポリゴンHPLのZHよりも仮想カメラVCから見て手前側の値になっている。従ってピクセルPX1、PX5、PX6については、陽炎ポリゴンHPLの描画処理を行わないようにする。
【0077】
このようにすれば、陽炎ポリゴンHPLよりも奥側にある画像(ピクセル)に対してだけ陽炎エフェクトが施され、手前側にある画像に対しては陽炎エフェクトが施されないようになる。これにより、仮想カメラVCから一定の距離にある画像(表示物)にだけ陽炎エフェクトを施すことができ、よりリアルな画像表現を実現できる。
【0078】
また陽炎ポリゴンHPLのZ値を図2に示すように互いに異ならせることで、奥行き方向に立体的に存在しているかのように見える陽炎を表現できる。即ち、ある奥行きの位置にだけ陽炎が存在するのではなく、奥行き方向に連続して存在して見える多層化された陽炎を表現できる。しかも、陽炎ポリゴンHPLの大きさを図2に示すように互いに異ならせることで、奥行き方向における陽炎のむらも、多層化して見えるようになり、よりリアルな表現が可能になる。
【0079】
2.3 陽炎の多重合成
本実施形態では陽炎ポリゴンをα合成(半透明合成)することで多重合成を実現している。即ち陽炎ポリゴンを半透明で表示し、合成結果を更にテクスチャとして使用することで、陽炎の多重合成を実現している。
【0080】
例えば図8のA1に示すように、元画像が描画されている描画バッファに、陽炎画像IMH1(第1の元画像変換用画像)がマッピングされた陽炎ポリゴンHPL1(第1の元画像変換用オブジェクト)を描画することで、図5に示すような画像を生成する。そして生成された画像を、図8のA2に示すように元画像に設定する(元画像として取り扱う)。
【0081】
次に図8のA3に示すように、設定された元画像と、陽炎ポリゴンHPL2(第2の元画像変換用オブジェクト)を透視変換することで得られるテクスチャ座標とに基づいて、陽炎画像IMH2(第2の元画像変換用画像)を陽炎ポリゴンHPL2(第2の元画像変換用オブジェクト)にマッピングする。即ち陽炎ポリゴンHPL2を用いて図4に示すようなマッピング処理を行う。そして陽炎画像IMH2がマッピングされた陽炎ポリゴンHPL2を描画バッファに描画する。この際に、陽炎画像IMH1とIMH2のα合成(半透明合成)を行う。
【0082】
このようにすることで、図8のA4に示す重なり領域において、陽炎画像IMH1とIMH2が再帰的に多重合成されるようになり、より複雑にずれて見えるリアルな陽炎を表現できる。
【0083】
なお図8では、2回の多重合成を行った場合の例を示しているが、多重合成の回数は3回以上になってもよい。
【0084】
2.4 パラメータの設定
本実施形態では、陽炎エフェクトが単調になるのを防止するために、個々の陽炎ポリゴンや、陽炎ポリゴンの全体に対して、種々のパラメータを設定できるようにしている。
【0085】
例えば図9(A)に、各陽炎ポリゴンに個別的に設定されるパラメータの例を示す。このパラメータとしては、カメラ座標系(視点座標系)での陽炎ポリゴンの位置や、陽炎ポリゴンの大きさや、陽炎ポリゴンの移動(上昇)速度や、図4、図6で説明したテクスチャ座標のずらし量などのパラメータがある。なお、これらのパラメータの一部を省略することもできる。
【0086】
また図9(B)に、陽炎(陽炎ポリゴン)の全体に対して設定されるパラメータの例を示す。このパラメータとしては、陽炎が発生し始める場所の仮想カメラからの距離や、陽炎が発生しなくなる場所の仮想カメラからの距離や、陽炎ポリゴンの大きさの最大値、最小値や、陽炎ポリゴンの移動速度の上限、下限や、陽炎ポリゴンのテクスチャ座標のずらし量の最大値、最小値などのパラメータがある。なお、これらのパラメータの一部を省略することもできる。
【0087】
図9(A)の陽炎ポリゴンの位置(初期位置)パラメータは、図2のように複数の陽炎ポリゴンが存在する場合の各陽炎ポリゴンのカメラ座標系での位置である。このように陽炎ポリゴンの位置をカメラ座標系の位置として持つことで、仮想カメラの位置や方向が変化した場合にも、常にプレーヤの目の前に陽炎を表示することが可能になる。従って、少ない処理負荷でリアルな陽炎を表現できるようになる。なお、陽炎ポリゴンの位置は、乱数などを用いてランダムに発生させてもよい。また陽炎ポリゴンの位置を、カメラ座標系での位置ではなくワールド座標系での位置として設定してもよい。
【0088】
また陽炎ポリゴンの大きさパラメータは、図10(A)に示すような陽炎ポリゴンの幅や高さである。なお陽炎ポリゴンが三角形である場合には、大きさパラメータとして底辺の長さや高さなどを用いることができる。また陽炎ポリゴンが円形状である場合には、大きさパラメータとして半径などを用いることができる。
【0089】
図9(A)の陽炎ポリゴンの移動速度は、陽炎ポリゴンの初期位置から移動速度である。この移動速度は、例えば上方向などの1つの方向への移動速度であってもよいし、ランダムに変化する方向での移動速度であってもよい。また移動速度は一定であってもよいし、時間経過に応じて変化するようにしてもよい。
【0090】
図9(A)のテクスチャ座標のずらし量は、図6で説明したように、陽炎ポリゴンのZ値(奥行き値)に応じて変化するように設定することが望ましい。
【0091】
図9(B)の陽炎が発生し始める仮想カメラからの距離や、陽炎が発生しなくなる仮想カメラからの距離は、図10(B)の距離L1、L2である。この距離L1、L2により、陽炎ポリゴンの出現範囲を制御できる。例えば距離L1を小さくすることで、プレーヤの視点の近くから陽炎を発生させることが可能になる。また距離L2を大きくすることで、より遠くまで陽炎を発生させることが可能になる。例えば、距離L1の境界が全ての表示物よりも手前側に位置するように、L1を設定すれば(距離L1の境界を透視投影のスクリーンに設定すれば)、元画像の全体に対して陽炎エフェクトを施すことが可能になる。
【0092】
以上のように、複数の陽炎ポリゴンを用いると共に、各陽炎ポリゴンに対して種々のパラメータを設定することで、1つの領域の元画像を画像変換することでは得ることができない多様でリアルな陽炎エフェクトを表現できる。なお陽炎ポリゴンのパラメータは、使用する仮想カメラに応じてその設定を変更するようにしてもよい。
【0093】
2.5 陽炎発生領域
本実施形態では、陽炎ポリゴンを、カメラ座標系ではなくワールド座標系(ワールド空間)に設定された所与の発生領域で発生させることもできる。
【0094】
例えば図11において視野領域VREGは、仮想カメラVCの位置や方向(回転角度)に基づいて特定される領域である。より具体的には視野領域VREGは、クリッピング平面CL1(スクリーン、投影面)とクリッピング平面CL2で区切られるビューイングボリュームである。
【0095】
また陽炎発生領域HREG(広義には画像エフェクトの発生領域)は、陽炎エフェクトを発生させるワールド座標系内での領域である。
【0096】
そして本実施形態では、ワールド座標系の所与の陽炎発生領域HREGで発生する陽炎オブジェクトが、仮想カメラVCの視野領域VREG内に入った場合に、図4で説明した陽炎ポリゴンのマッピング(テクスチャマッピング)処理及び描画処理を行うようにしている。別の言い方をすれば、視野領域VREGが陽炎発生領域HREGに重なった場合に、その重なり領域の陽炎ポリゴンを発生させる。
【0097】
例えば図11のB1では、視野領域VREG内に陽炎発生領域HREGは存在しない。従ってこの場合には陽炎ポリゴンのマッピング処理及び描画処理は行わない。
【0098】
一方、図11のB2では、視野領域VREGの一部と陽炎発生領域HREGの一部が重なっている。この場合には、この重なり領域において、図4で説明したマッピング処理及び描画処理を行う。
【0099】
また図12のC1では、視野領域VREGの全てが陽炎発生領域HREGに含まれている。従ってこの場合には、視野領域VREGの全体にわたって陽炎ポリゴンのマッピング処理及び描画処理を行う。
【0100】
また図12のC2では、視野領域VREGの一部が、陽炎発生領域HREGの外に出ている。この場合には、外に出ている部分では陽炎ポリゴンのマッピング処理及び描画処理を行わず、視野領域VREGと陽炎発生領域HREGの重なり領域においてだけ、マッピング処理及び描画処理を行う。
【0101】
このようにすることで、ワールド座標系(ワールド空間)の一部の領域にだけ発生する陽炎を表現できる。従って車ゲームを例にとれば、コース上の一部の領域にだけ陽炎を発生させることができ、より仮想現実感の高い陽炎表現を実現できる。
【0102】
なお、図12のC2において、陽炎発生領域HREGの外部との境界BDLに近い場所に位置する陽炎ポリゴンほど、その陽炎ポリゴンに設定するテクスチャ座標のずらし量を小さくすることが望ましい。
【0103】
このようにすれば、境界BDLの近くに位置する陽炎ポリゴンでは、テクスチャ座標のずれ量が小さくなり、陽炎エフェクトが弱くなる。従って、陽炎エフェクトが発生しないHREGの外側領域との差が目立たなくなり、より自然な陽炎エフェクト画像を生成できる。即ち図12のC2において、仮想カメラVC(車)が陽炎発生領域HREGの内側から外側に出る場合において、境界BDLでの陽炎エフェクトが弱くなる。従って、仮想カメラVCが境界BDLを超えた瞬間に目の前の陽炎エフェクトが突然に消失してしまうという事態を防止でき、プレーヤが不自然さを感じるのを防止できる。
【0104】
3.本実施形態の処理
次に、本実施形態の詳細な処理例について図13、図14のフローチャートを用いて説明する。
【0105】
まず、図9(A)〜図10(B)で説明した陽炎ポリゴンの位置等のパラメータを初期化する処理(初期値を設定する処理)を行う(ステップS1)。
【0106】
次に、陽炎ポリゴン以外のオブジェクトを描画バッファに描画し、陽炎効果の無い元画像(図3参照)を生成する(ステップS2)。この際に、各ピクセルのZ値をZバッファに書き込む。
【0107】
次に、図2で説明した陽炎ポリゴンを、パラメータとして設定された移動速度に基づき移動させる(ステップS3)。そして図4で説明したように、陽炎ポリゴンを透視変換し、スクリーン座標系での陽炎ポリゴンの頂点位置を求める(ステップS4)。
【0108】
次に、求められた頂点位置に基づき、パラメータとして設定されたずらし量だけずらしたテクスチャ座標を求め、求められたテクスチャ座標で指定される元画像(テクスチャ)を、陽炎ポリゴンにマッピングする(ステップS5)。そしてテクスチャがマッピングされた陽炎ポリゴンを、ZバッファによるZテスト(奥行き比較)を行いながら、描画バッファ(元画像が描画されている領域)に描画する(ステップS6)。この際に、必要であればα合成処理を行いながら陽炎ポリゴンを描画する。これにより図8で説明したような多重合成を実現できる。
【0109】
次に、全ての陽炎ポリゴンを処理したか否かを判断し(ステップS7)、処理していない場合にはステップS3に戻り、次の陽炎ポリゴンの処理に移行する。一方、全ての陽炎ポリゴンの処理が終了した場合には、当該フレームでの他の処理を行う(ステップS8)。そして他の全ての処理が終了した場合には、ステップS2に戻り、次のフレームの処理へ移行する。
【0110】
図14は、図11、図12で説明したようにワールド座標系の陽炎発生領域で陽炎ポリゴンを発生させる場合の処理のフローチャートである。
【0111】
図14では図13とは異なり、ステップS2の後にステップS2−2の処理を行う。即ち、処理対象となる陽炎ポリゴンが視野領域内に存在するか否かを判断する。そして視野領域内に陽炎ポリゴンが存在しなければ、ステップS7に移行する。一方、存在する場合にはステップS3に移行する。
【0112】
また図14では図13とは異なり、ステップS4の後にステップS4−2の処理を行う。即ち、陽炎発生領域の外部との境界の周辺(近傍)に陽炎ポリゴンが位置するか否かを判断する。そして、境界の周辺に位置する場合には、その陽炎ポリゴンについてのテクスチャ座標のずらし量を小さくする調整を行う。そして、調整されたずらし量に基づいて、ステップS5の処理を行う。以上のようにすることで図11、図12で説明した処理を実現できる。
【0113】
4.ハードウェア構成
図15に本実施形態を実現できるハードウェア構成の例を示す。
【0114】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【0115】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0116】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0117】
データ伸張プロセッサ906は、圧縮された画像データや音データのデコード(伸長)処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できる。
【0118】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0119】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介して入力される。
【0120】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする処理を行う。
【0121】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行う。通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどがある。
【0122】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0123】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0124】
図16(A)に業務用ゲームシステムへの本実施形態の適用例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、操作部1102を操作してゲームを楽しむ。内蔵されるシステムボード1106にはプロセッサ、メモリなどが実装される。本実施形態の各部の処理を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラムと呼ぶ。
【0125】
図16(B)に家庭用ゲームシステムへの本実施形態の適用例を示す。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209に格納される。
【0126】
図16(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムへの本実施形態の適用例を示す。この場合、上記格納プログラムは、ホスト装置1300の情報記憶媒体1306(ハードディスク、磁気テープ装置等)に格納される。また本実施形態の各部の処理をホスト装置と端末の分散処理で実現してもよい。
【0127】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0128】
例えば、明細書又は図面中の記載において広義や同義な用語(元画像変換用オブジェクト、元画像変換用画像、エフェクト画像等)として引用された用語(陽炎ポリゴン、陽炎画像、陽炎エフェクト画像等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0129】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0130】
また元画像に基づくマッピング処理も、本実施形態で説明したものに限定されず、これらと均等な種々の変換処理も本発明の範囲に含まれる。
【0131】
また、本発明は種々のゲーム(格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等)に適用できる。
【0132】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック図の例である。
【図2】陽炎ポリゴンの説明図である。
【図3】元画像の例である。
【図4】本実施形態の手法の説明図である。
【図5】陽炎画像の説明図である。
【図6】テクスチャ座標のずらし量を制御する手法の説明図である。
【図7】陽炎ポリゴンに奥行きを設定する手法の説明図である。
【図8】陽炎ポリゴンの多重合成の説明図である。
【図9】図9(A)(B)は陽炎ポリゴンのパラメータの説明図である。
【図10】図10(A)(B)も陽炎ポリゴンのパラメータの説明図である。
【図11】ワールド座標系に陽炎発生領域を設定する手法の説明図である。
【図12】ワールド座標系に陽炎発生領域を設定する手法の説明図である。
【図13】本実施形態の詳細な処理のフローチャートである。
【図14】本実施形態の詳細な処理のフローチャートである。
【図15】ハードウェア構成例である。
【図16】図16(A)(B)(C)は種々の形態のシステム例である。
【符号の説明】
HPL 陽炎ポリゴン(画像変換用オブジェクト)、
IMH 陽炎画像(元画像変換用画像)、
VREG 視野領域、HREG 陽炎発生領域
100 処理部、110 オブジェクト空間設定部、
112 移動・動作処理部、114 仮想カメラ制御部、
120 画像生成部、121 ジオメトリ処理部、122 描画部、
123 テクスチャマッピング部、124 隠面消去部、125 α合成部、
130 音生成部、160 操作部、170 記憶部、
172 描画バッファ、174 Zバッファ、176 テクスチャ記憶部、
180 情報記憶媒体、190 表示部、
192 音出力部、194 携帯型情報記憶装置、196 通信部
Claims (25)
- 画像生成を行う画像生成システムであって、
オブジェクト空間に、オブジェクトを配置設定するオブジェクト空間設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、
前記オブジェクト空間設定部が、
オブジェクト空間に、大きさが異なる複数の元画像変換用オブジェクトを配置設定し、
前記画像生成部が、
前記複数の元画像変換用オブジェクト以外のオブジェクトを描画バッファに描画することで元画像を生成し、
前記複数の元画像変換用オブジェクトそれぞれについて、元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、所与のずらし量だけずらし、ずらし後のテクスチャ座標で指定される元画像を、当該元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される元画像がマッピングされた、当該透視投影位置に位置する当該元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することを特徴とする画像生成システム。 - 請求項1において、
前記複数の元画像変換用オブジェクトそれぞれに、テクスチャ座標のずらし量を含むパラメータを設定するパラメータ設定部を含み、
前記パラメータ設定部が、
仮想カメラから見て奥側にある元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を大きくすることを特徴とする画像生成システム。 - 請求項1又は2において、
前記画像生成部が、
第1の元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、所与のずらし量だけずらし、ずらし後のテクスチャ座標で指定される元画像を、当該第1の元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される元画像がマッピングされた、当該透視投影位置に位置する当該第1の元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することによって第2の元画像を生成し、
第2の元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、所与のずらし量だけずらし、ずらし後のテクスチャ座標で指定される第2の元画像を、当該第2の元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される第2の元画像がマッピングされた、当該透視投影位置に位置する当該第2の元画像変換用オブジェクトを、第2の元画像が描画されている描画バッファに描画することを特徴とする画像生成システム。 - 請求項1〜3のいずれかにおいて、
複数の元画像変換用オブジェクトそれぞれに、元画像変換用オブジェクトの大きさ、位置、移動速度、及びテクスチャ座標のずらし量の少なくとも1つを含むパラメータを設定するパラメータ設定部を含み、
前記パラメータ設定部が、
複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定することを特徴とする画像生成システム。 - 請求項4において、
前記パラメータ設定部が、
複数の元画像変換用オブジェクトそれぞれに、元画像変換用オブジェクトのカメラ座標系での位置を、前記パラメータとして設定することを特徴とする画像生成システム。 - 画像生成を行う画像生成システムであって、
オブジェクト空間に、オブジェクトを配置設定するオブジェクト空間設定部と、
テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、
前記パラメータ設定部が、
ワールド座標系の所与の発生領域の境界に近い場所に位置する元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を小さくし、
前記画像生成部が、
発生領域内に配置設定されている元画像変換用オブジェクトが、仮想カメラの視野領域内に入った場合に、
元画像変換用オブジェクト以外のオブジェクトを描画バッファに描画することで元画像を生成し、
元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、当該元画像変換用オブジェクトに設定されているずらし量だけずらし、ずらし後のテクスチャ座標で指定される元画像を、当該元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される元画像がマッピングされた、当該透視投影位置に位置する当該元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することを特徴とする画像生成システム。 - 請求項6において、
前記パラメータ設定部が、
仮想カメラから見て奥側にある元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を大きくすることを特徴とする画像生成システム。 - 請求項6又は7において、
前記画像生成部が、
第1の元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、当該第1の元画像変換用オブジェクトに設定されているずらし量だけずらし、ずらし後のテクスチャ座標で指定される元画像を、当該第1の元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される元画像がマッピングされた、当該透視投影位置に位置する当該第1の元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することによって第2の元画像を生成し、
第2の元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、当該第2の元画像変換用オブジェクトに設定されているずらし量だけずらし、ずらし後のテクスチャ座標で指定される第2の元画像を、当該第2の元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される第2の元画像がマッピングされた、当該透視投影位置に位置する当該第2の元画像変換用オブジェクトを、第2の元画像が描画されている描画バッファに描画することを特徴とする画像生成システム。 - 請求項6〜8のいずれかにおいて、
前記パラメータ設定部が、
元画像変換用オブジェクトの大きさ、位置、及び移動速度の少なくとも1つと、前記テクスチャ座標のずらし量とを含むパラメータを設定する際に、複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定することを特徴とする画像生成システム。 - 請求項9において、
前記パラメータ設定部が、
元画像変換用オブジェクトに、元画像変換用オブジェクトのカメラ座標系での位置を、前記パラメータとして設定することを特徴とする画像生成システム。 - 請求項1〜10のいずれかにおいて、
前記画像生成部が、
元画像変換用オブジェクトの奥行き値と元画像のピクセルの奥行き値を比較し、元画像変換用オブジェクトの奥行き値の方がピクセルの奥行き値よりも仮想カメラから見て手前側となるピクセルに対して、元画像変換用オブジェクトの画像を描画することを特徴とする画像生成システム。 - 請求項1〜11のいずれかにおいて、
元画像変換用オブジェクトが、元画像に陽炎効果を施すための陽炎ポリゴンであることを特徴とする画像生成システム。 - 画像を生成するためのプログラムであって、
オブジェクト空間に、オブジェクトを配置設定するオブジェクト空間設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記オブジェクト空間設定部が、
オブジェクト空間に、大きさが異なる複数の元画像変換用オブジェクトを配置設定し、
前記画像生成部が、
前記複数の元画像変換用オブジェクト以外のオブジェクトを描画バッファに描画することで元画像を生成し、
前記複数の元画像変換用オブジェクトそれぞれについて、元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、所与のずらし量だけずらし、ずらし後のテクスチャ座標で指定される元画像を、当該元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される元画像がマッピングされた、当該透視投影位置に位置する当該元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することを特徴とするプログラム。 - 請求項13において、
前記複数の元画像変換用オブジェクトそれぞれに、テクスチャ座標のずらし量を含むパラメータを設定するパラメータ設定部としてコンピュータを機能させ、
前記パラメータ設定部が、
仮想カメラから見て奥側にある元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を大きくすることを特徴とするプログラム。 - 請求項13又は14において、
前記画像生成部が、
第1の元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、所与のずらし量だけずらし、ずらし後のテクスチャ座標で指定される元画像を、当該第1の元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される元画像がマッピングされた、当該透視投影位置に位置する当該第1の元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することによって第2の元画像を生成し、
第2の元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、所与のずらし量だけずらし、ずらし後のテクスチャ座標で指定される第2の元画像を、当該第2の元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される第2の元画像がマッピングされた、当該透視投影位置に位置する当該第2の元画像変換用オブジェクトを、第2の元画像が描画されている描画バッファに描画することを特徴とするプログラム。 - 請求項13〜15のいずれかにおいて、
複数の元画像変換用オブジェクトそれぞれに、元画像変換用オブジェクトの大きさ、位置、移動速度、及びテクスチャ座標のずらし量の少なくとも1つを含むパラメータを設定するパラメータ設定部としてコンピュータを機能させ、
前記パラメータ設定部が、
複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定することを特徴とするプログラム。 - 請求項16において、
前記パラメータ設定部が、
複数の元画像変換用オブジェクトそれぞれに、元画像変換用オブジェクトのカメラ座標系での位置を、前記パラメータとして設定することを特徴とするプログラム。 - 画像を生成するためのプログラムであって、
オブジェクト空間に、オブジェクトを配置設定するオブジェクト空間設定部と、
テクスチャ座標のずらし量を含むパラメータを元画像変換用オブジェクトに設定するパラメータ設定部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記パラメータ設定部が、
ワールド座標系の所与の発生領域の境界に近い場所に位置する元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を小さくし、
前記画像生成部が、
発生領域内に配置設定されている元画像変換用オブジェクトが、仮想カメラの視野領域内に入った場合に、
元画像変換用オブジェクト以外のオブジェクトを描画バッファに描画することで元画像を生成し、
元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、当該元画像変換用オブジェクトに設定されているずらし量だけずらし、ずらし後のテクスチャ座標で指定される元画像を、当該元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される元画像がマッピングされた、当該透視投影位置に位置する当該元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することを特徴とするプログラム。 - 請求項18において、
前記パラメータ設定部が、
仮想カメラから見て奥側にある元画像変換用オブジェクトほど、該元画像変換用オブジェクトに設定するテクスチャ座標のずらし量を大きくすることを特徴とするプログラム。 - 請求項18又は19において、
前記画像生成部が、
第1の元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、当該第1の元画像変換用オブジェクトに設定されているずらし量だけずらし、ずらし後のテクスチャ座標で指定される元画像を、当該第1の元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される元画像がマッピングされた、当該透視投影位置に位置する当該第1の元画像変換用オブジェクトを、元画像が描画されている描画バッファに描画することによって第2の元画像を生成し、
第2の元画像変換用オブジェクトをスクリーン座標系に透視変換し、透視投影位置に対応するテクスチャ座標を、当該第2の元画像変換用オブジェクトに設定されているずらし量だけずらし、ずらし後のテクスチャ座標で指定される第2の元画像を、当該第2の元画像変換用オブジェクトにマッピングし、ずらし後のテクスチャ座標で指定される第2の元画像がマッピングされた、当該透視投影位置に位置する当該第2の元画像変換用オブジェクトを、第2の元画像が描画されている描画バッファに描画することを特徴とするプログラム。 - 請求項18〜20のいずれかにおいて、
前記パラメータ設定部が、
元画像変換用オブジェクトの大きさ、位置、及び移動速度の少なくとも1つと、前記テクスチャ座標のずらし量とを含むパラメータを設定する際に、複数の元画像変換用オブジェクトに対して互いに異なるパラメータを設定することを特徴とするプログラム。 - 請求項21において、
前記パラメータ設定部が、
元画像変換用オブジェクトに、元画像変換用オブジェクトのカメラ座標系での位置を、前記パラメータとして設定することを特徴とするプログラム。 - 請求項13〜22のいずれかにおいて、
前記画像生成部が、
元画像変換用オブジェクトの奥行き値と元画像のピクセルの奥行き値を比較し、元画像変換用オブジェクトの奥行き値の方がピクセルの奥行き値よりも仮想カメラから見て手前側となるピクセルに対して、元画像変換用オブジェクトの画像を描画することを特徴とするプログラム。 - 請求項13〜23のいずれかにおいて、
元画像変換用オブジェクトが、元画像に陽炎効果を施すための陽炎ポリゴンであることを特徴とするプログラム。 - コンピュータ読み取り可能な情報記憶媒体であって、請求項13〜24のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003133612A JP4229317B2 (ja) | 2003-05-12 | 2003-05-12 | 画像生成システム、プログラム及び情報記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003133612A JP4229317B2 (ja) | 2003-05-12 | 2003-05-12 | 画像生成システム、プログラム及び情報記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004334801A JP2004334801A (ja) | 2004-11-25 |
JP4229317B2 true JP4229317B2 (ja) | 2009-02-25 |
Family
ID=33508094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003133612A Expired - Fee Related JP4229317B2 (ja) | 2003-05-12 | 2003-05-12 | 画像生成システム、プログラム及び情報記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4229317B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4641831B2 (ja) * | 2005-03-14 | 2011-03-02 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及び画像生成システム |
JP2008176522A (ja) * | 2007-01-18 | 2008-07-31 | Sgi Japan Ltd | デフォーカス画像の生成方法及び生成装置 |
JP5190832B2 (ja) * | 2007-03-05 | 2013-04-24 | サミー株式会社 | 画像生成装置、遊技機及び画像生成プログラム |
JP2009003812A (ja) * | 2007-06-22 | 2009-01-08 | Sgi Japan Ltd | デフォーカス画像の生成方法及び生成装置 |
CN101794534B (zh) * | 2010-04-13 | 2012-10-31 | 中国测绘科学研究院 | 一种分区统计地图中统计图形自动排版定位方法 |
CN113421308A (zh) * | 2021-07-21 | 2021-09-21 | 北京沃东天骏信息技术有限公司 | 图像标定方法和装置 |
-
2003
- 2003-05-12 JP JP2003133612A patent/JP4229317B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004334801A (ja) | 2004-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7479961B2 (en) | Program, information storage medium, and image generation system | |
JP4804122B2 (ja) | プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム | |
JP3777288B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4717622B2 (ja) | プログラム、情報記録媒体および画像生成システム | |
JP4305903B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2006318388A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4651527B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP3280355B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP2004298375A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4229317B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP3413383B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4743770B2 (ja) | 画像生成システム、プログラム、及び情報記憶媒体 | |
JP2004070670A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2006252426A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4528008B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4707078B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4488346B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4913399B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4187192B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4577968B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4632855B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4574058B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4592043B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4592042B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4476040B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081024 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081126 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4229317 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |