JP4574058B2 - Image generation system, program, and information storage medium - Google Patents

Image generation system, program, and information storage medium Download PDF

Info

Publication number
JP4574058B2
JP4574058B2 JP2001135076A JP2001135076A JP4574058B2 JP 4574058 B2 JP4574058 B2 JP 4574058B2 JP 2001135076 A JP2001135076 A JP 2001135076A JP 2001135076 A JP2001135076 A JP 2001135076A JP 4574058 B2 JP4574058 B2 JP 4574058B2
Authority
JP
Japan
Prior art keywords
texture
image
environmental
frame image
generated
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
Application number
JP2001135076A
Other languages
Japanese (ja)
Other versions
JP2002329213A (en
Inventor
大五郎 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2001135076A priority Critical patent/JP4574058B2/en
Publication of JP2002329213A publication Critical patent/JP2002329213A/en
Application granted granted Critical
Publication of JP4574058B2 publication Critical patent/JP4574058B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ(操作者)は、銃などを模して作られたガン型コントローラ(シューティングデバイス)を用いて、画面に映し出される敵キャラクタ(敵オブジェクト)などの標的をシューティングすることで、3次元ゲームを楽しむ。
【0003】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。そして、このような課題を解決する1つの手法として、環境マッピングと呼ばれる手法が知られている。
【0004】
この環境マッピングでは、オブジェクトの周囲の環境を表す環境テクスチャをオブジェクトにマッピングすることで、オブジェクトへの環境の映り込みを表現し、オブジェクトの画像のリアル度を高めている。
【0005】
さて、このような環境マッピングを実現する手法として以下に説明するような第1、第2の手法が考えられる。
【0006】
第1の手法では、オブジェクトにマッピングすべき、擬似的な専用の環境テクスチャを予め用意しておく。そして、この擬似的な環境テクスチャを仮想カメラの方向(或いはオブジェクトの上方)からオブジェクトにマッピングする。
【0007】
しかしながら、この第1の手法は、処理負荷が軽いという有利点がある反面、得られる画像が単調になってしまい、リアルな環境マッピングを実現できないという不利点がある。
【0008】
一方、第2の手法では、オブジェクトの各点から反射方向に見えるべきオブジェクトの周囲の環境の画像を、専用のレンダリングを用いて生成する。そして、生成された画像を環境テクスチャとしてオブジェクトにマッピングする。
【0009】
しかしながら、この第2の手法では、環境テクスチャを生成するために専用のレンダリング処理が必要になる。従って、そのレンダリング処理の分だけ処理負荷が重くなり、この種の画像生成システムに要求されるリアルタイム処理の要請に応えることができない。
【0010】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負荷でリアルな環境マッピングを実現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0011】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、描画バッファに描画された途中段階のフレーム画像に基づいて、オブジェクトにマッピングすべき環境テクスチャを生成する手段と、生成された環境テクスチャをオブジェクトにマッピングしながら、該オブジェクトを、前記途中段階のフレーム画像が描画されている描画バッファに描画し、オブジェクト空間において仮想カメラから見える画像を生成する手段とを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(情報記憶媒体又は搬送波に具現化されるプログラム)であって、上記手段をコンピュータに実現させる(上記手段としてコンピュータを機能させる)ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能(使用可能)な情報記憶媒体であって、上記手段をコンピュータに実現させる(上記手段としてコンピュータを機能させる)ためのプログラムを含むことを特徴とする。
【0012】
本発明によれば、途中段階のフレーム画像に基づき環境テクスチャが生成される。そして、この環境テクスチャがマッピングされるオブジェクトを、途中段階のフレーム画像が描画されている描画バッファに描画することで、最終段階のフレーム画像が生成される。
【0013】
このように本発明では、途中段階のフレーム画像に基づき環境テクスチャが生成されるため、環境テクスチャの生成のための専用のレンダリング処理を行わなくても済むようになる。しかも、この途中段階のフレーム画像は最終段階のフレーム画像の生成にも利用される。従って、本発明によれば、処理負荷がそれほど増えることなく、リアルな環境マッピングを実現できる。
【0014】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、オブジェクトの面の反射方向を表すための反射ベクトルに基づいて、テクスチャ記憶手段から前記環境テクスチャを読み出すためのテクスチャ座標が求められ、求められたテクスチャ座標に基づいて、前記環境テクスチャがオブジェクトにマッピングされることを特徴とする。
【0015】
このようにすれば、オブジェクトの形状に応じたリアルな映り込み表現を、少ない処理負荷で実現できる。
【0016】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記環境テクスチャが、前記途中段階のフレーム画像を所与の形状の仮想オブジェクトにマッピングして変形することで生成されることを特徴とする。
【0017】
このようにすれば、所与の形状の仮想オブジェクトに途中段階のフレーム画像をテクスチャマッピングするだけという簡素な処理で、環境テクスチャを生成できるようになる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、反射ベクトルの第1、第2の座標成分又は該第1、第2の座標成分を線形変換することで得られる第1’、第2’の座標成分が第1、第2のテクスチャ座標成分となる環境テクスチャが、前記途中段階のフレーム画像に基づき生成されることを特徴とする。
【0019】
このようにすれば、反射ベクトルの第1、第2の座標成分、或いは、この第1、第2の座標成分を線形変換することで得られる第1’、第2’の座標成分を、そのまま環境テクスチャの第1、第2のテクスチャ座標成分として用いることが可能になる。これにより、環境テクスチャのマッピング処理の負荷を軽減することが可能になる。
【0020】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記途中段階のフレーム画像が、オブジェクトに映り込ませるべき背景オブジェクトを描画バッファに描画することで生成されることを特徴とする。
【0021】
このようにすれば、例えば最遠景オブジェクト又は中遠景オブジェクトなどを含む背景オブジェクトの画像を、オブジェクトにリアルに映り込ませることが可能になる。
【0022】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記途中段階のフレーム画像を変換して環境テクスチャを生成する際に、前記背景オブジェクトの輝度が変更されることを特徴とする。
【0023】
このようにすれば、現実世界の事象に則したリアルなシミュレーション処理では得ることができない演出効果の高い映り込み表現を、実現できるようになる。
【0024】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記背景オブジェクトが含む最遠景オブジェクトの輝度が、前記背景オブジェクトが含む中遠景オブジェクトに比べてより明るくなるように、輝度変更が行われることを特徴とする。
【0025】
このようにすれば、最遠景オブジェクトの輝度を明るくして目立たせることが可能になり、より演出効果の高い画像を生成できる。
【0026】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、オブジェクトに、ベーステクスチャと環境テクスチャとがマルチテクスチャマッピングされることを特徴とする。
【0027】
なお、この場合のマルチテクスチャマッピングは、画像生成システムのハードウェアによりサポートされている狭義のマルチテクスチャマッピングでもよいし、ベーステクスチャがマッピングされるオブジェクトと環境テクスチャがマッピングされるオブジェクトとを同一位置に描画することで実現される疑似的なマルチテクスチャマッピングでもよい。
【0028】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記ベーステクスチャと環境テクスチャとを用いたα合成処理の際のα値が、オブジェクトの面の方向を表すための法線ベクトルとオブジェクトの面の反射方向を表すための反射ベクトルとに基づいて求められることを特徴とする。
【0029】
このようにすれば、法線ベクトルと反射ベクトルのなす角度等に応じて、環境テクスチャの映り込みの強度が変化するようになり、よりリアルな画像を生成できる。しかも、環境テクスチャのテクスチャ座標を求める処理の際に計算された反射ベクトルを、α値を求める処理に有効利用できるようになり、処理負荷の軽減化を図れる。
【0030】
【発明の実施の形態】
以下、本実施形態について図面を用いて説明する。
【0031】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0032】
1.構成
図1に、本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170を含めばよく)、それ以外のブロックについては任意の構成要素とすることができる。
【0033】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体などのハードウェアにより実現できる。
【0034】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0035】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)をコンピュータに実現(実行、機能)させるためのプログラムが格納され、このプログラムは、例えば1又は複数のモジュール(オブジェクト指向におけるオブジェクトも含む)を含む。
【0036】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【0037】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0038】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0039】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0040】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0041】
なお本発明(本実施形態)の各手段を実現(実行、機能)するためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。
このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0042】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。
【0043】
ここで、処理部100が行う処理としては、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【0044】
処理部100は、テクスチャ座標演算部110、α値演算部112、画像生成部120、音生成部130を含む。なお、処理部100は、これらの全ての機能ブロックを含む必要はない。
【0045】
ここで、テクスチャ座標演算部110は、オブジェクトにマッピングされる環境テクスチャ(オブジェクトの映り込み表現のためのテクスチャであり、光沢表現テクスチャ等も含む)をテクスチャ記憶部176から読み出すためのテクスチャ座標(第1、第2のテクスチャ座標成分)を求める。より具体的には、オブジェクトの面の反射方向を表すための反射ベクトル(オブジェクトの各頂点或いは各面に設定される反射ベクトル)に基づいて、環境テクスチャを読み出すためのテクスチャ座標を求める。更に具体的には、仮想カメラ(視点)の位置とオブジェクトの各頂点(構成点)の位置と各頂点に設定された法線ベクトルとに基づいて、各頂点での反射ベクトルを求める。そして、この求められた反射ベクトルに基づいて、環境テクスチャを読み出すためのテクスチャ座標を求める。
【0046】
α値演算部112は、ベーステクスチャ(環境テクスチャの下層にマッピングされる下地テクスチャ、元絵テクスチャ)と環境テクスチャとをマルチテクスチャマッピングする際のα合成処理(αブレンディング、α加算又はα減算等)のα値を求める。より具体的には、オブジェクトの面の方向を表すための法線ベクトル(オブジェクトの各頂点或いは各面に設定される法線ベクトル)と、オブジェクトの面の反射方向を表すための反射ベクトルとに基づいて、このα値を求める。この場合に、例えば、この法線ベクトルと反射ベクトルとのなす角度が0度に近づくほど環境テクスチャの映り込みが弱くなるように(或いは法線ベクトルと反射ベクトルとのなす角度が直角に近づくほど環境テクスチャの映り込みが強くなるように)、α値を設定することが望ましい。
【0047】
なお、画像生成システムが、1つのオブジェクトに複数のテクスチャを一度に重ねてマッピングできる狭義のマルチテクスチャマッピング機能をハードウェアでサポートしている場合には、このマルチテクスチャマッピング機能を利用して、ベーステクスチャと環境テクスチャのマルチテクスチャマッピングを実現できる。一方、画像生成システムが、このような狭義のマルチテクスチャマッピング機能をサポートしていない場合には、ベーステクスチャがマッピングされるオブジェクトと環境テクスチャがマッピングされるオブジェクトとを同じ位置に描画することで(同じ描画データを用いて描画することで)、ベーステクスチャと環境テクスチャの擬似的なマルチテクスチャマッピングを実現できる。
【0048】
また、α値(A値)は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0049】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部190に出力する。例えば、いわゆる3次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点(構成点)に付与される位置座標、テクスチャ座標、色(輝度)データ、法線ベクトル或いはα値等)が作成される。
そして、この描画データ(プリミティブ面データ)に基づいて、ジオメトリ処理後のオブジェクト(1又は複数プリミティブ面)の画像が、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画される。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成されるようになる。
【0050】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0051】
画像生成部120は、環境テクスチャ生成部122、テクスチャマッピング部124、α合成部126を含む。
【0052】
ここで、環境テクスチャ生成部122は、オブジェクトにマッピングされる環境テクスチャを生成するための処理を行う。より具体的には、描画バッファ(フレームバッファ、ワークバッファ等)に描画された途中段階のフレーム画像に基づいて、環境テクスチャを生成する。そして、生成された環境テクスチャはテクスチャ記憶部176に一時的に記憶(描画)される。
【0053】
この場合、環境テクスチャは、途中段階のフレーム画像を所与の形状(例えばスフィア形状)の仮想オブジェクト(変形のためのテンプレートオブジェクト)にマッピング(スフィアマッピング)して、このフレーム画像を変形することで生成できる。また、オブジェクトの反射ベクトルの第1、第2の座標成分(RX、RY)を線形変換することで得られる座標成分(或いは第1、第2の座標成分そのもの)が、第1、第2のテクスチャ座標成分(U、V)としてそのまま使用できるような変換方式で、途中段階のフレーム画像を変換し、環境テクスチャを生成することが望ましい。
【0054】
なお、環境テクスチャの生成に使用する途中段階のフレーム画像は、オブジェクトに映り込ませるべき背景オブジェクト(空、雲等を表す最遠景オブジェクト、或いは建物、地面、街灯、橋等を表す中遠景オブジェクト)を描画バッファに描画することで生成できる(背景オブジェクト以外のオブジェクトを描画してもよい)。そして、表示部190に表示される最終段階のフレーム画像(オブジェクト空間において仮想カメラから見える画像)は、この途中段階のフレーム画像が描画されている描画バッファに、残りの他のオブジェクト(環境テクスチャがマッピングされるオブジェクト等)を描画することで生成されることになる。
【0055】
テクスチャマッピング部124は、テクスチャ記憶部176に記憶されるテクスチャ(ベーステクスチャ、環境テクスチャ等)をオブジェクトにマッピングするための処理を行う。
【0056】
この場合、テクスチャマッピング部124は、いわゆるムービーテクスチャマッピング機能も有している。また、環境テクスチャ生成部122による環境テクスチャの生成処理は、このテクスチャマッピング部124のテクスチャマッピング機能を利用して生成できる。
【0057】
α合成部126は、α値(A値)に基づくα合成処理(αブレンディング、α加算又はα減算等)を行う。例えばα合成がαブレンディングである場合には下式のような合成処理が行われる。
【0058】
Q=(1−α)×R1+α×R2 (1)
Q=(1−α)×G1+α×G2 (2)
Q=(1−α)×B1+α×B2 (3)
【0059】
ここで、R1、G1、B1は、描画バッファ174に既に描画されている画像(背景画像)の色(輝度)のR、G、B成分であり、R2、G2、B2は、描画バッファに描画するオブジェクト(プリミティブ)の色のR、G、B成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像の色のR、G、B成分である。
【0060】
そして本実施形態では、α値演算部112により得られたα値(αプレーン)に基づいて、α合成部126がα合成処理を行う。より具体的には、α値演算部112により求められたα値に基づいて、ベーステクスチャ(ベーステクスチャがマッピングされたオブジェクト)と環境テクスチャと(環境テクスチャがマッピングされたオブジェクト)とを用いたα合成処理(半透明合成処理)が行われる。
【0061】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0062】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0063】
2.本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。なお、以下では、水面表現に本実施形態を適用した場合を主に例にとり説明するが、本実施形態は、水面表現以外の他の画像表現にも広く適用できる。
【0064】
2.1 途中段階のフレーム画像を利用した環境マッピング
さて、前述のように、環境マッピングを実現する第1の手法では、予め用意された擬似的な専用の環境テクスチャがオブジェクトにマッピングされる。このため、得られる画像は擬似的なものになり、今ひとつリアルな環境マッピングを実現できないという課題がある。
【0065】
また、環境マッピングを実現する第2の手法では、環境テクスチャの生成に専用のレンダリング処理が必要になる。このため、そのレンダリング処理の分だけ処理負荷が重くなってしまうという課題がある。
【0066】
そこで本実施形態では、途中段階のフレーム画像を用いて環境テクスチャを生成し、この途中段階のフレーム画像と、生成された環境テクスチャがマッピングされたオブジェクトとに基づいて、表示部に生成する最終的なフレーム画像を生成している。
【0067】
より具体的には図2のA1に示すように、まず、空、雲などを表す最遠景オブジェクト(天球オブジェクト。ドーム形状、球形状又は円柱形状のオブジェクト)を描画バッファ(フレームバッファ等)に描画する。
【0068】
そして、A2に示すように、建物、地面、橋、街灯などを表す中遠景オブジェクトを描画バッファに描画する。この場合に、環境テクスチャがマッピングされる水面オブジェクトOB(広義にはオブジェクト。以下の説明でも同様)については、描画バッファには描画しないでおく。
【0069】
次に、このように最遠景オブジェクトや中遠景オブジェクトなどの背景オブジェクトを描画することで得られたA2に示す途中段階のフレーム画像(フレーム毎に生成される画面サイズの画像)を変換して、A3に示すように環境テクスチャを生成する。
【0070】
そして、A4に示すように、この生成された環境テクスチャをマッピングしながら、水面オブジェクトOBを描画バッファに描画する。この際、この環境テクスチャと、水面の絵柄を表すベーステクスチャとを、水面オブジェクトにマルチテクスチャマッピングする。
【0071】
そして、このようにして生成されたA5に示す最終段階のフレーム画像をフレーム(1/60秒、1/30秒等)毎に表示部に出力して、ゲーム画像を生成する。
【0072】
このように本実施形態によれば、水面オブジェクトOBの周囲にある背景オブジェクト(空、雲、建物等)の画像が、環境テクスチャとして水面オブジェクトOBにマッピングされるようになる。従って、予め用意された擬似的な環境テクスチャをマッピングする上記の第1の手法に比べて、極めてリアルな環境マッピングを実現でき、プレーヤの仮想現実感を向上できる。
【0073】
また、本実施形態によれば、最終段階のフレーム画像の生成の途中段階で生成されるA2に示す途中段階のフレーム画像を利用して、水面オブジェクトOBにマッピングすべき環境テクスチャが生成される。従って、環境テクスチャの生成に専用のレンダリング処理が必要な前述の第2の手法とは異なり、専用のレンダリング処理を行うことなくA3に示す環境テクスチャを生成できる。従って、少ない処理負荷でリアルな環境マッピングを実現できる。
【0074】
さて、本実施形態では、図2のA3のように生成された環境テクスチャを、例えば以下のような手法により水面オブジェクトOBにマッピングしている。
【0075】
即ち図3に示すように、水面オブジェクトOBの頂点VX(構成点)と仮想カメラVCとを結ぶ方向に沿ったベクトルEを求める。そして、このベクトルEと頂点VXに設定された法線ベクトルNとに基づいて、例えば下式(4)のような演算を行い、頂点VXでの反射ベクトルRを求める。なお、ベクトルE、N、Rは、視点座標系での単位ベクトルである。
【0076】
R(RX、RY、RZ)=2(E・N)N−E (4)
【0077】
なお、上式(4)において”・”はベクトル同士の内積を意味する。
【0078】
そして、この求められた反射ベクトルRに基づいて、環境テクスチャのテクスチャ座標(U、V)を求め、求められたテクスチャ座標により特定される環境テクスチャを水面オブジェクトにマッピングする。
【0079】
このようにすることで、仮想カメラVCと水面オブジェクトOBとの位置関係やOBの面形状に応じた適切な環境テクスチャの絵柄を、水面オブジェクトOBにマッピングできるようになり、よりリアルな環境マッピングを実現できる。
【0080】
しかも、本実施形態では、後述するように、反射ベクトルRの座標成分RX、RYの線形変換で得られる座標成分(或いはRX、RYそのもの)を、テクスチャ座標成分U、Vとしてそのまま用いることができるように、環境テクスチャが生成される。従って、上式(4)により得られた反射ベクトルRの座標成分RX、RYを用いて、少ない処理負荷で環境テクスチャを読み出すことが可能になる。これにより、環境マッピングの処理負荷を更に軽減できる。
【0081】
図4に、環境テクスチャの生成に使用される途中段階のフレーム画像の例を示す。このフレーム画像では、空、雲、建物、橋などの、水面に映り込ませるべき背景のオブジェクトが描画されている。
【0082】
本実施形態では、このようにして生成された図4の途中段階のフレーム画像を、例えば図5に示すような仮想オブジェクト(変形のテンプレートとなるオブジェクト)にマッピングする。この仮想オブジェクトは、中心座標が(0.0、0.0、0.0)で半径が異なる複数の円を同心円状に並べて繋げた形状のオブジェクトである。この場合の同心円の半径の範囲は、例えば0.0〜1.0の範囲となる。
【0083】
そして、この図5の仮想オブジェクトに、図4の途中段階のフレーム画像をテクスチャマッピングすることで、図6に示すような環境テクスチャが生成される。この環境テクスチャの画像は、水面オブジェクトの方から周囲の環境(空、雲、建物)を魚眼レンズを通して見たような画像になっている。
【0084】
次に、図4の途中段階のフレーム画像が描画されている描画バッファに、ベーステクスチャ(水面の波等を表すテクスチャ)をマッピングしながら水面オブジェクトを描画することで、図7に示すようなフレーム画像が生成される。このフレーム画像では、水面に対する周囲の環境の映り込みは表現されていない。
【0085】
次に、図7のフレーム画像が描画されている描画バッファに、図6の環境テクスチャをマッピングしながら水面オブジェクトを描画することで、図8に示すような最終的なフレーム画像が生成される。この図8のフレーム画像では、図7とは異なり、水面に対して周囲の環境(空、雲、建物、橋)が映り込んでいる。従って、図7に比べて非常にリアルな画像になる。
【0086】
図9は、図8の場合とは異なる位置に仮想カメラが移動した時に生成される最終的なフレーム画像の例である。
【0087】
図8、図9に示すように、本実施形態では、仮想カメラと水面、建物、橋等との位置関係に応じて、水面へ映り込む環境の画像も変化する。従って、擬似的な環境テクスチャを単にマッピングする前述の第1の手法に比べて、非常にリアルな画像を生成できる。しかも、途中段階のフレーム画像を用いて環境テクスチャが生成されるため、少ない処理負荷で図8、図9に示すようなリアルな画像を生成できる。
【0088】
2.2 環境テクスチャの生成手法
さて、本実施形態では、環境マッピングの処理負荷を更に軽減するために、以下に説明するような手法で環境テクスチャを生成している。
【0089】
即ち本実施形態では、図4に示す途中経過のフレーム画像を、図5に示す仮想オブジェクト(テンプレートオブジェクト)にマッピングすることで、図6に示す環境テクスチャを生成している。
【0090】
この場合に、本実施形態では、図5の仮想オブジェクトの各頂点(X、Y、0)のテクスチャ座標(U、V)を、下式のように求めている。
【0091】
U =U’/2+0.5 (5)
U’=X/{(1−X2−Y21/2×tan(θ/2)} (6)
V =V’/2+0.5 (7)
V’=Y/{(1−X2−Y21/2×tan(θ/2)×A} (8)
【0092】
上式(6)、(8)においてθは仮想カメラの画角であり(例えばθ=45度)、Aは画面のアスペクト比である。また、上式(5)、(7)は、値域が−1.0〜1.0であるS’、T’を、値域が0.0〜1.0であるS、Tに変換する式である。
【0093】
本実施形態では、図5の仮想オブジェクトの頂点の座標(X、Y、0)を上式(5)〜(8)に代入することで得られるテクスチャ座標(U、V)を用いて、図4のフレーム画像を図5の仮想オブジェクトにテクスチャマッピングしている。これにより、図6に示すような環境テクスチャを生成できる。
【0094】
上式(5)〜(8)を概念的に説明すると図10に示すようになる。
【0095】
図10において、反射ベクトルR(RX、RY、RZ)の座標を(X、Y、Z)とした場合に、反射ベクトルRを延長したベクトルR’が、無限遠にある射影面PSと交わる点IPの座標を、上式(5)〜(8)は求めている。
【0096】
射影面PSへの投影結果(描画バッファのフレーム画像)をテクスチャとして用いるためには、射影面PS上における画角θ内の任意の点の座標を、0.0〜1.0の範囲で任意に変化させる必要がある。このため、仮想オブジェクトの頂点のテクスチャ座標(U、V)は、上式(5)〜(8)のようにして求められることになる。
【0097】
以上のようにして、図6に示す環境テクスチャを生成すれば、下式に示すように、環境テクスチャの読み出しに使用するテクスチャ座標(U、V)を、視点座標系での反射ベクトルRの座標成分RX、RYの線形変換だけで得ることが可能になる。
【0098】
U=RX/2+0.5 (9)
V=RY/2+0.5 (10)
【0099】
なお、前述のように、反射ベクトルR(RX、RY、RZ)は下式のように求められる。
【0100】
R(RX、RY、RZ)=2(E・N)N−E (11)
【0101】
以上のように本実施形態では、反射ベクトルRの座標成分RX、RYを線形変換(式(9)、(10))することで得られる座標成分が、テクスチャ座標成分U、Vになるように、途中段階のフレーム画像(図4)を変換して、環境テクスチャ(図6)を生成している。従って、反射ベクトルからテクスチャ座標を求める処理の際に、平方根や二乗根を求める処理が不要になり、線形変換式(式(9)、(10))だけでテクスチャ座標を求めることができる。従って、テクスチャ座標の演算処理の負荷を軽減でき、環境マッピングの処理負荷を軽減できるようになる。
【0102】
なお、反射ベクトルの座標成分RX、RYを、そのままテクスチャ座標成分U、Vとして使用可能にする変換方式で、途中段階のフレーム画像を環境テクスチャに変換するようにしてもよい。
【0103】
2.3 α値の演算
さて、本実施形態では、水面のベーステクスチャがマッピングされる水面オブジェクトと、環境テクスチャがマッピングされる水面オブジェクトとのα合成処理(広義にはベーステクスチャと環境テクスチャとを用いたα合成処理)の際のα値を、図11に示すような手法で求めている。即ち、水面オブジェクトOBの頂点VXの法線ベクトルNと、上式(11)で得られた反射ベクトルRとのなす角度βとに基づいて、α値を求め、このα値に基づいてα合成処理を行う。
【0104】
より具体的は、角度βが0度に近づくほどベーステクスチャのα合成率が高くなり、角度βが直角に近づくほど環境テクスチャのα合成率が高くなるように、環境テクスチャのα値を求める(例えばα=1−(cosβ)n)。
【0105】
このようにすれば、法線ベクトルNと反射ベクトルRとのなす角度βが直角に近づくほど、その反射ベクトルの方向にある環境がその場所(頂点VXの場所)に強く映り込むようになる。従って、臨界屈折角での映り込み等が表現されたリアルな画像を生成できる。
【0106】
しかも、図11の手法によれば、環境テクスチャのテクスチャ座標を求めるために計算した反射ベクトルを有効利用して、α値を求めることができる。従って、処理負荷をそれほど増すことなく、リアルな映り込み表現を実現できる。
【0107】
2.4 輝度の変更
本実施形態では、途中段階のフレーム画像(図4)を変換することで環境テクスチャ(図6)が生成されることを有効利用して、途中段階のフレーム画像に描かれた背景オブジェクト(最遠景オブジェクト、中遠景オブジェクト)の輝度を変更するようにしている。
【0108】
より具体的には図12に示すように、途中段階のフレーム画像から環境テクスチャを生成する際に、背景オブジェクトの中の最遠景オブジェクト(空、雲)の輝度が、背景オブジェクトの中の中遠景オブジェクト(建物、橋)に比べて明るくなるように、輝度変更を行う。
【0109】
即ち、現実世界での空の水面への映り込みをリアルにシミュレーションしようとした場合には、空の輝度を変更せずに環境テクスチャを生成し、水面オブジェクトにマッピングすることになる。
【0110】
しかしながら、このような現実世界の事象に則したシミュレーション処理では、得られる映り込み画像が今ひとつ演出効果に欠けるということが判明した。即ち、現実世界の事象に則したシミュレーション処理では、図8、図9に示すような演出効果の高い映り込み画像を生成できず、水面に映り込んだ空がくすんで見えてしまう。
【0111】
そこで本実施形態では、途中段階のフレーム画像から環境テクスチャを生成する際に、背景オブジェクトの輝度変更が可能であることに着目し、空などを表す最遠景オブジェクトの輝度を明るくする輝度変更手法を採用している。
【0112】
このようにすることで、図8、図9に示すように、空の映り込み画像の輝度が明るくなり、空の映り込み部分と建物の映り込み分との輝度の差が強調してプレーヤに伝えられるようになる。これにより、映り込んでいる空がくすんで見える事態を防止でき、より演出効果が高く、プレーヤの仮想現実感を向上できるゲーム画像を生成できる。
【0113】
なお、図12では、空などを表現する最遠景オブジェクトの輝度を明るくしているが、輝度の変更対象となるオブジェクトの種類及び輝度の変化のさせ方については任意である。例えば、空などを表現する最遠景オブジェクトの輝度を明るくする代わりに、建物などを表現する中遠景オブジェクトの輝度を暗くしてもよい。或いは、最遠景オブジェクト及び中遠景オブジェクトの両方の輝度を明るく(或いは暗く)してもよい。
【0114】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図13、図14のフローチャートを用いて説明する。
【0115】
まず、図2のA1で説明したように、最遠景(天球)オブジェクトをフレームバッファ(広義には描画バッファ。以下の説明でも同様)に描画する(ステップS1)。そして、フレームバッファにおいて、最遠景オブジェクトが描画されたピクセルにフラグFLをセットする(ステップS2)。このフラグFLは、図12で説明した輝度変更処理に使用するフラグである。また、このフラグFLは、フレームバッファにおいて最遠景オブジェクトが描画されたピクセルに、所定値のα値(マスク情報)を書き込むことで、セットできる。
【0116】
次に、図2のA2で説明したように、建物、橋などの中遠景オブジェクトをフレームバッファに描画する(ステップS3)。この際に、フレームバッファにおいて、中遠景オブジェクトが描画されたピクセルのフラグFLをクリアする。このようにすることで、最遠景オブジェクトが描画されたピクセルでは、フラグFLがセットされ、中遠景オブジェクトが描画されたピクセルではフラグFLがクリアされるようになる。
【0117】
次に、フレームバッファのフレーム画像をテクスチャマッピングしながら、仮想オブジェクト(図5参照)をエフェクト用のワークバッファ(VRAM上のバッファ)に描画する(ステップS4)。この際に、フラグFLがセットされているピクセル(最遠景オブジェクトの描画ピクセル)の部分だけをワークバッファに描画すると共に、明るい輝度に変更して描画するようにする。これにより、最遠景オブジェクト(空)が明るい輝度に変更された環境テクスチャを生成できるようになる(図12参照)。
【0118】
次に、フレームバッファのフレーム画像をテクスチャマッピングしながら、仮想オブジェクトをエフェクト用のワークバッファに再度描画する(ステップS5)。この際に、フラグFLがクリアされているピクセル(中遠景オブジェクトの描画ピクセル)の部分だけをワークバッファに描画すると共に、暗い輝度に変更して描画するようにする。これにより、中遠景オブジェクト(建物)が暗い輝度に変更された環境テクスチャを生成できる。
【0119】
以上のようにすることで、図6に示すような環境テクスチャが、ワークバッファ上に生成される。
【0120】
次に、水面オブジェクトのZ値(奥行き値)のみをZバッファ(奥行きバッファ)に描画する(ステップS6)。即ち、半透明の水面オブジェクトを描画すると、仮想カメラから見て波が重なった部分がより濃く(明るく)なって描画されてしまう。この場合に、水面オブジェクトのZ値のみを先だって描画するようにすれば、その後に水面オブジェクトをフレームバッファに描画する際に、最も手前の面のみが描画されるようになる。この結果、波の重なり部分があっても、水面の濃度が均一になって描画されるようになり、より自然な画像を生成できる。
【0121】
次に、水面や波の動きを表現したムービーテクスチャ(ベーステクスチャ)をマッピングしながら水面オブジェクトをフレームバッファに描画する(ステップS7)。これにより、図7に示すようなフレーム画像がワークバッファ上に描画される。
【0122】
次に、図3で説明したように、仮想カメラの位置と各頂点の位置と各頂点の法線ベクトルとに基づき、各頂点の反射ベクトルを求め、この反射ベクトルに基づき各頂点のテクスチャ座標を求める(ステップS8。上式(9)〜(11)参照)。また、図11で説明したように、各頂点の反射ベクトルとのなす角度に基づき、各頂点のα値を求める(ステップS9)。
【0123】
次に、ステップS8で求められたテクスチャ座標に基づきエフェクト用バッファの環境テクスチャ(図6)をマッピングしながら、水面オブジェクトをフレームバッファに描画する(ステップS10)。この際に、ステップS9で求められたα値に基づいて、半透明(α合成)処理を行いながら水面オブエジェクトを描画する。
【0124】
以上のようにすることで、図8、図9に示すようなリアルな環境マッピングが施された最終的なフレーム画像を生成できる。
【0125】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図15を用いて説明する。
【0126】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0127】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0128】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0129】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0130】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ(プリミティブ面)で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0131】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0132】
ゲームコントローラ942(レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等)からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0133】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0134】
RAM960は、各種プロセッサの作業領域として用いられる。
【0135】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0136】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0137】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【0138】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現(実行)してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0139】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【0140】
図16(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100、1101上に映し出されたゲーム画像を見ながら、ガン型コントローラ1102、1103などを操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
【0141】
図16(B)に、本実施形態を家庭用のゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ガン型コントローラ1202、1204などを操作してゲームを楽しむ。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209などに格納されている。
【0142】
図16(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム(格納情報)は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0143】
なお、図16(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0144】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0145】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0146】
例えば、環境テクスチャの生成に使用される途中段階のフレーム画像は、図2のA2に示すような最遠景オブジェクトや中遠景オブジェクトが描画されたフレーム画像に限定されず、種々のフレーム画像を考えることができる。
【0147】
また、環境テクスチャのテクスチャ座標を求める手法も、図3で説明した手法に限定されず、種々の変形実施が可能である。例えば、仮想カメラの方向は考慮せず、オブジェクトの面の方向を表す法線ベクトルに基づいてテクスチャ座標を求めるようにしてもよい。
【0148】
また、環境テクスチャの生成手法も、図4〜図6、図10で説明した手法に限定されるものではない。
【0149】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0150】
また、本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0151】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック図の例である。
【図2】本実施形態の環境マッピング手法について説明するための図である。
【図3】環境テクスチャのテクスチャ座標を求める手法について説明するための図である。
【図4】途中段階のフレーム画像の例を示す図である。
【図5】環境テクスチャの生成に使用する仮想オブジェクト(テンプレートオブジェクト)の例を示す図である。
【図6】生成された環境テクスチャの例を示す図である。
【図7】環境マッピングが施されていないフレーム画像の例を示す図である。
【図8】環境マッピングが施された後の最終段階のフレーム画像の例を示す図である。
【図9】環境マッピングが施された後の最終段階のフレーム画像の例を示す図である。
【図10】環境テクスチャの生成手法を説明するための概念図である。
【図11】α値を求める手法について説明するための図である。
【図12】輝度の変更手法について説明するための図である。
【図13】本実施形態の処理の詳細例について示すフローチャートである。
【図14】本実施形態の処理の詳細例について示すフローチャートである。
【図15】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図16】図16(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
100 処理部
110 テクスチャ座標演算部
112 α値演算部
120 画像生成部
122 環境テクスチャ生成部
124 テクスチャマッピング部
126 α合成部
130 音生成部
160 操作部
170 記憶部
172 主記憶部
174 描画バッファ
176 テクスチャ記憶部
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image generation system, a program, and an information storage medium.
[0002]
[Background Art and Problems to be Solved by the Invention]
Conventionally, an image generation system (game system) that generates an image that can be seen from a virtual camera (a given viewpoint) in an object space that is a virtual three-dimensional space is known. Popular. Taking an image generation system that can enjoy a gun game as an example, a player (operator) uses a gun-type controller (shooting device) imitating a gun or the like to display enemy characters (screened on the screen). Enjoy 3D games by shooting targets such as enemy objects.
[0003]
In such an image generation system, it is an important technical problem to generate a more realistic image in order to improve the player's virtual reality. As a technique for solving such a problem, a technique called environment mapping is known.
[0004]
In this environment mapping, the environment texture representing the environment around the object is mapped to the object, thereby expressing the reflection of the environment on the object and enhancing the realism of the object image.
[0005]
As a method for realizing such environment mapping, the first and second methods described below can be considered.
[0006]
In the first method, a pseudo dedicated environment texture to be mapped to an object is prepared in advance. Then, this pseudo environment texture is mapped to the object from the direction of the virtual camera (or above the object).
[0007]
However, this first method has an advantage that the processing load is light, but the obtained image becomes monotonous and has a disadvantage that a real environment mapping cannot be realized.
[0008]
On the other hand, in the second method, an image of the environment around the object that should be seen in the reflection direction from each point of the object is generated using dedicated rendering. Then, the generated image is mapped to an object as an environmental texture.
[0009]
However, in the second method, a dedicated rendering process is required to generate the environment texture. Therefore, the processing load is increased by the amount of the rendering process, and the real-time processing request required for this type of image generation system cannot be met.
[0010]
The present invention has been made in view of the above problems, and an object of the present invention is to provide an image generation system, a program, and an information storage medium capable of realizing real environment mapping with a small processing load. is there.
[0011]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention is an image generation system that generates an image, and includes means for generating an environmental texture to be mapped to an object based on a frame image in the middle of the drawing in the drawing buffer. Means for mapping the generated environmental texture to the object, drawing the object in a drawing buffer in which the frame image at the middle stage is drawn, and generating an image visible from the virtual camera in the object space. It is characterized by. The program according to the present invention is a program usable by a computer (a program embodied in an information storage medium or a carrier wave), and causes the computer to realize the above means (makes the computer function as the above means). And An information storage medium according to the present invention is an information storage medium readable (usable) by a computer, and includes a program for causing the computer to realize the above means (functioning the computer as the above means). And
[0012]
According to the present invention, the environmental texture is generated based on the intermediate frame image. Then, the final-stage frame image is generated by drawing the object to which the environmental texture is mapped in the drawing buffer in which the intermediate-stage frame image is drawn.
[0013]
As described above, according to the present invention, since the environmental texture is generated based on the frame image at an intermediate stage, it is not necessary to perform a dedicated rendering process for generating the environmental texture. Moreover, the intermediate frame image is also used to generate the final frame image. Therefore, according to the present invention, real environment mapping can be realized without increasing the processing load so much.
[0014]
The image generation system, the program, and the information storage medium according to the present invention obtain texture coordinates for reading the environmental texture from the texture storage unit based on the reflection vector for representing the reflection direction of the object surface. The environmental texture is mapped to an object based on the texture coordinates.
[0015]
In this way, realistic reflection expression according to the shape of the object can be realized with a small processing load.
[0016]
The image generation system, program, and information storage medium according to the present invention are characterized in that the environmental texture is generated by mapping the intermediate frame image to a virtual object having a given shape and deforming it. To do.
[0017]
In this way, the environment texture can be generated by a simple process of texture mapping the intermediate frame image on the virtual object of a given shape.
[0018]
In addition, the image generation system, the program, and the information storage medium according to the present invention provide the first and second coordinate components of the reflection vector or the first and second coordinate components obtained by linearly transforming the first and second coordinate components. The environmental texture in which the 2 ′ coordinate component becomes the first and second texture coordinate components is generated based on the frame image at the intermediate stage.
[0019]
In this way, the first and second coordinate components of the reflection vector or the first ′ and second ′ coordinate components obtained by linearly transforming the first and second coordinate components are used as they are. It can be used as the first and second texture coordinate components of the environmental texture. This makes it possible to reduce the load of the environment texture mapping process.
[0020]
The image generation system, program, and information storage medium according to the present invention are characterized in that the intermediate frame image is generated by drawing a background object to be reflected on the object in a drawing buffer.
[0021]
In this way, for example, an image of a background object including, for example, a farthest view object or a middle distance view object can be reflected in the object realistically.
[0022]
The image generation system, the program, and the information storage medium according to the present invention are characterized in that the luminance of the background object is changed when generating the environmental texture by converting the intermediate frame image.
[0023]
In this way, it is possible to realize a reflection expression having a high stage effect that cannot be obtained by a realistic simulation process in accordance with an event in the real world.
[0024]
In the image generation system, program, and information storage medium according to the present invention, the brightness is changed so that the brightness of the farthest view object included in the background object is brighter than that of the medium distance view object included in the background object. It is characterized by that.
[0025]
In this way, the brightness of the farthest view object can be made brighter and more conspicuous, and an image with higher rendering effect can be generated.
[0026]
The image generation system, the program, and the information storage medium according to the present invention are characterized in that a base texture and an environment texture are subjected to multi-texture mapping on an object.
[0027]
Note that the multi-texture mapping in this case may be a narrow-sense multi-texture mapping supported by the hardware of the image generation system, or the object to which the base texture is mapped and the object to which the environment texture is mapped are located at the same position. Pseudo multi-texture mapping realized by drawing may be used.
[0028]
The image generation system, the program, and the information storage medium according to the present invention also include a normal vector and an object for indicating that the α value in the α synthesis process using the base texture and the environment texture represents the direction of the object surface. It is calculated | required based on the reflection vector for expressing the reflection direction of the surface of this.
[0029]
In this way, the intensity of the reflection of the environmental texture changes according to the angle formed by the normal vector and the reflection vector, and a more realistic image can be generated. In addition, the reflection vector calculated in the process of obtaining the texture coordinates of the environmental texture can be effectively used for the process of obtaining the α value, and the processing load can be reduced.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present embodiment will be described with reference to the drawings.
[0031]
In addition, this embodiment demonstrated below does not limit the content of this invention described in the claim at all. Further, not all of the configurations described in the present embodiment are essential as a solution means of the present invention.
[0032]
1. Constitution
FIG. 1 shows an example of a functional block diagram of the image generation system (game system) of the present embodiment. In this figure, the present embodiment only needs to include at least the processing unit 100 (or include the processing unit 100 and the storage unit 170), and the other blocks can be optional components.
[0033]
The operation unit 160 is for a player to input operation data, and the function can be realized by hardware such as a lever, a button, a microphone, or a housing.
[0034]
The storage unit 170 serves as a work area such as the processing unit 100 or the communication unit 196, and its function can be realized by hardware such as a RAM.
[0035]
The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by hardware such as a memory (ROM). The processing unit 100 performs various processes of the present invention (this embodiment) based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores a program for causing a computer to implement (execute, function) the means of the present invention (this embodiment) (particularly, the blocks included in the processing unit 100). Or a plurality of modules (including objects in object orientation) are included.
[0036]
Part or all of the information stored in the information storage medium 180 is transferred to the storage unit 170 when the system is powered on. The information storage medium 180 also includes a program for performing the processing of the present invention, image data, sound data, shape data of the display object, information for instructing the processing of the present invention, or processing in accordance with the instructions. Information etc. can be included.
[0037]
The display unit 190 outputs an image generated according to the present embodiment, and the function thereof can be realized by hardware such as a CRT, LCD, or HMD (head mounted display).
[0038]
The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by hardware such as a speaker.
[0039]
The portable information storage device 194 stores player personal data, game save data, and the like. As the portable information storage device 194, a memory card, a portable game device, and the like can be considered.
[0040]
The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other image generation system), and functions as hardware such as various processors or a communication ASIC. Or by a program.
[0041]
Note that a program (data) for realizing (executing and functioning) each unit of the present invention (this embodiment) is transmitted from the information storage medium of the host device (server) via the network and the communication unit 196. You may make it deliver to.
Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.
[0042]
The processing unit 100 (processor) performs various processing such as game processing, image generation processing, or sound generation processing based on operation data, a program, and the like from the operation unit 160. In this case, the processing unit 100 performs various processes using the main storage unit 172 in the storage unit 170 as a work area.
[0043]
Here, the processing performed by the processing unit 100 includes coin (price) acceptance processing, various mode setting processing, game progress processing, selection screen setting processing, and the position and rotation angle of an object (one or a plurality of primitives). Processing for obtaining (rotation angle around X, Y or Z axis), processing for moving an object (motion processing), processing for obtaining a viewpoint position (virtual camera position) and line of sight angle (virtual camera rotation angle), map object Consider processing such as placing objects in the object space, hit check processing, computing game results (results, results), processing for multiple players to play in a common game space, or game over processing, etc. Can do.
[0044]
The processing unit 100 includes a texture coordinate calculation unit 110, an α value calculation unit 112, an image generation unit 120, and a sound generation unit 130. Note that the processing unit 100 need not include all these functional blocks.
[0045]
Here, the texture coordinate calculation unit 110 reads out the texture texture (first texture that is a texture for the reflection expression of the object, including the glossy expression texture) mapped to the object from the texture storage unit 176. 1 and 2nd texture coordinate components). More specifically, texture coordinates for reading out the environmental texture are obtained based on a reflection vector (reflection vector set for each vertex or each surface of the object) for representing the reflection direction of the object surface. More specifically, the reflection vector at each vertex is obtained based on the position of the virtual camera (viewpoint), the position of each vertex (component point) of the object, and the normal vector set at each vertex. And based on this calculated | required reflection vector, the texture coordinate for reading an environmental texture is calculated | required.
[0046]
The α value calculation unit 112 performs α synthesis processing (α blending, α addition, α subtraction, etc.) when multi-texture mapping is performed on the base texture (background texture mapped to the lower layer of the environment texture, original texture) and the environment texture. Find the α value of. More specifically, a normal vector for expressing the direction of the object surface (a normal vector set for each vertex or each surface of the object) and a reflection vector for expressing the reflection direction of the object surface. Based on this, the α value is obtained. In this case, for example, the reflection of the environmental texture becomes weaker as the angle between the normal vector and the reflection vector approaches 0 degrees (or as the angle between the normal vector and the reflection vector approaches a right angle). It is desirable to set the α value so that the reflection of the environmental texture becomes stronger.
[0047]
Note that if the image generation system supports the multi-texture mapping function in a narrow sense that allows multiple textures to be mapped to one object at a time, the base is created using this multi-texture mapping function. Multi-texture mapping of texture and environmental texture can be realized. On the other hand, when the image generation system does not support such a narrowly defined multi-texture mapping function, the object to which the base texture is mapped and the object to which the environment texture is mapped are drawn at the same position ( By drawing using the same drawing data, it is possible to realize a pseudo multi-texture mapping between the base texture and the environment texture.
[0048]
The α value (A value) is information that can be stored in association with each pixel (texel, dot), for example, plus alpha information other than color information. The α value can be used as mask information, translucency (equivalent to transparency and opacity), bump information, and the like.
[0049]
The image generation unit 120 performs image processing based on the results of various processes performed by the processing unit 100, generates a game image, and outputs the game image to the display unit 190. For example, when generating a so-called three-dimensional game image, first, geometric processing such as coordinate transformation, clipping processing, perspective transformation, or light source calculation is performed, and drawing data (primitive surface Position coordinates, texture coordinates, color (brightness) data, normal vectors, α values, etc.) given to the vertices (composition points) are created.
Based on the drawing data (primitive surface data), the image of the object (one or a plurality of primitive surfaces) after the geometry processing is stored in the drawing buffer 174 (frame buffer, work buffer, or other pixel unit image information). ) Is drawn. Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated.
[0050]
The sound generation unit 130 performs sound processing based on the results of various processes performed by the processing unit 100, generates game sounds such as BGM, sound effects, or sounds, and outputs the game sounds to the sound output unit 192.
[0051]
The image generation unit 120 includes an environment texture generation unit 122, a texture mapping unit 124, and an α synthesis unit 126.
[0052]
Here, the environment texture generation unit 122 performs processing for generating an environment texture mapped to the object. More specifically, the environmental texture is generated based on the intermediate frame image drawn in the drawing buffer (frame buffer, work buffer, etc.). The generated environmental texture is temporarily stored (drawn) in the texture storage unit 176.
[0053]
In this case, the environmental texture is obtained by mapping (sphere mapping) a frame image in the middle stage to a virtual object (template object for deformation) of a given shape (for example, sphere shape) and deforming this frame image. Can be generated. Also, the first and second coordinate components (or the first and second coordinate components themselves) obtained by linearly transforming the first and second coordinate components (RX, RY) of the reflection vector of the object are the first and second coordinate components. It is desirable to generate an environmental texture by converting a frame image at an intermediate stage by a conversion method that can be used as a texture coordinate component (U, V) as it is.
[0054]
The intermediate frame image used to generate the environmental texture is a background object to be reflected on the object (the farthest object representing the sky, clouds, etc., or the middle object representing the building, ground, streetlight, bridge, etc.) Can be generated by drawing in the drawing buffer (an object other than the background object may be drawn). Then, the final stage frame image (image seen from the virtual camera in the object space) displayed on the display unit 190 is displayed in the drawing buffer in which the intermediate stage frame image is drawn. It is generated by drawing the object to be mapped).
[0055]
The texture mapping unit 124 performs processing for mapping the texture (base texture, environmental texture, etc.) stored in the texture storage unit 176 to the object.
[0056]
In this case, the texture mapping unit 124 also has a so-called movie texture mapping function. The environment texture generation process by the environment texture generation unit 122 can be generated using the texture mapping function of the texture mapping unit 124.
[0057]
The α synthesis unit 126 performs α synthesis processing (α blending, α addition, α subtraction, or the like) based on the α value (A value). For example, when the α synthesis is α blending, a synthesis process as shown in the following equation is performed.
[0058]
R Q = (1-α) × R 1 + Α × R 2 (1)
G Q = (1-α) × G 1 + Α × G 2 (2)
B Q = (1-α) × B 1 + Α × B 2 (3)
[0059]
Where R 1 , G 1 , B 1 Are the R, G, B components of the color (luminance) of the image (background image) already drawn in the drawing buffer 174, and R 2 , G 2 , B 2 Are the R, G, and B components of the color of the object (primitive) to be drawn in the drawing buffer. R Q , G Q , B Q Are the R, G, B components of the color of the image obtained by α blending.
[0060]
In this embodiment, the α composition unit 126 performs an α composition process based on the α value (α plane) obtained by the α value calculation unit 112. More specifically, based on the α value obtained by the α value calculation unit 112, α using a base texture (an object to which the base texture is mapped), an environmental texture and an object (to which the environmental texture is mapped). A synthesis process (translucent synthesis process) is performed.
[0061]
Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or not only the single player mode but also a multiplayer mode in which a plurality of players can play. The system may also be provided.
[0062]
Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated using a plurality of terminals (game machine, mobile phone).
[0063]
2. Features of this embodiment
Next, features of the present embodiment will be described with reference to the drawings. In the following description, the case where the present embodiment is applied to the water surface expression will be mainly described as an example, but the present embodiment can be widely applied to other image expressions other than the water surface expression.
[0064]
2.1 Environment mapping using intermediate frame images
As described above, in the first method for realizing environment mapping, a pseudo dedicated environment texture prepared in advance is mapped to an object. For this reason, the obtained image becomes a pseudo image, and there is a problem that a real environment mapping cannot be realized.
[0065]
In the second method for realizing environment mapping, a dedicated rendering process is required for generating an environment texture. For this reason, there is a problem that the processing load is increased by the amount of the rendering process.
[0066]
Therefore, in the present embodiment, an environmental texture is generated using the intermediate frame image, and finally generated on the display unit based on the intermediate frame image and the object to which the generated environmental texture is mapped. A simple frame image is generated.
[0067]
More specifically, as shown by A1 in FIG. 2, first, the farthest view object (celestial sphere object representing a sky, a cloud, etc.) is drawn in a drawing buffer (frame buffer, etc.). To do.
[0068]
Then, as shown in A2, a medium-distance view object representing a building, the ground, a bridge, a streetlight, etc. is drawn in the drawing buffer. In this case, the water surface object OB (object in a broad sense, to which the environmental texture is mapped, is not drawn in the drawing buffer.
[0069]
Next, the intermediate frame image (screen size image generated for each frame) shown in A2 obtained by drawing the background object such as the farthest object or the middle object is converted in this way, An environmental texture is generated as shown in A3.
[0070]
Then, as shown at A4, the water surface object OB is drawn in the drawing buffer while mapping the generated environmental texture. At this time, the environmental texture and the base texture representing the pattern of the water surface are subjected to multi-texture mapping to the water surface object.
[0071]
Then, the final frame image shown in A5 generated in this way is output to the display unit every frame (1/60 seconds, 1/30 seconds, etc.) to generate a game image.
[0072]
As described above, according to the present embodiment, an image of a background object (sky, clouds, buildings, etc.) around the water surface object OB is mapped to the water surface object OB as an environmental texture. Therefore, compared to the first method of mapping a pseudo environment texture prepared in advance, extremely realistic environment mapping can be realized, and the virtual reality of the player can be improved.
[0073]
Further, according to the present embodiment, the environmental texture to be mapped to the water surface object OB is generated using the intermediate frame image indicated by A2 generated during the intermediate generation of the final frame image. Therefore, unlike the above-described second method that requires a dedicated rendering process for generating an environmental texture, the environmental texture shown in A3 can be generated without performing a dedicated rendering process. Therefore, real environment mapping can be realized with a small processing load.
[0074]
In the present embodiment, the environmental texture generated as indicated by A3 in FIG. 2 is mapped to the water surface object OB by the following method, for example.
[0075]
That is, as shown in FIG. 3, a vector E along the direction connecting the vertex VX (composition point) of the water surface object OB and the virtual camera VC is obtained. Then, based on the vector E and the normal vector N set at the vertex VX, for example, the following equation (4) is calculated to obtain the reflection vector R at the vertex VX. The vectors E, N, and R are unit vectors in the viewpoint coordinate system.
[0076]
R (RX, RY, RZ) = 2 (E · N) NE (4)
[0077]
In the above equation (4), “·” means an inner product of vectors.
[0078]
Then, based on the obtained reflection vector R, texture coordinates (U, V) of the environment texture are obtained, and the environment texture specified by the obtained texture coordinates is mapped to the water surface object.
[0079]
By doing in this way, it becomes possible to map the design of the appropriate environmental texture according to the positional relationship between the virtual camera VC and the water surface object OB and the surface shape of the OB to the water surface object OB, and more realistic environment mapping. realizable.
[0080]
In addition, in this embodiment, as will be described later, coordinate components (or RX, RY itself) obtained by linear transformation of the coordinate components RX, RY of the reflection vector R can be used as texture coordinate components U, V as they are. Thus, an environmental texture is generated. Therefore, it is possible to read the environmental texture with a small processing load by using the coordinate components RX and RY of the reflection vector R obtained by the above equation (4). Thereby, the processing load of environment mapping can be further reduced.
[0081]
FIG. 4 shows an example of a frame image at an intermediate stage used for generating the environmental texture. In this frame image, background objects such as sky, clouds, buildings, and bridges that should be reflected on the water surface are drawn.
[0082]
In the present embodiment, the frame image in the middle stage of FIG. 4 generated in this way is mapped to a virtual object (an object serving as a deformation template) as shown in FIG. 5, for example. This virtual object is an object having a shape in which a plurality of circles having central coordinates (0.0, 0.0, 0.0) and different radii are arranged in a concentric manner and connected. In this case, the concentric circle has a radius range of 0.0 to 1.0, for example.
[0083]
Then, an environment texture as shown in FIG. 6 is generated by texture mapping the frame image in the middle of FIG. 4 on the virtual object of FIG. The image of the environmental texture is an image as if the surrounding environment (sky, clouds, building) was viewed through the fisheye lens from the water surface object.
[0084]
Next, by drawing a water surface object while mapping a base texture (a texture representing a water surface wave or the like) to a drawing buffer in which a frame image in the middle of FIG. 4 is drawn, a frame as shown in FIG. An image is generated. In this frame image, the reflection of the surrounding environment on the water surface is not expressed.
[0085]
Next, the final frame image as shown in FIG. 8 is generated by drawing the water surface object while mapping the environmental texture of FIG. 6 in the drawing buffer in which the frame image of FIG. 7 is drawn. In the frame image of FIG. 8, unlike FIG. 7, the surrounding environment (sky, clouds, buildings, bridges) is reflected on the water surface. Therefore, the image is very realistic compared to FIG.
[0086]
FIG. 9 is an example of a final frame image generated when the virtual camera moves to a position different from that in FIG.
[0087]
As shown in FIGS. 8 and 9, in the present embodiment, the image of the environment reflected on the water surface also changes according to the positional relationship between the virtual camera and the water surface, building, bridge, and the like. Therefore, it is possible to generate a very realistic image as compared with the first method in which the pseudo environment texture is simply mapped. In addition, since an environmental texture is generated using a frame image at an intermediate stage, a realistic image as shown in FIGS. 8 and 9 can be generated with a small processing load.
[0088]
2.2 Environmental texture generation method
In the present embodiment, in order to further reduce the processing load of environment mapping, the environment texture is generated by the method described below.
[0089]
That is, in the present embodiment, the environment texture shown in FIG. 6 is generated by mapping the intermediate frame image shown in FIG. 4 to the virtual object (template object) shown in FIG.
[0090]
In this case, in this embodiment, the texture coordinates (U, V) of each vertex (X, Y, 0) of the virtual object in FIG.
[0091]
U = U '/ 2 + 0.5 (5)
U ′ = X / {(1-X 2 -Y 2 ) 1/2 X tan (θ / 2)} (6)
V = V ′ / 2 + 0.5 (7)
V ′ = Y / {(1-X 2 -Y 2 ) 1/2 X tan (θ / 2) x A} (8)
[0092]
In the above equations (6) and (8), θ is the angle of view of the virtual camera (for example, θ = 45 degrees), and A is the aspect ratio of the screen. Further, the above formulas (5) and (7) are equations for converting S ′ and T ′ having a range of −1.0 to 1.0 into S and T having a range of 0.0 to 1.0. It is.
[0093]
In the present embodiment, using the texture coordinates (U, V) obtained by substituting the coordinates (X, Y, 0) of the vertices of the virtual object in FIG. 5 into the above equations (5) to (8), 4 is texture-mapped to the virtual object of FIG. Thereby, an environmental texture as shown in FIG. 6 can be generated.
[0094]
The above equations (5) to (8) are conceptually described as shown in FIG.
[0095]
In FIG. 10, when the coordinates of the reflection vector R (RX, RY, RZ) are (X, Y, Z), the vector R ′ obtained by extending the reflection vector R intersects the projection plane PS at infinity. The above equations (5) to (8) obtain the coordinates of IP.
[0096]
In order to use the projection result (frame image of the drawing buffer) on the projection plane PS as a texture, the coordinates of an arbitrary point within the angle of view θ on the projection plane PS are arbitrarily set within a range of 0.0 to 1.0. It is necessary to change to. For this reason, the texture coordinates (U, V) of the vertices of the virtual object are obtained as in the above formulas (5) to (8).
[0097]
When the environmental texture shown in FIG. 6 is generated as described above, the texture coordinates (U, V) used for reading the environmental texture are changed to the coordinates of the reflection vector R in the viewpoint coordinate system as shown in the following equation. It can be obtained only by linear transformation of the components RX and RY.
[0098]
U = RX / 2 + 0.5 (9)
V = RY / 2 + 0.5 (10)
[0099]
As described above, the reflection vector R (RX, RY, RZ) is obtained by the following equation.
[0100]
R (RX, RY, RZ) = 2 (E · N) NE (11)
[0101]
As described above, in the present embodiment, the coordinate components obtained by performing linear transformation (formulas (9) and (10)) on the coordinate components RX and RY of the reflection vector R become the texture coordinate components U and V. The frame image (FIG. 4) in the middle stage is converted to generate the environment texture (FIG. 6). Therefore, in the process of obtaining the texture coordinates from the reflection vector, the process of obtaining the square root or the square root is not necessary, and the texture coordinates can be obtained only by the linear conversion formulas (Equations (9) and (10)). Accordingly, it is possible to reduce the load of the texture coordinate calculation process and to reduce the load of environment mapping.
[0102]
Note that the frame image at an intermediate stage may be converted into an environmental texture by a conversion method in which the coordinate components RX and RY of the reflection vector can be used as texture coordinate components U and V as they are.
[0103]
2.3 Calculation of α value
In the present embodiment, an α synthesis process (α synthesis process using a base texture and an environmental texture in a broad sense) of a water surface object to which a water surface base texture is mapped and a water surface object to which an environmental texture is mapped is performed. The α value at that time is obtained by a method as shown in FIG. That is, the α value is obtained based on the normal vector N of the vertex VX of the water surface object OB and the angle β formed by the reflection vector R obtained by the above equation (11), and α synthesis is performed based on the α value. Process.
[0104]
More specifically, the α value of the environmental texture is obtained so that the α synthesis rate of the base texture increases as the angle β approaches 0 degrees, and the α synthesis rate of the environment texture increases as the angle β approaches a right angle ( For example, α = 1− (cos β) n ).
[0105]
In this way, as the angle β between the normal vector N and the reflection vector R approaches a right angle, the environment in the direction of the reflection vector is reflected more strongly at that location (the location of the vertex VX). Therefore, it is possible to generate a realistic image in which the reflection at the critical refraction angle is expressed.
[0106]
Moreover, according to the method of FIG. 11, the α value can be obtained by effectively using the reflection vector calculated for obtaining the texture coordinates of the environmental texture. Therefore, a realistic reflection expression can be realized without increasing the processing load so much.
[0107]
2.4 Change of brightness
In the present embodiment, the background object (the farthest view) drawn in the intermediate frame image is effectively used by generating the environmental texture (FIG. 6) by converting the intermediate frame image (FIG. 4). The brightness of the object and the medium-distance view object) is changed.
[0108]
More specifically, as shown in FIG. 12, when generating an environmental texture from a frame image at an intermediate stage, the brightness of the farthest view object (sky, clouds) in the background object Change the brightness so that it is brighter than the object (building, bridge).
[0109]
That is, when an attempt is made to realistically simulate the reflection on the sky surface in the real world, the environment texture is generated without changing the brightness of the sky and mapped to the water surface object.
[0110]
However, it has been found that in the simulation process in accordance with such a real-world event, the resulting reflected image lacks a direct effect. That is, in the simulation process according to the phenomenon in the real world, it is not possible to generate a reflected image with a high effect as shown in FIGS. 8 and 9, and the sky reflected on the water surface looks dull.
[0111]
Therefore, in this embodiment, paying attention to the fact that the brightness of the background object can be changed when generating the environmental texture from the frame image in the middle stage, a brightness changing method for increasing the brightness of the farthest view object representing the sky or the like is used. Adopted.
[0112]
By doing so, as shown in FIG. 8 and FIG. 9, the brightness of the sky reflection image becomes brighter, and the difference in brightness between the sky reflection portion and the reflection of the building is emphasized to the player. It will be communicated. As a result, it is possible to prevent a situation in which the reflected sky is dull and prevent the situation from appearing dull, and it is possible to generate a game image that has a higher effect and improves the virtual reality of the player.
[0113]
In FIG. 12, the brightness of the farthest view object that expresses the sky or the like is brightened, but the type of the object whose brightness is to be changed and how to change the brightness are arbitrary. For example, instead of increasing the brightness of the farthest view object representing the sky or the like, the brightness of the middle distance view object representing the building or the like may be decreased. Alternatively, the brightness of both the farthest view object and the middle view object may be brightened (or darkened).
[0114]
3. Processing of this embodiment
Next, a detailed example of the processing of this embodiment will be described using the flowcharts of FIGS.
[0115]
First, as described in A1 of FIG. 2, the farthest view (celestial sphere) object is drawn in a frame buffer (drawing buffer in a broad sense; the same applies to the following description) (step S1). Then, the flag FL is set to the pixel in which the farthest view object is drawn in the frame buffer (step S2). The flag FL is a flag used for the luminance change process described with reference to FIG. The flag FL can be set by writing a predetermined α value (mask information) to the pixel on which the farthest object is drawn in the frame buffer.
[0116]
Next, as described in A2 of FIG. 2, a medium-distance object such as a building or a bridge is drawn in the frame buffer (step S3). At this time, the flag FL of the pixel on which the middle-distance view object is drawn is cleared in the frame buffer. By doing so, the flag FL is set in the pixel on which the farthest view object is drawn, and the flag FL is cleared in the pixel on which the medium distance view object is drawn.
[0117]
Next, the virtual object (see FIG. 5) is drawn in the effect work buffer (buffer on the VRAM) while texture mapping the frame image of the frame buffer (step S4). At this time, only the portion of the pixel for which the flag FL is set (the drawing pixel of the farthest view object) is drawn in the work buffer, and the drawing is performed by changing to a bright luminance. This makes it possible to generate an environmental texture in which the farthest object (sky) is changed to a bright brightness (see FIG. 12).
[0118]
Next, the virtual object is drawn again on the effect work buffer while texture mapping the frame image of the frame buffer (step S5). At this time, only the portion of the pixel in which the flag FL is cleared (the drawing pixel of the middle-distance view object) is drawn in the work buffer, and the drawing is changed to dark luminance. As a result, it is possible to generate an environmental texture in which the middle distance object (building) is changed to dark luminance.
[0119]
By doing so, the environmental texture as shown in FIG. 6 is generated on the work buffer.
[0120]
Next, only the Z value (depth value) of the water surface object is drawn in the Z buffer (depth buffer) (step S6). That is, when a semi-transparent water surface object is drawn, a portion where waves overlap when viewed from the virtual camera is drawn darker (brighter). In this case, if only the Z value of the water surface object is drawn first, when the water surface object is drawn in the frame buffer thereafter, only the foremost surface is drawn. As a result, even if there are overlapping portions of the waves, the water surface is rendered with a uniform concentration, and a more natural image can be generated.
[0121]
Next, a water surface object is drawn on the frame buffer while mapping a movie texture (base texture) expressing the water surface and wave motion (step S7). Thereby, a frame image as shown in FIG. 7 is drawn on the work buffer.
[0122]
Next, as described with reference to FIG. 3, the reflection vector of each vertex is obtained based on the position of the virtual camera, the position of each vertex, and the normal vector of each vertex, and the texture coordinates of each vertex are determined based on this reflection vector. (Step S8; see the above formulas (9) to (11)). Further, as described with reference to FIG. 11, the α value of each vertex is obtained based on the angle formed with the reflection vector of each vertex (step S9).
[0123]
Next, the water surface object is drawn in the frame buffer while mapping the environmental texture (FIG. 6) of the effect buffer based on the texture coordinates obtained in step S8 (step S10). At this time, based on the α value obtained in step S9, a water surface object is drawn while performing a translucent (α composition) process.
[0124]
By doing so, it is possible to generate a final frame image that has been subjected to realistic environment mapping as shown in FIGS.
[0125]
4). Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.
[0126]
The main processor 900 operates based on a program stored in the CD 982 (information storage medium), a program transferred via the communication interface 990, or a program stored in the ROM 950 (one of information storage media). Various processes such as processing, image processing, and sound processing are executed.
[0127]
The coprocessor 902 assists the processing of the main processor 900, has a product-sum calculator and a divider capable of high-speed parallel calculation, and executes matrix calculation (vector calculation) at high speed. For example, if a physical simulation for moving or moving an object requires processing such as matrix operation, a program operating on the main processor 900 instructs (requests) the processing to the coprocessor 902. )
[0128]
The geometry processor 904 performs geometry processing such as coordinate transformation, perspective transformation, light source calculation, and curved surface generation, has a product-sum calculator and a divider capable of high-speed parallel computation, and performs matrix computation (vector computation). Run fast. For example, when processing such as coordinate transformation, perspective transformation, and light source calculation is performed, a program operating on the main processor 900 instructs the geometry processor 904 to perform the processing.
[0129]
The data decompression processor 906 performs a decoding process for decompressing the compressed image data and sound data, and a process for accelerating the decoding process of the main processor 900. As a result, a moving image compressed by the MPEG method or the like can be displayed on the opening screen, the intermission screen, the ending screen, or the game screen. Note that the image data and sound data to be decoded are stored in the ROM 950 and the CD 982 or transferred from the outside via the communication interface 990.
[0130]
The drawing processor 910 performs drawing (rendering) processing of an object composed of primitives (primitive surfaces) such as polygons and curved surfaces at high speed. When drawing an object, the main processor 900 uses the function of the DMA controller 970 to pass the object data to the drawing processor 910 and transfer the texture to the texture storage unit 924 if necessary. Then, the rendering processor 910 renders the object in the frame buffer 922 at high speed while performing hidden surface removal using a Z buffer or the like based on the object data and texture. The drawing processor 910 can also perform α blending (translucent processing), depth cueing, mip mapping, fog processing, bilinear filtering, trilinear filtering, anti-aliasing, shading processing, and the like. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.
[0131]
The sound processor 930 includes a multi-channel ADPCM sound source and the like, and generates high-quality game sounds such as BGM, sound effects, and sounds. The generated game sound is output from the speaker 932.
[0132]
Operation data from the game controller 942 (lever, button, chassis, pad type controller, gun type controller, etc.), save data from the memory card 944, and personal data are transferred via the serial interface 940.
[0133]
The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950.
[0134]
The RAM 960 is used as a work area for various processors.
[0135]
The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).
[0136]
The CD drive 980 drives a CD 982 (information storage medium) in which programs, image data, sound data, and the like are stored, and enables access to these programs and data.
[0137]
The communication interface 990 is an interface for transferring data to and from the outside via a network. In this case, as a network connected to the communication interface 990, a communication line (analog telephone line, ISDN), a high-speed serial bus, or the like can be considered. By using a communication line, data transfer via the Internet becomes possible. Further, by using the high-speed serial bus, data transfer with other image generation systems becomes possible.
[0138]
All of the means of the present invention may be realized (executed) only by hardware, or only by a program stored in an information storage medium or a program distributed via a communication interface. Also good. Alternatively, it may be realized by both hardware and a program.
[0139]
When each means of the present invention is realized by both hardware and a program, the information storage medium stores a program for realizing each means of the present invention using hardware. Become. More specifically, the program instructs each processor 902, 904, 906, 910, 930, etc., which is hardware, and passes data if necessary. Each of the processors 902, 904, 906, 910, 930 and the like implements each unit of the present invention based on the instruction and the passed data.
[0140]
FIG. 16A shows an example in which the present embodiment is applied to an arcade game system (image generation system). The player enjoys the game by operating the gun-type controllers 1102 and 1103 and the like while viewing the game images displayed on the displays 1100 and 1101. Various processors and various memories are mounted on the built-in system board (circuit board) 1106. A program (data) for realizing each means of the present invention is stored in a memory 1108 which is an information storage medium on the system board 1106. Hereinafter, this program is referred to as a storage program (storage information).
[0141]
FIG. 16B shows an example in which the present embodiment is applied to a home game system (image generation system). The player enjoys the game by operating the gun-type controllers 1202 and 1204 while watching the game image displayed on the display 1200. In this case, the stored program (stored information) is stored in a CD 1206, which is an information storage medium that is detachable from the main system, or in memory cards 1208, 1209, and the like.
[0142]
FIG. 16C shows a host device 1300 and terminals 1304-1 to 1304-n connected to the host device 1300 via a network 1302 (a small-scale network such as a LAN or a wide area network such as the Internet). An example in which the present embodiment is applied to a system including (game machine, mobile phone) is shown. In this case, the storage program (storage information) is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a memory that can be controlled by the host device 1300, for example. When the terminals 1304-1 to 1304-n can generate game images and game sounds stand-alone, the host device 1300 receives a game program and the like for generating game images and game sounds from the terminal 1304-. 1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates game images and game sounds, which are transmitted to the terminals 1304-1 to 1304-n and output at the terminals.
[0143]
In the case of the configuration of FIG. 16C, each unit of the present invention may be realized by being distributed between the host device (server) and the terminal. Further, the above storage program (storage information) for realizing each means of the present invention may be distributed and stored in the information storage medium of the host device (server) and the information storage medium of the terminal.
[0144]
The terminal connected to the network may be a home game system or an arcade game system. When the arcade game system is connected to a network, the save information storage device can exchange information with the arcade game system and exchange information with the home game system. It is desirable to use (memory card, portable game device).
[0145]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0146]
For example, the intermediate frame image used for the generation of the environmental texture is not limited to the frame image in which the farthest view object or the middle distance view object is drawn as shown by A2 in FIG. 2, and various frame images should be considered. Can do.
[0147]
Further, the method for obtaining the texture coordinates of the environmental texture is not limited to the method described with reference to FIG. 3, and various modifications can be made. For example, the texture coordinates may be obtained on the basis of a normal vector representing the direction of the surface of the object without considering the direction of the virtual camera.
[0148]
Also, the generation method of the environmental texture is not limited to the method described with reference to FIGS.
[0149]
In the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention can be made dependent on another independent claim.
[0150]
The present invention can also be applied to various games (such as fighting games, shooting games, robot battle games, sports games, competitive games, role playing games, music playing games, dance games, etc.).
[0151]
The present invention is also applicable to various image generation systems (game systems) such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, and a system board for generating game images. Applicable.
[Brief description of the drawings]
FIG. 1 is an example of a functional block diagram of an image generation system according to an embodiment.
FIG. 2 is a diagram for explaining an environment mapping method according to the present embodiment;
FIG. 3 is a diagram for explaining a method for obtaining texture coordinates of an environmental texture.
FIG. 4 is a diagram illustrating an example of a frame image at an intermediate stage.
FIG. 5 is a diagram illustrating an example of a virtual object (template object) used for generating an environmental texture.
FIG. 6 is a diagram illustrating an example of a generated environment texture.
FIG. 7 is a diagram illustrating an example of a frame image that has not been subjected to environment mapping.
FIG. 8 is a diagram illustrating an example of a final-stage frame image after environment mapping is performed.
FIG. 9 is a diagram illustrating an example of a final frame image after environment mapping is performed.
FIG. 10 is a conceptual diagram for explaining an environmental texture generation method.
FIG. 11 is a diagram for explaining a method of obtaining an α value.
FIG. 12 is a diagram for describing a luminance changing method.
FIG. 13 is a flowchart illustrating a detailed example of processing according to the present embodiment.
FIG. 14 is a flowchart illustrating a detailed example of processing according to the embodiment.
FIG. 15 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIGS. 16A, 16B, and 16C are diagrams illustrating examples of various types of systems to which the present embodiment is applied.
[Explanation of symbols]
100 processor
110 Texture coordinate calculator
112 α value calculator
120 Image generator
122 Environmental texture generator
124 Texture mapping section
126 α synthesis unit
130 Sound generator
160 Operation unit
170 Storage unit
172 Main memory
174 Drawing buffer
176 texture storage
180 Information storage medium
190 Display
192 sound output section
194 Portable information storage device
196 Communication Department

