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

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

Info

Publication number
JP4704615B2
JP4704615B2 JP2001191506A JP2001191506A JP4704615B2 JP 4704615 B2 JP4704615 B2 JP 4704615B2 JP 2001191506 A JP2001191506 A JP 2001191506A JP 2001191506 A JP2001191506 A JP 2001191506A JP 4704615 B2 JP4704615 B2 JP 4704615B2
Authority
JP
Japan
Prior art keywords
light source
halation
image
primitive
information
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
JP2001191506A
Other languages
Japanese (ja)
Other versions
JP2003006673A (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 JP2001191506A priority Critical patent/JP4704615B2/en
Publication of JP2003006673A publication Critical patent/JP2003006673A/en
Application granted granted Critical
Publication of JP4704615B2 publication Critical patent/JP4704615B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができる画像生成システムを例にとれば、プレーヤ(操作者)は、銃などを模して作られたガン型コントローラ(シューティングデバイス)を用いて、画面に映し出される敵キャラクタ(敵オブジェクト)などの標的をシューティングすることで、3次元ゲームを楽しむ。
【0003】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な課題になっている。従って、ゲーム画面中に、太陽光源等の高輝度の光源の周りにぼやけた部分が発生する現象(ハレーション)を表現させる場合にも、よりリアルであることが望まれる。
【0004】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、よりリアルに光源のハレーションを表現することができる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0005】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、光源プリミティブの基準面積を基準として、前記光源プリミティブのレンダリング画像の面積の比率を求める手段と、前記光源プリミティブと視点との間に配置されるハレーションプリミティブの半透明情報又は色情報を、前記面積の比率に応じて変化させる処理を行うハレーション処理手段と、前記光源プリミティブ及び前記ハレーションプリミティブが配置されるオブジェクト空間において前記視点から見える画像を生成する手段とを含むことを特徴としている。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(情報記憶媒体又は搬送波に具現化されるプログラム)であって、上記手段をコンピュータに実現させる(上記手段としてコンピュータを機能させる)ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能(使用可能)な情報記憶媒体であって、上記手段をコンピュータに実現させる(上記手段としてコンピュータを機能させる)ためのプログラムを含むことを特徴としている。
【0006】
ここで、光源プリミティブは、例えば擬似光源としての光源オブジェクトを考えることができる。
【0007】
また、基準面積とは、例えば視点(仮想カメラ)の位置から所与の距離に配置された基準形状の光源プリミティブの面積を考えることができる。より具体的には、基準面積は、この光源プリミティブを視点から見たときに、遮るものがないときのレンダリング画像の面積を考えることができる。
【0008】
また、ハレーションプリミティブとは、ハレーションを表すプリミティブをいう。ここで、ハレーションとは、例えば太陽光源等の高輝度の光源の周りに発生するぼやけた部分をいう。
【0009】
オブジェクト空間とは、例えば定義点(ポリゴンの頂点或いは自由曲面の制御点など)により形状が特定されるオブジェクトが配置される仮想的な3次元空間をいう。
【0010】
本発明によれば、光源プリミティブの基準面積に対して、光源プリミティブのレンダリング画像の面積の比率を求め、光源プリミティブと視点との間に配置されるハレーションプリミティブの半透明情報又は色情報を、この比率に基づいて変化させるようにしたので、オブジェクト空間において光源プリミティブに遮るものがない場合や、逆に遮るものがあってその一部のみが見える場合など、光源プリミティブの見え方によって、その光源プリミティブの周りに発生するハレーションの表現を変化させることができる。こうすることで、ハレーションをよりリアルに表現することができる。
【0011】
なお、ハレーションプリミティブの半透明情報を変化させることで、ハレーションの強弱を表現することができる。さらに、ハレーションプリミティブの色情報を変化させることで、光源プリミティブの見え方によって特定の色系統を強くしたり、弱くしたりすることができ、例えば光源プリミティブとして太陽光源を考えたときに、夕焼けを表現することも可能となる。
【0012】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記ハレーション処理手段は、前記プリミティブ画像の各ピクセル情報の平均値に対する前記レンダリング画像の各ピクセル情報の平均値の比率に基づいて、前記ハレーションプリミティブの半透明情報又は色情報を変化させる処理を行うことを特徴としている。
【0013】
ここで、ピクセル情報とは、色情報や半透明情報等のピクセル(画素)に関連付けられる情報をいう。
【0014】
本発明によれば、レンダリング画像の面積比率に対応付けられるピクセル情報の平均値の比率に基づいてハレーションプリミティブの半透明情報又は色情報を変化させるようにしたので、レンダリング画像の形状に限定されることなく容易にハレーションの変化をよりリアルに表現することができるようになる。
【0015】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、少なくとも前記光源プリミティブのレンダリング画像の各ピクセル情報の平均値を、バイリニアフィルタ方式によって求めることを特徴としている。
【0016】
ここで、バイリニアフィルタ方式として、例えば光源プリミティブのレンダリング画像を、ハレーションを表すテクスチャとして設定する手段と、このテクスチャの0.5テクセルずつ内側のテクスチャ座標をポリゴンの頂点座標に設定(コーディネート)する手段と、上記テクスチャをバイリニアフィルタ方式でマッピングして前記光源プリミティブのレンダリング画像のサイズの各辺2分の1(面積が4分の1)の画像を生成する手段とを設けることで、マッピング後のプリミティブの各画素には、4テクセル分のピクセル情報の平均値が設定される。これを、最終的に1ピクセルになるまで再帰的に繰り返すことで、光源プリミティブのレンダリング画像のピクセル情報の平均値を求めることができる。
【0017】
本発明によれば、このようなバイリニアフィルタ方式でピクセル情報の平均値を求めるようにしたので、光源プリミティブの形状に関わらず、テクセル保管方式で用いられる処理ルーチンを使って、より高速にハレーションの表現を行うためのパラメータを求めることができる。その結果、高速に、よりリアルな画像を提供することができる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、オブジェクト空間に配置された前記光源プリミティブと視点との間の距離に応じて、前記ハレーションプリミティブの大きさを変化させることを特徴としている。
【0019】
本発明によれば、オブジェクト空間における各種光源プリミティブのハレーションを、よりリアルに表現することが可能となる。
【0020】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記面積の比率が0になったとき、前記ハレーションプリミティブを非表示にすることを特徴としている。
【0021】
本発明によれば、画像に影響を与えないハレーションプリミティブのオブジェクト画像の表示を省略することができるので、画像生成の処理負荷を軽減することができるようになる。
【0022】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0023】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0024】
1. 構成
図1に、本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば、操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については任意の構成要素とすることができる。
【0025】
ここで、処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0026】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筐体などのハードウェアにより実現できる。
【0027】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0028】
情報記憶媒体(コンピュータにより読み取り可能な媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)をコンピュータに実現(実行、機能)させるためのプログラムが格納され、このプログラムは例えば1又は複数のモジュール(オブジェクト指向におけるオブジェクトも含む)を含む。
【0029】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示にしたがって処理を行うための情報などを含ませることができる。
【0030】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0031】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0032】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0033】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0034】
なお本発明(本実施形態)の各手段を実現(実行、機能)するためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバ)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0035】
処理部(プロセッサ)100は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。
【0036】
ここで、処理部100が行う処理としては、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ面)の位置や回転角度(X、Y又はZ軸回りの回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバ処理などを考えることができる。
【0037】
ここで、オブジェクト空間とは、例えば定義点(ポリゴンの頂点或いは自由曲面の制御点など)により形状が特定されるオブジェクトが配置される仮想的な3次元空間をいう。
【0038】
処理部100は、画像生成部130、音生成部150を含む。
【0039】
画像生成部130は、処理部100において行われるゲーム処理等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ(視点)から見える画像を生成して表示部190に出力する。
【0040】
音生成部150は、処理部100において行われるゲーム処理等にしたがって各種の音処理を行い、BGM、効果音、音声などの音を生成し、音出力部192に出力する。
【0041】
なお、画像生成部130、音生成部150の機能は、その全てをハードウェアにより実現するようにしてもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0042】
画像生成部130は、ジオメトリ処理部(3次元演算部)132、ハレーション処理部134、描画部(レンダリング部)140を含む。
【0043】
ここで、ジオメトリ処理部132は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元演算)を行う。そして、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標などの形状データ、或いは頂点テクスチャ座標、輝度データ等)は、記憶部170の主記憶部172に保存される。
【0044】
ハレーション処理部134は、例えばより現実感を向上させるために太陽や街灯などの光源(擬似光源)を表現する場合に、オブジェクト空間内に配置される光源オブジェク(プリミティブ)トに対し、高輝度の光源の周りにぼやけた部分が発生する現象(ハレーション)を表現するための処理を行う。より具体的には、本実施形態では、ハレーションを表現するために、光源オブジェクトと仮想カメラとの間にハレーションを表したテクスチャがマッピングされたハレーションオブジェクト(プリミティブ)が配置される。また、ハレーション処理部134は、このハレーションオブジェクト若しくはハレーションを表したテクスチャ(画像、データ)に付与される透明度情報(半透明情報と等価)等を用いて、このハレーションオブジェクトの透明度を制御する。
【0045】
より具体的には、本実施形態において、ハレーション処理部134は、ハレーションを発生させる光源オブジェクトの輝度に応じて、仮想カメラの正面に配置されるハレーションオブジェクト若しくはハレーションを表すテクスチャの透明度を制御する。本実施形態では、光源オブジェクトの輝度について、光源オブジェクトのレンダリング画像の面積比率に基づいて判断するようになっている。こうすることで、光源オブジェクト全体が仮想カメラから見える場合と、その光源オブジェクトの一部のみが見える場合とで、ハレーションの表現を変化させて、よりリアルな画像を提供する。
【0046】
描画部140は、オブジェクトデータやテクスチャなどに基づいて、オブジェクト空間における仮想カメラから見える画像を描画する処理を行う。その際、描画部140は、奥行きバッファ(Zバッファ(Zプレーン)、ステンシルバッファ)178に格納される奥行き情報(例えば、各ピクセル又は各プリミティブ(面、線)に設定される奥行き値。例えばZ値)を参照して、Zバッファ法のアルゴリズムにしたがった陰面消去を行う。
【0047】
描画部140は、テクスチャマッピング部142、α合成部144を含む。
【0048】
ここで、テクスチャマッピング部142は、テクスチャ記憶部176に記憶されたテクスチャを、テクセル補間方式としてのバイリニアフィルタ方式で、オブジェクト(ポリゴン、自由曲面などのプリミティブ面)にマッピングする処理を行う。
【0049】
α合成部144は、α値(A値)に基づくα合成処理を行う。ここで、α合成とは、α値と呼ばれるプラスアルファの情報に基づいて、例えば描画バッファに描画された元画像とジオメトリ処理後の所与の画像との間で行われる画像の合成処理をいう。α値は、画像単位若しくは各画素の関連付けられて記憶される情報であって、オブジェクトの定義点毎に設定され、例えば色情報以外のプラスアルファの情報としての透明度(不透明度或いは半透明度と等価)を示す透明度情報をいう。α値が、例えばプラスアルファ情報として透明度情報を示す場合、α合成は半透明処理を意味する。
【0050】
このようなα合成としては、例えばα値を用いた半透明ブレンディング(αブレンディング)、α値を用いた加算半透明(α加算)、α値を用いた減算半透明(α減算)などの合成処理方法がある。
【0051】
例えばα合成がαブレンディングである場合には、次のような合成処理が行われる。
【0052】
Q=(1−α)×R1+α×R2 ・・・(1)
Q=(1−α)×G1+α×G2 ・・・(2)
Q=(1−α)×B1+α×B2 ・・・(3)
【0053】
ここで、R1、G1、B1は、描画バッファに既に描画されているジオメトリ処理後の画像の色(輝度)のR、G、B成分であり、R2、G2、B2は、描画画像の色のR、G、B成分である。また、RQ、GQ、BQは、αブレンディングにより生成される画像の色のR、G、B成分である。なお、ここでは、α値として、ジオメトリ処理後の所与の画像のα値を用いてもよいし、描画された元画像のα値を使用するようにしてもよい。
【0054】
なお、本実施形態の画像生成システムは、1人のプレーヤのみプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0055】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0056】
2. 本実施形態の特徴
2.1 ハレーションの表現
図2に、本実施形態においてハレーションを表現する原理を説明するための図を示す。
【0057】
本実施形態では、オブジェクト空間内にハレーションの表現対象となる光源オブジェクト(プリミティブ)200が配置された場合、光源オブジェクト(OBJ)と仮想カメラ(視点)202とを結ぶ直線上に、ハレーションオブジェクト(プリミティブ)(例えば、板ポリゴン)204を配置する。
【0058】
ハレーションオブジェクト204は、図3に示すようなハレーションを表したテクスチャ画像(テクスチャデータ)がコーディネートされる。ここで、コーディネートとは、プリミティブの構成点(例えば、ポリゴンの頂点)にテクスチャ座標を設定することをいう。
【0059】
例えば光源として太陽光源が山間に見える風景を表現する場合、オブジェクト空間内に、図4に示すような空と山の風景を表した背景オブジェクト210と、光源オブジェクトとしての太陽光源オブジェクト220とを配置する。したがって、仮想カメラから見えるオブジェクト画像は、図5のようになる。
【0060】
さらに、太陽光源オブジェクト220と仮想カメラとの間に、図3に示すようなハレーションを表したテクスチャを貼ったハレーションオブジェクトを配置することで、図6のようなオブジェクト画像を得ることができる。この場合、例えばハレーションオブジェクトに対し、テクスチャ画像の最も明るい部分が、仮想カメラの位置と太陽光源オブジェクトの中心を結ぶ直線上になるようにコーディネートする。或いは、図3に示すテクスチャ画像の最も明るい部分が、仮想カメラの位置と太陽光源オブジェクトの中心を結ぶ直線上になるように、テクスチャ画像がコーディネートされたハレーションオブジェクトを配置する。
【0061】
ところで、例えば仮想カメラが移動しながら山間の風景をアニメーションとして表現する場合、図5に示すように太陽光源が全部見えているときもあれば、図7に示すように太陽光源の一部のみが見えている(一部が隠れている)ときもある。太陽光源が全部見えているときも、太陽光源の一部のみが見えているときも、図6に示したようにハレーションを表現しようとすると、本来輝度が異なるにも関わらず同じようなハレーションが表現されてしまい、今ひとつリアルさに欠ける表現となる。
【0062】
そこで、本実施形態では、図7に示したように太陽光源の一部のみが見えている場合には、図5に示すように太陽光源が全部見えている場合に比べてハレーションを弱く表現するようにしている。こうすることで、例えば仮想カメラが移動しながら山間の風景をアニメーションとして表現する場合にも、よりリアルなハレーションを表現するようにしている。
【0063】
このため、本実施形態では、仮想カメラから所与の距離に基準形状となる太陽光源オブジェクトが配置されたときの面積(光源プリミティブの基準面積。例えば、図5に示すように太陽光源オブジェクトが全部見えているときの面積)を基準として、太陽光源オブジェクトのレンダリング画像の面積の比率を求め、この比率に基づいて、ハレーションオブジェクトの透明度を制御する。ハレーションオブジェクトは、オブジェクト(板ポリゴン)の頂点ごとに付与される半透明情報、若しくはテクスチャに付与される半透明情報により、オブジェクト全体の透明度が制御されるようになっている。
【0064】
2.2 面積比率の算出
本実施形態では、ハレーションオブジェクトの透明度を制御するためのパラメータとして、光源オブジェクトのレンダリング画像の面積比率を用いる。
【0065】
図8に、ハレーションオブジェクト全体の透明度を制御するためのパラメータである面積比率の基準となる光源オブジェクトの画像の一例を示す。
【0066】
面積比率は、仮想カメラの位置から所与の距離に配置された基準形状の光源オブジェクトが仮想カメラから見たときに遮るものがないときの面積(光源プリミティブの基準面積)を基準とする。基準形状としては、例えば太陽光源オブジェクトの場合は、全部が見えている場合の形状とすることができる。
【0067】
例えば図7に示すような(太陽)光源オブジェクトについて、ハレーションを表現する場合には、図8に示すような(太陽)光源オブジェクトが全部見える場合の画像の面積を基準とする。
【0068】
本実施形態では、画像の面積が、画像の各ピクセル情報の平均値(広義には、平均情報)に対応付けられる点に着目して、上述した画像比率を、画像の各ピクセル情報の平均値の比率に対応付け、このピクセル情報の平均値の比率に基づいてハレーションオブジェクトの透明度を制御する。
【0069】
ここで、ピクセル情報とは、色情報や半透明情報等のピクセル(画素)に関連付けられる情報をいう。
【0070】
また本実施形態では、テクセル補間方式としてのバイリニアフィルタ方式により、画像の各ピクセル情報の平均値を求める。
【0071】
図9に、本実施形態において光源オブジェクトのレンダリング画像の各ピクセル情報の平均値を求める手法を説明するための図を示す。
【0072】
まず、ハレーションの表現対象である光源オブジェクトのレンダリング画像のみを含む画像250を作成する。
【0073】
次に、この画像250のA方向とB方向のサイズがそれぞれ2分の1(面積が4分の1)にして、縮小画像252を作成する。
【0074】
さらに、縮小画像252のA´方向とB´方向のサイズがそれぞれ2分の1(面積が4分の1)にして、縮小画像254を作成する。
【0075】
このようにして、各画像サイズの各辺を2分の1に縮小することを再帰的に実行し、最終的に1ピクセルになるまで繰り返す。
【0076】
本実施形態では、画像サイズの各辺を2分の1に縮小した画像を作成する段階で、バイリニアフィルタ方式でレンダリングすることにより、縮小画像の各ピクセル情報が、元画像のピクセル情報の平均値となるようにしている。その結果、最終的に作成された1ピクセルは、画像250の各ピクセル情報の平均値となる。
【0077】
したがって、図8に示したような基準となる太陽光源オブジェクトのオブジェクト画像(プリミティブ画像)の面積に対応するピクセル情報の平均値をあらかじめ保持しておき、光源オブジェクトがレンダリングされるたび画像250の各ピクセル情報の平均値を求める。そして、あらかじめ保持していた基準となるピクセル情報の平均値と、求めたピクセル情報の平均値とから比率を求めることで、レンダリング画像の面積比率に対応するピクセル情報の平均値の比率を求めることができる。
【0078】
このようにして面積比率に対応するピクセル情報の平均値の比率が求められると、この平均値の比率に基づいて、ハレーションオブジェクトの透明度を変化させることにより、ハレーションオブジェクトにコーディネートするテクスチャ画像を複数用意する必要がなくなるばかりか、微妙に変化するハレーションをよりリアルに表現することができる。
【0079】
2.2.1 バイリニアフィルタ方式を用いたピクセル情報の平均化
図10に、バイリニアフィルタ方式によるテクスチャマッピングについて説明するための図を示す。
【0080】
ここで、テクスチャは、説明の便宜上、テクセルTA、TB、TC、TDを含むものとする。テクセルTA、TB、TC、TDは、それぞれ色情報としてCA、CB、CC、CDを有する。
【0081】
テクスチャマッピングにおいて、ピクセル(画素)の位置とテクセルの位置とがずれた場合、バイリニアフィルタ方式では、画素Pのピクセル情報(色情報)CPは、画素Pの周りのテクセルTA、TB、TC、TDのピクセル情報(色情報を補間した値となる。
【0082】
より具体的には、テクセルTA、TB、TC、TDの座標と、画素Pの座標とに基づき、X軸方向の座標比β:(1−β)(ただし、0≦β≦1)と、Y軸方向の座標比γ:(1−γ)(ただし、0≦γ≦1)を求める。
【0083】
この場合に、画素Pのピクセル情報(色情報、バイリニアフィルタ方式での出力色)CPは、次の式のようになる。
【0084】
CP=(1−β)×(1−γ)×CA+β×(1−γ)×CB
+(1−β)×γ×CC+β×γ×CD ・・・(4)
【0085】
本実施形態では、このようにバイリニアフィルタ方式でピクセル情報が補間される点に着目し、テクスチャとオブジェクトのコーディネートの方法を工夫することで、図9に示したような再帰的な画像の縮小化によって、ピクセル情報の平均値を求める。なお、図9の場合、(4)式において、β及びγがともに0.5に設定された場合のピクセル情報が得られる。
【0086】
ここでは、色情報の補間について説明したが、半透明情報についても同様に補間される。
【0087】
図11に、本実施形態におけるオブジェクトとテクスチャのコーディネートの方法について説明するための図を示す。
【0088】
本実施形態において、例えば光源オブジェクトのレンダリング画像300を、テクスチャ画像310として設定する。
【0089】
より具体的には、頂点座標が(X,Y)=(0,0)、(Xmax,0)、(0,Ymax)、(Xmax,Ymax)であるレンダリング画像300が、テクスチャ座標(U,V)=(0,0)、(1,0)、(0,1)、(1,1)のテクスチャ画像310として設定される。
【0090】
そして、このテクスチャ画像310は、オブジェクト320にバイリニアフィルタ方式でマッピングされる。その際、オブジェクト320の各頂点に与えるテクスチャ座標を、0.5テクセルだけ内側にシフトした座標に設定し、レンダリング画像300のX方向及びY方向がそれぞれ2分の1のサイズに縮小されたオブジェクト320に、このテクスチャ画像310をマッピングする。
【0091】
すなわち、マッピング対象のオブジェクト320の各頂点には、テクスチャ座標(U,V)=(0.5/Xmax,0.5/Ymax)、(0.5/Xmax,1−0.5/Ymax)、(1−0.5/Xmax,0.5/Ymax)、(1−0.5/Xmax,1−0.5/Ymax)が設定され、内側に0.5テクセルだけシフトした位置にコーディネートされる。
【0092】
図12に、レンダリング画像300若しくはテクスチャ画像310と、コーディネートされるテクスチャ座標との関係を説明するための図を示す。
【0093】
光源オブジェクトのジオメトリ処理後のオブジェクト画像を含むレンダリング画像300は、テクスチャ画像310として設定される。マッピング対象のオブジェクト(ポリゴン)の各頂点には、このテクスチャ画像310の0.5テクセルだけ内側のテクスチャ座標(テクセル座標)が設定される。
【0094】
例えばテクスチャ画像310の両対角に位置するテクセルT00、TNNに着目すると、マッピング対象のオブジェクトの頂点にP00、PNNに示すテクスチャ座標(テクセル座標)が設定されることになる。
【0095】
このようにコーディネートされたテクスチャ画像310は、図11に示すように、レンダリング画像300のサイズの各辺が2分の1となって頂点座標(X,Y)=(0,0)、(Xmax/2,0)、(0,Ymax/2)、(Xmax/2,Ymax/2)のオブジェクト320にバイリニアフィルタ方式でマッピングされる。
【0096】
図13に、オブジェクト320にマッピングされるテクスチャ画像310において参照されるテクスチャ座標について説明するための図を示す。
【0097】
上述したようにコーディネートを行って、各辺が2分の1に縮小化されたオブジェクトに、テクスチャ画像をマッピングする。その際、バイリニアフィルタ方式でマッピングすることによって、例えばテクスチャ座標400、402、404、406が参照されることになる。
【0098】
したがって、マッピングされたオブジェクトの各画素には、各テクスチャ座標の周辺の4テクセルの平均値が反映されることになる。すなわち、マッピングされたオブジェクトの各画素のピクセル情報に、テクスチャ画像310の4テクセル単位でピクセル情報の平均値が設定されることになる。
【0099】
これにより、再帰的に同様のコーディネート及びマッピングを繰り返すことにより、テクセルのピクセル情報の平均値を得ることができる。
【0100】
こうすることで、仮想カメラから所与の距離に配置された基準形状の光源オブジェクトの全部が見えるときのオブジェクト画像のピクセルの平均値を基準として、上述したように再帰的に1ピクセル化したピクセルの平均値情報から、レンダリング後の画像に占める光源オブジェクトの面積の比率とを対応付けることが可能となる。
【0101】
その結果、この面積比率に対応付けられたピクセル情報の平均値の比率に基づいて、ハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度を制御することで、光源オブジェクトの表示面積に応じたハレーションの表現にバリエーションを与えることができる。
【0102】
例えば、ピクセル情報の平均値の比率が高いほどハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度を低くし、ピクセル情報の平均値の比率が低いほどハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度を高くする。
【0103】
これにより、光源オブジェクトを太陽光源に適用した場合には、山間から太陽光源の全部が見えているときには、ハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度を低くして、図14(A)に示すように、ハレーションが強くなるように表現することができる。
【0104】
一方、山間に太陽光源が半分以上隠れているときには、ハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度を高くして、図14(B)に示すように、ハレーションが弱くなるように表現することができる。
【0105】
また、太陽光源が完全に隠れてしまった場合(面積比率若しくはピクセル情報の平均値の比率が0になった場合)には、ハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度は完全に透明になるように設定することで、よりリアルなハレーションを表現することができる。なお、このような場合に、ハレーションオブジェクト自体をオブジェクト空間に配置することなく、ハレーションオブジェクトのオブジェクト画像の生成を省略してハレーションオブジェクトの画像を非表示にすることで画像生成の処理負荷を軽減することができる。
【0106】
3. 本実施形態の処理例
次に、本実施形態の処理の詳細例について、図15及び図16のフローチャートを用いて説明する。
【0107】
図15に、本実施形態におけるハレーションを表現するレンダリング処理の一例を示す。
【0108】
まず、描画部140によって、ジオメトリ処理後の画像が描画バッファ(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)174に描画されると、例えば処理部100は奥行きバッファ178を参照して、あらかじめ光源オブジェクト(プリミティブ)に対応付けされた奥行き値(例えばZ値)を参照して、光源オブジェクトのみが表示されるように、描画バッファ174とは別個のαプレーンや他の描画領域にレンダリングする(ステップS10)。
【0109】
なお、このレンダリングされる画像のサイズは、例えばピクセル情報の平均値の基準となる光源オブジェクトの画像サイズに基づいて定めることができる。
【0110】
次に、テクスチャマッピング部142において、このレンダリング画像に対して、図11に示すようにコーディネート行って、バイリニアフィルタ方式で再帰的にマッピングを行う(ステップS11)。これにより、レンダリング画像のピクセル情報の平均値(平均情報)を求めることができる。
【0111】
続いて、処理部100若しくはハレーション処理部134において、光源オブジェクトが何れに遮られずに全部が見えているときのピクセル情報(色情報、半透明情報)の平均値(平均情報)を基準に、ステップS11で求めたレンダリング画像のピクセル情報の平均値から、光源オブジェクトの(表示)面積比率を求める(ステップS12)。
【0112】
そして、ハレーション処理部134において、ステップS12で求めた(表示)面積比率に応じて、仮想カメラと光源オブジェクトの間に配置されたハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャのピクセル情報若しくは透明度情報を変化させる(ステップS13)。
【0113】
例えば、ピクセル情報の平均値の比率が高いほどハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度を低くし、ピクセル情報の平均値の比率が低いほどハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度を高くする。
【0114】
或いは、ピクセル情報の平均値の比率が低いほどハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの色情報に対して、赤系統を強くすることにより、光源オブジェクトとして太陽光源に適用すると、夕焼けを表現することも可能となる。
【0115】
その後、描画部140は、背景オブジェクトとハレーションオブジェクトをレンダリングする(ステップS14)。その際、ハレーションオブジェクトを描画する場合は、ハレーションが手前に表現されるように、奥行きバッファ178に格納される奥行き値(例えばZ値)を参照することなく行う。また、α合成部144によって、ハレーション処理部134によって設定されたα値に基づいてα合成処理が行われる。
【0116】
こうすることで、図14(A)、(B)に示すように、太陽光源の表示面積比率に応じて変化するハレーションを表現し、よりリアルな画像を提供することができる。
【0117】
図16に、本実施形態におけるバイリニアフィルタ方式によるピクセル情報の平均値を求める処理の一例を示す。
【0118】
まず、レンダリング画像をテクスチャ画像として設定し、板ポリゴン(広義には、オブジェクト)の各頂点に、テクスチャ座標を設定する(コーディネートする)(ステップS20)。
【0119】
次に、レンダリング画像のX方向、Y方向がともに2分の1となるように、上記した板ポリゴンのサイズを縮小化する(ステップS21)。
【0120】
なお、X方向若しくはY方向のサイズが1より小さくなったときには、最小値1となるようにする。
【0121】
ここで、縮小化した板ポリゴンのX方向、Y方向のサイズが、ともに1でないとき(ステップS22:N)、上述したようにバイリニアフィルタ方式で板ポリゴンにレンダリングを行い(ステップS23)、ステップS21に戻る。
【0122】
これにより、レンダリングされた各画素には、4テクセル分の平均値が設定される。
【0123】
また、ステップS22で、縮小化した板ポリゴンのX方向、Y方向のサイズが、ともに1のとき(ステップS22:Y)、1ピクセルまで画像の縮小化が終了したと判断し、一連の処理を終了する(エンド)。
【0124】
このようにすることで、レンダリング画像が1ピクセル分になるまで画像を縮小化し、上述したようにハレーションオブジェクト若しくはハレーションオブジェクトのテクスチャの透明度等の制御パラメータとして、最終的に元のレンダリング画像の各ピクセルの平均値を求めることができる。
【0125】
4. その他
なお、本実施形態では、オブジェクト空間内に配置された光源(擬似光源)が複数の場合も同様に適用することができる。
【0126】
図17に、オブジェクト空間内に光が複数配置された場合のハレーションの表現について説明するための図を示す。
【0127】
例えば、オブジェクト空間内で第1〜第3の光源オブジェクト500、502、504が配置されており、仮想カメラ(視点)から見える画像を生成するとき、各光源オブジェクトと仮想カメラ520との間に、それぞれ第1〜第3のハレーションオブジェクト510、512、514を配置する。
【0128】
このとき、例えば最も手前に位置して高輝度の第1の光源オブジェクト510についてのピクセル情報の平均値を予め求めておくことによって、第2及び第3の光源オブジェクト502、504の手前に配置される第2及び第3のハレーションオブジェクト512、514の透明度若しくは色情報を制御することができる。
【0129】
こうすることで、仮想カメラ520から近い距離にある第1の光源オブジェクト500と、仮想カメラ520から遠い距離にある第3の光源オブジェクト5004とについてハレーションを表現する場合、第1のハレーションオブジェクト510の透明度を低くし、第3のハレーションオブジェクト514のサイズを小さくするとともにその透明度を高くして、レンダリング画像の面積に応じて異なるハレーションを表現することが可能となる。
【0130】
例えば、オブジェクト空間内で複数の光源オブジェクトがある場合としては、道路の両側に配置された街灯などを考えることができる。
【0131】
5. ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図18を用いて説明する。
【0132】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0133】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0134】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0135】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0136】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ(プリミティブ面)で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すとともに、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0137】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0138】
ゲームコントローラ942(レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等)からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0139】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0140】
RAM960は、各種プロセッサの作業領域として用いられる。
【0141】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0142】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0143】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【0144】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現(実行)してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0145】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示するとともに、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【0146】
図19(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100、1101上に映し出されたゲーム画像を見ながら、ガン型コントローラ1102、1103などを操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
【0147】
図19(B)に、本実施形態を家庭用のゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ガン型コントローラ1202、1204などを操作してゲームを楽しむ。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209などに格納されている。
【0148】
図19(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に伝送し端末において出力することになる。
【0149】
なお、図19(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバ)と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバ)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0150】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であるとともに家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0151】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0152】
また、ピクセル情報の平均値を求める手法は、本実施形態において説明した手法に限定されるものではない。
【0153】
さらに、本実施形態では、光源プリミティブの基準面積を、仮想カメラの位置から所与の距離に配置された基準形状の光源オブジェクトが仮想カメラから見たときに遮るものがないときの面積として説明したが、これに限定されるものではない。
【0154】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0155】
また、本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0156】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態における画像生成システムのブロック図の例である。
【図2】本実施形態におけるハレーションを表現する原理を説明するための説明図である。
【図3】本実施形態におけるハレーションを表現したテクスチャ画像の一例である。
【図4】本実施形態における背景オブジェクトの画像の一例である。
【図5】背景オブジェクトと太陽光源オブジェクトとを組み合わせたオブジェクト画像の一例である。
【図6】背景オブジェクトと太陽光源オブジェクトとハレーションオブジェクトとを組み合わせたオブジェクト画像の一例である。
【図7】背景オブジェクトに太陽光源オブジェクトが隠れる場合のオブジェクト画像の一例である。
【図8】ハレーションオブジェクト全体の透明度を制御するためのパラメータである面積比率の基準となる光源オブジェクトの画像の一例である。
【図9】本実施形態において光源オブジェクトのレンダリング画像の各ピクセル情報の平均値を求める手法を説明するための説明図である。
【図10】バイリニアフィルタ方式のテクスチャマッピングについて説明するための説明図である。
【図11】バイリニアフィルタ方式でピクセル情報の平均値を求める手法について説明するための説明図である。
【図12】レンダリング画像若しくはテクスチャ画像と、コーディネートされるテクスチャ座標との関係を説明するための説明図である。
【図13】オブジェクトにマッピングされるテクスチャ画像において参照されるテクスチャ座標について説明するための説明図である。
【図14】図14(A)は、本実施形態において、太陽光源オブジェクトが山間から全部見えている場合のハレーションを表現したオブジェクト画像の一例である。図14(B)は、本実施形態において、太陽光源オブジェクトが山間に半分以上隠れている場合のハレーションを表現したオブジェクト画像の一例である。
【図15】本実施形態におけるハレーションを表現するレンダリング処理の一例を示すフローチャートである。
【図16】本実施形態におけるバイリニアフィルタ方式によるピクセル情報の平均値を求める処理の一例を示すフローチャートである。
【図17】オブジェクト空間内に光が複数配置された場合のハレーションの表現について説明するための説明図である。
【図18】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図19】図19(A)、図19(B)、図19(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
100 処理部
130 画像生成部
132 ジオメトリ処理部
134 ハレーション処理部
140 描画部
142 テクスチャマッピング部
144 α合成部
150 音生成部
160 操作部
170 記憶部
172 主記憶部
174 描画バッファ
176 テクスチャ記憶部
178 奥行きバッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
200 光源オブジェクト(OBJ)
202 仮想カメラ
204 ハレーションオブジェクト
210 背景オブジェクト
220 太陽光源オブジェクト
[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 issue to generate a more realistic image in order to improve the virtual reality of the player. Therefore, it is desirable that the game screen be more realistic when a phenomenon (halation) in which a blurred portion occurs around a high-luminance light source such as a solar light source is expressed in the game screen.
[0004]
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 more realistically expressing halation of a light source. It is in.
[0005]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides an image generation system that performs image generation, a unit that obtains a ratio of an area of a rendering image of the light source primitive based on a reference area of the light source primitive, and the light source primitive An object space in which the light source primitive and the halation primitive are arranged, a halation processing means for performing a process of changing the translucency information or color information of the halation primitive arranged between the viewpoint and the viewpoint according to the ratio of the area And means for generating an image visible from the viewpoint. 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). It is said.
[0006]
Here, as the light source primitive, for example, a light source object as a pseudo light source can be considered.
[0007]
In addition, the reference area may be, for example, the area of a light source primitive having a reference shape arranged at a given distance from the position of the viewpoint (virtual camera). More specifically, the reference area can consider the area of the rendered image when there is no obstruction when the light source primitive is viewed from the viewpoint.
[0008]
The halation primitive is a primitive representing halation. Here, the halation means a blurred portion generated around a high-intensity light source such as a solar light source.
[0009]
The object space refers to a virtual three-dimensional space in which an object whose shape is specified by definition points (such as polygon vertices or free-form surface control points) is arranged.
[0010]
According to the present invention, the ratio of the area of the rendered image of the light source primitive to the reference area of the light source primitive is obtained, and the translucent information or the color information of the halation primitive arranged between the light source primitive and the viewpoint is obtained. Since the light source primitive is changed based on the ratio, the light source primitive depends on how the light source primitive is seen, such as when there is nothing to obstruct the light source primitive in the object space, or when there is something obstructed and only part of it is visible. It is possible to change the expression of halation that occurs around. By doing this, halation can be expressed more realistically.
[0011]
Note that the intensity of halation can be expressed by changing the translucent information of the halation primitive. Furthermore, by changing the color information of the halation primitive, a specific color system can be made stronger or weaker depending on how the light source primitive looks. For example, when a solar light source is considered as a light source primitive, a sunset is set. It can also be expressed.
[0012]
Further, in the image generation system, the program, and the information storage medium according to the present invention, the halation processing means is based on a ratio of an average value of each pixel information of the rendered image to an average value of each pixel information of the primitive image. It is characterized in that processing for changing the translucent information or the color information of the halation primitive is performed.
[0013]
Here, the pixel information refers to information associated with a pixel such as color information or translucent information.
[0014]
According to the present invention, the translucency information or the color information of the halation primitive is changed based on the ratio of the average value of the pixel information associated with the area ratio of the rendering image, so that the shape is limited to the shape of the rendering image. This makes it possible to easily express changes in halation more realistically.
[0015]
The image generation system, program, and information storage medium according to the present invention are characterized in that at least an average value of each pixel information of the rendering image of the light source primitive is obtained by a bilinear filter method.
[0016]
Here, as a bilinear filter method, for example, a means for setting a rendering image of a light source primitive as a texture representing halation, and a means for setting (coordinating) the texture coordinates inside 0.5 texels of this texture as the vertex coordinates of a polygon And a means for mapping the texture by a bilinear filter method to generate an image having one half of the size of the rendered image of the light source primitive (an area of a quarter). For each pixel of the primitive, an average value of pixel information for four texels is set. This is repeated recursively until it finally becomes one pixel, whereby the average value of the pixel information of the rendered image of the light source primitive can be obtained.
[0017]
According to the present invention, since the average value of the pixel information is obtained by such a bilinear filter method, the halation of the halation can be performed at a higher speed by using the processing routine used in the texel storage method regardless of the shape of the light source primitive. Parameters for expressing can be obtained. As a result, a more realistic image can be provided at high speed.
[0018]
The image generation system, the program, and the information storage medium according to the present invention are characterized in that the size of the halation primitive is changed according to a distance between the light source primitive arranged in the object space and a viewpoint. .
[0019]
According to the present invention, halation of various light source primitives in the object space can be expressed more realistically.
[0020]
The image generation system, the program, and the information storage medium according to the present invention are characterized in that the halation primitive is not displayed when the area ratio becomes zero.
[0021]
According to the present invention, the display of the object image of the halation primitive that does not affect the image can be omitted, so that the processing load for image generation can be reduced.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0023]
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.
[0024]
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 may include at least the processing unit 100 (or may include the processing unit 100 and the storage unit 170, or the processing unit 100, the storage unit 170, and the information storage medium 180), and other blocks. (For example, the operation unit 160, the display unit 190, the sound output unit 192, the portable information storage device 194, and the communication unit 196) can be arbitrary constituent elements.
[0025]
Here, the processing unit 100 performs various processing such as control of the entire system, instruction instruction to each block in the system, game processing, image processing, sound processing, and the like. CPU, DSP, etc.) or hardware such as ASIC (gate array, etc.) or a given program (game program).
[0026]
The operation unit 160 is used by the player to input operation data, and the function can be realized by hardware such as a lever, a button, a microphone, or a housing.
[0027]
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.
[0028]
An information storage medium (a computer readable medium) 180 stores information such as programs and data, and functions thereof are an optical disk (CD, DVD), a magneto-optical disk (MO), a magnetic disk, a hard disk, It can be realized by hardware such as a magnetic tape or 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). Includes multiple modules (including objects in object orientation).
[0029]
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. In addition, the information storage medium 180 has a program for performing the processing of the present invention, image data, sound data, shape data of a display object, information for instructing the processing of the present invention, or processing in accordance with the instruction. Information can be included.
[0030]
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).
[0031]
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.
[0032]
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.
[0033]
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.
[0034]
Note that a program (data) for realizing (executing and functioning) each means 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.
[0035]
The processing unit (processor) 100 performs various processing such as game processing, image generation processing, or sound generation processing based on operation data from the operation unit 160, a program, and the like. 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.
[0036]
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 position and rotation of an object (one or more primitive surfaces). A process for obtaining an angle (rotation angle around the X, Y or Z axis), a process for moving an object (motion process), a process for obtaining a viewpoint position (virtual camera position) and a line-of-sight angle (virtual camera rotation angle), Processing to place objects such as map objects in the object space, hit check processing, processing to calculate game results (results, results), processing for multiple players to play in a common game space, game over processing, etc. Can think.
[0037]
Here, the object space refers to a virtual three-dimensional space in which an object whose shape is specified by a definition point (such as a vertex of a polygon or a control point of a free-form surface) is arranged.
[0038]
The processing unit 100 includes an image generation unit 130 and a sound generation unit 150.
[0039]
The image generation unit 130 performs various types of image processing in accordance with game processing performed in the processing unit 100, for example, generates an image that can be seen from a virtual camera (viewpoint) in the object space, and outputs the generated image to the display unit 190.
[0040]
The sound generation unit 150 performs various types of sound processing in accordance with game processing performed in the processing unit 100, generates sounds such as BGM, sound effects, and voices, and outputs them to the sound output unit 192.
[0041]
Note that all of the functions of the image generation unit 130 and the sound generation unit 150 may be realized by hardware, or all of them may be realized by a program. Alternatively, it may be realized by both hardware and a program.
[0042]
The image generation unit 130 includes a geometry processing unit (three-dimensional calculation unit) 132, a halation processing unit 134, and a drawing unit (rendering unit) 140.
[0043]
Here, the geometry processing unit 132 performs various types of geometry processing (three-dimensional calculation) such as coordinate transformation, clipping processing, perspective transformation, or light source calculation. Then, the object data (shape data such as vertex coordinates of the object, vertex texture coordinates, luminance data, etc.) after geometry processing (after perspective transformation) is stored in the main storage unit 172 of the storage unit 170.
[0044]
For example, when expressing a light source (pseudo light source) such as the sun or a streetlight in order to further improve the sense of reality, the halation processing unit 134 has a high luminance with respect to a light source object (primitive) arranged in the object space. Processing for expressing a phenomenon (halation) in which a blurred portion occurs around the light source is performed. More specifically, in this embodiment, in order to express halation, a halation object (primitive) to which a texture representing halation is mapped is arranged between the light source object and the virtual camera. Further, the halation processing unit 134 controls the transparency of the halation object by using transparency information (equivalent to semi-transparency information) added to the halation object or texture (image, data) representing the halation.
[0045]
More specifically, in the present embodiment, the halation processing unit 134 controls the transparency of the halation object arranged in front of the virtual camera or the texture representing halation according to the luminance of the light source object that generates halation. In the present embodiment, the brightness of the light source object is determined based on the area ratio of the rendered image of the light source object. By doing this, the expression of halation is changed between when the entire light source object is visible from the virtual camera and when only a part of the light source object is visible, thereby providing a more realistic image.
[0046]
The drawing unit 140 performs a process of drawing an image viewed from the virtual camera in the object space based on object data, texture, and the like. At that time, the drawing unit 140 sets the depth information (for example, each pixel or each primitive (plane, line)) stored in the depth buffer (Z buffer (Z plane), stencil buffer) 178. For example, Z Value)), hidden surface removal is performed according to the algorithm of the Z buffer method.
[0047]
The drawing unit 140 includes a texture mapping unit 142 and an α synthesis unit 144.
[0048]
Here, the texture mapping unit 142 performs a process of mapping the texture stored in the texture storage unit 176 to an object (a primitive surface such as a polygon or a free-form surface) by a bilinear filter method as a texel interpolation method.
[0049]
The α synthesis unit 144 performs α synthesis processing based on the α value (A value). Here, α composition refers to image composition processing performed between, for example, an original image drawn in a drawing buffer and a given image after geometry processing based on plus alpha information called an α value. . The α value is information stored in association with each pixel or each pixel, and is set for each definition point of the object. For example, transparency (equivalent to opacity or translucency) as plus alpha information other than color information. ) Transparency information. When the α value indicates transparency information as, for example, plus alpha information, α composition means translucent processing.
[0050]
Examples of such α synthesis include, for example, translucent blending using α values (α blending), addition semi-transparency using α values (α addition), and subtractive translucency using α values (α subtraction). There is a processing method.
[0051]
For example, when α composition is α blending, the following composition processing is performed.
[0052]
R Q = (1-α) × R 1 + Α × R 2 ... (1)
G Q = (1-α) × G 1 + Α × G 2 ... (2)
B Q = (1-α) × B 1 + Α × B 2 ... (3)
[0053]
Where R 1 , G 1 , B 1 Are R, G, and B components of the color (luminance) of the image after geometry processing already drawn in the drawing buffer, and R 2 , G 2 , B 2 Are the R, G, and B components of the color of the drawn image. R Q , G Q , B Q Are the R, G, and B components of the color of the image generated by α blending. Here, as the α value, the α value of a given image after the geometry processing may be used, or the α value of the drawn original image may be used.
[0054]
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, and not only such a single player mode but also a multiplayer mode in which a plurality of players can play. A system may be provided.
[0055]
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).
[0056]
2. Features of this embodiment
2.1 Expression of halation
FIG. 2 shows a diagram for explaining the principle of expressing halation in the present embodiment.
[0057]
In the present embodiment, when a light source object (primitive) 200 to be expressed as a halation is arranged in the object space, the halation object (primitive) is placed on a straight line connecting the light source object (OBJ) and the virtual camera (viewpoint) 202. ) (For example, plate polygon) 204 is arranged.
[0058]
In the halation object 204, a texture image (texture data) representing halation as shown in FIG. 3 is coordinated. Here, the term “coordinate” refers to setting texture coordinates at a constituent point of a primitive (for example, a vertex of a polygon).
[0059]
For example, when a landscape in which a solar light source is visible as a light source is expressed as a light source, a background object 210 representing a sky and mountain landscape as shown in FIG. 4 and a solar light source object 220 as a light source object are arranged in the object space. To do. Therefore, the object image seen from the virtual camera is as shown in FIG.
[0060]
Furthermore, an object image as shown in FIG. 6 can be obtained by arranging a halation object with a texture representing halation as shown in FIG. 3 between the solar light source object 220 and the virtual camera. In this case, for example, the brightest part of the texture image is coordinated with the halation object so as to be on a straight line connecting the position of the virtual camera and the center of the solar light source object. Alternatively, the halation object in which the texture image is coordinated is arranged so that the brightest part of the texture image shown in FIG. 3 is on a straight line connecting the position of the virtual camera and the center of the solar light source object.
[0061]
By the way, for example, when a mountain landscape is expressed as an animation while the virtual camera is moving, the solar light source may be fully visible as shown in FIG. 5, or only a part of the solar light source is shown in FIG. Sometimes it is visible (some are hidden). Even when all of the solar light source is visible, or when only a part of the solar light source is visible, when trying to express halation as shown in FIG. It will be expressed, and it will be an expression that lacks realism.
[0062]
Therefore, in this embodiment, when only a part of the solar light source is visible as shown in FIG. 7, the halation is expressed weaker than when the solar light source is entirely visible as shown in FIG. I am doing so. By doing so, for example, even when a mountain landscape is expressed as an animation while the virtual camera is moving, a more realistic halation is expressed.
[0063]
For this reason, in the present embodiment, the area when the solar light source object having the reference shape is arranged at a given distance from the virtual camera (reference area of the light source primitive. For example, as shown in FIG. The ratio of the area of the rendered image of the solar light source object is obtained on the basis of the area when visible, and the transparency of the halation object is controlled based on this ratio. In the halation object, the transparency of the entire object is controlled by semi-transparency information given to each vertex of the object (plate polygon) or semi-transparency information given to the texture.
[0064]
2.2 Calculation of area ratio
In the present embodiment, the area ratio of the rendering image of the light source object is used as a parameter for controlling the transparency of the halation object.
[0065]
FIG. 8 shows an example of an image of a light source object that serves as a basis for an area ratio that is a parameter for controlling the transparency of the entire halation object.
[0066]
The area ratio is based on the area (reference area of the light source primitive) when the light source object having a reference shape arranged at a given distance from the position of the virtual camera is not obstructed when viewed from the virtual camera. As the reference shape, for example, in the case of a solar light source object, it can be set to a shape when the whole is visible.
[0067]
For example, when expressing the halation of the (sun) light source object as shown in FIG. 7, the area of the image when the (sun) light source object as shown in FIG.
[0068]
In the present embodiment, paying attention to the fact that the area of the image is associated with the average value (average information in a broad sense) of each pixel information of the image, the above-described image ratio is set to the average value of each pixel information of the image. The transparency of the halation object is controlled based on the ratio of the average value of the pixel information.
[0069]
Here, the pixel information refers to information associated with a pixel such as color information or translucent information.
[0070]
In this embodiment, the average value of each pixel information of the image is obtained by the bilinear filter method as the texel interpolation method.
[0071]
FIG. 9 is a diagram for explaining a method for obtaining an average value of each pixel information of the rendering image of the light source object in the present embodiment.
[0072]
First, an image 250 including only a rendered image of the light source object that is the expression target of halation is created.
[0073]
Next, the size of the image 250 in the A direction and the B direction is each halved (the area is ¼), and the reduced image 252 is created.
[0074]
Further, the reduced image 254 is created by reducing the size of the reduced image 252 in the A ′ direction and the B ′ direction by half (the area is 1/4).
[0075]
In this way, the reduction of each side of each image size by half is recursively executed, and the process is repeated until it finally becomes one pixel.
[0076]
In the present embodiment, at the stage of creating an image in which each side of the image size is reduced by a half, rendering is performed by the bilinear filter method so that each pixel information of the reduced image is an average value of pixel information of the original image. It is trying to become. As a result, one pixel finally created is an average value of each pixel information of the image 250.
[0077]
Therefore, an average value of pixel information corresponding to the area of the object image (primitive image) of the reference solar light source object as shown in FIG. 8 is stored in advance, and each time the light source object is rendered, The average value of pixel information is obtained. Then, the ratio of the average value of the pixel information corresponding to the area ratio of the rendered image is obtained by calculating the ratio from the average value of the reference pixel information held in advance and the average value of the obtained pixel information. Can do.
[0078]
When the ratio of the average value of the pixel information corresponding to the area ratio is obtained in this way, a plurality of texture images coordinated with the halation object are prepared by changing the transparency of the halation object based on the average value ratio. Not only do you need to do this, but you can express the halation that changes slightly more realistically.
[0079]
2.2.1 Pixel information averaging using bilinear filter method
FIG. 10 is a diagram for explaining texture mapping by the bilinear filter method.
[0080]
Here, the texture includes texels TA, TB, TC, and TD for convenience of explanation. The texels TA, TB, TC, and TD each have CA, CB, CC, and CD as color information.
[0081]
In the texture mapping, when the position of the pixel (pixel) and the position of the texel are shifted, in the bilinear filter method, the pixel information (color information) CP of the pixel P is the texel TA, TB, TC, TD around the pixel P. Pixel information (color information is interpolated).
[0082]
More specifically, based on the coordinates of the texels TA, TB, TC, TD and the coordinates of the pixel P, the coordinate ratio β: (1-β) (where 0 ≦ β ≦ 1) in the X-axis direction, A coordinate ratio γ: (1-γ) (where 0 ≦ γ ≦ 1) in the Y-axis direction is obtained.
[0083]
In this case, pixel information (color information, output color in the bilinear filter system) CP of the pixel P is represented by the following expression.
[0084]
CP = (1-β) × (1-γ) × CA + β × (1-γ) × CB
+ (1-β) × γ × CC + β × γ × CD (4)
[0085]
In this embodiment, paying attention to the fact that pixel information is interpolated in this way by the bilinear filter method, the recursive image reduction as shown in FIG. To obtain the average value of the pixel information. In the case of FIG. 9, pixel information is obtained when both β and γ are set to 0.5 in equation (4).
[0086]
Although the interpolation of the color information has been described here, the translucent information is similarly interpolated.
[0087]
FIG. 11 is a diagram for explaining a method of coordinating an object and a texture in the present embodiment.
[0088]
In the present embodiment, for example, the rendering image 300 of the light source object is set as the texture image 310.
[0089]
More specifically, the rendering image 300 whose vertex coordinates are (X, Y) = (0, 0), (Xmax, 0), (0, Ymax), (Xmax, Ymax) is represented by texture coordinates (U, V) = (0,0), (1,0), (0,1), (1,1) is set as the texture image 310.
[0090]
The texture image 310 is mapped to the object 320 by the bilinear filter method. At this time, the texture coordinates to be given to each vertex of the object 320 are set to the coordinates shifted inward by 0.5 texels, and the X direction and the Y direction of the rendered image 300 are each reduced to a half size. This texture image 310 is mapped to 320.
[0091]
That is, texture coordinates (U, V) = (0.5 / Xmax, 0.5 / Ymax), (0.5 / Xmax, 1-0.5 / Ymax) are provided at each vertex of the object 320 to be mapped. , (1-0.5 / Xmax, 0.5 / Ymax), (1-0.5 / Xmax, 1-0.5 / Ymax) are set and coordinated to a position shifted by 0.5 texels on the inside Is done.
[0092]
FIG. 12 is a diagram for explaining the relationship between the rendered image 300 or the texture image 310 and coordinated texture coordinates.
[0093]
A rendering image 300 including an object image after the light source object is subjected to geometry processing is set as a texture image 310. At each vertex of the object to be mapped (polygon), texture coordinates (texel coordinates) that are inside by 0.5 texels of the texture image 310 are set.
[0094]
For example, the texel T located at both diagonals of the texture image 310 00 , T NN Paying attention to the apex of the object to be mapped, P 00 , P NN The texture coordinates (texel coordinates) shown in FIG.
[0095]
In the texture image 310 coordinated in this way, as shown in FIG. 11, each side of the size of the rendered image 300 is halved, and the vertex coordinates (X, Y) = (0, 0), (Xmax / 2,0), (0, Ymax / 2), and (Xmax / 2, Ymax / 2) objects 320 are mapped by the bilinear filter method.
[0096]
FIG. 13 is a diagram for explaining texture coordinates referred to in the texture image 310 mapped to the object 320.
[0097]
Coordination is performed as described above, and the texture image is mapped to the object whose sides are reduced to one half. At this time, the texture coordinates 400, 402, 404, and 406 are referred to by mapping using the bilinear filter method, for example.
[0098]
Therefore, the average value of the four texels around each texture coordinate is reflected in each pixel of the mapped object. That is, the average value of the pixel information is set to the pixel information of each pixel of the mapped object in units of 4 texels of the texture image 310.
[0099]
Thereby, the average value of the pixel information of a texel can be obtained by repeating the same coordination and mapping recursively.
[0100]
By doing this, the pixel recursively converted into one pixel as described above with reference to the average value of the pixels of the object image when all the light source objects of the reference shape arranged at a given distance from the virtual camera are visible It is possible to associate the ratio of the area of the light source object in the rendered image with the average value information.
[0101]
As a result, by controlling the transparency of the halation object or the texture of the halation object based on the ratio of the average value of the pixel information associated with this area ratio, variations in the expression of halation according to the display area of the light source object Can be given.
[0102]
For example, the transparency of the halation object or the texture of the halation object is lowered as the ratio of the average value of the pixel information is higher, and the transparency of the texture of the halation object or the halation object is increased as the ratio of the average value of the pixel information is lower.
[0103]
Thus, when the light source object is applied to the solar light source, when the entire solar light source is visible from the mountains, the transparency of the halation object or the texture of the halation object is lowered, as shown in FIG. It can be expressed so that halation becomes stronger.
[0104]
On the other hand, when more than half of the solar light source is hidden between the mountains, the transparency of the halation object or the texture of the halation object can be increased so that the halation becomes weaker as shown in FIG.
[0105]
In addition, when the solar light source is completely hidden (when the area ratio or the ratio of the average value of the pixel information becomes 0), the transparency of the halation object or the texture of the halation object is made completely transparent. By setting, more realistic halation can be expressed. In such a case, the processing load of image generation is reduced by omitting the generation of the object image of the halation object and hiding the image of the halation object without arranging the halation object itself in the object space. be able to.
[0106]
3. Processing example of this embodiment
Next, a detailed example of the processing of this embodiment will be described using the flowcharts of FIGS. 15 and 16.
[0107]
FIG. 15 shows an example of rendering processing for expressing halation in the present embodiment.
[0108]
First, when the rendering unit 140 renders the image after geometry processing in a rendering buffer (buffer that can store image information in units of pixels, such as a frame buffer and a work buffer) 174, for example, the processing unit 100 refers to the depth buffer 178. Then, referring to a depth value (for example, Z value) associated with a light source object (primitive) in advance, an α plane or other drawing area separate from the drawing buffer 174 so that only the light source object is displayed. (Step S10).
[0109]
Note that the size of the rendered image can be determined based on, for example, the image size of the light source object that serves as a reference for the average value of the pixel information.
[0110]
Next, in the texture mapping unit 142, the rendering image is coordinated as shown in FIG. 11 and recursively mapped by the bilinear filter method (step S11). Thereby, the average value (average information) of the pixel information of the rendering image can be obtained.
[0111]
Subsequently, in the processing unit 100 or the halation processing unit 134, on the basis of the average value (average information) of pixel information (color information, translucent information) when the light source object is completely unobstructed, The (display) area ratio of the light source object is obtained from the average value of the pixel information of the rendered image obtained in step S11 (step S12).
[0112]
Then, the halation processing unit 134 changes pixel information or transparency information of the halation object or the texture of the halation object arranged between the virtual camera and the light source object according to the (display) area ratio obtained in step S12 ( Step S13).
[0113]
For example, the transparency of the halation object or the texture of the halation object is lowered as the ratio of the average value of the pixel information is higher, and the transparency of the texture of the halation object or the halation object is increased as the ratio of the average value of the pixel information is lower.
[0114]
Or, if the ratio of the average value of pixel information is lower, the red system is strengthened against the color information of the halation object or the texture of the halation object, so that sunset can be expressed when applied to a solar light source as a light source object It becomes.
[0115]
Thereafter, the drawing unit 140 renders the background object and the halation object (step S14). At this time, when the halation object is drawn, it is performed without referring to the depth value (for example, Z value) stored in the depth buffer 178 so that the halation is expressed in the foreground. In addition, the α composition unit 144 performs α composition processing based on the α value set by the halation processing unit 134.
[0116]
By doing so, as shown in FIGS. 14A and 14B, halation that changes according to the display area ratio of the solar light source can be expressed, and a more realistic image can be provided.
[0117]
FIG. 16 shows an example of processing for obtaining an average value of pixel information by the bilinear filter method in the present embodiment.
[0118]
First, a rendering image is set as a texture image, and texture coordinates are set (coordinated) at each vertex of a plate polygon (object in a broad sense) (step S20).
[0119]
Next, the size of the above-described plate polygon is reduced so that both the X direction and the Y direction of the rendered image are halved (step S21).
[0120]
When the size in the X direction or the Y direction becomes smaller than 1, the minimum value is set to 1.
[0121]
Here, when the size of the reduced plate polygon in the X and Y directions is not 1 (step S22: N), rendering is performed on the plate polygon by the bilinear filter method as described above (step S23), and step S21. Return to.
[0122]
Thereby, an average value for four texels is set for each rendered pixel.
[0123]
In step S22, when the size of the reduced plate polygon in the X and Y directions is both 1 (step S22: Y), it is determined that the image has been reduced to 1 pixel, and a series of processing is performed. End (end).
[0124]
By doing so, the image is reduced until the rendered image becomes one pixel, and as described above, each pixel of the original rendered image is finally used as a control parameter such as transparency of the halation object or the texture of the halation object. The average value can be obtained.
[0125]
4). Other
In the present embodiment, the present invention can be similarly applied to a case where there are a plurality of light sources (pseudo light sources) arranged in the object space.
[0126]
FIG. 17 is a diagram for explaining the expression of halation when a plurality of lights are arranged in the object space.
[0127]
For example, when the first to third light source objects 500, 502, and 504 are arranged in the object space and an image that can be viewed from the virtual camera (viewpoint) is generated, between each light source object and the virtual camera 520, First to third halation objects 510, 512, and 514 are arranged, respectively.
[0128]
At this time, for example, by calculating in advance an average value of pixel information for the first light source object 510 that is positioned closest to and has a high luminance, it is arranged in front of the second and third light source objects 502 and 504. The transparency or color information of the second and third halation objects 512, 514 can be controlled.
[0129]
In this way, when expressing halation for the first light source object 500 that is close to the virtual camera 520 and the third light source object 5004 that is far from the virtual camera 520, It is possible to express different halation according to the area of the rendered image by reducing the transparency, reducing the size of the third halation object 514 and increasing the transparency.
[0130]
For example, when there are a plurality of light source objects in the object space, street lamps arranged on both sides of the road can be considered.
[0131]
5. Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.
[0132]
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.
[0133]
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. )
[0134]
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.
[0135]
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.
[0136]
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.
[0137]
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.
[0138]
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.
[0139]
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.
[0140]
The RAM 960 is used as a work area for various processors.
[0141]
The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).
[0142]
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.
[0143]
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.
[0144]
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.
[0145]
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.
[0146]
FIG. 19A 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).
[0147]
FIG. 19B shows an example in which this 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.
[0148]
FIG. 19C 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.
[0149]
In the case of the configuration of FIG. 19C, each unit of the present invention may be realized by being distributed between the host device (server) and the terminal. Further, the 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.
[0150]
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).
[0151]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0152]
Further, the method for obtaining the average value of the pixel information is not limited to the method described in the present embodiment.
[0153]
Further, in the present embodiment, the reference area of the light source primitive is described as an area when the reference shape light source object arranged at a given distance from the position of the virtual camera has no obstruction when viewed from the virtual camera. However, the present invention is not limited to this.
[0154]
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.
[0155]
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.).
[0156]
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 block diagram of an image generation system in the present embodiment.
FIG. 2 is an explanatory diagram for explaining the principle of expressing halation in the present embodiment.
FIG. 3 is an example of a texture image expressing halation in the present embodiment.
FIG. 4 is an example of an image of a background object in the present embodiment.
FIG. 5 is an example of an object image in which a background object and a solar light source object are combined.
FIG. 6 is an example of an object image obtained by combining a background object, a solar light source object, and a halation object.
FIG. 7 is an example of an object image when a sun light source object is hidden by a background object.
FIG. 8 is an example of an image of a light source object serving as a basis for an area ratio that is a parameter for controlling the transparency of the entire halation object.
FIG. 9 is an explanatory diagram for describing a method for obtaining an average value of pixel information of a rendering image of a light source object in the present embodiment.
FIG. 10 is an explanatory diagram for describing texture mapping of a bilinear filter method;
FIG. 11 is an explanatory diagram for explaining a method for obtaining an average value of pixel information by a bilinear filter method;
FIG. 12 is an explanatory diagram for explaining a relationship between a rendered image or a texture image and coordinated texture coordinates.
FIG. 13 is an explanatory diagram for describing texture coordinates referred to in a texture image mapped to an object.
FIG. 14A is an example of an object image representing halation when the sun light source object is entirely visible from the mountains in the present embodiment. FIG. 14B is an example of an object image representing halation when the sun light source object is half or more hidden between mountains in the present embodiment.
FIG. 15 is a flowchart illustrating an example of rendering processing for expressing halation according to the present embodiment.
FIG. 16 is a flowchart showing an example of processing for obtaining an average value of pixel information by a bilinear filter method in the present embodiment.
FIG. 17 is an explanatory diagram for describing expression of halation when a plurality of lights are arranged in an object space.
FIG. 18 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIG. 19A, FIG. 19B, and FIG. 19C are diagrams showing examples of various forms of systems to which the present embodiment is applied.
[Explanation of symbols]
100 processor
130 Image generator
132 Geometry processing part
134 Halation processing section
140 Drawing part
142 Texture mapping section
144 α synthesis unit
150 sound generator
160 Operation unit
170 Storage unit
172 Main memory
174 Drawing buffer
176 texture storage
178 Depth buffer
180 Information storage medium
190 Display
192 sound output section
194 Portable information storage device
196 Communication Department
200 Light source object (OBJ)
202 Virtual camera
204 Halation object
210 Background object
220 Solar light source object

