JP3656012B2 - GAME SYSTEM AND INFORMATION STORAGE MEDIUM - Google Patents

GAME SYSTEM AND INFORMATION STORAGE MEDIUM Download PDF

Info

Publication number
JP3656012B2
JP3656012B2 JP2000040062A JP2000040062A JP3656012B2 JP 3656012 B2 JP3656012 B2 JP 3656012B2 JP 2000040062 A JP2000040062 A JP 2000040062A JP 2000040062 A JP2000040062 A JP 2000040062A JP 3656012 B2 JP3656012 B2 JP 3656012B2
Authority
JP
Japan
Prior art keywords
processing
rendering
information
type
generating
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
JP2000040062A
Other languages
Japanese (ja)
Other versions
JP2001229395A (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
Original Assignee
Namco Ltd
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 filed Critical Namco Ltd
Priority to JP2000040062A priority Critical patent/JP3656012B2/en
Publication of JP2001229395A publication Critical patent/JP2001229395A/en
Application granted granted Critical
Publication of JP3656012B2 publication Critical patent/JP3656012B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【0003】
さて、このようなゲームシステムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。
【0004】
ここにおいてシェーディング処理、光源処理、環境マッピング、マルチテクチャマッピング、半透明処理、反射処理、オブジェクトの材質や属性や光源の影響や仮想カメラへ向き等を考慮した処理等の様々なレンダリング手法を駆使することにり、よりリアルな画像を生成することが可能となる。
【0005】
しかしかかる様々なレンダリング処理は一般に演算量が多いため、オブジェクト数が多くなると、処理負担の増大を招く原因になる。
【0006】
従って限られたハード資源でリアルタイムに画像生成を行うことが要求される家庭用、業務用ゲームシステム等においては、処理負担が増大すると画像生成が間に合わず、未完成の画像が表示されたり表示抜けが生じたり等の不具合が発生する恐れがある。
【0007】
ところが不具合の発生を防ぐために前記様々なレンダリング処理を一律に省略してしまうと、画像のリアリティを損ねてしまうことになる。そこで、かかる不具合の発生しない範囲で、可能な限りリアルな画像を生成することが望まれる。
【0008】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、所与のフレーム内の複数のオブジェクトについて少ない処理負担でよりリアルなレンダリング表現が可能なゲームシステム及び情報記憶媒体を提供することにある。
【0009】
【課題を解決するための手段】
本発明は画像生成を行うゲームシステムであって、所与のフレームの画像を生成する際に、所与の条件に基いて複数の異なるタイプのレンダリング処理から各オブジェクト毎にレンダリング処理のタイプを選択する手段と、各オブジェクト毎に選択したタイプに応じたレンダリング処理を施して前記所与のフレームの画像を生成する手段と、を含むことを特徴とする。
【0010】
また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0011】
ここににおいてレンダリング処理のタイプとは、施すレンダリング手法の相違によって分けられるレンダリング形式であり、入力するモデル情報についてはレンダリング処理のタイプと無関係である。またレンダリング手法とは例えばテクスチャマッピングの種類や光源処理や半透明処理や反射処理等の各種レンダリング手法を意味する。
【0012】
レンダリング処理のタイプによって、生成される画像の雰囲気やリアリティの度合いや演算負荷等が異なる。
【0013】
本発明によれは、所与の条件に基いて1フレーム内でオブジェクト単位でレンダリング処理のタイプを選択することが出来る。このため、目的に応じて各オブジェクト単位に最適なタイプのレンダリング処理を選択することにより、効率良く所望のレンダリング効果を得られる画像を生成することが出来る。
【0014】
本発明は、画像生成を行うゲームシステムであって、3次元空間に配置された複数のオブジェクトについて、所与の条件に基いてオブジェクト毎に当該オブジェクトをレンダリングする際のタイプを決定する手段と、各オブジェクト毎に決定されたタイプに応じて精密度の異なるレンダリング処理を施して、前記複数のオブジェクトの画像を生成する手段と、を含むことを特徴とする。
【0015】
また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0016】
ここににおいてレンダリング処理のタイプとは、施すレンダリング手法の相違によって分けられるレンダリング形式であり、入力するモデル情報についてはレンダリング処理のタイプと無関係である。またレンダリング手法とは例えばテクスチャマッピングの種類や光源処理や半透明処理や反射処理等の各種レンダリング手法を意味する。
【0017】
レンダリング処理のタイプによって、生成される画像の雰囲気やリアリティの度合いや演算負荷等が異なる。
【0018】
一般に精密度とは細部まで巧みに表現されているかや注意が細かい点までいきとどいているかの度合いを表すが、ここでもレンダリング処理が細部まで巧みに表現されているかや注意が細かい点までいきとどいているかという意味で用いている。従って精密度の異なるレンダリング処理とは、例えば表現のリアル度や詳細度等が異なるレンダリング処理を意味する。また一般に精密度が高いほど処理は複雑になるので処理の複雑度が異なる場合でもよい。
【0019】
精密度が低いレンダリング処理とは例えばテクスチャマッピングの種類や光源処理や半透明処理や反射処理等の各種レンダリング処理を省略したり、簡略化したりしてレンダリング処理等であり、省略や簡略かの程度に応じてレンダリング処理の精密度を判断してもよい。
【0020】
本発明によれは、3次元空間に配置された複数のオブジェクトについて、所与の条件に基いてオブジェクト毎に精密度の異なるレンダリング処理を施すことが出来る。
【0021】
従って目的に応じてオブジェクト毎に精密度の異なるレンダリング処理を施すことにより複数のオブジェクトに一律に同じ精密度のレンダリング処理を施す場合に比べて、少ない演算負荷で効率良く所望の高い画像を生成することが出来る。
【0022】
ここにおいて当該オブジェクトをレンダリングする際の精密度は、当該オブジェクトの画像全体のリアル度に与える影響の大きさに基いて判断することが好ましい。これにより1フレーム内のオブジェクトについて、すべて同じ精密度でレンダリング処理を行うのでなく画像全体のリアル度に与える影響の大きいものにより高い精密度のレンダリング処理を施し、画像全体のリアル度に与える影響の小さいものにより低い精密度のレンダリング処理を施すことができ少ない処理負担でよりリアルな画像を生成することが出来る。
【0023】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記レンダリング処理のタイプに応じて、テクスチャマッピング処理、反射処理、シェーディング処理、光源処理、半透明処理の少なくとも1つの処理を内容を、省略又は簡略化してレンダリング処理を行うことを特徴とする。
【0024】
ここにおいて光源処理とは光源との位置関係に基いたシェーディング処理や光の反射を表現する処理等である。また反射処理とは例えば仮想カメラとプリミティブの位置関係に基いて反射を表現する処理等である。また半透明処理とは、オブジェクトの透けて見える部分についてアルファマッピング処理等により半透明描画を行う処理である。
【0025】
テクスチャマッピング処理には環境マッピングやマルチテクスチャマピング等を含み、テクスチャマッピング処理を省略又は簡略化するとは例えばには環境マッピング処理を省略したり、マルチテクスチャマッピングのマッピング回数を削減したりする場合も含む。
【0026】
本発明によればレンダリング処理のタイプに応じて、テクスチャマッピング処理、反射処理、シェーディング処理、光源処理、半透明処理の少なくとも1つの処理の内容を、省略又は簡略化してレンダリング処理を行うことをにより、タイプに応じてレンダリング処理の精密度を変えたり、処理負荷をかえたりすることが出来る。
【0027】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記オブジェクトの定義点に与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段と、前記描画時に必要な定義点のアトリビュートデータに基いてオブジェクトの描画を行う描画手段とを含み、前記ジオメトリ演算手段は、描画時に必要な定義点のアトリビュートデータのうち、定義点座標以外のアトリビュートデータを生成する処理を前記レンダリング処理のタイプに応じて簡略化してジオメトリ演算を行うことを特徴とする。
【0028】
ここにおいてオブジェクトの定義点とは、オブジェクトの形状を定義(特定)するための点であり、ポリゴンの頂点や自由曲面の制御点などを含む。
【0029】
またアトリビュートデータとは点、線、面などのグラフィックプリミティブに関連づけられたプロパティのデータであり、レンダリング特性に影響を与えるものである。例えばオブジェクトの定義点(頂点、制御点)のアトリビュートデータとしては、色(輝度)、位置、テクスチャ座標、法線ベクトル、α値、デプスキューイングのバック色がある。
【0030】
本発明によれば描画時に必要な定義点のアトリビュートデータのうち、定義点座標以外のアトリビュートデータを生成する処理を前記レンダリング処理のタイプに応じて簡略化してジオメトリ演算を行うことにより、前記レンダリング処理のタイプに応じてジオメトリ演算の演算負荷を軽減することが出来る。
【0031】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記ジオメトリ演算手段は、描画時に必要な定義点のアトリビュートデータのうち、定義点座標以外のアトリビュートデータを生成するためのアルゴリズムの異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて所与のルーチンを選択して演算を実行することを特徴とする。
【0032】
本発明ではジオメトリ演算をプログラムにより実行するため、処理ステップ数やデータのアクセス回数の異なるアルゴリズムの複数の処理ルーチンから、タイイプに応じて処理ルーチンを選択することによりジオメトリ演算の演算負荷を軽減することが出来る。
【0033】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、オブジェクトの定義点に与えられているアトリビュートデータにもとづいてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段と、前記描画時に必要な定義点のアトリビュートデータに基き描画処理を行う描画プロセッサとを含み、前記ジオメトリ演算手段は、3次元空間のオブジェクトの定義点に与えられている色、輝度、α値、マッピング情報値、法線情報情報の少なくともひとつのアトリビュートデータを用いて描画時に必要な定義点のアトリビュートデータを生成する処理について、実行時ステップ数又は実行時のアクセス回数の異なる複数の処理ルーチンを有し、前記レンダリング処理のタイプに応じて、前記処理ルーチンを切り替えて処理を実行することを特徴とする。
【0034】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の条件は、オブジェクトと仮想カメラの距離に関する条件を含むことを特徴とする。
【0035】
本発明によれば仮想カメラとオブジェクトの距離に応じて、レンダリング処理の精密度を変えることが出来る。
【0036】
ここにおいてオブジェクトが仮想カメラから離れるほど精密度の低いタイプのレンダリング処理を行うことが好ましい。
【0037】
近景に位置するオブジェクトは大きく見えるため精密度の高いレンダリング手法を用いてリアルに表現しないと画像のリアルティを低下させることになるが、遠景に見えるオブジェクトについては小さくしか表示されないため精密度の低いレンダリング処理をおこなっても画像全体のリアル度に与える影響は少ない。
【0038】
従って本発明によれば仮想カメラから近いオブジェクトに精密度の高いレンダリング処理を施し、仮想カメラからはなれたオブジェクトにより精密度の低いレンダリング処理を施すことで、1フレーム内のオブジェクトについて、すべて同じ精密度でレンダリング処理を行う場合に比べ少ない処理負担でよりリアルな画像を生成することが出来る。
【0039】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の条件は、光源からオブジェクトが受ける影響の度合いに関する条件を含むことを特徴とする。
【0040】
本発明によれば光源からオブジェクトが受ける影響の度合いに応じて、レンダリング処理の精密度を変えることが出来る。
【0041】
たとえば光源が点光源の場合には光源とオブジェクトとの距離に応じて光源から受ける影響の度合いがことなるし、光源が平行光源の場合はオブジェクトと光源の向きに応じて光源から受ける影響の度合いが異なり、光源の個数によっても光源から受ける影響の度合いが異なる。
【0042】
従ってオブジェクトが受けるこれらの影響の度合いを考慮してレンダリング時の精密度を決定することが好ましい。
【0043】
このように本発明によれば1フレーム内のオブジェクトについて、光源から受ける影響の度合いが高いオブジェクトに精密度の高いレンダリング処理を施し、光源から受ける影響の度合いが低いオブジェクトに精密度の低いレンダリング処理を施すことですべて、同じ精密度でレンダリング処理を行う場合に比べ少ない処理負担でよりリアルな画像を生成することが出来る。
【0044】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の条件は、オブジェクトと光源と仮想カメラの配置に関する条件を含むことを特徴とする。
【0045】
本発明によればオブジェクトと光源と仮想カメラの配置に応じて、レンダリング処理の精密度を変えることが出来る。従って仮想カメラに近くて、光が当っているオブジェクトを高い精密度で表現することが好ましい。
【0046】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記所与の条件は、同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率に関する条件を含むことを特徴とする。
【0047】
本発明によれば同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率に応じてレンダリング処理の精密度を変えることが出来る。従って拡大率の高いオブジェクトを高い精密度で表現することが好ましい。
【0048】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている色情報に基いてジオメトリ処理後のオブジェクトの定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とする。
【0049】
テクスチャマッピングを行うときはジオメトリ処理後のオブジェクトの定義点の輝度情報となり、テクスチャマッピングを行わないときはジオメトリ処理後のオブジェクトの定義点の色情報となる。
【0050】
また前記演算処理は、例えば読み込んだ色情報をそのまま出す場合でもよいし、法線ベクトルや光線ベクトルに基いた光源処理演算を行って生成した輝度値を出力する場合でもよい。前記レンダリング処理のタイプに応じてこれらを簡略化することが出来る。
【0051】
また色情報又は輝度情報を生成する演算処理を簡略化するとは、処理を省略する場合も含み、例えばオブジェクトの定義点にアトリビュート情報として与えられている色情報を読み込まないで固定色情報をジオメトリ処理後のオブジェクトの定義点の色情報又は輝度情報として出力する場合等である。
【0052】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている法線ベクトルと仮想カメラの向き及び光線の向きの少なくとも一方にもとづいて演算される光の反射具合に応じてジオメトリ処理後の定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とする。
【0053】
簡略化するとは省略する場合も含む。
【0054】
これを簡略化すると視線の向きや光線のむきを反映しない陰影付けが施された精密度の低い画像が生成される。
【0055】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられているα値に基いてジオメトリ処理後のオブジェクトを半透明描画する際に必要なアルファ値を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とする。
【0056】
簡略化するとは省略する場合も含む。
【0057】
これを簡略化するとオブジェクトの透けて見えるはずの部分が半透明にならない精密度の低い画像が生成される。
【0058】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記レンダリング処理のタイプに応じて、オブジェクトの環境マッピングを行う処理を省略してレンダリング処理を行うことを特徴とする。
【0059】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記レンダリング処理のタイプに応じて、オブジェクトにテクスチャマッピングを行う回数を変更してレンダリング処理を行うことを特徴とする。
【0060】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0061】
1.構成
図1に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく、それ以外のブロックについては、任意の構成要素とすることができる。
【0062】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0063】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【0064】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0065】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行するための情報(プログラム或いはデータ)が格納される。
【0066】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0067】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0068】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0069】
セーブ用情報記憶装置194は、プレーヤの個人データ(セーブデータ)などが記憶されるものであり、このセーブ用情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0070】
通信部196は、外部(例えばホスト装置や他のゲームシステム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0071】
なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0072】
処理部100は、ゲーム処理部110、画像生成部130、音生成部150を含む。
【0073】
ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ面)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置するための処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部160からの操作データや、セーブ用情報記憶装置194からの個人データや、ゲームプログラムなどに基づいて行う。
【0074】
画像生成部130は、ゲーム処理部110からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ(視点)から見える画像を生成して、表示部190に出力する。また、音生成部150は、ゲーム処理部110からの指示等にしたがって各種の音処理を行い、BGM、効果音、音声などの音を生成し、音出力部192に出力する。
【0075】
なお、ゲーム処理部110、画像生成部130、音生成部150の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0076】
ゲーム処理部110は、移動・動作演算部112、視点距離演算部114を含む。
【0077】
ここで移動・動作演算部112は、車などのオブジェクトの移動情報(位置データ、回転角度データ)や動作情報(オブジェクトの各パーツの位置データ、回転角度データ)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【0078】
より具体的には、移動・動作演算部112は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでのオブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでのオブジェクトの位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
【0079】
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
視点距離演算部114は、各オブジェクトと仮想カメラとの距離を演算する。
【0080】
画像生成部130は、ジオメトリ処理部132、描画部140を含む。
【0081】
ここで、ジオメトリ処理部132は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元演算)を行う。そして、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標などの形状データ、或いは頂点テクスチャ座標、輝度データ等)は、記憶部170のメインメモリ172に保存される。
【0082】
ジオメトリ処理部132は処理タイプ選択部134を含む。処理タイプ選択部134は仮想カメラからオブジェクトまでの距離に基き、3次元空間に配置された複数のオブジェクトについて、オブジェクト毎に当該オブジェクトをレンダリングする際のタイプを決定する。
【0083】
ジオメトリ演算部132は前記タイプに応じて精密度の異なるレンダリング処理を施しすためのジオメトリ演算を行う。
【0084】
描画部140は、ジオメトリ処理後のオブジェクト(モデル)を、フレームバッファ174に描画するための処理を行うものである。
【0085】
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0086】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0087】
2.本実施形態の特徴
以下本実施の形態の特徴について、図面を用いて説明する。
【0088】
図2は、水中の魚群の様子を表した画像である。同図に示す魚群のように、多数の魚オブジェクトが含まれた画像を生成する場合、各魚についてシェーディング処理、光源処理、環境マッピング、マルチテクチャマッピング、半透明処理、反射処理、オブジェクトの材質や属性や光源の影響や仮想カメラへ向き等を考慮した処理等の様々なレンダリング手法を駆使することにり、よりリアルな魚の画像を生成することが可能となる。
【0089】
しかしかかる様々なレンダリング処理は一般に演算量が多いため、図2に示す魚群のすべての魚にこれを行ったのでは処理負担が著しく増大し、リアルタイム画像生成が困難になり、未完成の画像が表示されたり表示抜けが生じたり等の不具合が発生する恐れがある。
【0090】
ところが近景に位置する魚は大きく見えるため精密度の高いタイプのレンダリングっ処理用いてリアルに表現しないと画像のリアルティを低下させることになるが、遠景に見える魚については小さくしか表示されないため精密度の低いタイプのレンダリング処理をもちいても画像全体のリアル度に与える影響は少ない。
【0091】
本実施の形態の特徴は、1フレーム内のオブジェクトについて、すべて同じ精密度でレンダリング処理を行うのでなく、画像全体のリアル度に与える影響の大きさに応じてオブジェクト毎にレンダリング処理のタイプを選択できる点にある。従って画像全体のリアル度に与える影響の大きいものにより精密度の高いタイプのレンダリング処理を施し、画像全体のリアル度に与える影響の小さいものに精密度低いタイプのレンダリング処理を施すことで少ない処理負担でよりリアルな画像を生成することが出来る。
【0092】
以下仮想カメラからの距離に応じて精密度の異なるタイプのレンダリング処理を施す場合を例にとり本実施の形態の特徴について説明する。
【0093】
図3(A)〜(C)は、精密度の異なるタイプのレンダリング処理と処理負荷の関係について説明するための図である。図3(A)〜(C)の310、320、330は同一モデルの魚に精密度の異なるタイプのレンダリング処理を施した場合の画像を模式的に表した物である。
【0094】
図3(A)の310は精密度の高いタイプのレンダリング処理によって生成される魚オブジェクトの画像であり、リアルに見えるような光源、テクスチャマッピング処理等が施されているため、処理負荷はおおきくなる(処理負荷:60)。
【0095】
図3(B)の320は精密度が中くらいのタイプのレンダリング処理によって生成される魚オブジェクトの画像であり、通常用いられるような光源、テクスチャマッピング処理等が施されおり、処理負荷は中程度である(処理負荷:30)。
【0096】
図3(C)の330は精密度の低いタイプのレンダリング処理によって生成される魚オブジェクトの画像であり、光源、テクスチャマッピング処理等を簡略化されているため、処理負荷は小さい(処理負荷:12)。
【0097】
このように同一モデルの魚オブジェクトに対して、精密度が高い場合、中くらいの場合、低い場合の処理負荷の比率は、この例では60:30:12であり、レンダリング処理の精密度が高いタイプほど処理負荷がほど大きくなる。
【0098】
図4(A)(B)はオブジェクトの仮想カメラからの距離とレンダリング処理の精密度との関係について説明するための図である。
【0099】
図4(A)に示すように、本実施の形態では精密度の低いタイプのレンダリング処理を施したオブジェクトは遠景(仮想カメラから離れている)用として用い、精密度が中くらいタイプののレンダリング処理を施したオブジェクトは中景用として用い、精密度の高いタイプのレンダリング処理を施したオブジェクトは、近景(仮想カメラから近い)用として用いる。
【0100】
なお遠景、中景、近景と仮想カメラからの距離との具体的な関係については、各画像やゲーム毎に最適な値を設定することが望ましい。
【0101】
図4(B)は1フレーム内の各魚オブジェクトについて視点からの距離に応じて精密度の異なるタイプのレンダリング処理を施して生成した画像を模式的に表したものである。310−1〜310−6は近景に当るるため精密度の高いタイプのレンダリング処理が施されており、320−1〜320−4は中景に当るため精密度が中くらいのタイプのレンダリング処理が施されており、320−1〜320−5は遠景に位置するため精密度の低いタイプのレンダリング処理が施されている。
【0102】
このようにすると、画像全体のリアル度に与える影響の大きいものにより精密度の高いタイプのレンダリング処理を施し、画像全体のリアル度に与える影響の小さいものに精密度低いタイプのレンダリング処理を施すことができる。従って、同じ精密度でレンダリング処理を行う場合に近い効果を少ない処理負担で実現することが出来る。
【0103】
図5(A)〜(B)は同じ処理負荷で実現できる画像例について説明するための図である。
【0104】
図5(A)はすべての魚オブジェクトを精密度が中くらいのタイプのレンダリング処理を行った場合に生成される画像を模式的に表した図である。1フレーム内で画像生成可能な処理負荷が240であるとすれば、精密度が中くらいのタイプレンダリング処理の処理負荷は30であるため、図5(A)に示すように8オブジェクトのみ出力可能となる。
【0105】
図5(B)は仮想カメラから離れた魚オブジェクト320−1〜320−4については精密度の低いタイプのレンダリング処理を施し、仮想カメラからの距離が近い又は中くらいの魚オブジェクト330−1〜330−10には精密度が中くらいのタイプのレンダリング処理を行った場合に生成される画像を模式的に表した図である。1フレーム内で画像生成可能な処理負荷が240であるとすれば、精密度が中くらいのタイプのレンダリング処理、精密度の低いタイプのレンダリング処理の処理負荷はそれぞれ30、12であるため、図5(B)に示すように14オブジェクト出力可能となる。
【0106】
このように仮想カメラから離れているものを表示するときに精密度の低いタイプのレンダリング処理を採用することにより処理負荷が軽減するため、一律に通常の精密度のタイプのレンダリング処理のみで出力する場合に比べ、出力するオブジェクト数を増やすことが出来る。
【0107】
図5(C)は仮想カメラから近い魚オブジェクト310−1、310−2については精密度の高いタイプのレンダリング処理を施し、仮想カメラからの距離が中くらいの魚オブジェクト320−1〜320−4には精密度が中くらいのタイプのレンダリング処理を行った場合に生成される画像を模式的に表した図である。1フレーム内で画像生成可能な処理負荷が240であるとすれば、精密度の高いタイプのレンダリング処理、精密度が中くらいのタイプのレンダリング処理の処理負荷はそれぞれ60、30であるため、図5(C)に示すように出力されるオブジェクト数は少ないがリアルな表現が可能となる。
【0108】
仮想カメラから近いものをリアルに表示したい場合には、近いものに対して精密度の高いタイプのレンダリング処理を行うことにより、出力されるオブジェクト数は減るがよりリアルな表現が可能となる。
【0109】
次に本実施の形態において、オブジェクト単位にレンダリング処理のタイプを選択して実行することにより演算負荷の軽減を実現する具体的な手法について説明する。
【0110】
図6を用いて本実施の形態において3次元空間に配置された所与のモデル情報を有するオブジェクトについてレンダリング処理を行う場合について説明する。
【0111】
3次元空間に配置されたオブジェクトにレンダリング処理240を施す際に、本実施の形態ではまず所定の情報220、230に基きCPU又は専用のプロセッサでジオメトリ演算プログラムを実行させることにより、ジオメトリ処理250を行う。
【0112】
ここにおいて220は、当該オブジェクトの位置座標(a1)とオブジェクトと仮想カメラの距離(b1)に関する情報であり、CPUによって演算される。
【0113】
また230は当該オブジェクトのモデル情報としてオブジェクトを構成する各頂点に与えられているアトリビュート情報230である。各頂点に与えられたアトリビュート情報230は頂点座標値(b1)、頂点色値(b2)、アルファ・マッピング情報値(b3)、法線ベクトル値(b4)を含む。
【0114】
なおここで頂点色値は例えばRGB値で与えられ、アルファは例えば半透明演算を行う場合に用いるα値であり、マッピング情報値はUVやSTQ等のテクスチャコーディネート値等である。
【0115】
そしてジオメトリ処理の結果、3次元空間のオブジェクトの各頂点のアトリビュート情報230に基いて、ジオメトリ処理後にスクリーン座標系に変換された頂点のアトリビュート情報260が生成される。
【0116】
ジオメトリ処理後のアトリビュート情報260は、頂点座標・フォグ値(c1)、頂点色・α値(c2)、テクスチャコーディネイト値(c3)を含む。
ここで頂点座標はスクリーン座標系における頂点座標であり、フォグ値はデプスキューイング処理を行う際の奥行き情報により求められる係数等である。また頂点色はテクスチャマッピングを行う場合は頂点の輝度を表す情報となり、テクスチャマッピングを行わない場合には頂点の色を表す情報となる値である。またα値は半透明描画等を行う場合に必要な値である。テクスチャコーディネイト値は、マッピングするテクスチャのUV値やSTQ値である。
【0117】
本実施の形態のジオメトリ処理250は、精密度の異なるレンダリング処理を行うための複数のタイプの処理ルーチンを有している。
【0118】
処理1(252)は遠景用処理ルーティンであり、当該オブジェクトが仮想カメラから離れている場合には処理1が実行される。処理2(254)は中景用処理ルーティンであり、当該オブジェクトが仮想カメラから少し離れている場合には処理2が実行される。処理3(254)は近景用処理ルーティンであり、当該オブジェクトが仮想カメラから近い場合には処理3が実行される。
【0119】
処理1、処理2、処理3で実行される遠景用処理ルーチン、中景用処理ルーチン、遠景用処理ルーチンはいずれもモデル情報として与えられている頂点のアトリビュート情報230を用いてジオメトリ処理後の頂点のアトリビュートデータを生成するルーチンであるが、実行時ステップ数又は実行時のアクセス回数を異にするルーチンである。
【0120】
精密度の高いレンダリング処理を行うためのジオメトリ処理後の頂点のアトリビュートデータを生成するルーチンのほうが実行時ステップ数又は実行時のアクセス回数が高くなる。従って近景用処理ルーチンの実行時ステップ数又は実行時のアクセス回数が最も高く遠景用ルーチンの実行時ステップ数又は実行時のアクセス回数が最も低くなる。
【0121】
本実施の形態では、オブジェクト単位でこの処理を選択することが出来る。従って、例えば近景等のリアルな表現が必要なオブジェクトのみ演算負荷の高い処理を選択し、遠景等のリアルさが要求されないオブジェクトについては演算負荷の低い処理を選択することが出来る。
【0122】
このように例えばオブジェクトの仮想カメラとの距離に応じて各処理を使い分けることにより、少ない演算負荷で最適なレンダリング処理を行うことが出来る。
【0123】
図7は、各ジオメトリ処理ルーチンのレンダリング処理のタイプについて説明するための図である。
【0124】
処理1は環境マッピングのみを行うタイプのレンダリング処理を実行する際のジオメトリ処理ルーチンである。
【0125】
処理2は環境マッピングと半透明処理と頂点色(輝度)反映処理を行うタイプのレンダリング処理を実行する際のジオメトリ処理ルーチンである。
【0126】
処理3は環境マッピングと半透明処理と反射処理を行うタイプのレンダリング処理を実行する際のジオメトリ処理ルーチンである。
【0127】
本実施の形態では環境マッピングとして物体表面における反射を表現するリフレクションマッピングを行う。このような環境マッピングにおいては、物体の存在する3次元空間に仮想球や仮想円柱を考え、その内面予め環境テクスチャを貼り付け、オブジェクトの表面にそのテクスチャが反射しているような表示を行う。反射方向ベクトルは視点位置(仮想カメラの位置)と物体表面の点の座標で決まり、この反射方向ベクトルで対応するテクスチャ座標(テクスチャコーディネート値)が決定される。
【0128】
従ってレンダリング処理として環境マッピングを行う場合には、視点位置(仮想カメラの位置)と頂点座標に基き、テクスチャコーディネイト値を演算する処理が必要となる。
【0129】
処理1、処理2、処理3のいずれも環境マッピングを行うため、いずれの処理ルーチンも環境マッピングを行うためのテクスチャコーディネイト値の演算処理が必要となる。
【0130】
また半透明処理は、例えば魚のひれ等のように透けて見える部分を半透明に表現するための処理である。具体的には画素単位の描画データを描画する際にαブレンディング処理を行うこと等により実現されるが、このαブレンディング処理に用いるα値をジオメトリ処理後の頂点のアトリビュート情報として描画プロセッサに渡してやる処理が必要となる。すなわちモデル情報として各頂点にセットされたα値をジオメトリ処理後の頂点のアトリビュート情報にセットする処理が必要となる。
【0131】
処理2、処理3はいずれも半透明処理を行うため、これらの処理ルーチンはモデル情報として各頂点にセットされたα値をジオメトリ処理後の頂点のアトリビュート情報にセットする処理が必要となり、この処理がない処理1に比べて演算負荷が高くなる。
【0132】
また頂点色(輝度)反映処理は、モデル情報として各頂点にセットされた頂点色値を反映した画像を描画する処理で、モデル情報として各頂点にセットされた頂点色値をジオメトリ処理後の頂点のアトリビュート情報にセットする処理が必要となる。
【0133】
処理2は頂点色(輝度)反映処理を行うため、この処理がない処理1に比べて演算負荷が高くなる。
【0134】
本実施の形態で行う反射処理は仮想カメラに対する面の向きに応じた光の反射を表現する処理で、各面の向きと仮想カメラを向き(視線方向)に基いた反射演算が必要となる。具体的には各面の向きは頂点の法線ベクトル値で判断するため、各頂点にモデル情報として与えられた法線ベクトルを読み込んで反射演算を行い、演算結果をジオメトリ処理後の頂点のアトリビュート情報である頂点色に反映させて出力する必要がある。
【0135】
この反射処理は演算負荷が高いため、処理3は処理1及び処理2に比べて演算負荷が高くなる。
【0136】
このように本実施の形態ではレンダリング処理のタイプによって半透明処理や頂点色(輝度)反映処理や反射処理を省略してすることにより、精密度の異なるレンダリング処理を実現している。
【0137】
3.本実施の形態の処理
図8は本実施の形態におけるジオメトリ演算処理の動作例について説明するためのフローチャート図である。
【0138】
本実施の形態では3次元空間に配置された全オブジェクトについて処理が終了するまでステップS10〜S70の処理を繰り返している。
【0139】
すなわちオブジェクトと仮想カメラの距離が近い場合には処理3を実行し(ステップS20、S60)、オブジェクトと仮想カメラの距離が遠い場合には処理1を実行し(ステップS30、S40)、オブジェクトと仮想カメラの距離が中くらいである場合には処理2を実行する(ステップS30、S50)。
【0140】
図9は本実施の形態の処理1の動作例について説明するためのフローチャート図である。
【0141】
本実施の形態の処理1では所与のオブジェクトの全頂点について処理が終了するまでステップS110〜S180の処理を繰り返している。
【0142】
すなわち、まずモデル情報として各頂点に与えれたた頂点座標値の読込みを行う(ステップS120)。
【0143】
そして前記頂点座標をワールド座標系、視点座標系、スクリーン座標系に座標変換するためのジオメトリ・視野変換・透視投影変換演算処理を行う(ステップS130)。
【0144】
次に視点位置(仮想カメラの位置)と頂点座標に基き反射方向ベクトルを演算し環境マッピングを行うためのテクスチャコーディネイト値を演算する環境マッピング演算処理を行う(ステップS140)。
【0145】
そして演算されたテクスチャコーディネート値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS150)。
【0146】
次に固定頂点色情報をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS160)。すなわち処理1では頂点色(輝度)反映処理を行わないため固定値を出力すれば良く、モデル情報として与えられた頂点の頂点色を読み込む必要もない。このためアクセス回数及び演算ステップ数が他の処理に比べて少なくて済む。
【0147】
そしてステップS130の演算結果に従い演算済頂点座標値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS170)。
【0148】
図10は本実施の形態の処理2の動作例について説明するためのフローチャート図である。
【0149】
本実施の形態の処理2では所与のオブジェクトの全頂点について処理が終了するまでステップS210〜S310の処理を繰り返している。
【0150】
すなわち、まずモデル情報として各頂点に与えれたた頂点座標値の読込みを行う(ステップS220)。
【0151】
次にモデル情報として各頂点に与えれた頂点色の読込みを行う(ステップS230)。処理2では頂点色(輝度)反映処理を行うのでモデル情報として各頂点に与えれた頂点色の読込みが必要となる。
【0152】
次にモデル情報として各頂点に与えれたアルファ・マッピング情報値の読込みを行う(ステップS240)。処理2では半透明処理を行うのでモデル情報として各頂点に与えれたアルファ・マッピング情報の読込みが必要となる。
【0153】
そして前記頂点座標をワールド座標系、視点座標系、スクリーン座標系に座標変換するためのジオメトリ・視野変換・透視投影変換演算処理を行う(ステップS250)。
【0154】
次に視点位置(仮想カメラの位置)と頂点座標に基き反射方向ベクトルを演算し環境マッピングを行うためのテクスチャコーディネイト値を演算する環境マッピング演算処理を行う(ステップS260)。
【0155】
次に半透明処理を行うために必要なα値を演算するアルファマッピング演算処理を行う(ステップS270)。
【0156】
そして演算されたテクスチャコーディネート値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS280)。
【0157】
次にステップS230で読み込んだ頂点色をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS290)。すなわち処理1では頂点色(輝度)反映処理を行わないため固定値を出力していたが、処理2ではモデル情報として与えられた頂点の頂点色を出力するため、モデルの頂点色(輝度)を反映した頂点色情報をジオメトリ処理後の頂点のアトリビュート情報として出力することが出来る。
【0158】
そしてステップS250の演算結果に従い演算済頂点座標値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS300)。
【0159】
図11は本実施の形態の処理3の動作例について説明するためのフローチャート図である。
【0160】
本実施の形態の処理3では所与のオブジェクトの全頂点について処理が終了するまでステップS410〜S520の処理を繰り返している。
【0161】
すなわち、まずモデル情報として各頂点に与えれたた頂点座標値の読込みを行う(ステップS420)。
【0162】
次にモデル情報として各頂点に与えれたアルファ・マッピング情報値の読込みを行う(ステップS430)。処理3では半透明処理を行うのでモデル情報として各頂点に与えれたアルファ・マッピング情報の読込みが必要となる。
【0163】
次にモデル情報として各頂点に与えれた法線ベクトル値の読込みを行う(ステップS440)。処理3では反射処理を行うのでモデル情報として各頂点に与えられた法線ベクトル値の読込みが必要となる。
【0164】
そして前記頂点座標をワールド座標系、視点座標系、スクリーン座標系に座標変換するためのジオメトリ・視野変換・透視投影変換演算処理を行う(ステップS450)。
【0165】
次に視点位置(仮想カメラの位置)と頂点座標に基き反射方向ベクトルを演算し環境マッピングを行うためのテクスチャコーディネイト値を演算する環境マッピング演算処理を行う(ステップS460)。
【0166】
次に半透明処理を行うために必要なα値を演算するアルファマッピング演算処理を行う(ステップS470)。
【0167】
次に仮想カメラに対する面の向きに応じた光の反射を表現するための反射演算処理を行う(ステップS480)。反射演算処理では読み込んだ頂点の法線ベクと仮想カメラの向き(視線ベクトル)に基いて光の反射を演算し演算結果をジオメトリ処理後の頂点のアトリビュート情報である頂点色に反映させる。この反射処理は演算負荷が高いため、処理3は処理1及び処理2に比べて演算負荷が高くなる。
【0168】
そして演算されたテクスチャコーディネート値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS490)。
【0169】
次にステップS480で演算した頂点色をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS500)。これにより頂点色に仮想カメラに対する面の向きを反映した輝度値を設定することが出来る。
【0170】
そしてステップS450の演算結果に従い演算済頂点座標値をジオメトリ処理後の頂点のアトリビュート情報として書きこむ(ステップS520)。
【0171】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図12を用いて説明する。
【0172】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0173】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0174】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0175】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、所与の画像圧縮方式で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0176】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0177】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0178】
ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0179】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0180】
RAM960は、各種プロセッサの作業領域として用いられる。
【0181】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0182】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0183】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステム、他のゲームシステムとの間でのデータ転送が可能になる。
【0184】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【0185】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【0186】
図13(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報(プログラム又はデータ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0187】
図13(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。
【0188】
図13(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に伝送し端末において出力することになる。
【0189】
なお、図13(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0190】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0191】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0192】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0193】
また、上記実施例ではオブジェクトと仮想カメラの距離に基いてレンダリング処理のタイプを選択する場合を例にとり説明したがこれに限られない。例えば、光源からオブジェクトが受ける影響の度合いに基いてレンダリング処理のタイプを選択する場合でもよいし、オブジェクトと光源と仮想カメラの配置に基いてレンダリング処理のタイプを選択する場合でもよいし、同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率にに基いてレンダリング処理のタイプを選択する場合でもよい。
【0194】
また、本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0195】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【図1】本実施形態のゲームシステムのブロック図の例である。
【図2】水中の魚群の様子を表した画像である。
【図3】図3(A)〜(C)は、精密度の異なるレンダリング処理と処理負荷の関係について説明するための図である。
【図4】図4(A)(B)はオブジェクトの仮想カメラからの距離とレンダリング処理の精密との関係について説明するための図である。
【図5】図5(A)〜(B)は同じ処理負荷で実現できる画像例について説明するための図である。
【図6】本実施の形態において3次元空間に配置された所与のモデル情報を有するオブジェクトについてレンダリング処理を行う場合について説明するための図である。
【図7】各ジオメトリ処理ルーチンのレンダリング処理のタイプについて説明するための図である。
【図8】本実施の形態におけるジオメトリ演算処理の動作例について説明するためのフローチャート図である。
【図9】本実施の形態の処理1の動作例について説明するためのフローチャート図である。
【図10】本実施の形態の処理2の動作例について説明するためのフローチャート図である。
【図11】本実施の形態の処理3の動作例について説明するためのフローチャート図である。
【図12】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図13】図13(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
100 処理部
110 ゲーム処理部
112 移動・動作演算部
114 視点距離演算部
130 画像生成部
132 ジオメトリ処理部
134 処理タイプ選択部
140 描画部
150 音生成部
160 操作部
170 記憶部
172 メインメモリ
174 フレームバッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 セーブ用情報記憶装置
196 通信部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a game system and an information storage medium.
[0002]
[Background Art and Problems to be Solved by the Invention]
Conventionally, a game 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 a device that can experience so-called virtual reality.
[0003]
Now, in such a game system, it is an important technical problem to generate a more realistic image in order to improve the virtual reality of the player.
[0004]
Here, various rendering methods such as shading processing, light source processing, environment mapping, multi-technology mapping, translucency processing, reflection processing, processing considering the influence of the material and attribute of the object, the light source, and the direction to the virtual camera are used. In particular, a more realistic image can be generated.
[0005]
However, such various rendering processes generally have a large amount of calculation, and as the number of objects increases, the processing load increases.
[0006]
Therefore, in home and arcade game systems that require real-time image generation with limited hardware resources, if the processing load increases, image generation will not be in time, and incomplete images may be displayed or missing May cause problems such as
[0007]
However, if the various rendering processes are omitted uniformly in order to prevent the occurrence of problems, the reality of the image is impaired. Therefore, it is desirable to generate an image that is as realistic as possible without causing such a problem.
[0008]
The present invention has been made in view of the problems as described above, and an object of the present invention is to provide a game system capable of rendering a more realistic rendering with a small processing load for a plurality of objects in a given frame, and An object is to provide an information storage medium.
[0009]
[Means for Solving the Problems]
The present invention is a game system that performs image generation. When generating an image of a given frame, a rendering process type is selected for each object from a plurality of different types of rendering processes based on a given condition. And means for generating an image of the given frame by performing rendering processing corresponding to the type selected for each object.
[0010]
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.
[0011]
Here, the type of rendering process is a rendering format divided according to the difference in rendering technique to be applied, and the input model information is irrelevant to the type of rendering process. The rendering technique means various rendering techniques such as texture mapping type, light source processing, translucent processing, and reflection processing.
[0012]
Depending on the type of rendering processing, the atmosphere of the generated image, the degree of reality, the calculation load, and the like are different.
[0013]
According to the present invention, the type of rendering processing can be selected in units of objects within one frame based on given conditions. Therefore, by selecting an optimal type of rendering process for each object according to the purpose, it is possible to generate an image that can efficiently obtain a desired rendering effect.
[0014]
The present invention is a game system for generating an image, and for a plurality of objects arranged in a three-dimensional space, means for determining a type for rendering the object for each object based on a given condition; Means for performing rendering processing with different precision according to the type determined for each object and generating images of the plurality of objects.
[0015]
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.
[0016]
Here, the type of rendering process is a rendering format divided according to the difference in rendering technique to be applied, and the input model information is irrelevant to the type of rendering process. The rendering technique means various rendering techniques such as texture mapping type, light source processing, translucent processing, and reflection processing.
[0017]
Depending on the type of rendering processing, the atmosphere of the generated image, the degree of reality, the calculation load, and the like are different.
[0018]
In general, the precision indicates how well the details are skillfully expressed and the degree of attention paid to the details, but here again the rendering process is skillfully expressed and the attention paid to the details It is used in the sense of being. Therefore, rendering processing with different precision means rendering processing with different realities and details of expression, for example. In general, the higher the precision, the more complicated the processing, so the processing complexity may be different.
[0019]
Rendering processing with low precision is, for example, rendering processing that omits or simplifies various types of rendering processing such as texture mapping type, light source processing, translucent processing, and reflection processing. The precision of the rendering process may be determined according to the above.
[0020]
According to the present invention, a plurality of objects arranged in a three-dimensional space can be subjected to rendering processing with different precision for each object based on a given condition.
[0021]
Therefore, by performing rendering processing with different precision for each object according to the purpose, a desired high-quality image can be generated efficiently and with less calculation load than when rendering processing with the same precision is uniformly applied to a plurality of objects. I can do it.
[0022]
Here, it is preferable to determine the precision when rendering the object based on the magnitude of the influence on the real degree of the entire image of the object. As a result, not all of the objects in one frame are rendered with the same precision, but rather those that have a large effect on the realism of the entire image are rendered with a higher precision so that the effect on the realism of the entire image is affected. Rendering processing with low precision can be performed with a small one, and a more realistic image can be generated with a small processing load.
[0023]
The game system, information storage medium, and program according to the present invention omit contents of at least one of texture mapping processing, reflection processing, shading processing, light source processing, and translucent processing, depending on the type of rendering processing. Alternatively, the rendering process is performed in a simplified manner.
[0024]
Here, the light source processing includes shading processing based on the positional relationship with the light source, processing for expressing light reflection, and the like. The reflection process is, for example, a process for expressing reflection based on the positional relationship between the virtual camera and the primitive. Also, the translucent process is a process of performing translucent drawing by an alpha mapping process or the like for a portion where an object can be seen through.
[0025]
The texture mapping process includes environment mapping and multi-texture mapping. To omit or simplify the texture mapping process, for example, the environment mapping process may be omitted or the number of mapping of multi-texture mapping may be reduced. Including.
[0026]
According to the present invention, depending on the type of rendering processing, the content of at least one of texture mapping processing, reflection processing, shading processing, light source processing, and translucent processing is omitted or simplified to perform rendering processing. Depending on the type, the rendering processing precision can be changed and the processing load can be changed.
[0027]
A game system, an information storage medium, and a program according to the present invention include a geometry calculation unit that performs geometry calculation using attribute data given to the definition point of the object and generates attribute data of the definition point necessary for drawing. And drawing means for drawing an object based on the attribute data of the definition points required at the time of drawing. The geometry calculation is performed by simplifying the process of generating the image according to the type of the rendering process.
[0028]
Here, the definition point of the object is a point for defining (specifying) the shape of the object, and includes a vertex of a polygon, a control point of a free-form surface, and the like.
[0029]
The attribute data is data of properties associated with graphic primitives such as points, lines, and faces, and affects the rendering characteristics. For example, the attribute data of definition points (vertices, control points) of an object includes color (luminance), position, texture coordinates, normal vector, α value, and depth cueing back color.
[0030]
According to the present invention, among the attribute data of the definition points required at the time of drawing, the process of generating attribute data other than the definition point coordinates is simplified according to the type of the rendering process, and the geometry calculation is performed. The calculation load of geometry calculation can be reduced according to the type.
[0031]
In the game system, information storage medium, and program according to the present invention, the geometry calculation means includes a plurality of algorithms having different algorithms for generating attribute data other than the defined point coordinates among the defined point attribute data required for drawing. It has a processing routine, and a given routine is selected according to the type of rendering processing, and the calculation is executed.
[0032]
In the present invention, since the geometry calculation is executed by a program, the calculation load of the geometry calculation is reduced by selecting a processing routine according to the type from a plurality of processing routines of algorithms having different numbers of processing steps and data accesses. I can do it.
[0033]
Further, the game system, information storage medium and program according to the present invention include a geometry calculation means for performing geometry calculation based on attribute data given to the definition point of the object and generating attribute data of the definition point necessary for drawing, A drawing processor that performs a drawing process based on attribute data of definition points required at the time of drawing, and the geometry calculation means includes color, brightness, α value, mapping information given to the definition points of the object in the three-dimensional space For the process of generating attribute data of definition points required at the time of drawing using at least one attribute data of value and normal information information, it has a plurality of processing routines with different number of execution steps or number of accesses at the time of execution, Depending on the type of rendering process, And executes the process by switching routine.
[0034]
In the game system, information storage medium, and program according to the present invention, the given condition includes a condition related to a distance between the object and the virtual camera.
[0035]
According to the present invention, the precision of rendering processing can be changed according to the distance between the virtual camera and the object.
[0036]
In this case, it is preferable to perform a rendering process with a lower precision as the object moves away from the virtual camera.
[0037]
Objects in the foreground appear large, so if you do not render them realistically using a high-precision rendering method, the realism of the image will be reduced. However, objects that appear in the foreground will only be displayed small, so the accuracy will be low. Even if the rendering process is performed, there is little influence on the realism of the entire image.
[0038]
Therefore, according to the present invention, a high-precision rendering process is performed on an object close to the virtual camera, and a low-precision rendering process is performed on an object separated from the virtual camera. It is possible to generate a more realistic image with less processing load than when rendering processing is performed.
[0039]
The game system, information storage medium, and program according to the present invention are characterized in that the given condition includes a condition related to a degree of influence of an object from a light source.
[0040]
According to the present invention, the precision of rendering processing can be changed in accordance with the degree of influence that an object receives from a light source.
[0041]
For example, when the light source is a point light source, the degree of influence from the light source varies depending on the distance between the light source and the object. When the light source is a parallel light source, the degree of influence from the light source depending on the direction of the object and the light source However, the degree of influence from light sources varies depending on the number of light sources.
[0042]
Therefore, it is preferable to determine the precision at the time of rendering in consideration of the degree of influence that the object receives.
[0043]
As described above, according to the present invention, for an object in one frame, a highly precise rendering process is performed on an object that has a high degree of influence from a light source, and a low precision rendering process is performed on an object that has a low degree of influence from a light source. As a result, it is possible to generate a more realistic image with less processing load than when rendering processing is performed with the same precision.
[0044]
In the game system, the information storage medium, and the program according to the present invention, the given condition includes a condition related to an arrangement of an object, a light source, and a virtual camera.
[0045]
According to the present invention, the precision of rendering processing can be changed according to the arrangement of an object, a light source, and a virtual camera. Therefore, it is preferable to represent an object that is close to the virtual camera and is illuminated with high precision.
[0046]
The game system, the information storage medium, and the program according to the present invention relate to the magnification when the given condition is to generate an image by generating an object having a plurality of different sizes based on the same model. It includes a condition.
[0047]
According to the present invention, when an object is generated by generating a plurality of objects having different magnifications based on the same model, the precision of rendering processing can be changed according to the magnification. Therefore, it is preferable to express an object with a high enlargement ratio with high precision.
[0048]
Further, the game system, information storage medium, and program according to the present invention provide color information of an object definition point after geometry processing based on color information given as attribute information to the object definition point when performing a geometry operation. Alternatively, the calculation processing for generating luminance information is simplified according to the type of rendering processing.
[0049]
When texture mapping is performed, the luminance information of the definition point of the object after geometry processing is obtained, and when texture mapping is not performed, the color information of the definition point of the object after geometry processing is obtained.
[0050]
The calculation processing may be, for example, outputting the read color information as it is, or outputting a luminance value generated by performing light source processing calculation based on a normal vector or a light vector. These can be simplified depending on the type of rendering process.
[0051]
In addition, simplifying the arithmetic processing for generating color information or luminance information includes cases where the processing is omitted. For example, fixed color information is geometrically processed without reading color information given as attribute information to an object definition point. This is the case of outputting as color information or luminance information of the definition point of the subsequent object.
[0052]
In addition, the game system, information storage medium, and program according to the present invention, when performing a geometry operation, set at least one of the normal vector, the virtual camera direction, and the ray direction given as attribute information to the definition point of the object. The calculation processing for generating color information or luminance information of the definition point after the geometry processing according to the light reflection condition calculated based on the calculation processing is simplified according to the type of the rendering processing.
[0053]
In some cases, simplification is omitted.
[0054]
If this is simplified, a low-precision image with shading that does not reflect the direction of the line of sight or the peeling of the light beam is generated.
[0055]
In addition, the game system, information storage medium, and program according to the present invention, when performing a geometry operation, render a semitransparent object after geometry processing based on an α value given as attribute information to an object definition point. The arithmetic processing for generating the alpha value necessary for the processing is simplified according to the type of the rendering processing.
[0056]
In some cases, simplification is omitted.
[0057]
When this is simplified, a low-precision image is generated in which the portion of the object that should be seen through is not translucent.
[0058]
The game system, the information storage medium, and the program according to the present invention are characterized in that the rendering process is performed by omitting the process of performing the environment mapping of the object according to the type of the rendering process.
[0059]
The game system, information storage medium, and program according to the present invention are characterized in that the rendering process is performed by changing the number of times texture mapping is performed on the object according to the type of the rendering process.
[0060]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0061]
1. Constitution
FIG. 1 shows an example of a block diagram of this embodiment. In this figure, the present embodiment only needs to include at least the processing unit 100, and the other blocks can be arbitrary constituent elements.
[0062]
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).
[0063]
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.
[0064]
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.
[0065]
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).
[0066]
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.
[0067]
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).
[0068]
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.
[0069]
The save information storage device 194 stores player's personal data (save data), and the save information storage device 194 may be a memory card or a portable game device.
[0070]
The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other game system), and functions thereof are various processors, hardware such as a communication ASIC, It can be realized by a program.
[0071]
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.
[0072]
The processing unit 100 includes a game processing unit 110, an image generation unit 130, and a sound generation unit 150.
[0073]
Here, the game processing unit 110 receives a coin (price) reception process, various mode setting processes, a game progress process, a selection screen setting process, the position and rotation angle (X, Processing to obtain the rotation angle around the Y or Z axis), processing to move the object (motion processing), processing to obtain the viewpoint position (virtual camera position) and line-of-sight angle (virtual camera rotation angle), objects such as map objects Various games such as processing for placing a game in the object space, hit check processing, processing for calculating game results (results, results), processing for multiple players to play in a common game space, or game over processing The processing includes operation data from the operation unit 160, personal data from the save information storage device 194, Carried out on the basis of such as the over-time program.
[0074]
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 virtual camera (viewpoint) in the object space, and outputs the generated 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.
[0075]
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.
[0076]
The game processing unit 110 includes a movement / motion calculation unit 112 and a viewpoint distance calculation unit 114.
[0077]
Here, the movement / motion calculation unit 112 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.
[0078]
More specifically, the movement / motion calculation unit 112 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.
[0079]
PMk = PMk-1 + VMk-1 * .DELTA.t (1)
VMk = VMk-1 + AMk-1 * .DELTA.t (2)
The viewpoint distance calculation unit 114 calculates the distance between each object and the virtual camera.
[0080]
The image generation unit 130 includes a geometry processing unit 132 and a drawing unit 140.
[0081]
Here, the geometry processing unit 132 performs various types of geometry processing (three-dimensional calculation) such as coordinate transformation, clipping processing, perspective transformation, or light source calculation. Then, the object data (shape data such as vertex coordinates of the object, vertex texture coordinates, luminance data, etc.) after geometry processing (after perspective transformation) is stored in the main memory 172 of the storage unit 170.
[0082]
The geometry processing unit 132 includes a processing type selection unit 134. Based on the distance from the virtual camera to the object, the processing type selection unit 134 determines the type for rendering the object for each object for a plurality of objects arranged in the three-dimensional space.
[0083]
The geometry calculation unit 132 performs a geometry calculation for performing rendering processing with different precision depending on the type.
[0084]
The drawing unit 140 performs processing for drawing the object (model) after the geometry processing in the frame buffer 174.
[0085]
Note that the game system according to the present embodiment may be a system dedicated to the single player mode in which only one player can play, and not only such a single player mode but also a multiplayer mode in which a plurality of players can play. A system may be provided.
[0086]
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.
[0087]
2. Features of this embodiment
The features of this embodiment will be described below with reference to the drawings.
[0088]
FIG. 2 is an image showing a state of a school of fish in water. When generating an image that includes a large number of fish objects, such as the school of fish shown in the figure, shading processing, light source processing, environment mapping, multi-technology mapping, translucency processing, reflection processing, object material and A more realistic fish image can be generated by using various rendering methods such as processing that takes into account the influence of attributes and light sources and the direction of the virtual camera.
[0089]
However, since such various rendering processes generally require a large amount of computation, if this is performed for all the fish in the school of fish shown in FIG. 2, the processing load increases significantly, real-time image generation becomes difficult, and unfinished images are generated. There is a risk of problems such as being displayed or missing display.
[0090]
However, the fish located in the foreground looks large, so if you do not render it realistically using a high-precision type of rendering processing, the realism of the image will be reduced, but the fish that looks in the distance will be displayed only small, so it is precise Even if a low-rendering type rendering process is used, there is little influence on the realism of the entire image.
[0091]
The feature of this embodiment is that the rendering process is selected for each object in accordance with the magnitude of the effect on the realness of the entire image, instead of performing the rendering process for all objects in one frame with the same precision. It is in a point that can be done. Therefore, it is possible to reduce the processing load by applying a high-precision type of rendering processing that has a large effect on the realness of the entire image, and applying a low-precision type of rendering processing on a material that has a small effect on the realness of the entire image. Can generate more realistic images.
[0092]
The characteristics of the present embodiment will be described below by taking as an example a case where a rendering process of a different precision is performed according to the distance from the virtual camera.
[0093]
FIGS. 3A to 3C are diagrams for explaining the relationship between the rendering processing of different types of precision and the processing load. Reference numerals 310, 320, and 330 in FIGS. 3A to 3C are schematic representations of images when the same model of fish is subjected to different types of rendering processing.
[0094]
3A in FIG. 3A is an image of a fish object generated by a high-precision type rendering process, and a processing load is large because a light source, texture mapping process, and the like that appear realistic are applied. (Processing load: 60).
[0095]
320 in FIG. 3B is an image of a fish object generated by a rendering process of a medium precision level, and is subjected to a light source, texture mapping process, etc. that are normally used, and the processing load is moderate. (Processing load: 30).
[0096]
3C in FIG. 3C is an image of a fish object generated by a low-precision rendering process. Since the light source, texture mapping process, and the like are simplified, the processing load is small (processing load: 12). ).
[0097]
In this way, the processing load ratio when the precision is high, medium, and low for the same model fish object is 60:30:12 in this example, and the precision of the rendering process is high. The processing load increases as the type increases.
[0098]
FIGS. 4A and 4B are diagrams for explaining the relationship between the distance from the virtual camera of the object and the precision of the rendering process.
[0099]
As shown in FIG. 4A, in this embodiment, an object that has been subjected to rendering processing of a low precision type is used for a distant view (away from the virtual camera), and rendering of a medium precision type is used. The processed object is used for the middle scene, and the object subjected to the high-precision type rendering process is used for the foreground (closer to the virtual camera).
[0100]
It should be noted that it is desirable to set an optimum value for each image or game for the specific relationship between the distance from the virtual camera, and the distant view, middle view, and close view.
[0101]
FIG. 4B schematically shows an image generated by performing rendering processing of different types of accuracy according to the distance from the viewpoint for each fish object in one frame. Since 310-1 to 310-6 hit the near scene, a high-precision rendering process is performed, and 320-1 to 320-4 hits the middle scene, and the medium precision rendering process. Since 320-1 to 320-5 are located in a distant view, low-precision rendering processing is performed.
[0102]
In this way, high-precision type rendering processing is applied to those that have a large impact on the realness of the entire image, and low-precision rendering processing is applied to those that have a small impact on the overall image realism. Can do. Therefore, it is possible to realize an effect close to that when rendering processing is performed with the same precision with a small processing load.
[0103]
FIGS. 5A to 5B are diagrams for explaining image examples that can be realized with the same processing load.
[0104]
FIG. 5A is a diagram schematically illustrating an image generated when a rendering process with a medium precision is performed on all fish objects. If the processing load capable of generating an image within one frame is 240, the processing load of the type rendering process with medium accuracy is 30, so that only 8 objects can be output as shown in FIG. It becomes.
[0105]
In FIG. 5B, the fish objects 320-1 to 320-4 away from the virtual camera are subjected to a low-precision rendering process, and the fish objects 330-1 to 330-1 having a short or medium distance from the virtual camera. 330-10 is a diagram schematically showing an image generated when a rendering process with a medium precision is performed. If the processing load capable of generating an image in one frame is 240, the processing loads of the rendering process of the medium precision type and the rendering process of the low precision type are 30 and 12, respectively. As shown in FIG. 5B, 14 objects can be output.
[0106]
Since the processing load is reduced by adopting a low-precision rendering process when displaying objects that are far from the virtual camera in this way, output is performed only with a normal precision-type rendering process. Compared to the case, the number of objects to be output can be increased.
[0107]
In FIG. 5C, the fish objects 310-1 and 310-2 close to the virtual camera are subjected to high-precision type rendering processing, and the fish objects 320-1 to 320-4 having a medium distance from the virtual camera. FIG. 6 is a diagram schematically illustrating an image generated when a rendering process of a medium precision level is performed. If the processing load capable of generating an image in one frame is 240, the processing loads of the high-precision rendering processing and the medium-precision rendering processing are 60 and 30, respectively. As shown in FIG. 5C, the number of objects to be output is small, but realistic expression is possible.
[0108]
When it is desired to display an object close to the virtual camera in a realistic manner, by performing a high-precision type rendering process on the object close to the virtual camera, the number of objects to be output is reduced, but a more realistic expression is possible.
[0109]
Next, in this embodiment, a specific method for realizing a reduction in calculation load by selecting and executing a rendering processing type for each object will be described.
[0110]
A case where rendering processing is performed on an object having given model information arranged in a three-dimensional space in the present embodiment will be described with reference to FIG.
[0111]
When the rendering process 240 is performed on the object arranged in the three-dimensional space, in this embodiment, the geometry processing 250 is first executed by causing the CPU or a dedicated processor to execute the geometry calculation program based on the predetermined information 220 and 230. Do.
[0112]
Here, 220 is information on the position coordinates (a1) of the object and the distance (b1) between the object and the virtual camera, and is calculated by the CPU.
[0113]
Reference numeral 230 denotes attribute information 230 given to each vertex constituting the object as model information of the object. The attribute information 230 given to each vertex includes a vertex coordinate value (b1), a vertex color value (b2), an alpha mapping information value (b3), and a normal vector value (b4).
[0114]
Here, the vertex color value is given as an RGB value, for example, alpha is an α value used when, for example, translucent calculation is performed, and the mapping information value is a texture coordinate value such as UV or STQ.
[0115]
As a result of the geometry processing, the vertex attribute information 260 converted to the screen coordinate system after the geometry processing is generated based on the attribute information 230 of each vertex of the object in the three-dimensional space.
[0116]
The attribute information 260 after the geometry processing includes vertex coordinates / fog value (c1), vertex color / α value (c2), and texture coordinate value (c3).
Here, the vertex coordinates are vertex coordinates in the screen coordinate system, and the fog value is a coefficient or the like obtained from depth information when performing the depth cueing process. The vertex color is information indicating the luminance of the vertex when texture mapping is performed, and is information indicating the color of the vertex when texture mapping is not performed. Further, the α value is a value necessary for performing translucent drawing or the like. The texture coordinate value is the UV value or STQ value of the texture to be mapped.
[0117]
The geometry processing 250 of the present embodiment has a plurality of types of processing routines for performing rendering processing with different precision.
[0118]
Process 1 (252) is a distant view processing routine. When the object is away from the virtual camera, process 1 is executed. Process 2 (254) is a mid-ground process routine, and if the object is slightly away from the virtual camera, process 2 is executed. Process 3 (254) is a foreground processing routine. If the object is close to the virtual camera, process 3 is executed.
[0119]
The distant view processing routine, the foreground processing routine, and the distant view processing routine executed in the processing 1, the processing 2 and the processing 3 all use the vertex attribute information 230 given as model information, and the vertex after the geometry processing This is a routine for generating the attribute data, but the number of steps at the time of execution or the number of accesses at the time of execution is different.
[0120]
The routine for generating the attribute data of the vertex after the geometry processing for performing the rendering process with high precision has a higher number of steps at the time of execution or the number of accesses at the time of execution. Therefore, the number of execution steps or the number of accesses during execution of the foreground processing routine is the highest, and the number of execution steps or the number of accesses during execution of the far view routine is the lowest.
[0121]
In the present embodiment, this processing can be selected in units of objects. Therefore, for example, a process with a high calculation load can be selected only for an object that requires a realistic expression such as a close-up view, and a process with a low calculation load can be selected for an object that does not require realism such as a distant view.
[0122]
Thus, for example, by appropriately using each process according to the distance of the object from the virtual camera, it is possible to perform an optimal rendering process with a small calculation load.
[0123]
FIG. 7 is a diagram for explaining the type of rendering processing of each geometry processing routine.
[0124]
Process 1 is a geometry processing routine for executing a rendering process of a type that performs only environment mapping.
[0125]
Process 2 is a geometry processing routine for executing a rendering process of a type that performs environment mapping, translucent processing, and vertex color (luminance) reflection processing.
[0126]
Process 3 is a geometry processing routine for executing a rendering process of a type that performs environment mapping, translucent processing, and reflection processing.
[0127]
In the present embodiment, reflection mapping that represents reflection on the object surface is performed as environment mapping. In such environment mapping, a virtual sphere or virtual cylinder is considered in a three-dimensional space in which an object exists, and an environmental texture is pasted on the inner surface in advance, and a display is made such that the texture is reflected on the surface of the object. The reflection direction vector is determined by the viewpoint position (virtual camera position) and the coordinates of the point on the object surface, and the corresponding texture coordinate (texture coordinate value) is determined by this reflection direction vector.
[0128]
Therefore, when environment mapping is performed as a rendering process, it is necessary to perform a process for calculating a texture coordinate value based on the viewpoint position (virtual camera position) and vertex coordinates.
[0129]
Since all of the processing 1, the processing 2, and the processing 3 perform the environment mapping, the processing processing of the texture coordinate value for performing the environment mapping is required for any processing routine.
[0130]
The translucent process is a process for expressing translucent parts such as fish fins in a translucent manner. Specifically, it is realized by performing α blending processing when rendering drawing data in pixel units, and the α value used for this α blending processing is passed to the rendering processor as attribute information of the vertex after geometry processing. Processing is required. That is, it is necessary to perform processing for setting the α value set at each vertex as model information in the attribute information of the vertex after geometry processing.
[0131]
Since both processing 2 and processing 3 perform translucent processing, these processing routines require processing for setting the α value set for each vertex as model information in the attribute information of the vertex after geometry processing. The calculation load is higher than that in the process 1 in which there is no error.
[0132]
The vertex color (brightness) reflection process is a process of drawing an image that reflects the vertex color value set at each vertex as model information. The vertex color value set at each vertex as model information is the vertex after geometry processing. It is necessary to set the attribute information.
[0133]
Since the process 2 performs the vertex color (luminance) reflection process, the calculation load is higher than the process 1 that does not have this process.
[0134]
The reflection process performed in the present embodiment is a process of expressing light reflection according to the direction of the surface with respect to the virtual camera, and requires a reflection calculation based on the direction of each surface and the direction of the virtual camera (the line-of-sight direction). Specifically, the orientation of each face is determined by the normal vector value of the vertex, so the normal vector given as model information is read into each vertex, reflection calculation is performed, and the calculation result is the attribute of the vertex after geometry processing It is necessary to reflect the vertex color that is information and output it.
[0135]
Since this reflection process has a high calculation load, the calculation load of process 3 is higher than that of process 1 and process 2.
[0136]
As described above, according to the present embodiment, rendering processing with different precision is realized by omitting translucent processing, vertex color (luminance) reflection processing, and reflection processing depending on the type of rendering processing.
[0137]
3. Processing in this embodiment
FIG. 8 is a flowchart for explaining an operation example of the geometry calculation processing in the present embodiment.
[0138]
In the present embodiment, the processes in steps S10 to S70 are repeated until the process is completed for all objects arranged in the three-dimensional space.
[0139]
That is, when the distance between the object and the virtual camera is short, process 3 is executed (steps S20 and S60), and when the distance between the object and the virtual camera is long, process 1 is executed (steps S30 and S40). If the camera distance is medium, processing 2 is executed (steps S30 and S50).
[0140]
FIG. 9 is a flowchart for explaining an operation example of the process 1 of the present embodiment.
[0141]
In the process 1 of the present embodiment, the processes of steps S110 to S180 are repeated until the process is completed for all vertices of a given object.
[0142]
That is, first, the vertex coordinate value given to each vertex as model information is read (step S120).
[0143]
Then, a geometry / field conversion / perspective projection conversion calculation process for converting the vertex coordinates into the world coordinate system, the viewpoint coordinate system, and the screen coordinate system is performed (step S130).
[0144]
Next, an environment mapping calculation process for calculating a texture coordinate value for calculating the environment mapping by calculating the reflection direction vector based on the viewpoint position (virtual camera position) and the vertex coordinates is performed (step S140).
[0145]
The calculated texture coordinate value is written as vertex attribute information after the geometry processing (step S150).
[0146]
Next, the fixed vertex color information is written as vertex attribute information after the geometry processing (step S160). That is, in the processing 1, the vertex color (luminance) reflection processing is not performed, so a fixed value may be output, and it is not necessary to read the vertex color of the vertex given as model information. For this reason, the number of accesses and the number of calculation steps can be reduced compared to other processes.
[0147]
Then, according to the calculation result of step S130, the calculated vertex coordinate value is written as the attribute information of the vertex after the geometry processing (step S170).
[0148]
FIG. 10 is a flowchart for explaining an operation example of the process 2 of the present embodiment.
[0149]
In the process 2 of the present embodiment, the processes of steps S210 to S310 are repeated until the process is completed for all vertices of a given object.
[0150]
That is, first, the vertex coordinate value given to each vertex as model information is read (step S220).
[0151]
Next, the vertex color given to each vertex as model information is read (step S230). In the process 2, the vertex color (luminance) reflection process is performed, so it is necessary to read the vertex color given to each vertex as model information.
[0152]
Next, the alpha mapping information value given to each vertex as model information is read (step S240). In the process 2, since the translucent process is performed, it is necessary to read the alpha mapping information given to each vertex as model information.
[0153]
Then, a geometry / field conversion / perspective projection conversion calculation process for converting the vertex coordinates into the world coordinate system, the viewpoint coordinate system, and the screen coordinate system is performed (step S250).
[0154]
Next, environment mapping calculation processing is performed to calculate a texture coordinate value for calculating the environment mapping by calculating the reflection direction vector based on the viewpoint position (virtual camera position) and the vertex coordinates (step S260).
[0155]
Next, an alpha mapping calculation process for calculating an α value necessary for performing the translucent process is performed (step S270).
[0156]
Then, the calculated texture coordinate value is written as the attribute information of the vertex after the geometry processing (step S280).
[0157]
Next, the vertex color read in step S230 is written as vertex attribute information after geometry processing (step S290). That is, in the process 1, the vertex color (luminance) reflection process is not performed, and thus a fixed value is output. However, in the process 2, the vertex color of the model given as model information is output. The reflected vertex color information can be output as vertex attribute information after geometry processing.
[0158]
Then, according to the calculation result of step S250, the calculated vertex coordinate value is written as the attribute information of the vertex after the geometry processing (step S300).
[0159]
FIG. 11 is a flowchart for explaining an operation example of the process 3 of the present embodiment.
[0160]
In the process 3 of the present embodiment, the processes in steps S410 to S520 are repeated until the process is completed for all vertices of a given object.
[0161]
That is, first, the vertex coordinate value given to each vertex as model information is read (step S420).
[0162]
Next, the alpha mapping information value given to each vertex as model information is read (step S430). Since the process 3 performs a translucent process, it is necessary to read the alpha mapping information given to each vertex as model information.
[0163]
Next, the normal vector value given to each vertex as model information is read (step S440). In the process 3, since a reflection process is performed, it is necessary to read a normal vector value given to each vertex as model information.
[0164]
Then, a geometry / field conversion / perspective projection conversion calculation process for converting the vertex coordinates into the world coordinate system, the viewpoint coordinate system, and the screen coordinate system is performed (step S450).
[0165]
Next, environment mapping calculation processing is performed to calculate a texture coordinate value for calculating the environment mapping by calculating the reflection direction vector based on the viewpoint position (virtual camera position) and the vertex coordinates (step S460).
[0166]
Next, an alpha mapping calculation process for calculating an α value necessary for performing the translucent process is performed (step S470).
[0167]
Next, reflection calculation processing for expressing light reflection according to the direction of the surface with respect to the virtual camera is performed (step S480). In the reflection calculation process, the reflection of light is calculated based on the read normal vector of the vertex and the direction (line-of-sight vector) of the virtual camera, and the calculation result is reflected in the vertex color that is the attribute information of the vertex after geometry processing. Since this reflection process has a high calculation load, the calculation load of process 3 is higher than that of process 1 and process 2.
[0168]
Then, the calculated texture coordinate value is written as the attribute information of the vertex after the geometry processing (step S490).
[0169]
Next, the vertex color calculated in step S480 is written as attribute information of the vertex after the geometry processing (step S500). As a result, a luminance value reflecting the orientation of the surface with respect to the virtual camera can be set as the vertex color.
[0170]
Then, according to the calculation result of step S450, the calculated vertex coordinate value is written as the attribute information of the vertex after the geometry processing (step S520).
[0171]
4). Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.
[0172]
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.
[0173]
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. )
[0174]
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.
[0175]
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 a given image compression method can be displayed on an opening screen, an intermission screen, an ending screen, a game screen, or the like. 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.
[0176]
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), depth cueing, mip mapping, fog processing, bilinear filtering, trilinear filtering, anti-aliasing, shading processing, and the like. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.
[0177]
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.
[0178]
Operation data from the game controller 942, save data from the memory card 944, and personal data are transferred via the serial interface 940.
[0179]
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.
[0180]
The RAM 960 is used as a work area for various processors.
[0181]
The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).
[0182]
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.
[0183]
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. Also, by using the high-speed serial bus, data transfer between other game systems and other game systems becomes possible.
[0184]
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.
[0185]
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.
[0186]
FIG. 13A shows an example when 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.
[0187]
FIG. 13B shows an example in which this 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.
[0188]
FIG. 13C shows a host device 1300 and terminals 1304-1 to 1304-n connected to the host device 1300 via a network 1302 (a small-scale network such as a LAN or a wide area network such as the Internet). An example 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.
[0189]
In the case of the configuration shown in FIG. 13C, 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.
[0190]
The terminal connected to the network may be a home game system or an arcade game system. When the arcade game system is connected to a network, the save information storage device can exchange information with the arcade game system and exchange information with the home game system. It is desirable to use (memory card, portable game device).
[0191]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0192]
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.
[0193]
In the above embodiment, the case where the type of rendering processing is selected based on the distance between the object and the virtual camera has been described as an example, but the present invention is not limited to this. For example, the type of rendering process may be selected based on the degree of influence that the object receives from the light source, the type of rendering process may be selected based on the arrangement of the object, the light source, and the virtual camera, or the same model In the case where an image is generated by generating an object having a plurality of sizes with different magnifications based on the above, the type of rendering processing may be selected based on the magnification.
[0194]
The present invention can also be applied to various games (such as fighting games, shooting games, robot battle games, sports games, competitive games, role playing games, music playing games, dance games, etc.).
[0195]
Further, the present invention can be applied to various game systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, and a system board for generating game images.
[Brief description of the drawings]
FIG. 1 is an example of a block diagram of a game system according to the present embodiment.
FIG. 2 is an image showing an underwater fish school.
FIGS. 3A to 3C are diagrams for explaining the relationship between rendering processing and processing load with different precision levels. FIGS.
FIGS. 4A and 4B are diagrams for explaining the relationship between the distance of an object from a virtual camera and the precision of rendering processing.
FIGS. 5A to 5B are diagrams for explaining image examples that can be realized with the same processing load.
6 is a diagram for describing a case where rendering processing is performed on an object having given model information arranged in a three-dimensional space in the present embodiment. FIG.
FIG. 7 is a diagram for describing a type of rendering processing of each geometry processing routine.
FIG. 8 is a flowchart for explaining an operation example of geometry calculation processing in the present embodiment;
FIG. 9 is a flowchart for explaining an operation example of processing 1 according to the present embodiment;
FIG. 10 is a flowchart for explaining an operation example of processing 2 according to the present embodiment;
FIG. 11 is a flowchart for explaining an operation example of process 3 according to the present embodiment;
FIG. 12 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIGS. 13A, 13B, and 13C are diagrams illustrating examples of various types of systems to which the present embodiment is applied.
[Explanation of symbols]
100 processor
110 Game processor
112 Movement / motion calculation unit
114 View distance calculator
130 Image generator
132 Geometry processing part
134 Processing type selector
140 Drawing part
150 sound generator
160 Operation unit
170 Storage unit
172 Main memory
174 frame buffer
180 Information storage medium
190 Display
192 sound output section
194 Information storage device for saving
196 Communication Department