Claims (19)

画像生成を行う画像生成システムであって、
描画バッファに描画された途中段階のフレーム画像に基づいて、オブジェクトにマッピングすべき環境テクスチャを生成する手段と、
生成された環境テクスチャをオブジェクトにマッピングしながら、該オブジェクトを、前記途中段階のフレーム画像が描画されている描画バッファに描画し、オブジェクト空間において仮想カメラから見える画像を生成する手段と、
を含むことを特徴とする画像生成システム。
An image generation system for generating an image,
Means for generating an environmental texture to be mapped to an object based on a frame image in the middle of the stage drawn in the drawing buffer;
Means for mapping the generated environmental texture to the object, drawing the object in a drawing buffer in which the frame image in the middle stage is drawn, and generating an image visible from the virtual camera in the object space;
An image generation system comprising:
請求項1において、
オブジェクトの面の反射方向を表すための反射ベクトルに基づいて、テクスチャ記憶手段から前記環境テクスチャを読み出すためのテクスチャ座標が求められ、求められたテクスチャ座標に基づいて、前記環境テクスチャがオブジェクトにマッピングされることを特徴とする画像生成システム。
In claim 1,
Based on the reflection vector for representing the reflection direction of the surface of the object, texture coordinates for reading the environmental texture from the texture storage means are obtained, and the environmental texture is mapped to the object based on the obtained texture coordinates. An image generation system characterized by that.
請求項1又は2において、
前記環境テクスチャが、
前記途中段階のフレーム画像を所与の形状の仮想オブジェクトにマッピングして変形することで生成されることを特徴とする画像生成システム。
In claim 1 or 2,
The environmental texture is
An image generation system, wherein the intermediate frame image is generated by mapping and deforming a virtual object having a given shape.
請求項1乃至3のいずれかにおいて、
反射ベクトルの第1、第2の座標成分又は該第1、第2の座標成分を線形変換することで得られる第1’、第2’の座標成分が第1、第2のテクスチャ座標成分となる環境テクスチャが、前記途中段階のフレーム画像に基づき生成されることを特徴とする画像生成システム。
In any one of Claims 1 thru | or 3,
The first and second coordinate components of the reflection vector or the first and second coordinate components obtained by linearly transforming the first and second coordinate components are the first and second texture coordinate components. An environment generation texture is generated based on the intermediate frame image.
請求項1乃至4のいずれかにおいて、
前記途中段階のフレーム画像が、
オブジェクトに映り込ませるべき背景オブジェクトを描画バッファに描画することで生成されることを特徴とする画像生成システム。
In any one of Claims 1 thru | or 4,
The intermediate frame image is
An image generation system generated by drawing a background object to be reflected in an object in a drawing buffer.
請求項5において、
前記途中段階のフレーム画像を変換して環境テクスチャを生成する際に、前記背景オブジェクトの輝度が変更されることを特徴とする画像生成システム。
In claim 5,
An image generation system characterized in that the brightness of the background object is changed when an environmental texture is generated by converting the frame image at the intermediate stage.
請求項6において、
前記背景オブジェクトが含む最遠景オブジェクトの輝度が、前記背景オブジェクトが含む中遠景オブジェクトに比べてより明るくなるように、輝度変更が行われることを特徴とする画像生成システム。
In claim 6,
The image generation system, wherein the luminance is changed so that the luminance of the farthest view object included in the background object is brighter than that of the middle distance object included in the background object.
請求項1乃至7のいずれかにおいて、
オブジェクトに、ベーステクスチャと環境テクスチャとがマルチテクスチャマッピングされることを特徴とする画像生成システム。
In any one of Claims 1 thru | or 7,
An image generation system, wherein a base texture and an environment texture are multi-texture mapped to an object.
請求項8において、
前記ベーステクスチャと環境テクスチャとを用いたα合成処理の際のα値が、オブジェクトの面の方向を表すための法線ベクトルとオブジェクトの面の反射方向を表すための反射ベクトルとに基づいて求められることを特徴とする画像生成システム。
In claim 8,
The α value in the α synthesis process using the base texture and the environment texture is obtained based on a normal vector for representing the direction of the object surface and a reflection vector for representing the reflection direction of the object surface. An image generation system.
コンピュータ使用可能なプログラムであって、
描画バッファに描画された途中段階のフレーム画像に基づいて、オブジェクトにマッピングすべき環境テクスチャを生成する手段と、
生成された環境テクスチャをオブジェクトにマッピングしながら、該オブジェクトを、前記途中段階のフレーム画像が描画されている描画バッファに描画し、オブジェクト空間において仮想カメラから見える画像を生成する手段と、
をコンピュータに実現させることを特徴とするプログラム。
A computer usable program,
Means for generating an environmental texture to be mapped to an object based on a frame image in the middle of the stage drawn in the drawing buffer;
Means for mapping the generated environmental texture to the object, drawing the object in a drawing buffer in which the frame image in the middle stage is drawn, and generating an image visible from the virtual camera in the object space;
A program characterized by causing a computer to realize.
請求項10において、
オブジェクトの面の反射方向を表すための反射ベクトルに基づいて、テクスチャ記憶手段から前記環境テクスチャを読み出すためのテクスチャ座標が求められ、求められたテクスチャ座標に基づいて、前記環境テクスチャがオブジェクトにマッピングされることを特徴とするプログラム。
In claim 10,
Based on the reflection vector for representing the reflection direction of the surface of the object, texture coordinates for reading the environmental texture from the texture storage means are obtained, and the environmental texture is mapped to the object based on the obtained texture coordinates. A program characterized by that.
請求項10又は11において、
前記環境テクスチャが、
前記途中段階のフレーム画像を所与の形状の仮想オブジェクトにマッピングして変形することで生成されることを特徴とするプログラム。
In claim 10 or 11,
The environmental texture is
A program generated by mapping the intermediate-stage frame image to a virtual object having a given shape and deforming it.
請求項10乃至12のいずれかにおいて、
反射ベクトルの第1、第2の座標成分又は該第1、第2の座標成分を線形変換することで得られる第1’、第2’の座標成分が第1、第2のテクスチャ座標成分となる環境テクスチャが、前記途中段階のフレーム画像に基づき生成されることを特徴とするプログラム。
In any of claims 10 to 12,
The first and second coordinate components of the reflection vector or the first and second coordinate components obtained by linearly transforming the first and second coordinate components are the first and second texture coordinate components. An environment texture is generated based on the frame image in the middle stage.
請求項10乃至13のいずれかにおいて、
前記途中段階のフレーム画像が、
オブジェクトに映り込ませるべき背景オブジェクトを描画バッファに描画することで生成されることを特徴とするプログラム。
In any of claims 10 to 13,
The intermediate frame image is
A program generated by drawing a background object to be reflected in an object in a drawing buffer.
請求項14において、
前記途中段階のフレーム画像を変換して環境テクスチャを生成する際に、前記背景オブジェクトの輝度が変更されることを特徴とするプログラム。
In claim 14,
A program in which the brightness of the background object is changed when an environmental texture is generated by converting the frame image in the middle stage.
請求項15において、
前記背景オブジェクトが含む最遠景オブジェクトの輝度が、前記背景オブジェクトが含む中遠景オブジェクトに比べてより明るくなるように、輝度変更が行われることを特徴とするプログラム。
In claim 15,
The program is characterized in that the brightness is changed so that the brightness of the farthest view object included in the background object is brighter than that of the medium distance view object included in the background object.
請求項10乃至16のいずれかにおいて、
オブジェクトに、ベーステクスチャと環境テクスチャとがマルチテクスチャマッピングされることを特徴とするプログラム。
In any of claims 10 to 16,
A program in which a base texture and an environment texture are subjected to multi-texture mapping on an object.
請求項17において、
前記ベーステクスチャと環境テクスチャとを用いたα合成処理の際のα値が、オブジェクトの面の方向を表すための法線ベクトルとオブジェクトの面の反射方向を表すための反射ベクトルとに基づいて求められることを特徴とするプログラム。
In claim 17,
The α value in the α synthesis process using the base texture and the environment texture is obtained based on a normal vector for representing the direction of the object surface and a reflection vector for representing the reflection direction of the object surface. A program characterized by being
コンピュータにより読み取り可能な情報記憶媒体であって、請求項10乃至18のいずれかのプログラムを含むことを特徴とする情報記憶媒体。An information storage medium readable by a computer, comprising the program according to claim 10.
JP2001135076A 2001-05-02 2001-05-02 Image generation system, program, and information storage medium Expired - Fee Related JP4574058B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001135076A JP4574058B2 (en) 2001-05-02 2001-05-02 Image generation system, program, and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001135076A JP4574058B2 (en) 2001-05-02 2001-05-02 Image generation system, program, and information storage medium