Claims (11)

画像生成を行う画像生成システムであって、
光源プリミティブの基準面積を基準として、前記光源プリミティブのレンダリング画像の面積の比率を求める手段と、
前記光源プリミティブと視点との間に配置されるハレーションプリミティブの半透明情報又は色情報を、前記面積の比率に応じて変化させる処理を行うハレーション処理手段と、
前記光源プリミティブ及び前記ハレーションプリミティブが配置されるオブジェクト空間において前記視点から見える画像を生成する手段と、
を含むことを特徴とする画像生成システム。
An image generation system for generating an image,
Means for determining a ratio of the area of the rendering image of the light source primitive with reference to the reference area of the light source primitive;
A halation processing means for performing a process of changing the translucency information or color information of the halation primitive arranged between the light source primitive and the viewpoint according to the ratio of the area;
Means for generating an image visible from the viewpoint in an object space in which the light source primitive and the halation primitive are arranged;
An image generation system comprising:
請求項1において、
前記ハレーション処理手段は、
前記視点から見て前記光源プリミティブを遮るものがないときの前記視点から見える前記光源プリミティブの画像の各ピクセル情報の平均値に対する前記レンダリング画像の各ピクセル情報の平均値の比率に基づいて、前記ハレーションプリミティブの半透明情報又は色情報を変化させる処理を行うことを特徴とする画像生成システム。
In claim 1,
The halation processing means includes
Based on the ratio of the average value of each pixel information of the rendered image to the average value of each pixel information of the image of the light source primitive visible from the viewpoint when there is nothing to block the light source primitive when viewed from the viewpoint , the halation An image generation system characterized by performing processing for changing primitive translucent information or color information.
請求項2において、
少なくとも前記光源プリミティブのレンダリング画像の各ピクセル情報の平均値を、バイリニアフィルタ方式によって求めることを特徴とする画像生成システム。
In claim 2,
An image generation system characterized in that at least an average value of each pixel information of a rendering image of the light source primitive is obtained by a bilinear filter method.
請求項1乃至3のいずれかにおいて、
オブジェクト空間に配置された前記光源プリミティブと視点との間の距離に応じて、前記ハレーションプリミティブの大きさを変化させることを特徴とする画像生成システム。
In any one of Claims 1 thru | or 3,
An image generation system, wherein a size of the halation primitive is changed according to a distance between the light source primitive arranged in an object space and a viewpoint.
請求項1乃至4のいずれかにおいて、
前記面積の比率が0になったとき、前記ハレーションプリミティブを非表示にすることを特徴とする画像生成システム。
In any one of Claims 1 thru | or 4,
The image generation system, wherein the halation primitive is hidden when the area ratio becomes zero.
光源プリミティブの基準面積を基準として、前記光源プリミティブのレンダリング画像の面積の比率を求める手段と、
前記光源プリミティブと視点との間に配置されるハレーションプリミティブの半透明情報又は色情報を、前記面積の比率に応じて変化させる処理を行うハレーション処理手段と、
オブジェクト空間において前記視点から見える画像を生成する手段と、
してコンピュータを機能させることを特徴とするプログラム。
Means for determining a ratio of the area of the rendering image of the light source primitive with reference to the reference area of the light source primitive;
A halation processing means for performing a process of changing the translucency information or color information of the halation primitive arranged between the light source primitive and the viewpoint according to the ratio of the area;
Means for generating an image visible from the viewpoint in object space;
A program that causes a computer to function.
請求項6において、
前記ハレーション処理手段は、
前記視点から見て前記光源プリミティブを遮るものがないときの前記視点から見える前記光源プリミティブの画像の各ピクセル情報の平均値に対する前記レンダリング画像の各ピクセル情報の平均値の比率に基づいて、前記ハレーションプリミティブの半透明情報又は色情報を変化させる処理を行うことを特徴とするプログラム。
In claim 6,
The halation processing means includes
Based on the ratio of the average value of each pixel information of the rendered image to the average value of each pixel information of the image of the light source primitive visible from the viewpoint when there is nothing to block the light source primitive when viewed from the viewpoint , the halation A program for performing processing for changing semi-transparent information or color information of a primitive.
請求項7において、
少なくとも前記光源プリミティブのレンダリング画像の各ピクセル情報の平均値を、バイリニアフィルタ方式によって求めることを特徴とするプログラム。
In claim 7,
A program characterized in that at least an average value of each pixel information of a rendering image of the light source primitive is obtained by a bilinear filter method.
請求項6乃至8のいずれかにおいて、
オブジェクト空間に配置された前記光源プリミティブと視点との間の距離に応じて、前記ハレーションプリミティブの大きさを変化させることを特徴とするプログラム。
In any of claims 6 to 8,
A program for changing a size of the halation primitive according to a distance between the light source primitive arranged in an object space and a viewpoint.
請求項6乃至9のいずれかにおいて、
前記面積の比率が0になったとき、前記ハレーションプリミティブを非表示にすることを特徴とするプログラム。
In any one of Claims 6 thru | or 9.
A program that hides the halation primitive when the area ratio becomes zero.
コンピュータ読み取り可能な情報記憶媒体であって、請求項6乃至10のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。  A computer-readable information storage medium, wherein the program according to any one of claims 6 to 10 is stored.
JP2001191506A 2001-06-25 2001-06-25 Image generation system, program, and information storage medium Expired - Fee Related JP4704615B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001191506A JP4704615B2 (en) 2001-06-25 2001-06-25 Image generation system, program, and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001191506A JP4704615B2 (en) 2001-06-25 2001-06-25 Image generation system, program, and information storage medium