Claims (24)

画像生成を行うゲームシステムであって、
所与のフレームの画像を生成する際に、所与の条件に基いて複数の異なるタイプのレンダリング処理から各オブジェクト毎にレンダリング処理のタイプを選択する手段と、
各オブジェクト毎に選択したタイプに応じたレンダリング処理を施して前記所与のフレームの画像を生成する画像生成手段と、
を含み、
前記画像生成手段は、
前記オブジェクトの定義点にモデル情報として与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段と、
前記描画時に必要な定義点のアトリビュートデータに基いてオブジェクトの描画を行う描画手段とを含み、
前記ジオメトリ演算手段は、
実行時ステップ数又は実行時のアクセス回数と、生成される描画時に必要な定義点のアトリビュートデータである色又は輝度値、α値の少なくとも一つの詳細度とが異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて前記処理ルーチンを選択してジオメトリ演算を行うことで、1のモデル情報から、描画時に必要な定義点のアトリビュートデータとして、選択されたタイプに応じた詳細度の色値又は輝度値、α値の少なくとも一つを生成することが可能なゲームシステム。
A game system for generating images,
Means for selecting a rendering process type for each object from a plurality of different types of rendering processes based on a given condition in generating an image of a given frame;
Image generating means for generating an image of the given frame by performing rendering processing according to the type selected for each object;
Including
The image generating means includes
Geometry calculation means for performing attribute calculation using attribute data given as model information to the definition point of the object and generating attribute data of the definition point necessary for drawing,
Drawing means for drawing an object based on attribute data of definition points required at the time of drawing,
The geometry calculation means includes
It has multiple processing routines that differ in the number of execution steps or the number of accesses during execution, and at least one detail level of color or luminance values and α values that are attribute data of definition points required at the time of drawing to be generated By selecting the processing routine according to the type of rendering process and performing geometry calculation, the details according to the selected type are obtained from the model information of 1 as the attribute data of the definition points required at the time of drawing. A game system capable of generating at least one of a color value, a luminance value, and an α value .
画像生成を行うゲームシステムであって、
3次元空間に配置された複数のオブジェクトについて、所与の条件に基いてオブジェクト毎に当該オブジェクトをレンダリングする際のタイプを決定する手段と、
各オブジェクト毎に決定されたタイプに応じて精密度の異なるレンダリング処理を施して、前記複数のオブジェクトの画像を生成する画像生成手段と、
を含み、
前記画像生成手段は、
前記オブジェクトの定義点にモデル情報として与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段と、
前記描画時に必要な定義点のアトリビュートデータに基いてオブジェクトの描画を行う描画手段とを含み、
前記ジオメトリ演算手段は、
実行時ステップ数又は実行時のアクセス回数と、生成される描画時に必要な定義点のアトリビュートデータである色又は輝度値、α値の少なくとも一つの詳細度とが異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて処理ルーチンを選択してジオメトリ演算を行うことで、1のモデル情報から、描画時に必要な定義点のアトリビュートデータとして、選択されたタイプに応じた詳細度の色値又は輝度値、α値の少なくとも一つを生成することが可能なゲームシステム。
A game system for generating images,
Means for determining a type for rendering an object for each object based on a given condition for a plurality of objects arranged in a three-dimensional space;
Image generation means for generating images of the plurality of objects by performing rendering processing with different precision according to the type determined for each object;
Including
The image generating means includes
Geometry calculation means for performing attribute calculation using attribute data given as model information to the definition point of the object and generating attribute data of the definition point necessary for drawing,
Drawing means for drawing an object based on attribute data of definition points required at the time of drawing,
The geometry calculation means includes
It has multiple processing routines that differ in the number of execution steps or the number of accesses during execution, and at least one detail level of color or luminance values and α values that are attribute data of definition points required at the time of drawing to be generated By selecting a processing routine according to the type of rendering process and performing geometry calculation, the level of detail corresponding to the selected type is obtained from the model information of 1 as the attribute data of the definition points required at the time of drawing. A game system capable of generating at least one of a color value, a luminance value, and an α value .
請求項1又は2のいずれかにおいて、
前記ジオメトリ演算手段は、
前記レンダリング処理のタイプに応じて、テクスチャマッピング処理、反射処理、シェーディング処理、光源処理、半透明処理の少なくとも1つの処理を内容を、省略又は簡略化してレンダリング処理を行うことを特徴とするゲームシステム。
In either claim 1 or 2,
The geometry calculation means includes
According to the type of the rendering process, a game system characterized in that at least one of a texture mapping process, a reflection process, a shading process, a light source process, and a translucent process is omitted or simplified to perform a rendering process .
請求項1乃至3のいずれかにおいて、
前記所与の条件は、
オブジェクトと仮想カメラの距離に関する条件を含むことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 3,
The given condition is:
A game system including a condition related to a distance between an object and a virtual camera.
請求項1乃至4のいずれかにおいて、
前記所与の条件は、
光源からオブジェクトが受ける影響の度合いに関する条件を含むことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 4,
The given condition is:
A game system including a condition regarding a degree of influence of an object from a light source.
請求項1乃至5のいずれかにおいて、
前記所与の条件は、
オブジェクトと光源と仮想カメラの配置に関する条件を含むことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 5,
The given condition is:
A game system including conditions relating to an arrangement of an object, a light source, and a virtual camera.
請求項1乃至6のいずれかにおいて、
前記所与の条件は、
同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率に関する条件を含むことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 6.
The given condition is:
A game system characterized by including a condition relating to the magnification when generating an image by generating an object having a plurality of sizes with different magnifications based on the same model.
請求項1乃至7のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている色情報に基いてジオメトリ処理後のオブジェクトの定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 7,
The type of rendering process is an arithmetic process for generating color information or luminance information of an object definition point after geometry processing based on color information given as attribute information to the object definition point when performing geometry calculation. A game system characterized by being simplified according to the game.
請求項1乃至8のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている法線ベクトルと仮想カメラの向き及び光線の向きの少なくとも一方にもとづいて演算される光の反射具合に応じてジオメトリ処理後の定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 8.
When performing geometry calculation, after geometry processing according to the degree of light reflection calculated based on the normal vector given as attribute information to the definition point of the object and at least one of the virtual camera direction and the ray direction A game system characterized in that a calculation process for generating color information or luminance information of a definition point is simplified according to the type of the rendering process.
請求項1乃至9のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられているα値に基いてジオメトリ処理後のオブジェクトを半透明描画する際に必要なアルファ値を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して行うことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 9,
When performing geometry calculation, the rendering process generates the alpha value required for semi-transparent drawing of the object after geometry processing based on the alpha value given as attribute information to the object definition point. A game system that is simplified according to the type of game.
請求項1乃至10のいずれかにおいて、
前記レンダリング処理のタイプに応じて、オブジェクトの環境マッピングを行う処理を省略してレンダリング処理を行うことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 10.
A game system, wherein a rendering process is performed by omitting a process of performing environment mapping of an object according to a type of the rendering process.
請求項1乃至11のいずれかにおいて、
前記レンダリング処理のタイプに応じて、オブジェクトにテクスチャマッピングを行う回数を変更してレンダリング処理を行うことを特徴とするゲームシステム。
In any one of Claims 1 thru | or 11,
A game system, wherein a rendering process is performed by changing the number of times texture mapping is performed on an object according to a type of the rendering process.
コンピュータが使用可能な情報記憶媒体であって、
所与のフレームの画像を生成する際に、所与の条件に基いて複数の異なるタイプのレンダリング処理から各オブジェクト毎にレンダリング処理のタイプを選択する手段と、
各オブジェクト毎に選択したタイプに応じたレンダリング処理を施して前記所与のフレームの画像を生成する画像生成手段と、
を実行するためのプログラムを含み、
前記画像生成手段を実現するためのプログラムは、
前記オブジェクトの定義点にモデル情報として与えられているアトリビュートデータを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段を実現するためのプログラムであって、
実行時ステップ数又は実行時のアクセス回数と、生成される描画時に必要な定義点のアトリビュートデータである色又は輝度値、α値の少なくとも一つの詳細度とが異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて処理ルーチンを選択してジオメトリ演算を行うことで、1のモデル情報から、描画時に必要な定義点のアトリビュートデータとして、選択されたタイプに応じた詳細度の色値又は輝度値、α値の少なくとも一つを生成することが可能なプログラムを含むことを特徴とする情報記憶媒体。
An information storage medium usable by a computer,
Means for selecting a rendering process type for each object from a plurality of different types of rendering processes based on a given condition in generating an image of a given frame;
Image generating means for generating an image of the given frame by performing rendering processing according to the type selected for each object;
Including a program to execute
A program for realizing the image generation means is:
A program for realizing a geometry calculation means for performing geometry calculation using attribute data given as model information to a definition point of the object and generating attribute data of a definition point necessary for drawing,
It has multiple processing routines that differ in the number of execution steps or the number of accesses during execution, and at least one detail level of color or luminance values and α values that are attribute data of definition points required at the time of drawing to be generated By selecting a processing routine according to the type of rendering process and performing geometry calculation, the level of detail corresponding to the selected type is obtained from the model information of 1 as the attribute data of the definition points required at the time of drawing. An information storage medium comprising a program capable of generating at least one of a color value, a luminance value, and an α value .
コンピュータが使用可能な情報記憶媒体であって、
3次元空間に配置された複数のオブジェクトについて、所与の条件に基いてオブジェクト毎に当該オブジェクトをレンダリングする際のタイプを決定する手段と、
各オブジェクト毎に決定されたタイプに応じて精密度の異なるレンダリング処理を施して、前記複数のオブジェクトの画像を生成する画像生成手段と、
を実行するためのプログラムを含み、
前記画像生成手段を実現するためのプログラムは、
前記オブジェクトの定義点にモデル情報として与えられているアトリビュート データを用いてジオメトリ演算を行い描画時に必要な定義点のアトリビュートデータを生成するジオメトリ演算手段を実現するためのプログラムであって、
実行時ステップ数又は実行時のアクセス回数と、生成される描画時に必要な定義点のアトリビュートデータである色又は輝度値、α値の少なくとも一つの詳細度とが異なる複数の処理ルーチンを有しており、前記レンダリング処理のタイプに応じて処理ルーチンを選択してジオメトリ演算を行うことで、1のモデル情報から、描画時に必要な定義点のアトリビュートデータとして、選択されたタイプに応じた詳細度の色値又は輝度値、α値の少なくとも一つを生成することが可能なプログラムを含むことを特徴とする情報記憶媒体。
An information storage medium usable by a computer,
Means for determining a type for rendering an object for each object based on a given condition for a plurality of objects arranged in a three-dimensional space;
Image generation means for generating images of the plurality of objects by performing rendering processing with different precision according to the type determined for each object;
Including a program to execute
A program for realizing the image generation means is:
A program for realizing a geometry calculation means for performing geometry calculation using attribute data given as model information to a definition point of the object and generating attribute data of a definition point necessary for drawing,
It has multiple processing routines that differ in the number of execution steps or the number of accesses during execution, and at least one detail level of color or luminance values and α values that are attribute data of definition points required at the time of drawing to be generated By selecting a processing routine according to the type of rendering process and performing geometry calculation, the level of detail corresponding to the selected type is obtained from the model information of 1 as the attribute data of the definition points required at the time of drawing. An information storage medium comprising a program capable of generating at least one of a color value, a luminance value, and an α value .
請求項13又は14のいずれかにおいて、
前記ジオメトリ演算手段を実現するためのプログラムは、
前記レンダリング処理のタイプに応じて、テクスチャマッピング処理、反射処理、シェーディング処理、光源処理、半透明処理の少なくとも1つの処理を内容を、省略又は簡略化してレンダリング処理を行うためのプログラムを含むことを特徴とする情報記憶媒体。
In any of claims 13 or 14,
A program for realizing the geometry calculation means is:
According to the type of the rendering process, the program includes a program for performing the rendering process by omitting or simplifying the content of at least one of the texture mapping process, the reflection process, the shading process, the light source process, and the translucent process. A characteristic information storage medium.
請求項13乃至15のいずれかにおいて、
前記所与の条件は、
オブジェクトと仮想カメラの距離に関する条件を含むことを特徴とする情報記憶媒体。
In any of claims 13 to 15,
The given condition is:
An information storage medium including a condition relating to a distance between an object and a virtual camera.
請求項13乃至16のいずれかにおいて、
前記所与の条件は、
光源からオブジェクトが受ける影響の度合いに関する条件を含むことを特徴とする情報記憶媒体。
In any of claims 13 to 16,
The given condition is:
An information storage medium including a condition regarding a degree of influence of an object from a light source.
請求項13乃至17のいずれかにおいて、
前記所与の条件は、
オブジェクトと光源と仮想カメラの配置に関する条件を含むことを特徴とする情報記憶媒体。
In any of claims 13 to 17,
The given condition is:
An information storage medium including conditions relating to the arrangement of an object, a light source, and a virtual camera.
請求項13乃至18のいずれかにおいて、
前記所与の条件は、
同一モデルに基き倍率の違う複数の大きさのオブジェクトを生成して画像生成を行う場合には、前記倍率に関する条件を含むことを特徴とする情報記憶媒体。
In any of claims 13 to 18,
The given condition is:
An information storage medium characterized by including a condition relating to the magnification in the case of generating an image by generating objects of a plurality of sizes having different magnifications based on the same model.
請求項13乃至19のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている色情報に基いてジオメトリ処理後のオブジェクトの定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して実行するためのプログラムを含むことを特徴とする情報記憶媒体。
In any of claims 13 to 19,
The type of rendering process is an arithmetic process for generating color information or luminance information of an object definition point after geometry processing based on color information given as attribute information to the object definition point when performing geometry calculation. An information storage medium comprising a program for executing in a simplified manner according to the above.
請求項13乃至20のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられている法線ベクトルと仮想カメラの向き及び光線の向きの少なくとも一方にもとづいて演算される光の反射具合に応じてジオメトリ処理後の定義点の色情報又は輝度情報を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して実行するためのプログラムを含むことを特徴とする情報記憶媒体。
In any of claims 13 to 20,
When performing geometry calculation, after geometry processing according to the degree of light reflection calculated based on the normal vector given as attribute information to the definition point of the object and at least one of the virtual camera direction and the ray direction An information storage medium, comprising: a program for performing a calculation process for generating color information or luminance information of a definition point in a simplified manner according to the type of the rendering process.
請求項13乃至21のいずれかにおいて、
ジオメトリ演算を行う際に、オブジェクトの定義点にアトリビュート情報として与えられているα値に基いてジオメトリ処理後のオブジェクトを半透明描画する際に必要なアルファ値を生成する演算処理を、前記レンダリング処理のタイプに応じて簡略化して実行するためのプログラムを含むことを特徴とする情報記憶媒体。
A device according to any one of claims 13 to 21.
When performing geometry calculation, the rendering process generates the alpha value required for semi-transparent drawing of the object after geometry processing based on the alpha value given as attribute information to the object definition point. An information storage medium including a program for executing in a simplified manner according to the type of the information storage medium.
請求項13乃至22のいずれかにおいて、
前記レンダリング処理のタイプに応じて、オブジェクトの環境マッピングを行う処理を省略してレンダリング処理を実行するためのプログラムを含むことを特徴とする情報記憶媒体。
In any of claims 13 to 22,
An information storage medium comprising: a program for executing rendering processing while omitting processing for performing environment mapping of objects according to the type of rendering processing.
請求項13乃至23のいずれかにおいて、
前記レンダリング処理のタイプに応じて、オブジェクトにテクスチャマッピングを行う回数を変更してレンダリング処理を実行するためのプログラムを含むことを特徴とする情報記憶媒体。
24. Any one of claims 13 to 23.
An information storage medium comprising a program for executing rendering processing by changing the number of times texture mapping is performed on an object according to the type of rendering processing.
JP2000040062A 2000-02-17 2000-02-17 GAME SYSTEM AND INFORMATION STORAGE MEDIUM Expired - Lifetime JP3656012B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000040062A JP3656012B2 (en) 2000-02-17 2000-02-17 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000040062A JP3656012B2 (en) 2000-02-17 2000-02-17 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002256661A Division JP2003162734A (en) 2002-09-02 2002-09-02 Game system and information storage medium