Publications (2)

Publication Number Publication Date
JP2002329213A JP2002329213A (en) 2002-11-15
JP4574058B2 true JP4574058B2 (en) 2010-11-04

Family

ID=18982618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001135076A Expired - Fee Related JP4574058B2 (en) 2001-05-02 2001-05-02 Image generation system, program, and information storage medium

Country Status (1)

Country Link
JP (1) JP4574058B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2408661B (en) 2003-11-27 2008-02-06 Sony Comp Entertainment Europe Image rendering
JP4827250B2 (en) * 2006-09-20 2011-11-30 株式会社バンダイナムコゲームス Program, information storage medium, and image generation system
JP5191039B2 (en) * 2008-02-22 2013-04-24 サミー株式会社 Moving picture reproducing apparatus, game machine, and moving picture reproducing program
CN113744124A (en) * 2020-05-29 2021-12-03 北京达佳互联信息技术有限公司 Image processing method, image processing device, electronic equipment and computer storage medium
CN115103147A (en) * 2022-06-24 2022-09-23 马上消费金融股份有限公司 Intermediate frame image generation method, model training method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001070633A (en) * 1999-09-09 2001-03-21 Namco Ltd Image forming system and information recording medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143711A (en) * 1991-11-21 1993-06-11 Hitachi Ltd Image generating method
JPH09319891A (en) * 1996-06-03 1997-12-12 Sega Enterp Ltd Image processor and its processing method
JPH1071272A (en) * 1996-06-27 1998-03-17 Konami Co Ltd Game apparatus, display device used therefor and readable medium of computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001070633A (en) * 1999-09-09 2001-03-21 Namco Ltd Image forming system and information recording medium