Publications (2)

Publication Number Publication Date
JP2003006673A JP2003006673A (en) 2003-01-10
JP4704615B2 true JP4704615B2 (en) 2011-06-15

Family

ID=19030118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001191506A Expired - Fee Related JP4704615B2 (en) 2001-06-25 2001-06-25 Image generation system, program, and information storage medium

Country Status (1)

Country Link
JP (1) JP4704615B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4895738B2 (en) * 2006-09-15 2012-03-14 株式会社カプコン 3D image display device and program for realizing the display device
JP5253118B2 (en) * 2008-12-04 2013-07-31 株式会社バンダイナムコゲームス Image generation system, program, and information storage medium
JP5310164B2 (en) * 2009-03-23 2013-10-09 ヤマハ株式会社 Rendering device and program
CN108038896B (en) * 2017-12-06 2021-06-11 北京像素软件科技股份有限公司 Halo gradual change realization method and device
CN110766779B (en) * 2019-10-23 2024-02-06 网易(杭州)网络有限公司 Method and device for generating lens halation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09161094A (en) * 1995-12-12 1997-06-20 Hitachi Ltd Picture generating device
JPH11154237A (en) * 1997-11-20 1999-06-08 Fujitsu Ltd Memory for texture mapping
JP2000167236A (en) * 1998-12-02 2000-06-20 Namco Ltd Game device and information storage medium
JP2000259853A (en) * 1999-03-08 2000-09-22 Sony Computer Entertainment Inc Image processing method, image processor and recording medium
JP2000298733A (en) * 1996-11-22 2000-10-24 Sega Enterp Ltd Game device and method for forming image data and medium
JP2001005997A (en) * 1999-06-24 2001-01-12 Namco Ltd Method and device for displaying light source
JP2001084393A (en) * 1999-09-09 2001-03-30 Namco Ltd Picture generation system and information storage medium
JP2001155180A (en) * 1999-09-16 2001-06-08 Sony Computer Entertainment Inc Image processor, recording medium and program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09161094A (en) * 1995-12-12 1997-06-20 Hitachi Ltd Picture generating device
JP2000298733A (en) * 1996-11-22 2000-10-24 Sega Enterp Ltd Game device and method for forming image data and medium
JPH11154237A (en) * 1997-11-20 1999-06-08 Fujitsu Ltd Memory for texture mapping
JP2000167236A (en) * 1998-12-02 2000-06-20 Namco Ltd Game device and information storage medium
JP2000259853A (en) * 1999-03-08 2000-09-22 Sony Computer Entertainment Inc Image processing method, image processor and recording medium
JP2001005997A (en) * 1999-06-24 2001-01-12 Namco Ltd Method and device for displaying light source
JP2001084393A (en) * 1999-09-09 2001-03-30 Namco Ltd Picture generation system and information storage medium
JP2001155180A (en) * 1999-09-16 2001-06-08 Sony Computer Entertainment Inc Image processor, recording medium and program

