JP4318240B2 - Image generation system and information storage medium - Google Patents

Image generation system and information storage medium Download PDF

Info

Publication number
JP4318240B2
JP4318240B2 JP35256099A JP35256099A JP4318240B2 JP 4318240 B2 JP4318240 B2 JP 4318240B2 JP 35256099 A JP35256099 A JP 35256099A JP 35256099 A JP35256099 A JP 35256099A JP 4318240 B2 JP4318240 B2 JP 4318240B2
Authority
JP
Japan
Prior art keywords
texture
data
dirt
transparency
value
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 - Lifetime
Application number
JP35256099A
Other languages
Japanese (ja)
Other versions
JP2001167291A (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 JP35256099A priority Critical patent/JP4318240B2/en
Publication of JP2001167291A publication Critical patent/JP2001167291A/en
Application granted granted Critical
Publication of JP4318240B2 publication Critical patent/JP4318240B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、車(オブジェクト)を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作する車と競争することで3次元ゲームを楽しむ。
【0003】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、レーシングゲームを例にとれば、コース周回を重ねるにつれて、車の表面に徐々に汚れが付着するような表現を実現できることが望まれる。
【0004】
さて、このようなレーシングゲームにおける車の汚れを表現する1つの手法として、例えば、車にマッピングされる汚れテクスチャ(汚れを表すテクスチャ)を順次差し替えて行く手法を考えることができる。即ち、車の走行距離が少ない場合には、汚れ具合の低い汚れテクスチャを車にマッピングする。そして、車の走行距離が増すと、汚れ具合が中ぐらいの汚れテクスチャを車にマッピングする。そして、車の走行距離が更に増すと、汚れ具合が高い汚れテクスチャを車にマッピングする。
【0005】
しかしながら、この手法では、汚れ具合が異なる多くの種類のテクスチャを予め用意しておく必要がある。従って、テクスチャを記憶するメモリの使用記憶容量が増してしまい、画像生成システムの大規模化、高コスト化の問題を招く。
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、テクスチャの使用記憶容量を節約しながら、オブジェクトの汚れ等のリアルな画像表現を実現できる画像生成システム及び情報記憶媒体を提供することにある。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、第1のオブジェクトの形状データを含む第1のオブジェクトデータと、前記第1のオブジェクトと同一形状又はほぼ同一形状の第2のオブジェクトの形状データを含む第2のオブジェクトデータと、前記第1のオブジェクトにマッピングされる第1のテクスチャと、前記第2のオブジェクトにマッピングされ、前記第1のテクスチャとはテクスチャパターンが異なる第2のテクスチャとに基づいて、前記第1のオブジェクトに前記第2のオブジェクトを重ねて描画する描画手段と、前記第2のオブジェクトの透明度を可変に制御する透明度制御手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0008】
本発明によれば、第1のテクスチャがマッピングされる第1のオブジェクトに、第2のテクスチャがマッピングされる第2のオブジェクトが重ねて描画される。そして、第2のオブジェクトの透明度が可変に制御される。従って、透明度を変化させて、第2のオブジェクトを完全な透明から半透明に段々と変化させることで、第2のテクスチャが徐々に目立って見えてくるような画像表現が可能になる。一方、透明度を変化させて、第2のオブジェクトを段々と透明に変化させることで、第2のテクスチャが徐々に目立たなくなり消えて行くというような画像表現が可能になる。従って、複数のテクスチャを順次差し替える手法に比べて、少ないテクスチャの使用記憶容量で、より多様でリアルな画像表現を実現できるようになる。
【0009】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記第2のテクスチャが、前記第1のオブジェクトの汚れを表現するためのテクスチャであることを特徴とする。このようにすることで、オブジェクトの汚れが段々と目立ってくるというような画像表現や、オブジェクトの汚れが段々と消えて行くというような画像表現が可能になる。
【0010】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記第1のオブジェクトの移動又は動作を演算する手段(又は該手段を実行するためのプログラム、処理ルーチン)を含み、前記第2のオブジェクトが、前記第1のオブジェクトに追従して移動又は動作することを特徴とする。このようにすることで、オブジェクト空間内で移動又は動作するオブジェクトの汚れ等のリアルな表現が可能になる。
【0011】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記第2のオブジェクトが複数のパーツオブジェクトにより構成されており、前記透明度制御手段が、前記複数のパーツオブジェクトの各々の透明度を独立に制御することを特徴とする。このようにすれば、オブジェクトの各部分で透明度の変わり具合を異ならせることが可能になり、より多様な画像表現が可能になる。
【0012】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記描画手段が、前記第1のオブジェクトと同一形状又はほぼ同一形状であり、前記第1のテクスチャとはテクスチャパターンが異なる第3〜第N(N≧3)のテクスチャがマッピングされる第3〜第Nのオブジェクトを、前記第2のオブジェクトと共に、前記第1のオブジェクトに重ねて描画し、前記透明度制御手段が、前記第2〜第Nのオブジェクトの各々の透明度を独立に制御することを特徴とする。このようにすれば、例えば第1のイベントが発生した場合には第2のオブジェクトの透明度を変化させ、第2のイベントが発生した場合には第3のオブジェクトの透明度を変化させるなどの処理が可能になり、画像のリアル度を増すことができる。
【0013】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ジオメトリ処理後の第1のオブジェクトデータが記憶手段に保存され、前記描画手段が、保存されたジオメトリ処理後の第1のオブジェクトデータを、前記第2のオブジェクトデータとして用いることを特徴とする。
【0014】
本発明によれば、ジオメトリ処理後の第1のオブジェクトデータが記憶手段に格納され、消されずに保存される。そして、ジオメトリ処理後の第1のオブジェクトデータと第1のテクスチャとに基づいて第1のオブジェクトが描画される。そして、その第1のオブジェクトの上に、保存されていたジオメトリ処理後の第1のオブジェクトデータと第2のテクスチャとにより描画される第2のオブジェクトが重ねて描画される。このようにすることで、第1のオブジェクトに第2のオブジェクトを重ねて描画する処理の負担の軽減化を図れる。
【0015】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、第1のオブジェクトのZ値及び第2のオブジェクトのZ値の少なくとも一方に対して、Zシフト値を加算又は減算するZシフト手段(又は該手段を実行するためのプログラム、処理ルーチン)を含むことを特徴とする。このようにすれば、第1のオブジェクトの手前に第2のオブジェクトが常に表示されるようにすることができる。
【0016】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記Zシフト手段が、ジオメトリ処理後の第1のオブジェクトのプリミティブ面のZ値及びジオメトリ処理後の第2のオブジェクトのプリミティブ面のZ値の少なくとも一方に対して、Zシフト値を加算又は減算することを特徴とする。このようにすれば、補間処理の演算誤差等に起因して陰面消去に誤りが生じる問題を、少ない処理負担で解決できるようになる。
【0017】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記第2のオブジェクトのサイズを第1のオブジェクトのサイズよりも僅かに大きくする処理を行うスケーリング手段(又は該手段を実行するためのプログラム、処理ルーチン)を含むことを特徴とする。このようにすれば、第1のオブジェクトの手前に第2のオブジェクトが常に表示されるようにすることができる。
【0018】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を、レーシングゲームに適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【0019】
1.構成
図1に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については、任意の構成要素とすることができる。
【0020】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0021】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【0022】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0023】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行するための情報(プログラム或いはデータ)が格納される。
【0024】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0025】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0026】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0027】
携帯型情報記憶装置194は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0028】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0029】
なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0030】
処理部100は、ゲーム処理部110、画像生成部130、音生成部150を含む。
【0031】
ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部160からの操作データや、携帯型情報記憶装置194からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【0032】
ゲーム処理部110は移動・動作演算部114を含む。
【0033】
ここで移動・動作演算部114は、車などのオブジェクトの移動情報(位置データ、回転角度データ)や動作情報(オブジェクトの各パーツの位置データ、回転角度データ)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【0034】
より具体的には、移動・動作演算部114は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでのオブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでのオブジェクトの位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
【0035】
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
画像生成部130は、ゲーム処理部110からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内の所与の視点で見える画像を生成して、表示部190に出力する。また、音生成部150は、ゲーム処理部110からの指示等にしたがって各種の音処理を行い、BGM、効果音、音声などの音を生成し、音出力部192に出力する。
【0036】
なお、ゲーム処理部110、画像生成部130、音生成部150の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0037】
画像生成部130は、ジオメトリ処理部132(3次元座標演算部)、透明度制御部134、Zシフト部136、描画部140(レンダリング部)を含む。
【0038】
ここで、ジオメトリ処理部132は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元座標演算)を行う。なお、本実施形態では、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標などの形状データ、或いは頂点テクスチャ座標、輝度データ等)は、記憶部170のメインメモリ172に格納されて、保存される。
【0039】
透明度制御部134は、車オブジェクト(第1のオブジェクト)に重ねて描画される汚れ表現用オブジェクト(第2のオブジェクト)の透明度(半透明度、不透明度と等価)を可変に制御する処理を行う。ここで汚れ表現用オブジェクトは、車オブジェクトと同一形状(又はほぼ同一形状)であるが、車オブジェクトにマッピングされるテクスチャ(車の下地のテクスチャ)とは異なるパターンのテクスチャ(汚れテクスチャ)がマッピングされる。
【0040】
なお、透明度制御部134の制御対象となる透明度は、各ポリゴン(広義にはプリミティブ面)に対して設定される透明度であることが処理負担の軽減化の観点から特に望ましいが、テクスチャに対して設定される透明度(各ピクセルのα値)であってもよい。即ち、透明度制御部134が、テクスチャ記憶部に記憶されるテクスチャの透明度(α値)を直接書き換えるようにしてもよい。
【0041】
Zシフト部136は、車オブジェクトのZ値(奥行き値)及び汚れ表現用オブジェクトのZ値の少なくと一方に対して、Zシフト値を加減算(加算又は減算)する処理を行う。より具体的には、ジオメトリ処理後の車オブジェクトのポリゴン(プリミティブ面)のZ値及びジオメトリ処理後の汚れ表現用オブジェクトのポリゴンのZ値の少なくとも一方に対して、Zシフト値を加減算する。このようにすることで、車オブジェクトの手前に汚れ表現用オブジェクトが常に表示されるようにすることができる。また、Zバッファ法における陰面消去の誤りの問題も解決できる。
【0042】
なお、Zシフト部136を設ける代わりに、スケーリング部138を設けるようにしてもよい。このスケーリング部138は、汚れ表現用オブジェクトのサイズを車オブジェクトのサイズよりも僅かに大きくする処理を行う。このようにすることによっても、車オブジェクトの手前に汚れ表現用オブジェクトが常に表示されるようにすることができる。
【0043】
描画部140は、車オブジェクトのオブジェクトデータや、汚れ表現用オブジェクトのオブジェクトデータや、車オブジェクトにマッピングされる下地テクスチャや、汚れ表現用オブジェクトにマッピングされる汚れテクスチャなどに基づいて、車オブジェクトに汚れ表現用オブジェクトを重ねて描画する処理を行う。そして本実施形態では、透明度制御部134の制御処理により、この汚れ表現用オブジェクトの透明度が変化する。これにより、テクスチャの使用記憶容量を抑えながら、多様でリアルな汚れ表現を実現できるようになる。
【0044】
なお、描画部140が含む補間部142は、ポリゴンの頂点(例えば3頂点)のZ値に基づき、ポリゴンの各ピクセルのZ値を、DDAなどの補間演算により求める。そして、上述のZシフト部136は、この補間部142での演算誤差よりも大きな値のZシフト値を、ポリゴンのZ値に対して加減算することになる。
【0045】
また描画部140が含む陰面消去部144は、Z値が格納されるZバッファ178を用いて、Zバッファ法のアルゴリズムにしたがった陰面消去を行う。
【0046】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0047】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0048】
2.本実施形態の特徴
(1)透明度の制御
本実施形態では、図2に示すように、車オブジェクトOB1(第1のオブジェクト)と、OB1と同一形状だが、マッピングされるテクスチャが異なる汚れ表現用オブジェクトOB2(第2のオブジェクト)を用意する。そして、汚れ表現用オブジェクトOB2の透明度TRANS(半透明度、不透明度)を可変に制御しながら、車オブジェクトOB1に対してOB2を重ねて描画する。これにより、図2のB1に示すように、車の汚れをリアルに表現できるようになる。
【0049】
例えば、車の走行スタート時においては、汚れ表現用オブジェクトOB2の透明度TRANS=0(%)にしておく。このようにすることにより、OB2が完全に透明になり、汚れが付着していない車が表示されるようになる。
【0050】
そして、車が泥水エリア等に進入するなどのイベントが発生したり、車の走行距離が増えた場合に、OB2の透明度TRANSを徐々に大きくする。これにより、OB2が透明から半透明に変わり、車の汚れが徐々に目立って見えるようになる。
【0051】
一方、車が泥水エリアから脱出したり、きれいな水を浴びるなどのイベントが発生した場合には、OB2の透明度TRANSを逆に徐々に小さくする。これにより、車の汚れが徐々に落ちて行く様子を表現できるようになる。
【0052】
例えば、車の汚れを表現する他の手法として、車にマッピングされる汚れテクスチャを順次差し替えて行く手法を考えることができる。
【0053】
しかしながら、この手法では、汚れ具合が異なる多くの種類のテクスチャを予め用意しておく必要がある。従って、テクスチャの使用記憶容量が増してしまい、画像生成システムの大規模化、高コスト化の問題を招く。
【0054】
本実施形態によれば、汚れ表現用オブジェクトOB2の透明度TRANSを変化させるだけという簡易な処理で、複数段階の汚れ状態を表現できる。そして、汚れテクスチャとしては、OB2にマッピングされるテクスチャだけを用意すればよいため、テクスチャの使用記憶容量も節約できる。即ち、少ない使用記憶容量で、よりリアルで多種多様な汚れを表現できるようになる。
【0055】
なお、第2のオブジェクトにマッピングされる第2のテクスチャは、第1のオブジェクトの汚れを表現するためのテクスチャであることが特に望ましいが、これに限定されるものではない。例えば車のリフレクションを表現するための環境テクスチャや、表面の凹凸を表現するためのバンプテクスチャなど、種々のテクスチャを考えることができる。
【0056】
また本実施形態では、図3に示すように、汚れ表現用オブジェクトOB2は、車オブジェクトOB1に追従して移動(又は動作)する。即ち、車オブジェクトOB1が移動(平行移動、回転移動)した場合に、車オブジェクトOB1の位置PM(代表点)と汚れ表現用オブジェクトの位置PM’は常に同一になり、向く方向(回転角度)も常に同一になる。このようにすることで、車のように移動、回転するオブジェクトの汚れの表現が可能になる。
【0057】
また本実施形態では図4に示すように、汚れ表現用オブジェクトOB2を複数のパーツオブジェクトOB2-1、OB2-2、OB2-3で構成し、これらのOB2-1、OB2-2、OB2-3の各々の透明度TRANSA、TRANSB、TRANSCを独立に制御するようにしてもよい。
【0058】
例えば、車の走行距離に対する透明度TRANSA、TRANSB、TRANSCの増加率を、各々、△TRANSA、△TRANSB、△TRANSCとした場合に、△TRANSA>△TRANSB>△TRANSCに設定する。このようにすれば、車の走行距離が増えた場合に、車の前方部の方が後方部に比べて、より早く汚れが目立って見えるようになる。これにより、車の汚れ表現のリアル性、多様性を増すことができる。
【0059】
なお、汚れ表現用オブジェクトOB2のパーツオブジェクトの構成形態は、図4に示すものに限定されない。例えば、車のバンパー、フェンダー、ボンネット、ドア、フロントガラス、ウィンドウ、トランクというように、更に細かなパーツオブジェクトに分割してもよい。また、パーツオブジェクトの一部についてのみ透明度を変化させ、他の部分は透明度を変化させないようにしてもよい。
【0060】
また本実施形態では図5に示すように、テクスチャパターンが互いに異なる2個以上の汚れ表現用オブジェクトOB2、OB3、OB4・・・を用意し、これらのOB2、OB3、OB4・・・を車オブジェクトOB1に重ねて描画するようにしてもよい。そして、OB2、OB3、OB4・・・の各々の透明度TRANSA、TRANSB、TRANSC・・・を独立に制御するようにする。
【0061】
例えば、車が泥水エリアに進入した場合には、泥水の汚れ表現用オブジェクトOB2の透明度TRANSAを変化させる。また車が砂埃エリアに進入した場合には、砂埃の汚れ表現用オブジェクトOB3の透明度TRANSBを変化させ、雨域エリアに進入した場合には、雨の汚れ表現用オブジェクトOB4の透明度TRANSCを変化させる。このようにすれば、車の走行エリアや走行状況に応じて、車に異なった汚れが付着して見えるようになる。この結果が、汚れ表現の多様性や画像のリアル度を更に増すことができる。
【0062】
(2)ジオメトリ処理後のオブジェクトデータの再利用
さて、車オブジェクトに汚れ表現用オブジェクトを重ねて描画する手法として、車オブジェクトと汚れ表現用オブジェクトとを別々に用意し、これらのオブジェクトの各々に対してジオメトリ処理(座標変換、クリッピング処理、透視変換、又は光源計算等)を別々に施す手法を考えることができる。
【0063】
しかしながら、この手法によると、汚れ表現用オブジェクトを用いずに車オブジェクトだけを描画する場合に比べて、処理負担が2倍程度になる。この処理負担の増加は、1フレーム内で全ての描画処理を完了しなければならないという処理のリアルタイム性が要求される画像生成システムでは深刻な問題となる。
【0064】
そこで、本実施形態では、ジオメトリ処理後の車オブジェクトのオブジェクトデータをメインメモリに保存しておき、この保存されたジオメトリ処理後のオブジェクトデータを、汚れ表現用オブジェクトのオブジェクトデータとして再利用している。これにより、上記処理負担の増加の問題を解決できる。
【0065】
より具体的には、図6の(A1)に示すように、メインメモリ上の車オブジェクトのオブジェクトデータ(頂点座標、頂点テクスチャ座標、輝度、或いは法線ベクトル等)に基づきジオメトリ処理を行い、ジオメトリ処理後(透視変換後)のオブジェクトデータをメインメモリに格納し、消さずに保存しておく。
【0066】
次に、図6の(A2)に示すように、VRAMのテクスチャ記憶部(テクスチャ記憶領域)に車の下地テクスチャを転送する(ジオメトリ処理の前に転送してもよい)。
【0067】
次に、図6の(A3)に示すように、ジオメトリ処理後のオブジェクトデータと、テクスチャ記憶部に記憶されている車の下地テクスチャとに基づいて、VRAMのフレームバッファに車オブジェクトを描画する。これにより、フレームバッファ上には、下地テクスチャがマッピングされた車オブジェクトが描画されるようになる。
【0068】
次に、図6の(A4)に示すように、テクスチャ記憶部に汚れテクスチャを転送して、オブジェクトにマッピングされるテクスチャを変更する。
【0069】
次に、図6の(A5)に示すように、メインメモリに保存しておいたジオメトリ処理後のオブジェクトデータと、テクスチャ記憶部に格納される汚れテクスチャとに基づいて、フレームバッファに汚れ表現用オブジェクトをαブレンディングにより重ねて描画する。これにより、下地テクスチャがマッピングされた車オブジェクトの上に、汚れテクスチャがマッピングされた汚れ表現用オブジェクトが重ねて描画されることになる。
【0070】
以上の処理を1フレーム内に行うことで、車オブジェクトに対して汚れ表現用オブジェクトを重ねて描画できるようになる。
【0071】
そして本実施形態では、メインメモリに既に保存されているジオメトリ処理後の車オブジェクトのオブジェクトデータが、汚れ表現用オブジェクトのオブジェクトデータとして再利用される。従って、汚れ表現用オブジェクトに対するジオメトリ処理を再度行う必要がなく、1回で済むため、処理負担をそれほど増すことなく、車の汚れ表現を実現できるようになる。
【0072】
特に、ジオメトリ処理(3次元座標演算)は、オブジェクトの全ての頂点に対して行う必要があるため、非常に負担の重い処理である。従って、このジオメトリ処理を2回行うことなく1回で済ませることで、処理負担を大幅に軽減できる。
【0073】
(3)Zシフト処理、スケーリング処理
さて、車オブジェクトと汚れ表現用オブジェクトを重ねて描画する際に、汚れ表現用オブジェクトが車オブジェクトの手前に常に来るような工夫を施さないと、車の汚れが下地に隠れて表示されなくなる事態が生じる。
【0074】
このような事態を防止するためには、車オブジェクトのZ値(奥行き値)や汚れ表現用オブジェクトのZ値に対してZシフト値を加減算することが望ましい。即ち、汚れ表現用オブジェクトが車オブジェクトの手前に常に表示されるように、これらのオブジェクトの少なくとも一方に対してZシフト値を加減算するZシフト処理を行う。このようにすることで、車の汚れが下地に隠れてしまうという事態を防止できる。
【0075】
なお、このようなZシフト値を加減算する代わりに、汚れ表現用オブジェクトのサイズを、車オブジェクトのサイズよりも僅かに大きくするスケーリング処理を行うようにしてもよい。このようにすれば、汚れ表現用オブジェクトを、車オブジェクトの手前に常に表示できるようになる。但し、このようなスケーリング処理はZシフト処理に比べて処理負荷が重いという欠点がある。従って、処理負荷の軽減化という観点からは、Zシフト処理の方が望ましい。
【0076】
さて、本実施形態のような画像生成システムでは、視点から見えない部分を消去し、視点から見える部分だけを表示するための陰面消去が必要になる。そして、この陰面消去の中で代表的なもとのしては、奥行きソート法と呼ばれるものや、Zバッファ法と呼ばれるものが知られている。
【0077】
奥行きソート法(Zソート法)では、視点からの距離に応じてポリゴン(プリミティブ面)をソーティングし、視点から遠い順にポリゴンを描画する。一方、Zバッファ法では、画面の全てのピクセル(ドット)についてのZ値(奥行き値)を格納するZバッファを用意し、このZバッファを利用して陰面消去を行う。
【0078】
このようなZバッファ法を用いて陰面消去を行う場合において、車オブジェクトの手前に汚れ表現用オブジェクトを常に表示させるためには、以下のような手法を採用すればよい。
【0079】
即ち、まず、図1のジオメトリ処理部132が、車オブジェクトのオブジェクトデータ(ポリゴンデータ)を描画部140に転送し、その後、汚れ表現用オブジェクトのオブジェクトデータを描画部140に転送する。そして、描画部140が含む陰面消去部144が、Z値が同一であるピクセルについては、後にオブジェクトデータが転送されてきた方を上書きするように処理を行う。このような手法を採用することで、Zシフト処理やスケーリング処理を行わなくても、車オブジェクトの手前に汚れ表現用オブジェクトを常に表示させることが可能になる。
【0080】
ところが、このような手法を採用した場合にも、図1の補間部142での補間演算(ポリゴンの各頂点のZ値に基づいてポリゴンの各ピクセルのZ値を求める演算)の誤差に起因して、本来は後ろに表示されるべき車オブジェクトの各部分が、汚れ表現用オブジェクトの手前に表示されてしまうという表示エラーが生じることが判明した。以下、この表示エラーの問題について詳しく説明する。
【0081】
例えば、図1の描画部140が扱うことができるポリゴンの形状は、描画処理の高速化を図るために、一定形状に固定されている場合がある。より具体的には、描画部140が、その仕様上、三角形ポリゴンしか扱うことができない場合がある。このような場合には、頂点数が4個以上のポリゴンについては、描画部140にそのデータを転送する前に、三角形のポリゴンに分割しておく必要がある。
【0082】
ところが、このようなポリゴン分割においては、同一座標の頂点を有するポリゴンであっても、分割の仕方によっては、分割後の三角形ポリゴンの頂点構成が異なったものになってしまう場合があることが判明した。
【0083】
例えば図7(A)では、ポリゴンPL1は三角形ポリゴンPA1とPB1に分割され、ポリゴンPL2は三角形ポリゴンPA2とPB2に分割されている。そして、この場合には、PA1とPA2、PB1とPB2は同一形状(頂点)の三角形ポリゴンになるため、正しい表示が行われる。
【0084】
一方、図7(B)では、ポリゴンPL1は三角形ポリゴンPA1とPB1に分割され、ポリゴンPL2は三角形ポリゴンPC2とPD2に分割されている。そして、この場合には、PA1とPC2、PB1とPD2は異なる形状の三角形ポリゴンになるため、表示エラーが生じてしまう。即ち、ポリゴンの前後関係が狂ってしまい、本来ならば後ろに隠れるべきポリゴンPL1のピクセルがポリゴンPL2の手前に表示される事態が生じてしまう。
【0085】
即ち、図1の補間部142は、ポリゴンの頂点のZ値に基づいて、ポリゴンの各ピクセル(ドット)のZ値をDDAなどの手法により算出する。ところが、この補間処理には、通常、例えば1LSB程度の演算誤差(累積誤差)がある。この演算誤差は、補間部142のハードウェア構成等を高性能なものにすれば小さくできるが、これは、ハードウェアのコスト増を招く。従って、この演算誤差を零にすることは実質的に極めて難しい。
【0086】
一方、図1の陰面消去部144は、Z値が同一である場合には、通常、後にデータが転送されてきた方を上書きするように設定されている。
【0087】
そして、図7(A)の場合には、三角形ポリゴンPA1とPA2、PB1とPB2の形状(頂点)は同一になっている。従って、補間処理により得られるPA1とPA2の各ピクセルのZ値は、たとえ演算誤差があっても、同一になる。同様に、補間処理により得られるPB1とPB2の各ピクセルのZ値も、たとえ演算誤差があっても、同一になる。従って、この場合には、全てのピクセルにおいて、ポリゴンPA1の上にポリゴンPA2が上書きされ、ポリゴンPB1の上にポリゴンPB2が上書きされるようになる。従って、設定通りにポリゴンが描画されるようになり、正しい表示になる。
【0088】
しかしながら、図7(B)の場合には、三角形ポリゴンPA1とPC2、PB1とPD2の形状は異なっている。従って、補間処理により得られるPA1とPC2の各ピクセルのZ値が、本来は同じ値になるべきなのに、演算誤差の存在に起因して、異なった値になってしまう場合がある。同様に、補間処理により得られるPB1とPD2の各ピクセルのZ値も、演算誤差の存在に起因して、異なった値になってしまう場合がある。このため、本来は隠れるべきポリゴンPA1、PB1のピクセルが、ポリゴンPC2、PD2の手前に表示される事態が生じ、エラー表示となってしまう。
【0089】
そこで、本実施形態では、このような問題を解決するために図8に示すような手法を採用している。
【0090】
即ち、ジオメトリ処理後の車オブジェクトのポリゴンPL1のZ値及びジオメトリ処理後の汚れ表現用オブジェクトのポリゴンPL2のZ値の少なくとも一方に対して、Zシフト値を加減算するようにしている。例えば図8では、ポリゴンPL1のZ値にZシフト値を加算したり、ポリゴンPL2のZ値からZシフト値を減算する(視点から遠いほどZ値が大きい場合)。このようにすることで、たとえ補間処理に演算誤差があったとしても、車オブジェクトのポリゴンPL1の上に、汚れ表現用オブジェクトのポリゴンPL2が正しく上書きされるようになる。この結果、車オブジェクトの手前に汚れ表現用オブジェクトが常に表示されるようになり、適正な車の汚れ表現を実現できるようになる。
【0091】
さて、Z値に加減算するZシフト値の大きさは、図1の補間部142でのDDAの演算誤差よりも大きな値にすることが望ましい。
【0092】
より具体的には図9に示すように、DDAの演算誤差が、例えば、−N×LSB〜N×LSBの場合には、加減算するZシフト値の大きさを、−(N+K)×LSB〜(N+K)×LSBにする(但し、K≧1)。このようにすれば、演算誤差に起因する陰面消去の誤りの問題を効果的に解決できる。
【0093】
また、どのポリゴンのZ値にZシフト値を加減算するかは、ポリゴン(又はオブジェクト)に対して予め関連づけて設定された識別情報に基づいて判断することが望ましい。
【0094】
例えば図10のテーブルでは、Zシフト処理を行うか否かを示すシフトフラグSFL(ポリゴンがZシフト値の加減算の対象か否かを識別するための識別情報)が、各ポリゴンに対して予め関連づけて設定されている。例えば、図10では、SFLが1となっているポリゴンPL1、PL3、PL4に対してはZシフト処理が行われ、SFLが0となっているポリゴンPL2に対してはZシフト処理が行われない。このような設定を予め行っておくことで、Zシフト処理の際に、どのポリゴンが処理対象になるかを簡易に判断できるようになる。これにより、処理負担を大幅に軽減できる。
【0095】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図11、図12のフローチャートを用いて説明する。
【0096】
図11は、汚れ表現用オブジェクトの透明度の制御処理に関するフローチャートである。
【0097】
まず、車が泥水エリアに進入しているか否かを判断する(ステップS1)。この判断は、車の位置データや泥水エリアの位置データなどに基づいて行う。
【0098】
そして、車が泥水エリアに進入している場合には、汚れ表現用オブジェクトの透明度TRANSを増加させる(ステップS2)。これにより、最初は完全な透明であった汚れ表現用オブジェクトが半透明になり、車の汚れが徐々に目立ってくるようになる。一方、車が泥水エリアに進入していない場合にはステップS5に移行する。
【0099】
次に、透明度TRANSが100(%)以上か否かを判断し(ステップS3)、100(%)以上の場合には、TRANS=100(%)に固定する(ステップS4)。
【0100】
次に、車が泥水エリアから脱出したか否かを判断する(ステップS5)。そして、車が泥水エリアから脱出した場合には、透明度TRANSが50(%)より大きいか否かを判断する(ステップS6)。そして、大きい場合には、透明度TRANSを徐々に小さくする(ステップS7)。これにより、汚れ表現用オブジェクトが徐々に透明になり、車の汚れが徐々に落ちて行く様子を表現できるようになる。
【0101】
次に、汚れ表現用オブジェクトの透明度TRANS=0(%)か否かを判断し(ステップS8)、TRANS=0(%)でない場合には、汚れ表現用オブジェクトを透明度TRANSで車オブジェクトに重ねて描画する(ステップS9)。一方、TRANS=0(%)の場合には、ステップS9の処理を省略して、処理負担の軽減化を図る。
【0102】
図12は、ジオメトリ処理後のオブジェクトデータを再利用する手法の処理例を示すフローチャートである。
【0103】
まず、オブジェクトデータに基づいてジオメトリ処理を行う。即ち、車オブジェクトをローカル座標系からワールド座標系へ座標変換し(ステップS11)、次に、ワールド座標系から視点座標系に座標変換する(ステップS12)。そして、クリッピング処理を行い(ステップS13)、スクリーン座標系への透視変換を行う(ステップS14)。
【0104】
次に、図6で説明したように、透視変換後(ジオメトリ処理後)の車オブジェクトのオブジェクトデータをメインメモリに格納し、保存する(ステップS15)。そして、車オブジェクトにマッピングする下地テクスチャをVRAMに転送する(ステップS16)。
【0105】
次に、ステップS15でメインメモリに保存された透視変換後のオブジェクトデータと、ステップS16でVRAMに転送された車の下地テクスチャとに基づいて、フレームバッファに車オブジェクトを描画する(ステップS17)。
【0106】
次に、汚れテクスチャをVRAMに転送する(ステップS18)。そして、ステップS15でメインメモリに保存された透視変換後のオブジェクトデータと、ステップS18でVRAMに転送された汚れテクスチャとに基づいて、フレームバッファに汚れ表現用オブジェクトを描画する(ステップS19)。即ち、ステップS17で既に描画されている車オブジェクトの上に、汚れテクスチャがマッピングされた汚れ表現用オブジェクトを、αブレンディング処理などにより重ね書きする。
【0107】
なお、図8のようなZシフト処理を行う場合には、例えば図12のステップS14の後に、処理対象となるポリゴンにZシフト処理を施すか否かを図10のシフトフラグSFLに基づき判断する処理を挿入する。そして、Zシフト処理を施すと判断した場合には、所与のZシフト値を、そのポリゴンのZ値(ポリゴンの頂点のZ値)に加減算すればよい。
【0108】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図13を用いて説明する。
【0109】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0110】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0111】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0112】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0113】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0114】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0115】
ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0116】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0117】
RAM960は、各種プロセッサの作業領域として用いられる。
【0118】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0119】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0120】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システム、他のゲームシステムとの間でのデータ転送が可能になる。
【0121】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【0122】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【0123】
図14(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報(プログラム又はデータ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0124】
図14(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。
【0125】
図14(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に伝送し端末において出力することになる。
【0126】
なお、図14(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0127】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0128】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0129】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0130】
また本発明により第2のオブジェクトにマッピングされるテクスチャは、第1のオブジェクトの汚れを表すテクスチャであることが特に望ましいが、これに限定されるものではない。
【0131】
また、第1のオブジェクトと第2のオブジェクトは、その一部において同一形状(又はほぼ同一形状)であれば十分である。
【0132】
また、第1のオブジェクトが第2のオブジェクトの上に来るように描画処理を行ってもよい。
【0133】
また、本実施形態では、ジオメトリ処理として座標変換や透視変換を例に挙げたが、本発明のジオメトリ処理はこれらに限定されない。
【0134】
また、オブジェクトにマッピングされるテクスチャは、色情報のテクスチャに限定されず、輝度情報、半透明情報(α値)、表面形状情報(バンプ値)、反射率情報、屈折率情報、或いは深さ情報などについてのテクスチャでもよい。
【0135】
また本発明はレーシングゲーム以外にも種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0136】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムのブロック図の例である。
【図2】汚れ表現用オブジェクトの透明度を制御する手法について説明するための図である。
【図3】汚れ表現用オブジェクトを車オブジェクトに追従させる手法について説明するための図である。
【図4】汚れ表現用オブジェクトを複数のパーツオブジェクトで構成する手法について示す図である。
【図5】2以上の汚れ表現用オブジェクトを車オブジェクトに重ね書きする手法について説明するための図である。
【図6】ジオメトリ処理後のオブジェクトデータを再利用する手法について説明するための図である。
【図7】図7(A)、(B)は、ポリゴン分割が原因となる表示エラーの問題について説明するための図である。
【図8】本実施形態のZシフト処理について説明するための図である。
【図9】DDAの演算誤差の大きさに基づいてZシフト値の大きさを決定する手法について説明するための図である。
【図10】シフトフラグSFL(識別情報)について説明するための図である。
【図11】本実施形態の詳細な処理例について示すフローチャートである。
【図12】本実施形態の詳細な処理例について示すフローチャートである。
【図13】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図14】図14(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
OB1 車オブジェクト(第1のオブジェクト)
OB2 汚れ表現用オブジェクト(第2のオブジェクト)
TRANS 透明度
100 処理部
110 ゲーム処理部
114 移動・動作演算部
130 画像生成部
132 ジオメトリ処理部
134 透明度制御部
136 Zシフト部
138 スケーリング部
140 描画部
142 補間部
144 陰面消去部
150 音生成部
160 操作部
170 記憶部
172 メインメモリ
174 フレームバッファ
176 テクスチャ記憶部
178 Zバッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image generation system and an information storage medium.
[0002]
[Background Art and Problems to be Solved by the Invention]
2. Description of the Related Art Conventionally, an image generation system that generates an image that can be seen from a given viewpoint in an object space that is a virtual three-dimensional space is known, and is popular as being able to experience so-called virtual reality. Taking an image generation system that can enjoy a racing game as an example, a player operates a car (object) to run in an object space, and competes with other players and cars operated by a computer to achieve a three-dimensional Enjoy the game.
[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. Therefore, taking a racing game as an example, it is desirable to realize an expression in which dirt gradually adheres to the surface of a car as the course laps are repeated.
[0004]
As one method for expressing the dirt of a car in such a racing game, for example, a technique of sequentially replacing dirt textures mapped to cars (textures representing dirt) can be considered. That is, when the travel distance of the car is short, a dirt texture with a low degree of dirt is mapped to the car. As the mileage of the car increases, a dirt texture with a medium degree of dirt is mapped onto the car. When the travel distance of the car further increases, a dirt texture having a high degree of dirt is mapped onto the car.
[0005]
However, with this method, it is necessary to prepare in advance many types of textures with different levels of dirt. Accordingly, the use storage capacity of the memory for storing the texture increases, which causes the problem of large scale and high cost of the image generation system.
[0006]
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 capable of realizing realistic image expression such as dirt on an object while saving use storage capacity of a texture. And providing an information storage medium.
[0007]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides an image generation system for generating an image, wherein the first object data including shape data of the first object and the same shape as the first object or Second object data including shape data of a second object having substantially the same shape; a first texture mapped to the first object; a first texture mapped to the second object; Is a drawing means for drawing the second object on the first object based on the second texture having a different texture pattern, and a transparency control means for variably controlling the transparency of the second object; It is characterized by including. The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes a program for executing the above means. The program according to the present invention is a program (including a program embodied in a carrier wave) that can be used by a computer, and includes a processing routine for executing the above means.
[0008]
According to the present invention, the second object to which the second texture is mapped is overlaid on the first object to which the first texture is mapped. Then, the transparency of the second object is variably controlled. Therefore, by changing the transparency and gradually changing the second object from completely transparent to semi-transparent, it is possible to express an image such that the second texture gradually becomes noticeable. On the other hand, by changing the transparency and gradually changing the second object to be transparent, it is possible to express an image such that the second texture gradually disappears and disappears. Therefore, compared to the technique of sequentially replacing a plurality of textures, a more diverse and realistic image expression can be realized with a small storage capacity of the texture.
[0009]
The image generation system, the information storage medium, and the program according to the present invention are characterized in that the second texture is a texture for expressing dirt on the first object. By doing in this way, it is possible to perform an image expression in which the dirt of the object becomes conspicuous and an image expression in which the dirt of the object gradually disappears.
[0010]
The image generation system, information storage medium, and program according to the present invention include means (or a program or processing routine for executing the means) for calculating movement or motion of the first object, and the second object. The object moves or moves following the first object. By doing in this way, realistic expression such as dirt of an object moving or operating in the object space becomes possible.
[0011]
In the image generation system, the information storage medium, and the program according to the present invention, the second object is composed of a plurality of part objects, and the transparency control means independently sets the transparency of each of the plurality of part objects. It is characterized by controlling. In this way, it is possible to vary the degree of change in transparency in each part of the object, and more various image representations are possible.
[0012]
In the image generation system, the information storage medium, and the program according to the present invention, the drawing unit has the same shape or substantially the same shape as the first object, and the third texture is different in texture pattern from the first texture. The third to Nth objects to which the Nth (N ≧ 3) texture is mapped are drawn on the first object together with the second object, and the transparency control means includes the second to second objects. The transparency of each of the Nth objects is controlled independently. In this way, for example, when the first event occurs, the transparency of the second object is changed, and when the second event occurs, the transparency of the third object is changed. It becomes possible, and the realism of an image can be increased.
[0013]
In the image generation system, information storage medium, and program according to the present invention, the first object data after geometry processing is stored in the storage means, and the drawing means stores the stored first object data after geometry processing. , And used as the second object data.
[0014]
According to the present invention, the first object data after the geometry processing is stored in the storage means and saved without being erased. Then, the first object is drawn based on the first object data after the geometry processing and the first texture. Then, the second object drawn by the saved first object data after the geometry processing and the second texture is overlaid on the first object. By doing so, it is possible to reduce the burden of the process of drawing the second object on the first object.
[0015]
The image generation system, information storage medium, and program according to the present invention include a Z shift unit that adds or subtracts a Z shift value to at least one of the Z value of the first object and the Z value of the second object. Or a program or a processing routine for executing the means. In this way, the second object can always be displayed in front of the first object.
[0016]
In the image generation system, the information storage medium, and the program according to the present invention, the Z shift means may perform the Z value of the primitive surface of the first object after the geometry processing and the Z value of the primitive surface of the second object after the geometry processing. A Z shift value is added to or subtracted from at least one of the values. In this way, it is possible to solve the problem that an error occurs in hidden surface removal due to a calculation error of the interpolation processing with a small processing load.
[0017]
The image generation system, the information storage medium, and the program according to the present invention include a scaling unit (or a unit for executing the unit) that performs a process for slightly increasing the size of the second object than the size of the first object. Program, processing routine). In this way, the second object can always be displayed in front of the first object.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. Hereinafter, a case where the present invention is applied to a racing game will be described as an example. However, the present invention is not limited to this and can be applied to various games.
[0019]
1. Constitution
FIG. 1 shows an example of a block diagram of this 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.
[0020]
Here, the processing unit 100 performs various processes such as control of the entire system, instruction instruction to each block in the system, game processing, image processing, sound processing, and the like. , DSP, etc.) or ASIC (gate array, etc.) or a given program (game program).
[0021]
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, and a housing.
[0022]
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.
[0023]
An information storage medium (storage medium usable by a computer) 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, and 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 information stored in the information storage medium 180. That is, the information storage medium 180 stores information (program or data) for executing the means of the present invention (this embodiment) (particularly, the blocks included in the processing unit 100).
[0024]
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. Information stored in the information storage medium 180 includes program code, image data, sound data, display object shape data, table data, list data, and data for instructing the processing of the present invention. It includes at least one of information, information for performing processing according to the instruction, and the like.
[0025]
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).
[0026]
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.
[0027]
The portable information storage device 194 stores player personal data, 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.
[0028]
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.
[0029]
The program or data for executing the means of the present invention (this embodiment) may be distributed from the information storage medium of the host device (server) to the information storage medium 180 via the network and the communication unit 196. Good. Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.
[0030]
The processing unit 100 includes a game processing unit 110, an image generation unit 130, and a sound generation unit 150.
[0031]
Here, the game processing unit 110 receives coins (cost), various mode setting processing, game progress processing, selection screen setting processing, object position and rotation angle (rotation angle around X, Y, or Z axis). Processing for moving objects, processing for moving objects (motion processing), processing for determining viewpoint positions (virtual camera positions) and line-of-sight angles (virtual camera rotation angles), processing for placing objects such as map objects in the object space, Operation data from the operation unit 160 includes various game processes such as a hit check process, a process for calculating game results (results, results), a process for a plurality of players to play in a common game space, or a game over process. Or based on personal data, stored data, game programs, etc. from the portable information storage device 194. Carried out.
[0032]
The game processing unit 110 includes a movement / motion calculation unit 114.
[0033]
Here, the movement / motion calculation unit 114 calculates movement information (position data, rotation angle data) and movement information (position data of each part of the object, rotation angle data) of an object such as a car. Based on operation data input by the player through the operation unit 160, a game program, or the like, a process of moving or moving an object is performed.
[0034]
More specifically, the movement / motion calculation unit 114 performs processing for obtaining the position and rotation angle of the object every frame (1/60 seconds), for example. For example, the position of the object in the (k-1) frame is PMk-1, the speed is VMk-1, the acceleration is AMk-1, and the time of one frame is Δt. Then, the position PMk and speed VMk of the object in the k frame are obtained by the following equations (1) and (2), for example.
[0035]
PMk = PMk-1 + VMk-1 * .DELTA.t (1)
VMk = VMk-1 + AMk-1 * .DELTA.t (2)
The image generation unit 130 performs various types of image processing in accordance with instructions from the game processing unit 110, for example, generates an image that can be seen from a given viewpoint in the object space, and outputs the image to the display unit 190. In addition, the sound generation unit 150 performs various types of sound processing in accordance with instructions from the game processing unit 110, generates sounds such as BGM, sound effects, and voices, and outputs them to the sound output unit 192.
[0036]
Note that all of the functions of the game processing unit 110, 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.
[0037]
The image generation unit 130 includes a geometry processing unit 132 (three-dimensional coordinate calculation unit), a transparency control unit 134, a Z shift unit 136, and a drawing unit 140 (rendering unit).
[0038]
Here, the geometry processing unit 132 performs various types of geometry processing (three-dimensional coordinate calculation) such as coordinate transformation, clipping processing, perspective transformation, or light source calculation. In the present embodiment, object data after geometric processing (after perspective transformation) (shape data such as vertex coordinates of objects, vertex texture coordinates, luminance data, etc.) is stored in the main memory 172 of the storage unit 170. Saved.
[0039]
The transparency control unit 134 performs a process of variably controlling the transparency (equivalent to translucency and opacity) of the dirt expression object (second object) drawn on the car object (first object). Here, the dirt expression object has the same shape (or almost the same shape) as the car object, but a texture (dirt texture) of a pattern different from the texture mapped to the car object (car ground texture) is mapped. The
[0040]
Note that the transparency to be controlled by the transparency control unit 134 is particularly preferably the transparency set for each polygon (primitive surface in a broad sense) from the viewpoint of reducing the processing load. It may be set transparency (alpha value of each pixel). That is, the transparency control unit 134 may directly rewrite the transparency (α value) of the texture stored in the texture storage unit.
[0041]
The Z shift unit 136 performs a process of adding or subtracting (adding or subtracting) the Z shift value to at least one of the Z value (depth value) of the car object and the Z value of the dirt expression object. More specifically, the Z shift value is added to or subtracted from at least one of the Z value of the polygon (primitive surface) of the car object after geometry processing and the Z value of the polygon of the dirt expression object after geometry processing. In this way, it is possible to always display the dirt expression object in front of the car object. Also, the problem of hidden surface removal errors in the Z buffer method can be solved.
[0042]
Instead of providing the Z shift unit 136, a scaling unit 138 may be provided. The scaling unit 138 performs a process for slightly increasing the size of the dirt expression object to be larger than the size of the car object. This also makes it possible to always display the dirt expression object in front of the car object.
[0043]
The drawing unit 140 stains the car object based on the object data of the car object, the object data of the dirt expression object, the background texture mapped to the car object, the dirt texture mapped to the dirt expression object, and the like. A process of drawing the representation object in an overlapping manner is performed. In the present embodiment, the transparency of the dirt expression object is changed by the control process of the transparency control unit 134. This makes it possible to realize various and realistic stain expressions while suppressing the use storage capacity of the texture.
[0044]
Note that the interpolation unit 142 included in the drawing unit 140 obtains the Z value of each pixel of the polygon by interpolation calculation such as DDA based on the Z value of the vertex (for example, three vertices) of the polygon. The above-described Z shift unit 136 adds or subtracts a Z shift value larger than the calculation error in the interpolation unit 142 with respect to the polygon Z value.
[0045]
The hidden surface removal unit 144 included in the drawing unit 140 performs hidden surface removal according to the algorithm of the Z buffer method using the Z buffer 178 in which the Z value is stored.
[0046]
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.
[0047]
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.
[0048]
2. Features of this embodiment
(1) Control of transparency
In this embodiment, as shown in FIG. 2, a car object OB1 (first object) and a dirt expression object OB2 (second object) having the same shape as OB1 but having a different texture to be mapped are prepared. Then, OB2 is drawn on the vehicle object OB1 while variably controlling the transparency TRANS (translucency, opacity) of the dirt expression object OB2. Thereby, as shown in B1 of FIG. 2, the dirt of the car can be expressed realistically.
[0049]
For example, when the vehicle starts to run, the transparency TRANS of the dirt expression object OB2 is set to 0 (%). By doing so, the vehicle OB2 becomes completely transparent, and a car without dirt is displayed.
[0050]
Then, when an event such as a car entering a muddy water area or the like occurs or the travel distance of the car increases, the transparency TRANS of OB2 is gradually increased. As a result, OB2 changes from transparent to translucent, and the dirt on the car gradually becomes noticeable.
[0051]
On the other hand, when an event occurs such as the car getting out of the muddy water area or taking a clean water, the transparency TRAN of OB2 is gradually reduced. This makes it possible to express how the dirt on the car gradually drops.
[0052]
For example, as another technique for expressing dirt on a car, a technique of sequentially replacing dirt textures mapped on the car can be considered.
[0053]
However, with this method, it is necessary to prepare in advance many types of textures with different levels of dirt. Therefore, the use storage capacity of the texture increases, which causes the problem of large scale and high cost of the image generation system.
[0054]
According to the present embodiment, it is possible to express a plurality of stages of dirt states with a simple process of simply changing the transparency TRANS of the dirt representing object OB2. Since only the texture mapped to OB2 needs to be prepared as the dirt texture, the use storage capacity of the texture can be saved. That is, it is possible to express more realistic and diverse stains with a small storage capacity.
[0055]
Note that the second texture mapped to the second object is particularly preferably a texture for expressing the dirt of the first object, but is not limited thereto. For example, various textures such as an environmental texture for expressing the reflection of a car and a bump texture for expressing surface irregularities can be considered.
[0056]
In the present embodiment, as shown in FIG. 3, the dirt expression object OB2 moves (or moves) following the car object OB1. That is, when the car object OB1 moves (parallel movement, rotational movement), the position PM (representative point) of the car object OB1 and the position PM ′ of the dirt expression object are always the same, and the direction (rotation angle) that faces is also the same. Always the same. By doing so, it becomes possible to express dirt on an object that moves and rotates like a car.
[0057]
In this embodiment, as shown in FIG. 4, the dirt expression object OB2 is composed of a plurality of part objects OB2-1, OB2-2, and OB2-3, and these OB2-1, OB2-2, and OB2-3. The transparency levels of TRANSA, TRANSB, and TRANSC may be controlled independently.
[0058]
For example, when the increase rates of transparency TRANSA, TRANSB, and TRANSC with respect to the travel distance of the vehicle are ΔTRANSA, ΔTRANSB, and ΔTRANSC, respectively, ΔTRANSA>ΔTRANSB> ΔTRANSC is set. In this way, when the mileage of the vehicle increases, the front portion of the vehicle becomes more noticeable in the dirt earlier than the rear portion. As a result, the realism and diversity of car dirt expression can be increased.
[0059]
The configuration form of the part object of the dirt expression object OB2 is not limited to that shown in FIG. For example, you may divide | segment into a finer part object like a car bumper, a fender, a bonnet, a door, a windshield, a window, and a trunk. Alternatively, the transparency of only part of the part object may be changed, and the transparency of other parts may not be changed.
[0060]
In this embodiment, as shown in FIG. 5, two or more dirt expression objects OB2, OB3, OB4... Having different texture patterns are prepared, and these OB2, OB3, OB4. You may make it draw on OB1. Then, the transparency levels of OB2, OB3, OB4,..., TRANSA, TRANSB, TRANSC,.
[0061]
For example, when the car enters the muddy water area, the transparency TRANSA of the muddy water dirt expression object OB2 is changed. When the vehicle enters the dust area, the transparency TRANSB of the dust dirt expression object OB3 is changed. When the car enters the rain area, the transparency TRANSC of the rain dirt expression object OB4 is changed. If it does in this way, according to the running area and running situation of a car, it will come to be attached to dirt which is different in a car. This result can further increase the variety of stain expression and the realism of the image.
[0062]
(2) Reuse of object data after geometry processing
Now, as a technique to draw a dirt object on a car object, prepare a car object and a dirt object separately, and perform geometry processing (coordinate transformation, clipping processing, perspective transformation) on each of these objects. Or a light source calculation etc.) can be considered separately.
[0063]
However, according to this method, the processing load is about twice that in the case where only the car object is drawn without using the dirt expression object. This increase in processing load becomes a serious problem in an image generation system that requires real-time processing that all drawing processing must be completed within one frame.
[0064]
Therefore, in the present embodiment, the object data of the car object after the geometry processing is saved in the main memory, and the saved object data after the geometry processing is reused as the object data of the dirt expression object. . Thereby, the problem of the increase in the processing burden can be solved.
[0065]
More specifically, as shown in FIG. 6A1, geometry processing is performed based on the object data (vertex coordinates, vertex texture coordinates, luminance, normal vector, etc.) of the car object in the main memory, and the geometry The object data after processing (after perspective transformation) is stored in the main memory and saved without being erased.
[0066]
Next, as shown in FIG. 6A2, the background texture of the car is transferred to the texture storage unit (texture storage area) of the VRAM (may be transferred before the geometry process).
[0067]
Next, as shown in (A3) of FIG. 6, the car object is drawn in the frame buffer of the VRAM based on the object data after the geometry processing and the background texture of the car stored in the texture storage unit. As a result, the car object to which the background texture is mapped is drawn on the frame buffer.
[0068]
Next, as shown in (A4) of FIG. 6, the dirt texture is transferred to the texture storage unit, and the texture mapped to the object is changed.
[0069]
Next, as shown in (A5) of FIG. 6, the frame buffer is used for expressing dirt based on the object data after geometry processing stored in the main memory and the dirty texture stored in the texture storage unit. Draw objects by alpha blending. Thus, the dirt expression object to which the dirt texture is mapped is drawn on the car object to which the ground texture is mapped.
[0070]
By performing the above processing in one frame, it becomes possible to draw a dirt expression object on a car object.
[0071]
In this embodiment, the object data of the car object after the geometry processing already stored in the main memory is reused as the object data of the dirt expression object. Accordingly, it is not necessary to perform the geometry processing on the dirt expression object again, and only one time is required, so that the car dirt expression can be realized without increasing the processing load so much.
[0072]
In particular, the geometry processing (three-dimensional coordinate calculation) needs to be performed on all the vertices of the object, and is a very heavy processing. Therefore, the processing load can be greatly reduced by performing this geometry processing only once instead of performing it twice.
[0073]
(3) Z shift processing and scaling processing
Now, when drawing a car object and a dirt expression object on top of each other, if the dirt expression object does not always come in front of the car object, the car dirt will be hidden behind the ground and will not be displayed. Arise.
[0074]
In order to prevent such a situation, it is desirable to add or subtract the Z shift value with respect to the Z value (depth value) of the car object or the Z value of the object for expressing dirt. That is, Z shift processing for adding / subtracting the Z shift value to at least one of these objects is performed so that the dirt expression object is always displayed in front of the car object. By doing in this way, the situation where the dirt of a car hides in the ground can be prevented.
[0075]
Instead of adding and subtracting such a Z shift value, a scaling process may be performed in which the size of the dirt expression object is slightly larger than the size of the car object. In this way, the dirt expression object can always be displayed in front of the car object. However, such scaling processing has a drawback that the processing load is heavy compared to the Z shift processing. Therefore, the Z shift process is more desirable from the viewpoint of reducing the processing load.
[0076]
Now, in the image generation system as in the present embodiment, it is necessary to erase the hidden surface in order to erase the portion that cannot be seen from the viewpoint and display only the portion that can be seen from the viewpoint. Typical examples of hidden surface removal include what is called a depth sorting method and what is called a Z buffer method.
[0077]
In the depth sorting method (Z sorting method), polygons (primitive surfaces) are sorted according to the distance from the viewpoint, and the polygons are drawn in order from the viewpoint. On the other hand, in the Z buffer method, a Z buffer for storing Z values (depth values) for all pixels (dots) on the screen is prepared, and hidden surface erasure is performed using this Z buffer.
[0078]
When performing hidden surface removal using such a Z-buffer method, the following method may be employed to always display the dirt expression object in front of the car object.
[0079]
That is, first, the geometry processing unit 132 in FIG. 1 transfers the object data (polygon data) of the car object to the drawing unit 140, and then transfers the object data of the dirt expression object to the drawing unit 140. Then, the hidden surface removal unit 144 included in the drawing unit 140 performs processing so as to overwrite the pixel to which the object data is transferred later for pixels having the same Z value. By adopting such a method, it is possible to always display the dirt expression object in front of the car object without performing the Z shift process and the scaling process.
[0080]
However, even when such a method is adopted, it is caused by an error in the interpolation calculation (calculation for obtaining the Z value of each pixel of the polygon based on the Z value of each vertex of the polygon) in the interpolation unit 142 of FIG. Thus, it has been found that a display error occurs in which each part of the vehicle object that should be displayed behind is displayed in front of the dirt expression object. Hereinafter, this display error problem will be described in detail.
[0081]
For example, the polygon shape that can be handled by the drawing unit 140 of FIG. 1 may be fixed to a fixed shape in order to speed up the drawing process. More specifically, the drawing unit 140 may handle only triangular polygons due to its specifications. In such a case, a polygon having four or more vertices needs to be divided into triangular polygons before transferring the data to the drawing unit 140.
[0082]
However, in such polygon division, it has been found that even if polygons have vertices with the same coordinates, the vertex configuration of the triangular polygon after division may be different depending on the division method. did.
[0083]
For example, in FIG. 7A, the polygon PL1 is divided into triangular polygons PA1 and PB1, and the polygon PL2 is divided into triangular polygons PA2 and PB2. In this case, PA1 and PA2, and PB1 and PB2 are triangular polygons having the same shape (vertex), so that correct display is performed.
[0084]
On the other hand, in FIG. 7B, the polygon PL1 is divided into triangular polygons PA1 and PB1, and the polygon PL2 is divided into triangular polygons PC2 and PD2. In this case, PA1 and PC2, and PB1 and PD2 are triangular polygons having different shapes, which causes a display error. That is, the context of the polygons is out of order, and a situation occurs in which pixels of the polygon PL1 that should be hidden behind are displayed in front of the polygon PL2.
[0085]
That is, the interpolation unit 142 in FIG. 1 calculates the Z value of each pixel (dot) of the polygon by a technique such as DDA based on the Z value of the vertex of the polygon. However, this interpolation processing usually has a calculation error (cumulative error) of about 1 LSB, for example. This calculation error can be reduced if the hardware configuration or the like of the interpolation unit 142 is made high-performance, but this causes an increase in hardware cost. Therefore, it is substantially extremely difficult to make this calculation error zero.
[0086]
On the other hand, when the Z value is the same, the hidden surface removal unit 144 in FIG. 1 is normally set to overwrite the data transferred later.
[0087]
In the case of FIG. 7A, the triangular polygons PA1 and PA2 and PB1 and PB2 have the same shape (vertex). Therefore, the Z value of each pixel of PA1 and PA2 obtained by the interpolation processing is the same even if there is a calculation error. Similarly, the Z value of each pixel of PB1 and PB2 obtained by the interpolation processing is the same even if there is a calculation error. Accordingly, in this case, in all the pixels, the polygon PA2 is overwritten on the polygon PA1, and the polygon PB2 is overwritten on the polygon PB1. Therefore, the polygon is drawn as set and the display is correct.
[0088]
However, in the case of FIG. 7B, the shapes of the triangular polygons PA1 and PC2 and PB1 and PD2 are different. Therefore, the Z value of each pixel of PA1 and PC2 obtained by the interpolation process should be the same value, but may have a different value due to the existence of an operation error. Similarly, the Z value of each pixel of PB1 and PD2 obtained by the interpolation process may be different due to the existence of a calculation error. For this reason, a situation occurs in which the pixels of the polygons PA1 and PB1 that should be hidden are displayed in front of the polygons PC2 and PD2, resulting in an error display.
[0089]
Therefore, in the present embodiment, a technique as shown in FIG. 8 is adopted in order to solve such a problem.
[0090]
That is, the Z shift value is added to or subtracted from at least one of the Z value of the polygon PL1 of the car object after the geometry process and the Z value of the polygon PL2 of the dirt expression object after the geometry process. For example, in FIG. 8, the Z shift value is added to the Z value of the polygon PL1, or the Z shift value is subtracted from the Z value of the polygon PL2 (when the Z value increases as the distance from the viewpoint increases). By doing so, even if there is a calculation error in the interpolation processing, the polygon PL2 of the dirt expression object is correctly overwritten on the polygon PL1 of the car object. As a result, the dirt expression object is always displayed in front of the car object, and an appropriate car dirt expression can be realized.
[0091]
Now, it is desirable that the magnitude of the Z shift value to be added to or subtracted from the Z value is larger than the DDA calculation error in the interpolation unit 142 in FIG.
[0092]
More specifically, as shown in FIG. 9, when the DDA calculation error is, for example, −N × LSB to N × LSB, the magnitude of the Z shift value to be added or subtracted is − (N + K) × LSB to (N + K) × LSB (where K ≧ 1). In this way, it is possible to effectively solve the problem of hidden surface removal errors caused by calculation errors.
[0093]
It is desirable to determine which polygon's Z value the Z shift value is added to or subtracted from based on identification information set in advance in association with the polygon (or object).
[0094]
For example, in the table of FIG. 10, a shift flag SFL (identification information for identifying whether a polygon is a target of addition / subtraction of a Z shift value) indicating whether or not to perform Z shift processing is associated with each polygon in advance. Is set. For example, in FIG. 10, Z shift processing is performed for polygons PL1, PL3, and PL4 with SFL of 1, and Z shift processing is not performed for polygon PL2 with SFL of 0. . By making such settings in advance, it becomes possible to easily determine which polygon is the processing target in the Z shift processing. Thereby, the processing burden can be greatly reduced.
[0095]
3. Processing of this embodiment
Next, a detailed example of the processing of this embodiment will be described using the flowcharts of FIGS.
[0096]
FIG. 11 is a flowchart relating to the transparency control processing of the dirt expression object.
[0097]
First, it is determined whether or not the vehicle has entered the muddy water area (step S1). This determination is made based on vehicle position data, muddy water position data, and the like.
[0098]
If the car has entered the muddy water area, the transparency TRANS of the dirt expression object is increased (step S2). As a result, the dirt expression object that was initially completely transparent becomes translucent, and the dirt on the car gradually becomes more noticeable. On the other hand, when the vehicle has not entered the muddy water area, the process proceeds to step S5.
[0099]
Next, it is determined whether or not the transparency TRANS is 100 (%) or higher (step S3). If it is 100 (%) or higher, TRANS = 100 (%) is fixed (step S4).
[0100]
Next, it is determined whether or not the vehicle has escaped from the muddy water area (step S5). Then, when the car escapes from the muddy water area, it is determined whether or not the transparency TRANS is larger than 50 (%) (step S6). If it is larger, the transparency TRANS is gradually reduced (step S7). As a result, the object for expressing dirt gradually becomes transparent, and it becomes possible to express a situation in which the dirt on the car gradually falls.
[0101]
Next, it is determined whether or not the transparency TRANS of the dirt expression object is 0 (%) (step S8). If TRANS is not 0 (%), the dirt expression object is superimposed on the car object with the transparency TRANS. Drawing is performed (step S9). On the other hand, when TRANS = 0 (%), the processing in step S9 is omitted to reduce the processing load.
[0102]
FIG. 12 is a flowchart illustrating a processing example of a method of reusing object data after geometry processing.
[0103]
First, geometry processing is performed based on object data. That is, the vehicle object is coordinate-transformed from the local coordinate system to the world coordinate system (step S11), and then coordinate-transformed from the world coordinate system to the viewpoint coordinate system (step S12). Then, clipping processing is performed (step S13), and perspective transformation to the screen coordinate system is performed (step S14).
[0104]
Next, as described with reference to FIG. 6, the object data of the car object after the perspective transformation (after the geometry processing) is stored in the main memory and saved (step S15). Then, the background texture to be mapped to the car object is transferred to the VRAM (step S16).
[0105]
Next, the car object is drawn in the frame buffer based on the object data after the perspective transformation stored in the main memory in step S15 and the background texture of the car transferred to the VRAM in step S16 (step S17).
[0106]
Next, the dirt texture is transferred to the VRAM (step S18). Then, based on the object data after perspective transformation saved in the main memory in step S15 and the dirt texture transferred to the VRAM in step S18, a dirt expression object is drawn in the frame buffer (step S19). That is, the dirt expression object to which the dirt texture is mapped is overwritten on the car object already drawn in step S17 by α blending processing or the like.
[0107]
When performing the Z shift process as shown in FIG. 8, for example, after step S14 in FIG. 12, it is determined based on the shift flag SFL in FIG. 10 whether or not to perform the Z shift process on the polygon to be processed. Insert processing. If it is determined that the Z shift process is to be performed, a given Z shift value may be added to or subtracted from the Z value of the polygon (Z value of the vertex of the polygon).
[0108]
4). Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.
[0109]
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.
[0110]
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. )
[0111]
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.
[0112]
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.
[0113]
The drawing processor 910 performs drawing (rendering) processing of an object composed of 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), mip mapping, fog processing, 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.
[0114]
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.
[0115]
Operation data from the game controller 942, save data from the memory card 944, and personal data are transferred via the serial interface 940.
[0116]
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.
[0117]
The RAM 960 is used as a work area for various processors.
[0118]
The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).
[0119]
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.
[0120]
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 between other image generation systems and other game systems becomes possible.
[0121]
All of the means of the present invention may be executed by hardware alone, or may be executed only by a program stored in an information storage medium or a program distributed via a communication interface. Alternatively, it may be executed by both hardware and a program.
[0122]
When each means of the present invention is executed by both hardware and a program, a program for executing each means of the present invention using hardware is stored in the information storage medium. Become. More specifically, the program instructs each processor 902, 904, 906, 910, 930, etc., which is hardware, and passes data if necessary. Each processor 902, 904, 906, 910, 930, etc. executes each means of the present invention based on the instruction and the passed data.
[0123]
FIG. 14A shows an example in which the present embodiment is applied to an arcade game system. The player enjoys the game by operating the lever 1102, the button 1104, and the like while viewing the game image displayed on the display 1100. Various processors and various memories are mounted on the built-in system board (circuit board) 1106. Information (program or data) for executing 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 information is referred to as storage information.
[0124]
FIG. 14B shows an example in which the present embodiment is applied to a home game system. The player enjoys the game by operating the game controllers 1202 and 1204 while viewing the game image displayed on the display 1200. In this case, the stored information is stored in the CD 1206, which is an information storage medium that is detachable from the main system, or in the memory cards 1208, 1209, and the like.
[0125]
FIG. 14C shows a host apparatus 1300 and terminals 1304-1 to 1304-n connected to the host apparatus 1300 via a network 1302 (a small-scale network such as a LAN or a wide area network such as the Internet). An example of applying this embodiment to a system including In this case, the stored 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 a game image and a game sound, which is transmitted to the terminals 1304-1 to 1304-n and output at the terminal.
[0126]
In the case of the configuration shown in FIG. 14C, each unit of the present invention may be executed in a distributed manner between the host device (server) and the terminal. The storage information for executing 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.
[0127]
The terminal connected to the network may be a home game system or an arcade game system. When connecting the arcade game system to a network, a portable information storage device capable of exchanging information with the arcade game system and exchanging information with the home game system. It is desirable to use (memory card, portable game device).
[0128]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0129]
For example, 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.
[0130]
Further, the texture mapped to the second object according to the present invention is particularly preferably a texture representing the dirt of the first object, but is not limited to this.
[0131]
Further, it is sufficient that the first object and the second object have the same shape (or almost the same shape) in a part thereof.
[0132]
In addition, the drawing process may be performed so that the first object is on the second object.
[0133]
In the present embodiment, coordinate transformation or perspective transformation is given as an example of the geometry processing, but the geometry processing of the present invention is not limited to these.
[0134]
Further, the texture mapped to the object is not limited to the texture of color information, but luminance information, translucent information (α value), surface shape information (bump value), reflectance information, refractive index information, or depth information. The texture about etc. may be sufficient.
[0135]
In addition to the racing game, the present invention can be applied to various games (a fighting game, a shooting game, a robot battle game, a sports game, a competition game, a role playing game, a music playing game, a dance game, etc.).
[0136]
Further, the present invention can be applied to various image generation 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.
[Brief description of the drawings]
FIG. 1 is an example of a block diagram of an image generation system according to an embodiment.
FIG. 2 is a diagram for explaining a method for controlling the transparency of a dirt expression object.
FIG. 3 is a diagram for explaining a technique for causing a dirt expression object to follow a car object;
FIG. 4 is a diagram illustrating a method of configuring a dirt expression object with a plurality of part objects.
FIG. 5 is a diagram for explaining a method of overwriting two or more dirt expression objects on a car object.
FIG. 6 is a diagram for explaining a method of reusing object data after geometry processing.
FIGS. 7A and 7B are diagrams for explaining a display error problem caused by polygon division. FIGS.
FIG. 8 is a diagram for describing a Z shift process of the present embodiment.
FIG. 9 is a diagram for explaining a method for determining the magnitude of a Z shift value based on the magnitude of a calculation error of DDA.
FIG. 10 is a diagram for explaining a shift flag SFL (identification information).
FIG. 11 is a flowchart illustrating a detailed processing example of the present embodiment.
FIG. 12 is a flowchart illustrating a detailed processing example of the present embodiment.
FIG. 13 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIGS. 14A, 14B, and 14C are diagrams illustrating examples of various types of systems to which the present embodiment is applied.
[Explanation of symbols]
OB1 car object (first object)
OB2 Dirt expression object (second object)
TRANS Transparency
100 processor
110 Game processor
114 Movement / motion calculation unit
130 Image generator
132 Geometry processing part
134 Transparency controller
136 Z shift section
138 Scaling unit
140 Drawing part
142 Interpolator
144 Hidden surface removal part
150 sound generator
160 Operation unit
170 Storage unit
172 Main memory
174 frame buffer
176 texture storage
178 Z buffer
180 Information storage medium
190 Display
192 sound output section
194 Portable information storage device
196 Communication Department