Also Published As

Publication number Publication date
JP2002329213A (en) 2002-11-15

Similar Documents

Publication Publication Date Title
JP3249955B2 (en) Image generation system and information storage medium
JP3777288B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP4610748B2 (en) Image generation system, program, and information storage medium
JP3280355B2 (en) Image generation system and information storage medium
JP4229319B2 (en) Image generation system, program, and information storage medium
JP4167358B2 (en) Image generation system and information storage medium
JP3576126B2 (en) Image generation system, program, and information storage medium
JP4574058B2 (en) Image generation system, program, and information storage medium
JP4245356B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4707078B2 (en) Image generation system, program, and information storage medium
JP3297410B2 (en) Image generation system and information storage medium
JP3254195B2 (en) Image generation system and information storage medium
JP2001229403A (en) Game system and information storage medium
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2005209217A (en) Game system and information storage medium
JP4528008B2 (en) Program, information storage medium, and image generation system
JP4187192B2 (en) Image generation system, program, and information storage medium
JP4704615B2 (en) Image generation system, program, and information storage medium
JP2010055638A (en) Image generating system and information storage medium
JP3431562B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4592039B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4592087B2 (en) Image generation system, program, and information storage medium
JP2007164651A (en) Program, information storage medium and image generation system
JP2003162734A (en) Game system and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100726

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: 20100811

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: 20100818

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4574058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

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