Also Published As

Publication number Publication date
JP2003006673A (en) 2003-01-10

Similar Documents

Publication Publication Date Title
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP4610748B2 (en) Image generation system, program, and information storage medium
JP2007140842A (en) Program, information storage medium, and image generation system
JP4187188B2 (en) Image generation system, program, and information storage medium
JP2001070633A (en) Image forming system and information recording medium
JP2001319244A (en) Game system and information storage medium
JP3280355B2 (en) Image generation system and information storage medium
JP2004334661A (en) Image generating system, program, and information storage medium
JP4223244B2 (en) Image generation system, program, and information storage medium
JP2002063596A (en) Game system, program and information storage medium
JP4704615B2 (en) Image generation system, program, and information storage medium
JP4229319B2 (en) Image generation system, program, and information storage medium
JP4159082B2 (en) Image generation system, program, and information storage medium
JP3467259B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP4707078B2 (en) Image generation system, program, and information storage medium
JP4528008B2 (en) Program, information storage medium, and image generation system
JP4574058B2 (en) Image generation system, program, and information storage medium
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2001229403A (en) Game system and information storage medium
JP3538394B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP3254195B2 (en) Image generation system and information storage medium
JP4056035B2 (en) Image generation system, program, and information storage medium
JP4728510B2 (en) Image generation system, program, and information storage medium
JP2008077406A (en) Image generation system, program, and information storage medium
JP4476040B2 (en) Program, information storage medium, and image generation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110310

R150 Certificate of patent or registration of utility model

Ref document number: 4704615

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

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

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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