Claims (14)

画像を生成するための画像生成システムであって、
第1のオブジェクトの形状データを含む第1のオブジェクトデータと、前記第1のオブジェクトと同一形状又はほぼ同一形状の第2のオブジェクトの形状データを含む第2のオブジェクトデータと、前記第1のオブジェクトにマッピングされる第1のテクスチャと、前記第2のオブジェクトにマッピングされ、前記第1のテクスチャとはテクスチャパターンが異なる第2のテクスチャとに基づいて、前記第1のオブジェクトに前記第2のオブジェクトを重ねて描画する描画手段と、
前記第2のオブジェクトの透明度を可変に制御する透明度制御手段とを含み、
前記第2のオブジェクトが複数のパーツオブジェクトにより構成されており、
前記透明度制御手段が、
前記複数のパーツオブジェクトの各々の透明度を独立に制御することを特徴とする画像生成システム。
An image generation system for generating an image,
First object data including shape data of the first object, second object data including shape data of a second object having the same shape or substantially the same shape as the first object, and the first object Based on the first texture mapped to the second object and the second texture mapped to the second object and having a texture pattern different from the first texture, the second object is the second object. A drawing means for drawing in layers,
Look contains a transparency control means for variably controlling the transparency of the second object,
The second object is composed of a plurality of part objects;
The transparency control means comprises:
An image generation system, wherein the transparency of each of the plurality of part objects is independently controlled .
画像を生成するための画像生成システムであって、
第1のオブジェクトの形状データを含む第1のオブジェクトデータと、前記第1のオブジェクトと同一形状又はほぼ同一形状の第2のオブジェクトの形状データを含む第2のオブジェクトデータと、前記第1のオブジェクトにマッピングされる第1のテクスチャと、前記第2のオブジェクトにマッピングされ、前記第1のテクスチャとはテクスチャパターンが異なる第2のテクスチャとに基づいて、前記第1のオブジェクトに前記第2のオブジェクトを重ねて描画する描画手段と、
前記第2のオブジェクトの透明度を可変に制御する透明度制御手段と
前記第2のオブジェクトのサイズを第1のオブジェクトのサイズよりも僅かに大きくする処理を行うスケーリング手段とを含むことを特徴とする画像生成システム。
An image generation system for generating an image,
First object data including shape data of the first object, second object data including shape data of a second object having the same shape or substantially the same shape as the first object, and the first object Based on the first texture mapped to the second object and the second texture mapped to the second object and having a texture pattern different from the first texture, the second object is the second object. A drawing means for drawing in layers,
Transparency control means for variably controlling the transparency of the second object ;
An image generation system including a scaling unit configured to perform a process of slightly increasing the size of the second object to be larger than the size of the first object .
請求項1において、
第1のオブジェクトのZ値及び第2のオブジェクトのZ値の少なくとも一方に対して、Zシフト値を加算又は減算するZシフト手段を含むことを特徴とする画像生成システム。
Oite to claim 1,
An image generation system comprising Z shift means for adding or subtracting a Z shift value to at least one of a Z value of a first object and a Z value of a second object.
請求項において、
前記Zシフト手段が、
ジオメトリ処理後の第1のオブジェクトのプリミティブ面のZ値及びジオメトリ処理後の第2のオブジェクトのプリミティブ面のZ値の少なくとも一方に対して、Zシフト値を加算又は減算することを特徴とする画像生成システム。
In claim 3 ,
The Z shift means is
An image characterized by adding or subtracting a Z shift value to at least one of the Z value of the primitive surface of the first object after geometry processing and the Z value of the primitive surface of the second object after geometry processing Generation system.
請求項1乃至4のいずれかにおいて、
前記第2のテクスチャが、前記第1のオブジェクトの汚れを表現するためのテクスチャであることを特徴とする画像生成システム。
In any one of Claims 1 thru | or 4 ,
The image generation system, wherein the second texture is a texture for expressing dirt of the first object.
請求項1乃至5のいずれかにおいて、
前記第1のオブジェクトの移動又は動作を演算する手段を含み、
前記第2のオブジェクトが、前記第1のオブジェクトに追従して移動又は動作することを特徴とする画像生成システム。
In any one of Claims 1 thru | or 5 ,
Means for calculating movement or movement of the first object;
The image generation system, wherein the second object moves or moves following the first object.
請求項1乃至のいずれかにおいて、
ジオメトリ処理後の第1のオブジェクトデータが記憶手段に保存され、
前記描画手段が、
保存されたジオメトリ処理後の第1のオブジェクトデータを、前記第2のオブジェクトデータとして用いることを特徴とする画像生成システム。
In any one of Claims 1 thru | or 6 .
The first object data after geometry processing is stored in the storage means,
The drawing means;
An image generation system using the stored first object data after geometry processing as the second object data.
コンピュータ読み取り可能な情報記憶媒体であって、
第1のオブジェクトの形状データを含む第1のオブジェクトデータと、前記第1のオブジェクトと同一形状又はほぼ同一形状の第2のオブジェクトの形状データを含む第2のオブジェクトデータと、前記第1のオブジェクトにマッピングされる第1のテクスチャと、前記第2のオブジェクトにマッピングされ、前記第1のテクスチャとはテクスチャパターンが異なる第2のテクスチャとに基づいて、前記第1のオブジェクトに前記第2のオブジェクトを重ねて描画する描画手段と、
前記第2のオブジェクトの透明度を可変に制御する透明度制御手段としてコンピュータを機能させるためのプログラムを記憶し、
前記第2のオブジェクトが複数のパーツオブジェクトにより構成されており、
前記透明度制御手段が、
前記複数のパーツオブジェクトの各々の透明度を独立に制御することを特徴とする情報記憶媒体。
A computer- readable information storage medium,
First object data including shape data of the first object, second object data including shape data of a second object having the same shape or substantially the same shape as the first object, and the first object Based on the first texture mapped to the second object and the second texture mapped to the second object and having a texture pattern different from the first texture, the second object is the second object. A drawing means for drawing in layers,
Storing a program for causing a computer to function as a transparency control means for variably controlling the transparency of the second object,
The second object is composed of a plurality of part objects;
The transparency control means comprises:
An information storage medium characterized by independently controlling the transparency of each of the plurality of part objects .
コンピュータ読み取り可能な情報記憶媒体であって、
第1のオブジェクトの形状データを含む第1のオブジェクトデータと、前記第1のオブジェクトと同一形状又はほぼ同一形状の第2のオブジェクトの形状データを含む第2のオブジェクトデータと、前記第1のオブジェクトにマッピングされる第1のテクスチャと、前記第2のオブジェクトにマッピングされ、前記第1のテクスチャとはテクスチャパターンが異なる第2のテクスチャとに基づいて、前記第1のオブジェクトに前記第2のオブジェクトを重ねて描画する描画手段と、
前記第2のオブジェクトの透明度を可変に制御する透明度制御手段と
前記第2のオブジェクトのサイズを第1のオブジェクトのサイズよりも僅かに大きくする処理を行うスケーリング手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とする情報記憶媒体。
A computer- readable information storage medium,
First object data including shape data of the first object, second object data including shape data of a second object having the same shape or substantially the same shape as the first object, and the first object Based on the first texture mapped to the second object and the second texture mapped to the second object and having a texture pattern different from the first texture, the second object is the second object. A drawing means for drawing in layers,
Transparency control means for variably controlling the transparency of the second object ;
An information storage medium storing a program for causing a computer to function as scaling means for performing processing for slightly increasing the size of the second object than the size of the first object .
請求項において、
第1のオブジェクトのZ値及び第2のオブジェクトのZ値の少なくとも一方に対して、Zシフト値を加算又は減算するZシフト手段として更にコンピュータを機能させるためのプログラムを記憶したことを特徴とする情報記憶媒体。
In claim 8 ,
A program for further causing the computer to function as Z shift means for adding or subtracting a Z shift value to at least one of the Z value of the first object and the Z value of the second object is stored. Information storage medium.
請求項10において、
前記Zシフト手段が、
ジオメトリ処理後の第1のオブジェクトのプリミティブ面のZ値及びジオメトリ処理後の第2のオブジェクトのプリミティブ面のZ値の少なくとも一方に対して、Zシフト値を加算又は減算することを特徴とする情報記憶媒体。
In claim 10 ,
The Z shift means is
Information on adding or subtracting a Z shift value to at least one of the Z value of the primitive surface of the first object after geometry processing and the Z value of the primitive surface of the second object after geometry processing Storage medium.
請求項8乃至11のいずれかにおいて、
前記第2のテクスチャが、前記第1のオブジェクトの汚れを表現するためのテクスチャであることを特徴とする情報記憶媒体。
In any of claims 8 to 11 ,
The information storage medium characterized in that the second texture is a texture for expressing dirt on the first object.
請求項8乃至12のいずれかにおいて、
前記第1のオブジェクトの移動又は動作を演算する手段として更にコンピュータを機能させるためのプログラムを記憶し
前記第2のオブジェクトが、前記第1のオブジェクトに追従して移動又は動作することを特徴とする情報記憶媒体。
In any one of Claims 8 thru | or 12 .
Further storing a program for causing a computer to function as means for calculating the movement or operation of the first object,
The information storage medium, wherein the second object moves or moves following the first object.
請求項乃至13のいずれかにおいて、
ジオメトリ処理後の第1のオブジェクトデータが記憶手段に保存され、
前記描画手段が、
保存されたジオメトリ処理後の第1のオブジェクトデータを、前記第2のオブジェクトデータとして用いることを特徴とする情報記憶媒体。
In any one of Claims 8 thru | or 13 .
The first object data after geometry processing is stored in the storage means,
The drawing means;
An information storage medium using the stored first object data after geometry processing as the second object data.
JP35256099A 1999-12-13 1999-12-13 Image generation system and information storage medium Expired - Lifetime JP4318240B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35256099A JP4318240B2 (en) 1999-12-13 1999-12-13 Image generation system and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35256099A JP4318240B2 (en) 1999-12-13 1999-12-13 Image generation system and information storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009081060A Division JP4721472B2 (en) 2009-03-30 2009-03-30 Image generation system and information storage medium

