説明

プログラム、情報記憶媒体及び画像生成システム

【課題】少ないリソースでリアルな環境マッピングを実現できるプログラム、情報記憶媒体及び画像生成システムを提供すること。
【解決手段】画像生成システムは、四面体環境テクスチャ生成部と、三角形領域TR1、TR2、TR3、TR4により形成されるテクスチャ領域が確保されるテクスチャ記憶部と、テクスチャマッピング部を含む。四面体環境テクスチャ生成部は、仮想カメラの視線方向をD1、D2、D3、D4方向に設定してレンダリング処理を行い、画像IM1、IM2、IM3、IM4をテクスチャ領域の三角形領域TR1、TR2、TR3、TR4に描画することで、TR1、TR2、TR3、TR4により形成されるテクスチャ領域に四面体環境テクスチャを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【0002】
従来より、車、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。このような画像生成システムでは、仮想現実感の向上のために、よりリアルな画像を生成することが課題となっており、このような課題を解決する1つの手法として、環境マッピングと呼ばれる手法が知られている。
【0003】
この環境マッピングのうち動的環境マッピングでは、オブジェクトの周囲の環境を表す環境テクスチャを動的(リアルタイム)に生成し、生成された環境テクスチャをオブジェクトにマッピングすることで、オブジェクトへの環境の映り込みを表現する。
【0004】
また環境マッピングとしては、四面体環境マッピングやキューブ環境マッピングなどが知られている。そしてキューブ環境マッピングはハードウェアによりサポートされている場合が多いが、四面体環境マッピングはハードウェアによりサポートされていない場合が多い。従って、限られたメモリー等のリソースで、如何にしてリアルな環境マッピングを実現するかが技術的課題になる。
【特許文献1】特開2001−70633号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ないリソースでリアルな環境マッピングを実現できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0006】
本発明は、画像を生成する画像生成システムであって、四面体環境テクスチャを生成する四面体環境テクスチャ生成部と、第1の三角形領域と、前記第1の三角形領域と辺を共有する第2の三角形領域と、前記第2の三角形領域と辺を共有する第3の三角形領域と、前記第3の三角形領域と辺を共有する第4の三角形領域とにより形成されるテクスチャ領域が確保されるテクスチャ記憶部と、オブジェクトに対してテクスチャマッピング処理を行うテクスチャマッピング部とを含み、前記四面体環境テクスチャ生成部は、仮想カメラの視線方向を第1、第2、第3、第4の方向に設定して第1、第2、第3、第4のレンダリング処理を行い、前記第1、第2、第3、第4のレンダリング処理により、第1、第2、第3、第4の画像を前記テクスチャ領域の前記第1、第2、第3、第4の三角形領域に描画することで、前記第1、第2、第3、第4の三角形領域により形成される前記テクスチャ領域に四面体環境テクスチャを生成する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0007】
本発明では、仮想カメラの視線方向が第1、第2、第3、第4の方向に設定されて生成された第1、第2、第3、第4の画像が、テクスチャ領域の第1、第2、第3、第4の三角形領域に描画される。そして、第1、第2、第3、第4の三角形領域により形成されるテクスチャ領域に、四面体環境テクスチャが生成され、環境テクスチャマッピングが行われる。このようにテクスチャ領域に四面体環境テクスチャを生成すれば、テクスチャ記憶部の使用記憶容量を節約できるため、少ないリソースでリアルな環境マッピングを実現できる。
【0008】
また本発明では、前記第1、第2、第3、第4の三角形領域は直角三角形領域であり、前記テクスチャ記憶部には、前記第1、第2、第3、第4の三角形領域により形成される矩形のテクスチャ領域が確保されていてもよい。
【0009】
このように、確保されるテクスチャ領域を矩形の形状にすれば、テクスチャ記憶領域を更に効率的に使用できるようになる。
【0010】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記四面体環境テクスチャ生成部は、前記第1、第2、第3、第4の画像の三角形領域の形状が前記第1、第2、第3、第4の三角形領域の形状に変形されるように、前記第1、第2、第3、第4のレンダリング処理を行って、前記四面体環境テクスチャを生成するようにしてもよい。
【0011】
この場合の変形処理は、変形を実現するマトリクスを、レンダリング処理に使用するマトリクスに含ませることで実現できる。
【0012】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記四面体環境テクスチャ生成部は、前記第1、第2の三角形領域の境界、前記第2、第3の三角形領域の境界、前記第3、第4の三角形領域の境界において画像が連続するように、前記第1、第2、第3、第4のレンダリング処理を行って、前記四面体環境テクスチャを生成するようにしてもよい。
【0013】
このようにすれば、四面体環境テクスチャにおいて三角形領域間の境界の画像が連続するようになる。従って四面体環境テクスチャに対して所与の処理を行った場合に、正しい処理結果を得ることができ、画像の品質の向上等を図れる。
【0014】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記矩形テクスチャ領域に生成された前記四面体環境テクスチャに対してエフェクト処理を施すエフェクト処理部を含むようにしてもよい。
【0015】
このようなエフェクト処理を行うことで、高品質でリアルな環境マッピングを実現できる。また本発明では、四面体環境テクスチャにおいて三角形領域間の境界の画像が連続するようになる。従って、このようなエフェクト処理を行った場合にも、正しい処理結果を得ることができ、画像の品質の向上等を図れる。
【0016】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、生成された四面体環境テクスチャに基づいて、キューブ環境テクスチャを生成するキューブ環境テクスチャ生成部を含み(キューブ環境テクスチャ生成部としてコンピュータを機能させ)、前記テクスチャマッピング部は、生成されたキューブ環境テクスチャに基づいてテクスチャマッピング処理を行うようにしてもよい。
【0017】
このようにすれば、例えばキューブ環境マッピングがサポートされているような画像生成システムにおいて、少ない処理負荷でリアルな環境マッピングを実現できる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記キューブ環境テクスチャ生成部は、前記第1、第2、第3、第4の三角形領域に描画された第1、第2、第3、第4の三角形画像が、その第1、第2、第3、第4のプリミティブ面にマッピングされる四面体オブジェクトを用いて、前記キューブ環境テクスチャを生成するようにしてもよい。
【0019】
このようにすれば、四面体オブジェクトを用意するだけで、四面体環境テクスチャを用いたキューブ環境マッピングを実現できるようになる。
【0020】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記キューブ環境テクスチャ生成部は、前記四面体オブジェクト内に設定された仮想カメラの視線方向を、第5、第6、第7、第8、第9、第10の方向に設定して第5、第6、第7、第8、第9、第10のレンダリング処理を行うことで、前記キューブ環境テクスチャを生成するようにしてもよい。
【0021】
こうすれば簡素な処理でキューブ環境テクスチャを生成できる。
【0022】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャマッピング部は、前記第1、第2、第3、第4の三角形領域に描画された第1、第2、第3、第4の三角形画像が、その第1、第2、第3、第4のプリミティブ面にマッピングされる四面体オブジェクトを用いて、オブジェクトに対する環境マッピングを行うようにしてもよい。
【0023】
このようにすれば、例えばスフィア環境マッピングなどの種々の環境マッピングを実現できるようになる。
【発明を実施するための最良の形態】
【0024】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0025】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0026】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0027】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、ハードディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0028】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0029】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0030】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0031】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170(主記憶部172)をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0032】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0033】
オブジェクト空間設定部110は、車、電車、キャラクタ、建物、球場、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のモデルデータ記憶部176には、移動体オブジェクト(車)、固定物オブジェクト(ビル)、背景オブジェクト(マップ、天球)のモデルデータが記憶されている。そしてオブジェクト空間設定部110は、このモデルデータを用いてオブジェクト空間へのオブジェクトの設定(配置)処理を行う。
【0034】
移動・動作処理部112は、オブジェクト(車、キャラクタ、電車又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(モデルオブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0035】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0036】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0037】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0038】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。
【0039】
ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたモデルの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。即ち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0040】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0041】
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、隠面消去処理、αブレンディング等を行う。
【0042】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のモデルデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
【0043】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0044】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
【0045】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0046】
描画部120は、四面体環境テクスチャ生成部122、エフェクト処理部124、キューブ環境テクスチャ生成部126、テクスチャマッピング部128を含む。なおこれらの一部を省略した構成にしてもよい。
【0047】
四面体環境テクスチャ生成部122は、四面体環境テクスチャ(Tetrahedron environment texture)の生成処理を行う。具体的にはテクスチャ記憶部178には、例えば矩形のテクスチャ領域が確保される。そしてこの矩形テクスチャ領域(広義にはテクスチャ領域)は、第1の直角三角形領域(広義には第1の三角形領域)と、第1の直角三角形領域と長辺(広義には辺)を共有(一致)する第2の直角三角形領域(広義には第2の三角形領域)と、第2の直角三角形領域と短辺(広義には辺)を共有する第3の直角三角形領域(広義には第3の三角形領域)と、第3の直角三角形領域と長辺(辺)を共有する第4の直角三角形領域(広義には第4の三角形領域)とにより形成される。そして四面体環境テクスチャ生成部122は、仮想カメラの視線方向を第1、第2、第3、第4の方向に設定して第1、第2、第3、第4のレンダリング処理を行って、仮想カメラの視線方向が第1、第2、第3、第4の方向に向いた場合に見える画像を生成する。具体的には例えば、第1、第2、第3、第4の画像の三角形領域(正三角形領域)の形状が、第1、第2、第3、第4の直角三角形領域(第1、第2、第3、第4の三角形領域)の形状に変形されるように、第1、第2、第3、第4のレンダリング処理を行う。この形状の変形は、レンダリング処理の際に使用されるマトリクスにより実現できる。また四面体環境テクスチャ生成部122は、第1、第2の直角三角形領域の境界(長辺)、第2、第3の直角三角形領域の境界(短辺)、第3、第4の直角三角形領域の境界(長辺)において画像(ピクセル画像)が連続するように、第1、第2、第3、第4のレンダリング処理を行う。なお第1、第2、第3、第4のレンダリング処理の順序は任意である。
【0048】
そしてこれらの第1、第2、第3、第4のレンダリング処理により、第1、第2、第3、第4の画像(三角形画像、正三角形画像)が、テクスチャ記憶部178のテクスチャ領域の第1、第2、第3、第4の直角三角形領域に描画される。これにより、第1、第2、第3、第4の直角三角形領域により構成される矩形のテクスチャ領域(テクスチャ記憶部178)に四面体環境マッピング用の環境テクスチャが生成(描画)される。
【0049】
エフェクト(ぼかし)処理部124は、テクスチャ記憶部178の矩形テクスチャ領域に生成された四面体環境テクスチャに対してエフェクト処理を施す。この場合のエフェクト処理としては、ぼかし処理、エッジ抽出処理などの各種のフィルタ処理がある。またぼかし処理としては、ピクセル値の平均化処理、ピクセルの入れ替え処理などがある。
【0050】
キューブ環境テクスチャ生成部126(テクスチャ変換部)は、四面体環境テクスチャ生成部122により生成された四面体環境テクスチャ(Cube environment texture)に基づいて、キューブ環境テクスチャの生成処理を行う。具体的には、第1、第2、第3、第4の直角三角形領域に描画された第1、第2、第3、第4の直角三角形画像(広義には第1、第2、第3、第4の三角形画像)が、その第1、第2、第3、第4のプリミティブ面(ポリゴン)にマッピングされる四面体オブジェクトを用意する。即ち第1、第2、第3、第4の直角三角形画像が第1、第2、第3、第4の面にマッピングされるようにテクスチャ座標が設定された四面体オブジェクトを用意する。この四面体オブジェクトのデータはモデルデータ記憶部176に記憶しておくことができる。そしてキューブ環境テクスチャ生成部126は、この四面体オブジェクトを用いたレンダリング処理を行うことで、キューブ環境テクスチャを生成する。具体的には、四面体オブジェクト内に配置された仮想カメラの視線方向を、第5、第6、第7、第8、第9、第10の方向(前、右、後、左、下、上方向)に設定して第5、第6、第7、第8、第9、第10のレンダリング処理を行うことで、キューブ環境テクスチャを生成する。
【0051】
テクスチャマッピング部128は、オブジェクト(モデル)に対してテクスチャマッピング処理を行う。ここでテクスチャマッピング処理は、記憶部170のテクスチャ記憶部178に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部178からテクスチャ(色、α値などの表面プロパティ)のデータを読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行うことができる。
【0052】
そして本実施形態ではテクスチャマッピング部128が、四面体環境テクスチャ生成部122、キューブ環境テクスチャ生成部124などにより生成された環境テクスチャをオブジェクトにマッピングする処理を行う。この場合に、必要であれば、オブジェクトに設定された法線ベクトルの座標をテクスチャ座標に変換するなどのテクスチャ座標の演算処理を行う。
【0053】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0054】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0055】
2.本実施形態の手法
2.1 四面体環境テクスチャの生成
本実施形態では図2に示すように、仮想的な四面体(正四面体)オブジェクトOBT内に設定された仮想カメラVCから見える環境の画像を、四面体環境テクスチャとしてリアルタイムに動的に生成している。
【0056】
具体的には図3(A)に示すように、仮想的な立方体オブジェクトOBCの中心点CPCに設定された仮想カメラVCの視線方向をD1方向に設定する。このD1方向は、立方体オブジェクトOBCの中心点CPCから頂点VC1に向かう方向である。これは図2において、四面体オブジェクトOBTの中心点CPCに設定された仮想カメラVCの視線方向を、OBTを構成する正三角形の面SF1の中心点(重心)に向けることに相当する。この場合、仮想カメラVCの視線方向であるD1方向のベクトルと面SF1は直交するようになる。
【0057】
そして、このような視線方向がD1方向に設定された仮想カメラVCから見える周囲の環境の画像のレンダリング処理(第1のレンダリング処理)により、図4(A)の第1の画像IM1が生成される。例えば仮想カメラVCは移動体オブジェクトの代表点(例えば中心点)の位置に設定される。そしてこの仮想カメラVCの視線方向がD1方向に設定されて、移動体オブジェクト(車、電車)の周囲の環境の画像(空、ビル等の背景)が第1の画像IM1として生成される。
【0058】
そして本実施形態ではこの第1の画像IM1は、図4(A)に示すように第1の直角三角形領域TR1に描画される。即ち仮想カメラVCのビューポートがTR1、TR2の領域に設定され、TR1、TR2のうちTR1だけが描画領域に設定されて画像IM1が描画される。
【0059】
ここでテクスチャ記憶部178には、動的環境テクスチャの生成領域として、矩形(長方形、正方形)のテクスチャ領域RERが確保されている。この矩形テクスチャ領域RERは、第1の直角三角形領域TR1と、TR1とその長辺LS1を共有する第2の直角三角形領域TR2と、TR2とその短辺SS1を共有する第3の直角三角形領域TR3と、TR3とその長辺LS2を共有する第4の直角三角形領域TR4とにより形成される。なお領域TR1、TR2、TR3、TR4の形状は二等辺直角三角形であってもよいし、二等辺ではない直角三角形であってもよいし、直角三角形以外の三角形であってもよい。
【0060】
そして画像IM1の直角三角形領域TR1へのレンダリング処理は図5(A)に示す手法で実現される。即ち画像IM1の三角形領域(図2の面SF1)の形状が、直角三角形領域TR1の形状に変形されるように、レンダリング処理が行われる。具体的には、三角形領域(正三角形領域)の頂点VA、VB、VCが直角三角形領域TR1の頂点VTA、VTB、VTCに一致するように変形処理が行われる。こうすることで、画像IM1の三角形領域の画像が変形されて、直角三角形領域TR1に描画されるようになる。
【0061】
次に図3(B)に示すように、仮想カメラVCの視線方向が、立方体オブジェクトOBCの中心点CPCから頂点VC8に向かう方向である第2の方向D2に設定される。これは図2において仮想カメラVCの視線方向を、四面体オブジェクトOBTを構成する正三角形の面SF2の中心点(重心)に向けることに相当する。この場合、仮想カメラVCのD2方向のベクトルと面SF2は直交するようになる。また第1の方向D1と第2の方向D2のなす角度θ1は、θ1=arctan(−1/3)になる。
【0062】
このような視線方向がD2方向に設定された仮想カメラVCから見える周囲の環境の画像のレンダリング処理(第2のレンダリング処理)により、図4(B)に示すように第2の画像IM2が第2の直角三角形領域TR2に描画される。即ち領域TR1、TR2のうちTR2だけが描画領域に設定されて画像IM2が描画される。この場合に画像IM2の直角三角形領域TR2へのレンダリング処理は図5(A)と同様の手法で実現される。
【0063】
次に図3(C)に示すように、仮想カメラVCの視線方向が、立方体オブジェクトOBCの中心点CPCから頂点VC6に向かう方向である第3の方向D3に設定される。これは図2において仮想カメラVCの視線方向を、四面体オブジェクトOBTを構成する正三角形の面SF3の中心点(重心)に向けることに相当する。この場合、仮想カメラVCのD3方向のベクトルと面SF3は直交するようになる。また第2の方向D2と第3の方向D3のなす角度θ2は、θ2=arctan(−1/3)になる。
【0064】
このような視線方向がD3方向に設定された仮想カメラVCから見える周囲の環境の画像のレンダリング処理(第3のレンダリング処理)により、図4(C)に示すように第3の画像IM3が第3の直角三角形領域TR3に描画される。即ち仮想カメラVCのビューポートがTR1、TR2の領域からTR3、TR4の領域に切り替えられ、TR3、TR4のうちTR3だけが描画領域に設定されて画像IM3が描画される。この場合に画像IM3の直角三角形領域TR3へのレンダリング処理は図5(A)と同様の手法で実現される。
【0065】
次に図3(D)に示すように、仮想カメラVCの視線方向が、立方体オブジェクトOBCの中心点CPCから頂点VC3に向かう方向である第4の方向D4に設定される。これは図2において仮想カメラVCの視線方向を、四面体オブジェクトOBTを構成する正三角形の面SF4の中心点(重心)に向けることに相当する。この場合、仮想カメラVCのD4方向のベクトルと面SF4は直交するようになる。また第3の方向D3と第4の方向D4のなす角度θ3は、θ3=arctan(−1/3)になる。
【0066】
このような視線方向がD4方向に設定された仮想カメラVCから見える周囲の環境の画像のレンダリング処理(第4のレンダリング処理)により、図4(D)に示すように第4の画像IM4が第4の直角三角形領域TR4に描画される。この場合に、画像IM4の直角三角形領域TR4へのレンダリング処理は図5(A)と同様の手法で実現される。
【0067】
図6に、本実施形態により生成された四面体環境テクスチャの例を示す。図6に示すように本実施形態では、四面体環境テクスチャが、矩形のテクスチャ領域にコンパクトにまとめられて記憶される。従ってテクスチャ記憶部の使用記憶容量を節約でき、少ないリソースでリアルな環境マッピングを実現できる。
【0068】
またキューブ環境テクスチャを動的にリアルタイムに生成しようとすると、処理負荷が重い環境画像のレンダリング処理が6回必要になる。これに対して本実施形態によれば、環境画像のレンダリング処理は4回で済むため、処理負荷を軽減できる。
【0069】
また例えば図5(B)に示す比較例の手法では、図5(A)に示すような直角三角形の形状への変形処理が行われない。このため、四面体環境テクスチャが書き込まれるテクスチャ領域が大きくなってしまい、図4(A)〜(D)の本実施形態の手法に比べて、テクスチャ記憶部の使用記憶容量が圧迫されてしまう。
【0070】
また図5(B)の比較例の手法では、三角形領域の境界BL2とBL3、BL4とBL5、BL6とBL7が一致しない。従って、四面体環境テクスチャに対してぼかし処理などのエフェクト処理を施すことが難しいという問題がある。例えば図5(C)では、周囲のピクセルPXA、PXB、PXC、PXDの色情報(広義にはピクセル情報)に基づいて、ピクセルPXの色情報を決定するぼかし処理が行われている。具体的にはPXA、PXB、PXC、PXDの色情報の平均値により、ピクセルPXの色情報が求められるぼかし処理が行われている。
【0071】
図5(B)の比較例では三角形領域の境界が一致しないため、このようなぼかし処理を行った場合に、ピクセルPXB、PXCが隣の三角形領域のピクセルにはならないため、ぼかし処理の結果が正しい結果にならない。
【0072】
これに対して本実施形態では図7のA1に示すように、直角三角形領域TR1、TR2の境界BL12、直角三角形領域TR2、TR3の境界BL23、直角三角形領域TR3、TR4の境界BL34において画像が連続するようにレンダリング処理が行われて、四面体環境テクスチャが生成される。従って図7のA2に示すように、四面体環境テクスチャに対してぼかし処理を施した場合に、境界BL12、BL23、BL34の付近のピクセルにおいて、ぼかし処理の結果が正しい結果になり、正しいぼかし処理を実現できる。また例えばミップマップや低い指数のスペキュラ反射に使用できるぼかし画像の生成が容易なる。そしてこのようなぼかし処理を行うことで、高品質でリアルな環境マッピングを実現できる。
【0073】
なお本実施形態で生成された四面体環境テクスチャに施されるエフェクト処理は、図5(C)に示すようなぼかし処理に限定されず、種々の処理が考えられる。例えばピクセルの色情報(ピクセル情報)の平均化処理のみならず、重み付けをした平均化処理、所定の関数を用いた処理、ピクセルの入れ替え処理などであってもよい。またぼかし処理以外のエッジ検出(強調)処理などのエフェクト処理であってもよい。即ち本実施形態のエフェクト処理は、直角三角形領域間の境界の画像が連続していることで正しい結果が得られるようなエフェクト処理であればよい。
【0074】
2.2 キューブ環境テクスチャへの変換
キューブ環境マッピングは、画像生成システムにおいてハードウェア的にサポートされている場合がある。一方、四面体環境マッピングは、ハードウェア的にサポートされていない場合が多い。そこで本実施形態では、四面体環境テクスチャを変換してキューブ環境テクスチャを生成する手法を採用している。
【0075】
具体的には図8(A)に示すような四面体オブジェクトOBSを用意する。この四面体オブジェクトOBSには、動的にリアルタイムに生成された四面体環境テクスチャがマッピングされる。本実施形態では、このように四面体環境テクスチャがマッピングされた四面体オブジェクトOBSを用いて、キューブ環境テクスチャを生成している。
【0076】
具体的には図8(A)に示すように四面体オブジェクトOBSは、第1〜第4のプリミティブ面SS1、SS2、SS3、SS4(ポリゴン)により構成される。そして図8(B)のC1の四面体オブジェクトOBSの展開図に示されるように、これらのプリミティブ面SS1、SS2、SS3、SS4には、図4(A)〜(D)の手法で直角三角形領域TR1、TR2、TR3、TR4に描画された直角三角形画像IMT1、IMT2、IMT3、IMT4がマッピングされる。
【0077】
即ちこれらの直角三角形画像IMT1、IMT2、IMT3、IMT4がプリミティブ面SS1、SS2、SS3、SS4にマッピングされるように、四面体オブジェクトOBSの頂点VSA、VSB、VSCに対してテクスチャ座標が設定される。そしてこのテクスチャ座標に基づいてテクスチャ記憶部178から、図8(B)のC2に示す四面体環境テクスチャが読み出されて、四面体オブジェクトOBSにマッピングされる。このようなテクスチャマッピングを行うことで、図5(A)で直角三角形画像に変形された画像が、元の正三角形画像に戻る。
【0078】
そしてこの四面体オブジェクトOBS内(中心点)に仮想カメラVCを配置し、図9(A)に示すように仮想カメラVCの視線方向を、第5、第6、第7、第8、第9、第10の方向D5、D6、D7、D8、D9、D10に設定する。そして第5、第6、第7、第8、第9、第10のレンダリング処理を行う。こうすることで図9(B)に示すようなキューブ環境テクスチャが生成される。
【0079】
具体的には例えば、四面体オブジェクトOBS内に配置された仮想カメラVCの視線方向をD5方向に設定して第5のレンダリング処理を行い、生成された画像を正方形(矩形)の領域CR5に描画する。同様に、OBS内に配置された仮想カメラVCの視線方向をD6、D7、D8、D9、D10方向に設定して第6、第7、第8、第9、第10のレンダリング処理を行い、生成された画像を正方形(矩形)の領域CR6、CR7、CR8、CR9、CR10に描画する。こうすることで、図10に示すようなキューブ環境テクスチャを生成できる。
【0080】
そして生成されたキューブ環境テクスチャを用いてオブジェクトへのキューブ環境マッピング処理を行う。例えばキューブ環境マッピングをサポートしてる画像生成システムを利用してキューブ環境マッピングを行う。例えば車、電車等の移動体オブジェクトに対してキューブ環境テクスチャを用いたキューブ環境マッピングを行うことで、周囲の環境が移動体オブジェクトに映り込んだリアルな画像を生成できる。
【0081】
例えばキューブ環境テクスチャを動的にリアルタイムに生成しようとすると、環境画像のレンダリング処理が6回必要になる。この点、本実施形態では図3(A)〜図4(D)に示すように、四面体環境テクスチャの生成は4回のレンダリング処理で済む。従って、処理負荷が重い動的な環境テクスチャ生成についてのレンダリング処理の回数を減らすことができる。また図8(A)〜図9(B)で説明したキューブ環境テクスチャの生成処理は、移動体オブジェクトの周囲の背景オブジェクトの描画が必要な環境画像のレンダリング処理に比べて負荷が軽い。従って本実施形態によれば全体としての処理負荷を軽減できる。
【0082】
なお本実施形態におけるオブジェクト(移動体オブジェクト)への環境マッピングはキューブ環境マッピングには限定されない。例えばスフィア環境マッピング、パラボロイド環境マッピング、シリンダ環境マッピングなどであってもよい。
【0083】
例えば図11にスフィア環境マッピングの例を示す。図11では、四面体オブジェクトOBS内に、環境マッピングの対象となるオブジェクトOB(移動体オブジェクト)が配置される。そして仮想カメラの視線ベクトルSLとオブジェクトの法線ベクトルNとに基づいて反射ベクトルRLが求められる。そしてこの反射ベクトルRLの方向の直線と四面体オブジェクトOBSとの交点IPの画像情報が、オブジェクトOBの反射点RPの画像情報に設定される。このようにすることで、四面体オブジェクトOBSにマッピングされた四面体環境テクスチャの画像が、オブジェクトOBにマッピングされるようになり、スフィア環境マッピングを実現できる。このように図11では、図8(B)の直角三角形領域TR1、TR2、TR3、TR4に描画された直角三角形画像IMT1、IMT2、IMT3、IMT4が、そのプリミティブ面SS1、SS2、SS3、SS4にマッピングされる四面体オブジェクトOBSを用いて、オブジェクトOBに対する環境マッピングが行われている。
【0084】
なおパラボロイド環境マッピングを行う場合には、例えば生成された四面体環境テクスチャをメッシュ状のオブジェクトにマッピングすることで、魚眼レンズから見たように見える2枚のパラボロイド環境テクスチャを生成して、パラボロイド環境マッピングを実現すればよい。
【0085】
2.3 詳細な処理例
次に本実施形態の詳細な処理例を図12、図13のフローチャートを用いて説明する。
【0086】
まず車、電車等の移動体オブジェクトの位置、方向を演算する(ステップS1)。具体的には、操作部160からの操作データやプログラムなどに基づいて、1フレームごとの移動体オブジェクトの位置の変化や、方向の変化が、リアルタイムに演算される。
【0087】
次に仮想カメラの位置を決定する(ステップS2)。具体的には移動体オブジェクトの位置等に基づいて仮想カメラの位置が決定される。例えば移動体オブジェクトの代表点の位置に仮想カメラが配置される。
【0088】
次に図3(A)に示すように仮想カメラの視線方向をD1方向に設定してマトリクスM1を決定する(ステップS3)。図14にこのマトリクスM1の例を示す。またテクスチャ領域の直角三角形領域TR1を描画領域に設定する(ステップS4)。即ちビューポートを領域TR1及びTR2に設定し、TR1だけを描画領域に設定する。そして図4(A)に示すように、マトリクスM1に基づきD1方向でのレンダリング処理を行い、直角三角形領域TR1に描画する(ステップS5)。
【0089】
次に図3(B)に示すように仮想カメラの視線方向をD2方向に設定してマトリクスM2を決定する(ステップS6)。また直角三角形領域TR2を描画領域に設定する(ステップS7)。そして図4(B)に示すようにマトリクスM2に基づきD2方向でのレンダリング処理を行い、直角三角形領域TR2に描画する(ステップS8)。
【0090】
次に図3(C)に示すように仮想カメラの視線方向をD3方向に設定してマトリクスM3を決定する(ステップS9)。また直角三角形領域TR3を描画領域に設定する(ステップS10)。そして図4(C)に示すようにマトリクスM3に基づきD3方向でのレンダリング処理を行い、直角三角形領域TR3に描画する(ステップS11)。
【0091】
次に図3(D)に示すように仮想カメラの視線方向をD4方向に設定してマトリクスM4を決定する(ステップS12)。また直角三角形領域TR4を描画領域に設定する(ステップS13)。そして図4(D)に示すようにマトリクスM4に基づきD4方向でのレンダリング処理を行い、直角三角形領域TR4に描画する(ステップS14)。
【0092】
以上のようにすることで図6に示すような四面体環境テクスチャが生成される。
【0093】
次に図14のマトリクスM1、M2、M3、M4について説明する。例えばマトリクスM1は、ビューマトリクスV1と、射影マトリクスPと、マトリクスm1、m2、m3、m4を乗算したマトリクスになる。
【0094】
ここでV1は、原点から、(+1、+1、+1)方向を仮想カメラの上向き方向にして(−1、−1、+1)方向を見た時のビューマトリクスである。このビューマトリクスV1により、仮想カメラの視線方向をD1方向に設定できる。また正三角形の頂点が例えば図4(A)のような位置関係になるように仮想カメラの上向き方向(傾き)が設定される。
【0095】
また図15に示すように、マトリクスm1により、二等辺の三角形TRがY方向に沿って+1/3だけ移動する。これにより、四角形QD内に三角形TRが入るようになる。なお射影マトリクスPにより四面体オブジェクトの正三角形は二等辺三角形に変形されている。
【0096】
次にマトリクスm2により、三角形TRがY方向に沿って−1だけ移動する。これにより、原点が三角形TRの底辺に位置するようになる。次にマトリクスm3により、三角形TRが直角三角形に変形される。そしてマトリクスm4により、三角形TRがY方向に沿って+1だけ移動する。これにより、四角形QD内に直角三角形TRが入るようになる。
【0097】
次に、キューブ環境テクスチャ生成及びテクスチャマッピング処理について図13のフローチャートを用いて説明する。まず四面体環境テクスチャがマッピングされる図8(A)の四面体オブジェクトのデータを読み込む(ステップS21)。
【0098】
次に図9(A)に示すように、仮想カメラの視線方向をD5方向に設定してマトリクスM5を決定する(ステップS22)。またマトリクスM5に基づきレンダリング処理を行い、テクスチャ領域である図9(B)の領域CR5に描画する(ステップS23)。
【0099】
同様にして、仮想カメラの視線方向をD6、D7、D8、D9、D10方向に設定してマトリクスM6、M7、M8、M9、M10を決定する(ステップS24、S26、S28、S30、S32)。またマトリクスM6、M7、M8、M9、M10に基づきレンダリング処理を行い、テクスチャ領域である図9(B)の領域CR6、CR7、CR8、CR9、CR10に描画する(ステップS25、S27、S29、S31、S33)。そして生成されたキューブ環境テクスチャを移動体オブジェクトにマッピングする(ステップS34)。以上により、移動体オブジェクトに対して周りの環境が映り込んだリアルな画像が生成されるようになる。
【0100】
3.ハードウェア構成
図16に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0101】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0102】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更(更新)やピクセル(あるいはフラグメント)の描画色の決定を行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0103】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0104】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0105】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0106】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0107】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(第1、第2、第3、第4の三角形領域、第1、第2、第3、第4の三角形画像、テクスチャ領域等)と共に記載された用語(第1、第2、第3、第4の直角三角形領域、第1、第2、第3、第4の直角三角形画像、矩形テクスチャ領域等)は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【0108】
また四面体環境テクスチャの生成手法や環境テクスチャのマッピング手法も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば仮想カメラの視線方向やレンダリング処理の順序も図3(A)〜図4(D)に限定されず、種々の変形実施が可能である。またレンダリング処理の手法も図3(A)〜図4(D)の手法に限定されない。また環境テクスチャのマッピング手法も、図8(A)〜図10で説明したようなキューブ環境マッピング手法には限定されず、種々の環境マッピング手法を採用できる。
【0109】
また本実施形態では領域TR1、TR2、TR3、TR4が直角三角形領域である場合について説明したが、これらの領域TR1、TR2、TR3、TR4は、直角三角形ではない三角形の領域であってもよい。
【0110】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0111】
【図1】本実施形態の画像生成システムの機能ブロック図の例。
【図2】四面体環境マッピングの説明図。
【図3】図3(A)〜(D)は四面体環境テクスチャの生成手法の説明図。
【図4】図4(A)〜(D)は四面体環境テクスチャの生成手法の説明図。
【図5】図5(A)は四面体環境テクスチャの生成手法の説明図であり、図5(B)(C)は比較例の手法及びその問題点の説明図。
【図6】本実施形態により生成された四面体環境テクスチャの例。
【図7】四面体環境テクスチャに対するエフェクト処理手法の説明図。
【図8】図8(A)(B)はキューブ環境テクスチャの生成手法の説明図。
【図9】図9(A)(B)はキューブ環境テクスチャの生成手法の説明図。
【図10】本実施形態により生成されたキューブ環境テクスチャの例。
【図11】スフィア環境マッピングを用いた場合の説明図。
【図12】本実施形態の処理の詳細例。
【図13】本実施形態の処理の詳細例。
【図14】本実施形態で用いられるマトリクスの説明図。
【図15】本実施形態で用いられるマトリクスの説明図。
【図16】ハードウェア構成例。
【符号の説明】
【0112】
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、120 描画部、122 四面体環境テクスチャ生成部、
124 エフェクト処理部、126 キューブ環境テクスチャ生成部、
128 テクスチャマッピング部、130 音生成部、160 操作部、
170 記憶部、172 主記憶部、174 描画バッファ、
176 モデルデータ記憶部、178 テクスチャ記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
画像を生成するためのプログラムであって、
四面体環境テクスチャを生成する四面体環境テクスチャ生成部と、
第1の三角形領域と、前記第1の三角形領域と辺を共有する第2の三角形領域と、前記第2の三角形領域と辺を共有する第3の三角形領域と、前記第3の三角形領域と辺を共有する第4の三角形領域とにより形成されるテクスチャ領域が確保されるテクスチャ記憶部と、
オブジェクトに対してテクスチャマッピング処理を行うテクスチャマッピング部として、
コンピュータを機能させ、
前記四面体環境テクスチャ生成部は、
仮想カメラの視線方向を第1、第2、第3、第4の方向に設定して第1、第2、第3、第4のレンダリング処理を行い、前記第1、第2、第3、第4のレンダリング処理により、第1、第2、第3、第4の画像を前記テクスチャ領域の前記第1、第2、第3、第4の三角形領域に描画することで、前記第1、第2、第3、第4の三角形領域により形成される前記テクスチャ領域に四面体環境テクスチャを生成することを特徴とするプログラム。
【請求項2】
請求項1において、
前記第1、第2、第3、第4の三角形領域は直角三角形領域であり、
前記テクスチャ記憶部には、前記第1、第2、第3、第4の三角形領域により形成される矩形のテクスチャ領域が確保されることを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記四面体環境テクスチャ生成部は、
前記第1、第2、第3、第4の画像の三角形領域の形状が前記第1、第2、第3、第4の三角形領域の形状に変形されるように、前記第1、第2、第3、第4のレンダリング処理を行って、前記四面体環境テクスチャを生成することを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記四面体環境テクスチャ生成部は、
前記第1、第2の三角形領域の境界、前記第2、第3の三角形領域の境界、前記第3、第4の三角形領域の境界において画像が連続するように、前記第1、第2、第3、第4のレンダリング処理を行って、前記四面体環境テクスチャを生成することを特徴とするプログラム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記矩形テクスチャ領域に生成された前記四面体環境テクスチャに対してエフェクト処理を施すエフェクト処理部を含むことを特徴とするプログラム。
【請求項6】
請求項1乃至5のいずれかにおいて、
生成された四面体環境テクスチャに基づいて、キューブ環境テクスチャを生成するキューブ環境テクスチャ生成部としてコンピュータを機能させ、
前記テクスチャマッピング部は、
生成されたキューブ環境テクスチャに基づいてテクスチャマッピング処理を行うことを特徴とするプログラム。
【請求項7】
請求項6において、
前記キューブ環境テクスチャ生成部は、
前記第1、第2、第3、第4の三角形領域に描画された第1、第2、第3、第4の三角形画像が、その第1、第2、第3、第4のプリミティブ面にマッピングされる四面体オブジェクトを用いて、前記キューブ環境テクスチャを生成することを特徴とするプログラム。
【請求項8】
請求項7において、
前記キューブ環境テクスチャ生成部は、
前記四面体オブジェクト内に設定された仮想カメラの視線方向を、第5、第6、第7、第8、第9、第10の方向に設定して第5、第6、第7、第8、第9、第10のレンダリング処理を行うことで、前記キューブ環境テクスチャを生成することを特徴とするプログラム。
【請求項9】
請求項1乃至5のいずれかにおいて、
前記テクスチャマッピング部は、
前記第1、第2、第3、第4の三角形領域に描画された第1、第2、第3、第4の三角形画像が、その第1、第2、第3、第4のプリミティブ面にマッピングされる四面体オブジェクトを用いて、オブジェクトに対する環境マッピングを行うことを特徴とするプログラム。
【請求項10】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至9のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項11】
画像を生成する画像生成システムであって、
四面体環境テクスチャを生成する四面体環境テクスチャ生成部と、
第1の三角形領域と、前記第1の三角形領域と辺を共有する第2の三角形領域と、前記第2の三角形領域と辺を共有する第3の三角形領域と、前記第3の三角形領域と辺を共有する第4の三角形領域とにより形成されるテクスチャ領域が確保されるテクスチャ記憶部と、
オブジェクトに対してテクスチャマッピング処理を行うテクスチャマッピング部とを含み、
前記四面体環境テクスチャ生成部は、
仮想カメラの視線方向を第1、第2、第3、第4の方向に設定して第1、第2、第3、第4のレンダリング処理を行い、前記第1、第2、第3、第4のレンダリング処理により、第1、第2、第3、第4の画像を前記テクスチャ領域の前記第1、第2、第3、第4の三角形領域に描画することで、前記第1、第2、第3、第4の三角形領域により形成される前記テクスチャ領域に四面体環境テクスチャを生成することを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図6】
image rotate

【図10】
image rotate


【公開番号】特開2007−141079(P2007−141079A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−336047(P2005−336047)
【出願日】平成17年11月21日(2005.11.21)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】