Publications (2)

Publication Number Publication Date
JP2001229395A JP2001229395A (en) 2001-08-24
JP3656012B2 true JP3656012B2 (en) 2005-06-02

Family

ID=18563516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000040062A Expired - Lifetime JP3656012B2 (en) 2000-02-17 2000-02-17 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Country Status (1)

Country Link
JP (1) JP3656012B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228725A (en) * 2002-02-04 2003-08-15 Japan Science & Technology Corp 3d image processing system
US7619626B2 (en) * 2003-03-01 2009-11-17 The Boeing Company Mapping images from one or more sources into an image for display
KR100528343B1 (en) * 2003-07-14 2005-11-15 삼성전자주식회사 Method and apparatus for image-based rendering and editing of 3D objects
JP4722803B2 (en) * 2006-09-21 2011-07-13 パナソニック株式会社 Portable terminal device, game device, wireless communication system, and portable terminal device program
JP4794597B2 (en) * 2008-05-07 2011-10-19 株式会社バンダイナムコゲームス Image generation system, program, and information storage medium
WO2014069771A1 (en) * 2012-10-30 2014-05-08 에스케이플래닛 주식회사 Method for providing cloud streaming-based game, and system and apparatus for same
KR101430930B1 (en) * 2012-12-12 2014-09-25 에스케이플래닛 주식회사 Method for providing game based on cloud steaming, system, client terminal and service apparatus
KR20150100113A (en) 2014-02-24 2015-09-02 삼성전자주식회사 Apparatus and Method for processing image thereof
JP7479542B2 (en) 2023-05-01 2024-05-08 任天堂株式会社 GAME PROGRAM, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD

Also Published As

Publication number Publication date
JP2001229395A (en) 2001-08-24

Similar Documents

Publication Publication Date Title
JP3249955B2 (en) Image generation system and information storage medium
JP3656012B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2001319244A (en) Game system and information storage medium
JP4229319B2 (en) Image generation system, program, and information storage medium
JP4167358B2 (en) Image generation system and information storage medium
JP4367804B2 (en) Image generation system and information storage medium
JP2001325605A (en) Game system and information storage medium
JP4245356B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3297410B2 (en) Image generation system and information storage medium
JP2005209217A (en) Game system and information storage medium
JP2001229403A (en) Game system and information storage medium
JP3254195B2 (en) Image generation system and information storage medium
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4574058B2 (en) Image generation system, program, and information storage medium
JP2003162734A (en) Game system and information storage medium
JP4497690B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3292713B2 (en) Image generation system and information storage medium
JP4394211B2 (en) Image generation system and information storage medium
JP4632530B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP3614340B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2005275795A (en) Program, information storage medium and image generation system
JP4391633B2 (en) Image generation system and information storage medium
JP4592039B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4530326B2 (en) Image generation system and information storage medium
JP4827217B2 (en) Image generation system, program, and information storage medium

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050307

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3656012

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080311

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20080311

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080311

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090311

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100311

Year of fee payment: 5

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100311

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110311

Year of fee payment: 6

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120311

Year of fee payment: 7

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

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120311

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130311

Year of fee payment: 8

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

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130311

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140311

Year of fee payment: 9

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term