Publications (2)

Publication Number Publication Date
JP2001167291A JP2001167291A (en) 2001-06-22
JP4318240B2 true JP4318240B2 (en) 2009-08-19

Family

ID=18424906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35256099A Expired - Lifetime JP4318240B2 (en) 1999-12-13 1999-12-13 Image generation system and information storage medium

Country Status (1)

Country Link
JP (1) JP4318240B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4134785B2 (en) * 2003-03-28 2008-08-20 株式会社デンソー Display device
JP4693153B2 (en) * 2005-05-16 2011-06-01 株式会社バンダイナムコゲームス Image generation system, program, and information storage medium
JP4646712B2 (en) 2005-07-05 2011-03-09 パナソニック株式会社 Computer graphics drawing method and drawing apparatus
JP2007111125A (en) * 2005-10-18 2007-05-10 Samii Kk Game machine
JP4994654B2 (en) * 2005-12-16 2012-08-08 株式会社バンダイナムコゲームス PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE
JP5090544B2 (en) * 2011-02-25 2012-12-05 任天堂株式会社 GAME DEVICE AND GAME PROGRAM
JP2015051119A (en) * 2013-09-06 2015-03-19 株式会社カプコン Game program and game apparatus
JP6513984B2 (en) * 2015-03-16 2019-05-15 株式会社スクウェア・エニックス PROGRAM, RECORDING MEDIUM, INFORMATION PROCESSING DEVICE, AND CONTROL METHOD

Also Published As

Publication number Publication date
JP2001167291A (en) 2001-06-22

Similar Documents

Publication Publication Date Title
US20050270309A1 (en) Program product, image generation method and image generation system
JP3249955B2 (en) Image generation system and information storage medium
JP3777288B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4305903B2 (en) Image generation system, program, and information storage medium
JP4318240B2 (en) Image generation system and information storage medium
US20030228052A1 (en) Image generation system, program, information storage medium and image generation method
JP3280355B2 (en) Image generation system and information storage medium
US6847361B1 (en) Image generation system and program
JP3413383B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4512240B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4367804B2 (en) Image generation system and information storage medium
JP3297410B2 (en) Image generation system and information storage medium
JP2001229403A (en) Game system and information storage medium
JP4187192B2 (en) Image generation system, program, and information storage medium
JP4574058B2 (en) Image generation system, program, and information storage medium
JP3292713B2 (en) Image generation system and information storage medium
JP4721472B2 (en) Image generation system and information storage medium
JP3254195B2 (en) Image generation system and information storage medium
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4412692B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2004070669A (en) Image generation system, program and information storage medium
JP2010055638A (en) Image generating system and information storage medium
JP4391632B2 (en) Image generation system and information storage medium
JP4394211B2 (en) Image generation system and information storage medium
JP4698701B2 (en) Image generation system, program, 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: 20061108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090330

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

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

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4318240

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

EXPY Cancellation because of completion of term