JP3830189B2 - Image composition apparatus and method - Google Patents

Image composition apparatus and method Download PDF

Info

Publication number
JP3830189B2
JP3830189B2 JP34838395A JP34838395A JP3830189B2 JP 3830189 B2 JP3830189 B2 JP 3830189B2 JP 34838395 A JP34838395 A JP 34838395A JP 34838395 A JP34838395 A JP 34838395A JP 3830189 B2 JP3830189 B2 JP 3830189B2
Authority
JP
Japan
Prior art keywords
display object
registration
display
information
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP34838395A
Other languages
Japanese (ja)
Other versions
JPH09167259A (en
Inventor
聡 大内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP34838395A priority Critical patent/JP3830189B2/en
Publication of JPH09167259A publication Critical patent/JPH09167259A/en
Application granted granted Critical
Publication of JP3830189B2 publication Critical patent/JP3830189B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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】
【課題を解決するための手段】
請求項1の発明は、
オブジェクト空間内における表示物の位置情報及び視点情報を演算する演算処理手段と、前記演算処理手段によって演算された表示物の位置情報及び視点情報に基づき画像合成すべき表示物の選別を行うプレクリッピング手段と、前記演算処理手段によって演算された表示物の位置情報及び視点情報と、プレクリッピング手段によって選別された表示物情報とに基づき、表示画面に表示する画像を合成する画像合成手段とを有する画像合成装置において、
前記プレクリッピング手段は、
画像合成処理を行う対象となる表示物を選択する際、前記表示物のサイズに基づき異なる選択基準を用いることを特徴とする。
【0012】
請求項11の発明は、
オブジェクト空間内に存在する表示物の位置情報及び視点情報を演算する演算処理ステップと、前記演算処理ステップによって演算された視点情報及び表示物の位置情報に基づき画像合成すべき表示物の選別を行うプレクリッピングステップと、前記演算処理ステップによって演算された表示物の位置情報及び視点情報と、プレクリッピングステップによって選別された表示物情報とに基づき、表示画面に表示する画像を合成する画像合成ステップと、を有する画像合成方法であって、
前記プレクリッピングステップは、
画像合成処理を行う対象となる表示物を選択する際、前記表示物のサイズに基づき異なる選択基準を用いて選択することを特徴とする。
【0013】
本発明では、画像合成処理を行う対象となる表示物を選択する際、その表示物の大きさによって選択基準を変えているので、表示対象となる表示物の選別効率を向上させることが出来る。
【0014】
例えば、表示範囲にオフセット値を加えて選別対象範囲を設定する場合、表示物の大きさに応じてオフセット値を設定するように形成すればよい。すなわち、大きさな表示物の表示物の表示もれを防ぐためには、大きなオフセット値を設けることが必要であり、小さな表示物の表示もれを防ぐためには、小さなオフセット値を設ければ十分である。そこで、大きな表示物の選別を行う際は、オフセット値を大きくとった選別対象範囲で選択基準を設定し、小さな表示物の選別を行う際は、オフセット値を小さくとった選別対象範囲で選択基準を設定し選別をおこなうように形成すると、本来表示されるべき表示物の選別もれをおこすこと無く、正確な選別を行うことが出来る。
【0015】
しかも、最も大きな表示物にあわせて、オフセット値を設定した場合に比べ、選別対象範囲には入っているが、表示対象範囲には入っていない表示物が画像合成の対象として選別される割合が減り、選別効率の向上を図ることが出来る。
【0016】
この様に、本発明によれば、表示範囲に存在する表示物を選別する際、選別効率をあげ正確な選別を行う画像合成装置及び画像合成方法を提供することができる。
【0017】
請求項2の発明は、
請求項1において、
前記プレクリッピング手段は、
表示物情報を表示物の大きさに基づき複数のサイズ区分に分類して登録するための、複数のサイズ別登録メモリを有し、前記各サイズ別登録メモリはそれぞれ、前記表示物情報を表示物の位置情報に基づき複数の位置区分に分類して登録するための複数の登録エリアを有する表示物登録メモリと、
オブジェクト空間に存在する表示物情報を、前記表示物の大きさ及び位置情報に基づき、該当するサイズ別登録メモリの登録エリアに登録する表示物登録手段と、
各サイズ別登録メモリ毎に、視点情報及びサイズ区分に基づき表示対象となる登録エリアを選別し、選別された登録エリアに登録された表示物を前記画像合成手段で画像合成処理を行う対象として選択する表示物選択手段とを含むことを特徴とする。
【0018】
請求項12の発明は、
請求項11において、
前記プレクリッピングステップは、
表示物情報を表示物の大きさに基づき複数のサイズ区分に分類して登録するための、複数のサイズ別登録メモリを有し、前記各サイズ別登録メモリはそれぞれ、前記表示物情報を表示物の位置情報に基づき複数の位置区分に分類して登録するための複数の登録エリアを有するよう形成された表示物登録メモリを用い、
オブジェクト空間に存在する表示物情報を、前記表示物の大きさ及び位置情報に基づき、該当するサイズ別登録メモリの登録エリアに登録する表示物登録ステップと、
各サイズ別登録メモリ毎に、視点情報及びサイズ区分に基づき表示対象となる登録エリアを選別し、選別された登録エリアに登録された表示物を前記画像合成ステップにおいて画像合成処理を行う対象として選択する表示物選択ステップとを含むことを特徴とする。
【0019】
ここにおいて、表示物情報とは、表示物の識別データでもよいし、表示物に関するデータの格納されたデータ領域のアドレスでもよい。また、表示物に関するデータの格納されたデータ領域がリスト構造でチェーンされている時は、そのチェーンの先頭のデータ領域のアドレスでもよい。
【0020】
また、視点情報とは、例えば視点位置、視線方向、画角等を含んで構成される情報である。
【0021】
本発明において、表示物登録手段は、表示物をその大きさに基づき複数のサイズ区分に分類して、表示物のサイズ区分に対応するサイズ別登録メモリを選択する。そして表示物をその位置に基づき複数の位置区分に分類して、前記選択したサイズ別登録メモリの複数の登録エリアのなかから、前記表示物の位置区分に対応する登録エリアを選択し、当該登録エリアに前記表示物の表示物情報を登録する。
【0022】
すなわち、1の登録エリアには、1のサイズ区分及び1の位置区分に属する表示物の表示物情報が登録される。
【0023】
この様に本発明では、オブジェクト空間に存在する表示物が、その表示物の大きさによって、どのサイズ別登録メモリに属するかを決定し、その位置よって前記サイズ別登録メモリのどの登録エリアに登録されるかを決定する。そして表示物が登録された登録エリアから表示対象なる登録エリアを選ぶことにより、選択される表示物は一意的に決まるよう形成されている。このため、登録エリアを選択する際、各サイズ別登録メモリ毎に選択基準を変えることで、表示対象となる表示物の選別効率を向上させ、正確な選別を行うことが出来る。
【0024】
また、表示物の登録エリアへの登録は、表示物の位置が固定している場合は1フレームの画像合成毎に行う必要は無く、選択は個々の表示物単位ではなく登録エリア単位で行われるので、毎回全ての表示物に対して、選択処理を行う場合に比べて、演算処理が減少し、処理時間の短縮を図ることが出来る。
【0025】
なお、表示物登録メモリは、オブジェクト空間に存在する全ての表示物を登録できるよう形成されていてもよいし、一部の表示物を登録できるよう形成されていてもよい。また、全ての表示物を登録できるよう形成されている場合は、予め表示物情報を登録しておいてもよいし、表示可能性が生じたときのみ登録するようにしてもよい。
【0026】
請求項3の発明は、
請求項2において、
前記サイズ別登録メモリは、
オブジェクト空間を複数のブロックに区分し、各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されていることを特徴とする。
【0027】
請求項13の発明は、
請求項12において、
前記サイズ別登録メモリは、
オブジェクト空間を複数のブロックに区分し、各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されていることを特徴とする。
【0028】
前記各サイズ別登録メモリの登録エリアは、オブジェクト空間を複数のブロックに仮想的に分割したとき、各ブロックに所定の関数関係で対応するよう設けられている。すなわち、一旦分割されたブロックは、視点位置や、表示可能性のある領域の変動によっては、変化しない。このため、各ブロックと各登録エリアを固定的に結びつけることにより、同一物は原則として1度登録すれば、再登録は不要に形成することができる。従って、選別のためにフレーム毎に登録する必要はなくなるので、演算負荷の軽減を図ることが出来る。
【0029】
なお、所定の関数関係とは、登録エリアがオブジェクト空間の全ブロック数分設けられているときは、1対1の関数関係でもよく、登録エリア数が全ブロック数よりも少ないときは、多対1の関数関係に形成するとよい。
【0030】
請求項4の発明は、
請求項3において、
前記サイズ別登録メモリは、
視点位置の周囲の表示可能性のある各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されており、
表示物登録手段は、
表示可能性のある表示物が変動したときに、新たに表示可能性が生じた表示物の表示物情報の登録を行うことを特徴とする。
【0031】
請求項14発明は、
請求項13において、
前記サイズ別登録メモリは、
視点位置の周囲の表示可能性のある各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されており、
表示物登録ステップは、
表示可能性のある表示物が変動したときに、新たに表示可能性が生じた表示物の表示物情報の登録を行うことを特徴とする。
【0032】
ここにおいて、表示可能性のあるブロックとは、視点位置に基づいて定められる表示可能性のある領域を構成するブロックである。なお、表示可能性のある領域とは、視線方向が360度いずれの方向を向いても、その視野内になる可能性のある領域をすべて含んで設定される領域である。
【0033】
本発明では、表示物を登録するため登録エリアは表示可能性のあるブロックに対応して設けられている。従って、登録エリア数はオブジェクト空間を構成する全ブロック数よりも少ないので、オブジェクト空間を構成する各ブロックは登録エリアに多対1の関数関係で対応している。従って、表示可能性のあるブロックが変動することにより、表示可能性のなくなったブロックに対応している登録エリアを、新たに表示可能性の生じたブロックに対応させる(以下登録エリアを使い回すという)ことにより、有効なメモリ資源の活用を図ることが出来る。特にオブジェクト空間が広いときは、メモリの節約を図るため、この様な構成をとることが好ましい。
【0034】
また、オブジェクト空間を構成する各ブロックは登録エリアに多対1の関数関係で対応しているため、同位置にある表示物の登録エリアはいつも同じである。従って、表示物の位置が変化しなければ、一度登録したデータは原則として再登録は不要なので、新たに表示可能性の生じた表示物に対してのみ登録を行うとよい。従って各フレーム毎に行われる選別処理のための表示物情報の登録処理を削減し、処理時間の短縮を図ることが出来る。
【0035】
請求項5の発明は、
請求項3又は請求項4のいずれかにおいて、
前記表示物選択手段は、
視点が存在するブロック及び視線情報に基づき、前記サイズ別登録メモリの各登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする。
【0036】
請求項15の発明は、
請求項13又は請求項14のいずれかにおいて、
前記表示物選択ステップは、
視点が存在するブロック及び視線情報に基づき、前記サイズ別登録メモリの各登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする。
【0037】
本発明は、登録エリアを選択する際の基準に視点位置そのものを用いるのではなく、視点が存在するブロックを用いるので、ブロック単位で画一的な処理を行うことができる。すなわち視点が存在するブロックと視線方向が定まれば、表示対象となるブロックが定まるので、パターン化しやすく、一度パターン化すれば視点位置毎に演算する必要が無い。従って、演算処理を削減し、処理時間の削減を図ることが出来る。
【0038】
請求項6の発明は、
請求項5において、
前記表示物選択手段は、
視点が存在するブロック内の視点位置に基づき、前記サイズ別登録メモリの登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする。
【0039】
請求項10の発明は、
請求項9において、
前記表示物選択手段は、
視点が存在するブロック、視線情報、及び視点が存在するブロック内の視点位置に基づき、前記表示物登録メモリの各登録エリアが表示対象となるか否か選別することを特徴とする。
【0040】
請求項16の発明は、
請求項15において、
前記表示物選択ステップは、
視点が存在するブロック内の視点位置に基づき、前記サイズ別登録メモリの登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする。
【0041】
請求項5又は請求項15の発明のように、視点位置そのものでなく視点位置がどのブロックに属するかに基づき登録エリアの選別を行うと、前述したように演算処理の削減効果がある。この場合、同じブロックに属していても視点位置が異なることにより異なる表示範囲の最大公約数となる範囲をプレクリッピング範囲とすることで、表示物の表示洩れをふせいでいる。すなわち1の登録エリアでカバーする領域が広いほど、広いオフセット値を設けてプレクリッピング範囲を設定する必要がある。従って、表示領域の端付近に対応する登録エリアには、表示対象でない表示物がたくさん登録されている可能性がある。この様な表示対象でない表示物をなるべく選別しないためには、各登録エリアに対応する領域を細かくとるとよい。すなわち登録エリアを増やして選別すればよいが、登録エリアを増やすと選別のための演算処理が増加し処理時間の増大を招く。
【0042】
そこで、本発明では、登録エリアを増やさずに、視点が存在する各ブロック内の視点の存在位置に応じた適切なオフセットを設けてプレクリッピング範囲を設定し、各登録エリアの選別を行うよう形成している。この様にすると最大公約数となる範囲をプレクリッピング範囲として設定する場合に比べ、プレクリッピング範囲を絞り込むことができ、選別もれを起こすことなく選別効率を上げることが出来る。
【0043】
請求項7の発明は、
請求項4〜6のいずれかにおいて、
前記表示物登録手段は、
処理開始時には表示可能性のあるブロックに存在する表示物を登録対象とし、
その後は、視点位置の属するブロックが変動した場合に、その視点位置の変動により、新たに表示可能性の生じたブロックに存在する表示物を登録対象とすることを特徴とする。
【0044】
請求項17の発明は、
請求項14〜16のいずれかにおいて、
前記表示物登録ステップは、
処理開始時には表示可能性のあるブロックに存在する表示物を登録対象とし、
その後は、視点位置の属するブロックが変動した場合に、その視点位置の変動により、新たに表示可能性の生じたブロックに存在する表示物を登録対象とすることを特徴とする。
【0045】
この様にすることにより、同一物の登録処理の重複を避け効率的な演算処理を行うことが出来る。
【0046】
請求項8の発明は、
請求項2〜7のいずれかにおいて、
前記表示物選択手段は、
視線情報に基づき、表示対象となる登録エリアを特定するデータが予め各サイズ別登録メモリ毎に、記憶された表示対象特定データ記憶手段を有し、視線情報に基づき、前記表示対象特定データ記憶手段に記憶されたデータを参照し、表示対象となる登録エリアを各サイズ別登録メモリ毎に、選別することを特徴とする。
【0047】
請求項18の発明は、
請求項12〜17のいずれかにおいて、
前記表示物選択ステップは、
視線情報に基づき、表示対象となる登録エリアを特定するデータを各サイズ別登録メモリ毎に、予め記憶させておく表示対象特定データ記憶ステップを有し、視線情報に基づき、表示対象となる登録エリアを特定するデータを参照し、表示対象となる登録エリアを各サイズ別登録メモリ毎に、選別することを特徴とする。
【0048】
この様に、表示対象となる登録エリアを決定するための演算の一部又は全部の結果を予め記憶させておくことで、演算処理を削減し、処理時間の短縮を図ることが出来る。
【0049】
また、請求項2〜8のいずれかの発明において、
前記表示物登録手段は、
表示物が移動したとき、その移動情報に基づき、サイズ別登録メモリの登録エリアへの表示物情報の登録、消去を行うように形成することが好ましい。
【0050】
この様にすることにより、表示物が移動した場合でも、不具合を生じることなく移動位置に応じた画像表示を行うことが出来る。
【0051】
請求項9の発明は、
オブジェクト空間内における表示物の位置情報及び視点情報を演算する演算処理手段と、前記演算処理手段によって演算された表示物の位置情報及び視点情報に基づき画像合成すべき表示物の選別を行うプレクリッピング手段と、前記演算処理手段によって演算された表示物の位置情報及び視点情報と、プレクリッピング手段によって選別された表示物情報とに基づき、表示画面に表示する画像を合成する画像合成手段とを有する画像合成装置において、
前記プレクリッピング手段は、
表示物情報を表示物の位置情報に基づき複数の位置区分に分類して登録するための複数の登録エリアを有する表示物登録メモリと、
視点位置の周囲の表示可能性のある領域に存在する表示物情報を、前記表示物の位置情報に基づき、該当する移築分の登録エリアに登録する表示物登録手段と、
視点情報に基づき表示物登録メモリ表示対象となる登録エリアを選別し、選別された登録エリアに登録された表示物を前記画像合成手段で画像合成処理を行う対象として選択する表示物選択手段とを含み、
前記表示物登録メモリは、
オブジェクト空間を複数のブロックに区分し、表示可能性のある各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されており、
前記表示物登録手段は、
前記表示可能性のあるブロックが変動したときに、新たに表示可能性が生じたブロックに対応した登録エリアに対して、表示物情報の登録を行うことを特徴とする。
【0052】
本発明によれば、表示物の登録エリアへの登録は、表示物の位置が固定している場合は1フレームの画像合成毎に行う必要は無く、選択は個々の表示物単位では無く登録エリア単位で行われる。従って、画像合成の対象となる表示物を選択する際、毎回全ての表示物に対して、選択処理を行う場合に比べて、演算処理が減少し、処理時間の短縮を図ることが出来る。
【0053】
【発明の実施の形態】
本発明の好適な実施の形態を、3次元ゲーム空間内に設定されたレーシングコースでレースを行うゲーム装置を例にとり説明する。
【0054】
1.第1実施例
図1には実施例のサーキットレース型のゲームシステムが示されている。実施例のゲームシステムは、複数の独立したゲーム装置1−1,1−2,…が、データ伝送ラインを介して互いに接続されている。
【0055】
各ゲーム装置は、仮想3次元ゲーム空間内において、プレーヤの操縦するプレーヤレーシングカーが、他のプレーヤの操縦するレーシングカーや、コンピュータの操縦するコンピュータカーと順位を競い合うように形成されている。
【0056】
各ゲーム装置は、実際のレーシングカーの運転席と同様に形成されている。そして、プレーヤは、シート18に着座し、ディスプレイ102に映し出された疑似3次元画像(ゲーム画面)を見ながら、操作部10に設けられたハンドル14、アクセル15、シフトレバー16、ブレーキ等を操作して架空のレーシングカーを運転してゲームを行う。
【0057】
この様なゲームにおいて、刻々と変化するプレーヤカーの位置に応じてゲーム画面を表示するためには、仮想3次元空間内における視界画像をリアルタイムに画像合成しなければならないので、画像合成時の処理時間の短縮を図る必要がある。
【0058】
そこで、本実施例においては、画像合成時のデータ量の削減及び処理時間の短縮を図るために、予め表示範囲に存在する表示物を選別するプレクリッピング処理をしてから画像合成する構成を採用している。この様に表示範囲に存在する表示物を選別する際、処理負担の増大を招くことなく、選別効率をあげ正確な選別を行うため、本ゲーム装置1では、以下のような構成を採用している。
【0059】
図2には、前記ゲーム装置において、表示範囲に存在する表示物を選別して画像合成を行うための構成を示す機能ブロック図が示されている。
【0060】
実施例の業務用ビデオゲーム装置は、操作部10と、演算処理部20と、空間情報記憶部30と、プレクリッピング手段40と、画像合成部80と、画像情報記憶部90と、表示部100とを含む。
【0061】
操作部10は、図1に示すハンドル14、シフトレバー16及びその他のペダル類等の、プレーヤの操作する部材である。
【0062】
前記演算処理部20は、CPU、メモリ等を用いて構成されており演算処理手段として機能する。そして前記操作部10からの操作信号および所定のゲームプログラムに基づき、所定のゲーム空間内に設定されたレーシングコースで、プレーヤの操縦するプレーヤカーを他のレーシングカーと競争させ、プレーヤの操縦するプレーヤカーや他のレーシングカーのゲーム空間内の位置及び状態等を演算し、その演算結果を画像合成部80及びプレクリッピング手段40へ向け出力する。
【0063】
画像合成部80は、この演算結果及び後述するプレクリッピング手段40の演算結果に基づきゲーム画面の画像データを演算し、表示部100であるディスプレイ102上に表示させる。
【0064】
まず演算処理部20と空間情報記憶部30がゲーム空間内の表示物の位置及び状態等を演算する機能について詳しく説明する。
【0065】
3次元ゲーム空間を構成するオブジェクトにはレーシングカーなどの移動体と、レーシングコース、トンネル、壁、ビル、立木などの位置が固定のものがある。
【0066】
図3に示すように、本ゲーム装置では、各移動体は、ゲーム空間(オブジェクト空間)に設けられたワールド座標系(Xw,Yw,Zw)における位置情報(X,Y,Z)及び方向情報(θ,φ,ρ)が与えられることによりゲーム空間に設定される。各固定物は、ワールド座標系(Xw,Yw,Zw)における位置情報(X,Y,Z)が与えられることによりゲーム空間内に設定される。
【0067】
図3は、移動体であるプレーヤカーの位置及び姿勢と、位置情報(X,Y,Z)及び方向情報(θ,φ,ρ)との関係を示す図である。
【0068】
この様なゲーム空間内に配置される各移動体(プレーヤカー、他のレーシングカー等)の位置情報(X,Y,Z)、方向情報(θ,φ,ρ)及びサイズ情報等が記憶されているのが前記空間情報記憶部30の図示しない移動体情報記憶部である。
【0069】
また、この様なゲーム空間内に配置される各固定物(レーシングコース、トンネル、壁、ビル、立木など)の位置情報(X,Y,Z)及びサイズ情報が記憶されているのが前記空間情報記憶部30の図示しないマップ情報記憶部である。
【0070】
すなわち、移動体情報記憶部には、図4に示すように、i+1個の移動体の位置情報(X,Y,Z)、方向情報(θ,φ,ρ)及びサイズ情報が、各移動体に割り当てられたオブジェクトナンバーOBとともに記憶されている。また、マップ情報記憶部には、図5に示すように、n−i個の固定物の位置情報(X,Y,Z)及びサイズ情報が、各固定物に割り当てられたオブジェクトナンバーOBとともに記憶されている。
【0071】
図4、図5に示す前記サイズ情報には、その表示物の大きさに基づき複数のサイズ区分に分類するための情報が格納されており、このサイズ情報は、後述するプレクリッピング手段40で表示物をサイズ区分毎に分類して登録する際用いられる。本実施例では表示物の大きさが半径10m以下、半径10m〜30m、半径30m〜100mのいずれに該当するかによってS、M、Lの3つのサイズ区分に分類している。従って、前記サイズ情報には、S、M、Lの3つのサイズ区分のいずれに属するかを示す識別情報が格納されている。
【0072】
前記演算処理部20は、移動体情報記憶部の上記移動体の位置情報(X,Y,Z)及び方向情報(θ,φ,ρ)を、前記操作部10によって入力される操作信号やゲームプログラム等に従って、所定の時間毎に、例えば1/60秒毎に書き換えて更新する。例えば、プレイヤカーがゲーム空間内をワールド座標系のX軸方向に姿勢を変えずに移動する様子は、前記移動体情報記憶部の該当するオブジェクトナンバーの位置情報のX座標を、前記演算処理部20が移動速度に応じた所定の増分で変更記憶することで表現される。また、プレイヤカーがゲーム空間内をワールド座標系の位置座標を変えずにその場で回転する様子は、前記移動体情報記憶部に記憶された該当するオブジェクトナンバーの方向情報(θ,φ,ρ)を、前記演算処理部20が回転速度に応じた所定の増分で更新することで表現される。
【0073】
ところで、この様にゲーム空間内において各移動物が刻々と位置及び方向を変化させていく状況をゲーム画面に表示するためにはどの位置から見た画像を表示するのかという視点位置や視線方向、視野角等の視点情報が必要となる。
【0074】
本実施例では、プレーヤカーに乗車した仮想プレーヤの視点位置で画像を表示する1人称の視点表示と、プレーヤカーを後方から追従する視点位置で画像を表示する3人称の視点表示を選択出来るように形成されている。この様な視点情報は演算処理部20で演算され、前記空間情報記憶部30の図示しないフレーム情報記憶部に記憶されている。このフレーム情報も視点情報演算部22によって所定時間毎に更新される。すなわち本ゲーム装置では、プレイヤカー210の位置情報及び方向情報に基づいて前記フレーム情報に含まれる視点位置及び視線方向は更新される。この様にして、ゲーム画面には、移動する視点位置からみえる仮想3次元空間を表示した画像がリアルタイムに表示される。
【0075】
プレクリッピング手段40は、空間情報記憶部に記憶されている表示物の位置情報及び視点情報に基づき、画像合成の対象となる表示物を選別して、画像合成の際の演算処理の軽減を削減して処理時間の短縮を図るものであり、その構成は後に詳細に説明する。
【0076】
次に、画像合成部80と画像情報記憶部90の画像合成の機能について詳しく説明する。
【0077】
前記画像情報記憶部90は、ゲーム空間内の各表示物の形状及び外観にかかる情報を記憶するものであり、図示しないポリゴン情報記憶部とテクスチャ情報記憶部とを含んでいる。すなわち、本ゲーム装置においては、各表示物はポリゴンの組み合わせによってモデリングされていて、各ポリゴンにはそれぞれの表示物の外観を表すテクスチャがマッピングされる。
【0078】
前記ポリゴン情報記憶部には、各表示物の形状を表す情報として、該表示物を構成する各ポリゴンの頂点座標と、それぞれのポリゴンにマッピングするテクスチャとが対応して記憶される。前記頂点座標は各表示物にそれぞれ設けられた座標系(ボディ座標系)における各頂点の位置座標として記憶されている。
【0079】
前記テクスチャ情報記憶部には、これらのポリゴンにマッピングするテクスチャのテクスチャ情報が記憶される。ここで、テクスチャ情報とは表示物の色や模様等の情報を意味する。
【0080】
また、前記画像合成部80では、前記空間情報記憶部30及び前記画像情報記憶部90に記憶される情報及びプレクリッピング手段40で選別された表示物情報に従ってゲーム空間の情景を表す画像を合成する。
【0081】
前記画像合成部80は、まず、プレクリッピング手段によって選別された表示物の表示物情報を受け取る。この情報は後述するように、選別された表示物の表示物情報が格納されたデータ領域のアドレスが格納されているアドレスリストとして形成されている。前記、表示物情報が格納されたデータ領域とは、具体的には空間情報記憶部30の図示しない移動体情報記憶部とマップ情報記憶部に格納されている図4又は図5に示す各オブジェクトに関する情報を格納したデータ領域をさす。
【0082】
画像合成部80は前記アドレスリストに格納されている表示物の図4又は図5に示す位置及び方向情報(固定物の場合は位置情報のみでよい)を読み出して、前記表示物をを構成するポリゴンを、ワールド座標系(Xw,Yw,Zw)で表現されるゲームステージ上に配置するための演算を行う。前記表示物をを構成するポリゴンとはポリゴン情報記憶部に記憶されているポリゴンをさす。
【0083】
すなわち、前記画像情報記憶部90には、表示物を構成するポリゴンの位置情報がボディ座標系における座標情報として記憶されている。前記画像合成部80は、プレクリッピング選別手段で選別された表示これを前記空間情報記憶部30に記憶される位置情報(X,Y,Z)及び方向情報(θ,φ,ρ)に基づいて、平行移動、回転、反転、拡大、縮小等の3次元座標変換を施し、ワールド座標系(Xw,Yw,Zw)での位置座標に変換している。次に、各表示物についてそれを構成するポリゴンを所与の視点を基準とした視点座標系(Xv,Yv,Zv)へ座標変換する処理を行う。その後、クリッピング処理等を施し、スクリーン座標系(Xs,Ys)への投影変換処理を行う。そして、こうして得られたスクリーン座標系(Xs,Ys)での画像情報に基づいて前記表示部100はゲーム空間の所定の範囲を画像表示出力する。
【0084】
次に本実施例に特有の機能を有するプレクリッピング手段40の構成について説明する。前述したように、プレクリッピング手段40は、画像合成時のデータ量の削減及び処理時間の短縮を図るために、予め表示範囲に存在する表示物の選別を行なうものである。
【0085】
この様な選別を行う際、選別処理自体の処理負担が増大するとかえって処理時間の増大を招くことになるため、通常表示物の中心点で選別の有無を判断する。
【0086】
ところがこのとき次のような問題が生じる。図7は、表示領域300と大きさの異なる表示物250−L、250−M、250−Sとの関係を示した図である。 すなわち、各表示物250の一部でも表示領域300に属していれば表示対象としなければならないが、表示物の中心点で選別すると、表示物250−L、250−Mのように、その表示物の中心点が表示範囲外であっても表示物の端が表示範囲内に入っていることがある。この様な表示物の表示もれを防ぎ正確な選別を行うため、通常表示領域300にオフセット値310を加えて選別対象範囲であるプレクリッピング範囲350を設定する。ところで、この様なオフセット値を設定する場合には、中くらいの表示物250−Mに対しては310−Mのオフセット値を加えてプレクリッピング範囲350−Mを設定すればよいが、より大きな表示物250−Lに対しては、310−Lのオフセット値310を加えてプレクリッピング範囲350−Lを設定しなければならない。
【0087】
この様に、大きさの異なる表示物が混在している場合には、最も大きな表示物にあわせて、前記オフセット値310を設定する必要がある。ところが、オフセット値310を大きくとると、表示物250−Sのようにプレクリッピング範囲350−Lには入っているが、表示領域300には入っていない表示物250が画像合成の対象として多数選別されることになり、選別効率が悪化するという問題点があった。
【0088】
そこで、本実施例のプレクリッピング手段40は、表示領域300に存在する表示物を選別する際、選別処理自体の処理負担の増大を招くこと無く、正確かつ選別効率のよい選別を行うために、以下のような構成を採用している。
【0089】
すなわち、プレクリッピング手段40は、表示物情報を登録するための表示物登録メモリ70、前記表示物登録メモリ70に表示物情報を登録する表示物登録部50、前記表示物登録メモリ70から表示対象となる表示物情報を選択する表示物選択部60を含んでで構成されている。
【0090】
さらに、前記表示物登録メモリ70は、図8に示すように各表示物をその表示物の大きさが半径10m以下、半径10m〜30m、半径30m〜100mのいずれに該当するかによってS、M、Lの3つのサイズ区分に分類して登録するために、S、M、Lの各サイズ別登録メモリ72、74、76を有している。
【0091】
そして各サイズ別登録メモリ72、74、76は、各表示物の表示物情報をその位置に基づき、複数に分類して登録するための複数の登録エリア260−Sij、260−Mij、260−Lij(i、jは1〜nの自然数)を有している。
【0092】
本実施例では、表示物の位置を分類するために、オブジェクト空間を仮想的に複数のブロック220に分割している。そして、前記分割された複数のブロック220のうち表示可能性のある領域210を構成するブロック(以下登録対象ブロック390という)に存在する表示物を登録対象とする。従って、各サイズ別登録メモリ72、74、76毎に、各登録対象ブロック390に対応する登録エリア260が設けられている。なお、各登録対象ブロック390と登録エリア260は後述する所定の関数関係で1対1に対応するよう形成されているため、各サイズ別登録メモリ72、74、76の登録エリア260数は登録対象ブロック390数に等しい。
【0093】
図9は、表示領域300と表示可能性のある領域210の関係についての説明図である。表示領域300とは、画面に表示される領域のことで、視点位置230、視線方向、画角θ及び視野半径rによって決定される。表示可能性のある領域210とは、視線方向が360度いずれの方向を向いても、画面に表示される領域となる可能性のある最低表示可能性のある領域270を全て含んで設定される領域であり、この領域は、視点位置230及び視野半径rによって決定される。
【0094】
図10は、ブロックに分割したオブジェクト空間200と表示可能性のある領域210を示したXZ平面図である。本実施例はドライブゲームなので、垂直方向への移動に伴う視野範囲の変動はほとんど問題にならないため、オブジェクト空間200をX座標、Z座標の所定単位毎に、底面が正方形でY軸方向に高さを有する直方体である複数のブロック220−ij(i、jは1〜mの自然数)に分割している。
【0095】
この様な各ブロック220のうち、前述した表示可能性のある領域210を構成する各ブロックを登録対象ブロック390−ij(i、jは1〜nの自然数)として、各登録対象ブロック390−ijに対応して、各サイズ別登録メモリ72、74、76には、図8に示すようにそれぞれ登録エリア260−ijが設けられている。
【0096】
図11は、表示物登録部50がオブジェクト空間200の表示可能性のある領域210を構成する各登録対象ブロック390に存在する表示物250をS、M、Lの3つの各サイズ別登録メモリの登録エリア260に登録するイメージを示した図である。同図に示すように、オブジェクト空間200の表示可能性のある領域210を構成する各登録対象ブロック390−ijに対応して、S、M、Lの3つの各サイズ別登録メモリ72、74、76の各登録エリア260−Sij、260−Mij、260−Lijが1対1に対応している。
【0097】
例えば同図では、登録対象であるブロック390−11は、S、M、Lの3つの各サイズ別登録メモリ72、74、76の各登録エリア260ーS11、260ーM11、260ーL14が、また登録対象ブロック390−14は、S、M、Lの3つの各サイズ別登録メモリ72、74、76の各登録エリア260ーS14、260ーM14、260ーL14が対応する。
【0098】
このときブロック390−11内に存在する表示物250−Sと250−Lは、その大きさがそれぞれ、半径10m以下、と半径30m〜100mに属するとすれば、それらはそれぞれ、サイズ別登録メモリ(S)72の登録エリア260−S11、サイズ別登録メモリ(L)の登録エリア260−L11に登録される。また、登録対象ブロック390−14内に存在する表示物250−Mの大きさが半径30m〜100mに属するとすれば、それはサイズ別登録メモリ(M)74の登録エリア260−M14に登録される。
【0099】
表示物登録部50は前述したような表示物250の登録処理を行っているが、実際は視点位置が移動して登録対象ブロック390の集合(全登録対象ブロック390を表しており以下登録対象ブロック群400という)も変動しているため、各登録対象ブロック390と登録エリア260の対応関係を考慮して、効率よく登録処理を行うため、以下のように構成されている。
【0100】
すなわち、表示物登録部50は、表示可能性のある領域210を構成するブロック220を登録対象ブロック390として決定する登録対象ブロック決定部52と、登録対象ブロック群400に存在する固定表示物の表示物登録メモリ70への登録を行う固定物登録部54と、前記登録対象ブロック群400に出入り又はその中で移動した移動表示物の表示物登録メモリ70への登録、消去を行う移動物登録部56とを有する。
【0101】
登録対象ブロック決定部52は、演算処理部20が演算した視点位置230の情報を受け取り、所定の視野半径rに基づき登録対象ブロック390を決定する。
【0102】
図10に示すように、表示可能性のある領域210は視点位置230の移動によって変動するものである。各サイズ別登録メモリ72、74、76は、登録対象ブロック群400に対応して設けられているため、視点位置230の変動によって、表示可能性のある領域210が変動すると、それに応じて登録対象ブロック群400を更新する必要がある。従って、登録対象ブロック決定部52は、表示可能性のある領域210の変動に応じて登録対象ブロック群400を更新するよう動作する。
【0103】
図12は、視点位置230の移動と登録対象となるブロック群400の更新の関係を示した図である。ここでは、登録対象ブロック390−a内の視点が230−aから230−b、さらに登録対象ブロック390−b内の230−cへと移動する様子と、登録対象ブロック決定部52が決定する登録対象ブロック群400の更新動作との関係が示されている。
【0104】
視点位置が230−aから230−bに移動しても、同じ登録対象ブロック390−aなので、このときは登録対象ブロック決定部52は登録対象ブロック群400−aを更新しない。ところが視点位置が230−bから230−cに移動すると、視点位置が登録対象ブロック390−aから登録対象ブロック390−bに移動するので、登録対象ブロック決定部52は、登録対象ブロック群を400−aから400−bに更新する。
【0105】
固定物登録部54は、前記登録対象ブロック決定部52が決定した登録対象ブロック群400内に存在する固定表示物を各サイズ別登録メモリ72、74、76の所定の関数関係で対応する登録エリア260への登録を以下のように行う。
【0106】
なお、固定表示物の位置情報及び、後述するサイズ情報は、図4に示す、空間情報記憶部30の図示しないマップ情報記憶部に格納した情報であるオブジェクトナンバー(表示物に対応して設けられている)に対応した位置情報、サイズ情報から得られる。
【0107】
まず前記位置情報に基づき、登録対象となる表示物の決定を行う。処理開始時には各サイズ別登録メモリ72、74、76の全登録エリア260には何も登録されていない状態なので、登録対象ブロック群400に存在する表示物を登録対象とする。すなわち、図12において処理開始時に視点位置が230−aであったとすると、登録対象ブロック群400−aに存在する表示物を登録対象とする。
【0108】
その後は、視点位置230の属する登録対象ブロック390が変動した場合に、その視点位置230の変動により、新たに加わった登録対象ブロック390に存在する表示物を登録対象とする。すなわち、図12において視点位置230が230−bから230−cに移動すると、登録対象ブロック群400−bの斜線部分が新たに加わった登録対象ブロック390なので、その登録対象ブロック390に存在する表示物を登録対象とする。
【0109】
次に、前記登録対象となる表示物を、そのサイズ情報に応じてS、M、Lのいずれかのサイズに分類し、登録すべきサイズ別登録メモリ(S)72、(M)74、(L)76を決定する。なお、本実施例では、各表示物をその表示物の大きさが半径10m以下、半径10m〜30m、半径30m〜100mのいずれに該当するかによってS、M、Lの3つのサイズ区分に分類している。
【0110】
そして該当するサイズ別登録メモリ72、74、76の所定の登録エリア260にその表示物情報の登録を行う。ここにおいて、所定の登録エリア260とは、表示物の存在するブロック220(登録対象ブロック390)が所定の関数関係で対応する登録エリア260のことであり、この対応関係について以下に説明する。
【0111】
前述したように、各サイズ別登録メモリ72、74、76のの登録エリア数は登録対象ブロック群400を構成するブロック数分設けられており、登録対象ブロック群400は視点位置230の変動によって変動するものである。従って、各登録エリア260と各登録対象ブロック390をどの様に対応させるかが問題となる。さらに、一旦登録した表示物情報の物理的位置を変更することは、登録のための処理が増えるため好ましくない。そこで、本実施例では、以下のように各登録対象ブロック390と各登録エリア260を対応させている。
【0112】
すなわち各サイズ別登録メモリ72、74、76に、登録エリア260をn×n個設け、オブジェクト空間200をX座標、Z座標の所定単位毎に、m×mのブロックに分割する。そしてオブジェクト空間内の任意のブロック(xi、zi)(xi、ziは1〜mの自然数)を、各サイズ別登録メモリ72、74、76の登録エリア(x’、z’)(x’、z’は1〜nの自然数)に次に示す関数関係(1)(2)で対応させる。
【0113】
x’ = mod(xi、n) … (1)
z’ = mod(zi、n) … (2)
この様にすると、登録対象ブロック群400を構成する各登録対象ブロック390(xi、zi)と登録エリア260(x’、z’)は常に1対1に対応することになり、一旦登録した表示物情報の物理的位置を変更する必要はない。
【0114】
図13は前記対応関係を具体的に説明した図である。図13(A)は、視点位置230の移動に伴って登録対象ブロック群400の変化する様子を示した図であり、視点位置が230−1、230−2、230−3の時の登録対象ブロック群がそれぞれ400−1、400−2、400−3であることを表している。
【0115】
図13(B)は、視点位置が230−1の時、登録対象ブロック群400−1を構成する各登録対象ブロック390(xi、zi)に対応するサイズ別登録メモリ72(74、76)の登録エリア260(x’、z’)を示した図である。
【0116】
なお、説明を簡単にするため7×7の登録エリアを有するサイズ別登録メモリ72、74、76と、7×7の登録対象ブロック390を有する登録対象ブロック群400を仮定して説明する。
【0117】
また説明を簡単にするため、登録対象ブロック群400−1を構成する各登録対象ブロック390(xi、zi)(xi、ziは1〜7の自然数)、オブジェクト空間内のブロック(1、1)〜(7、7)に対応しているものとし、視点位置が230−1の時を処理開始時とする。従って、図13(B)のサイズ別登録メモリ72(74、76)の登録エリア(x’、z’)(x’、z’は1〜7の自然数)は、オブジェクト空間内のブロック(1、1)〜(7、7)と対応していることになる。
【0118】
例えば、図13(A)におけるUの登録対象ブロック390(1、1)は、図13(B)の各サイズ別登録メモリ72(74、76)のU’の登録エリア(1、1)と対応している。
【0119】
図13(C)は、図13(A)において視点位置が230−2になった時、新たな登録対象ブロック群400−2を構成する各登録対象ブロック390(xi、zi)に対応するサイズ別登録メモリ72(74、76)の登録エリア260(x’、z’)を示した図である。また、図13(D)は、図13(A)において視点位置が230−3になった時、新たな登録対象ブロック群400ー3を構成する各登録対象ブロック390(xi、zi)に対応するサイズ別登録メモリ72(74、76)の登録エリア260(x’、z’)を示した図である。
【0120】
図13(A)において視点位置が230−1から230−2になった時、新たに登録対象ブロック390となったのはa〜mのブロックである。前述したようにUは登録対象ブロック390(1、1)とすると、aは登録対象ブロック390(2、8)となり、対応するサイズ別登録メモリの登録エリア(x’、z’)は前記(1)(2)式より
x’ = mod(2、7) = 2
z’ = mod(8、7) = 1
となり、図10(C)のサイズ別登録メモリの登録エリア(2、1)のa’が対応する。b〜mのブロックについても同様にサイズ別登録メモリ72(74、76)の登録エリアb’〜m’がそれぞれ対応する。サイズ別登録メモリ72(74、76)の登録エリアa’〜m’は視点位置が230−1から230−2に移動することによって、登録対象から外れたブロックに対応した登録エリア260であり、他の登録エリア260の対応関係は図13(B)状態と変わらない。
【0121】
図13(A)において視点位置が230−2から230−3になった時、新たに登録対象ブロック390となったのはn〜tのブロックである。前述したようにUは登録対象ブロック390(1、1)とすると、nは登録対象ブロック390(2、9)となり、対応するサイズ別登録メモリ72(74、76)の登録エリア(x’、z’)は前記(1)(2)式より
x’ = mod(2、7) = 2
z’ = mod(9、7) = 2
となり、図10(C)のサイズ別登録メモリ72(74、76)の登録エリア(2、2)のn’が対応する。o〜tのブロックについても同様にサイズ別登録メモリ72(74、76)の登録エリアo’〜t’がそれぞれ対応する。サイズ別登録メモリ72(74、76)の登録エリアn’〜t’は視点位置が230−2から230−3に移動することによって、登録対象から外れたブロックに対応した登録エリア260であり、他の登録エリア260の対応関係は図13(C)状態と変わらない。
【0122】
この様に、今回登録対象から外れたブロックに対応する登録エリア260が、新たに登録対象となったブロック対応する登録エリア260に用いられて(以下登録エリアを使い回すという)、それ以外の登録エリア260は、前回と同様のブロックに対応している。従って、固定物は、原則として(一旦登録対象ブロック390から外れたブロック220が再び登録対象ブロック390になるような場合を除く)1度登録すれば再び登録しなくてもよい。
【0123】
次に表示物情報の登録の具体的方法について説明する。図14(A)(B)は、該当するサイズ別登録メモリ72(74、76)に表示物情報を登録する様子を簡単に示した図である。同図に示すように本実施例では、各表示物(D1〜D2)情報のデータ格納領域510をチェーンでつないだリスト構造となるよう、表示物情報500の登録を行っている。
【0124】
図14(A)は、サイズ別登録メモリ72(74、76)の該当する登録エリア260−aにまだ何も登録されていない場合に、表示物D1の表示物情報500ー1を当該登録エリア260−aに登録する様子を示している。表示物情報500は、自己のデータ格納領域510のアドレスを格納した自己のアドレス520、次にチェーンされる表示物情報のデータ格納領域のアドレスを格納したnextアドレス520、自己の表示物情報が格納されているデータ領域530を含んで形成されている。
【0125】
サイズ別登録メモリ72(74、76)への、表示物D1の表示物情報500の登録は、該当する登録エリア260−aに、表示物D1の自己のデータ格納領域のアドレス520を、書き込むことによって行われる。
【0126】
図14(B)は、登録エリア260−aに、すでに表示物D1の表示物情報500ー1が登録されている時に、さらに表示物D2の表示物情報500−2を登録する様子を示している。
【0127】
この様な場合は、まず登録エリア260−1に書き込まれているアドレスP(D1)を、D2の表示物情報500のnextアドレス530に書き込む。そして、D2の表示物情報500の自己のアドレス520に格納されているP(D2)を、登録エリア260−aに書き込む。従って、登録エリア260−aに格納されているアドレスから表示物D2の表示物情報500−2がチェーンされ、さらにこの表示物D2の表示物情報500−2のnextアドレス530に格納されているアドレスから、先に登録された表示物D1の表示物情報500−1がチェーンされる。本実施例では、このようにして、複数の表示物の表示物情報を1の登録エリアへの登録を行っている。
【0128】
移動物登録部56は、前記登録対象ブロック決定部52が決定した登録対象ブロック群400内に存在する移動表示物を各サイズ別登録メモリ72、74、76の所定の関数関係で対応する登録エリア260への登録を以下のように行う。
【0129】
なお、移動表示物の位置情報及び、後述するサイズ情報は、図4に示す、空間情報記憶部30の図示しない移動物情報記憶部に格納した情報であるオブジェクトナンバー(表示物に対応して設けられている)に対応した位置情報、サイズ情報から得られる。
【0130】
まず前記位置情報に基づき、登録及び消去の対象となる表示物の決定を行う。移動物の場合は移動の可能性があるので、現在登録されている移動物について、その位置が移動しているかどうか調べる。移動していなければ、登録はそのままでよく消去する必要はない。しかし、移動していれば、登録を消去する必要がある。そして、移動により新たに登録対象ブロック群400に存在するようになったもの(前回も登録対象ブロック群400に存在していたが前回と今回では異なる登録対象ブロック390に存在するので、前回の登録を消去されたものも含む)の登録を行う。
【0131】
なお、移動物が存在する登録対象ブロック390と各サイズ別登録メモリの登録エリア260との対応関係及び登録の具体的方法は、固定物のところで説明したのと同様である。また、移動物の登録の消去については、図14(B)の状態から(A)の状態に変更することで、D2の表示物情報の消去を行うことが出来る。
【0132】
次に、表示物登録メモリ70から表示対象となる表示物情報を選択する表示物選択部60の構成について説明する。
【0133】
表示物選択部60は演算処理部20が演算した視点情報を受け取り、各サイズ別登録メモリ72、74、76毎に、表示対象となる登録エリア260を選択し、その登録エリア260に登録されている表示物を画像合成部80が画像合成を行う対象として選別する。本実施例の表示物選択部60は、サイズ別に異なる選別基準を採用して、選択を各表示物単位ではなくて登録エリア260単位で行う。
【0134】
さらに、選別処理をより簡単にしてパターン化した処理が行えるよう、視点が存在するブロック(以下視点ブロック220−sという)を基準としてプレクリッピング範囲350の設定を行っている。すなわち、サイズ及び視線情報が同じ場合、視点ブロック220−sが同じであれば、視点位置230が異なっても選別されるブロックは同じになるよう形成されている。しかし、視点ブロック220−sを基準にしてプレクリッピング範囲350を設定すると、表示領域300に対してオフセット値を多くとる必要がある。
【0135】
図15は、視点ブロック220−sを基準にしてプレクリッピング範囲350を設定する場合に必要となる表示調整領域340の設定方式の説明図である。
【0136】
同図には、視点ブロック220−sが同一でも、その視点位置230−1〜230−5によって、対応する表示領域300が異なる様子が示されている。従って視点ブロック220−sの中心に視点位置230−1があるとして、表示範囲を設定すると、視点位置230が他の位置230−2、230−3等にある場合、表示もれが生じる可能性があるため、図15の斜線範囲を表示調整領域340として、前記表示調整領域340をも含めて表示領域300を設定する必要がある。
【0137】
この表示調整領域340は、後ろへのオフセット値C1と後ろのクリップラインのオフセット値C2で表される。ここにおいてC1、C2の値はブロック220の大きさによって定まり、ブロック220の横x,縦zの長さを共にBLとすると、
C1 = BL
C2 = 1/2 × BL
で与えられる。本実施例では、各ブロックを約32m×32mに設定しているので、C1は約32m、C2は約16mになる。
【0138】
次に、前記表示調整領域340を考慮して、どの様にしてサイズ別に異なるプレクリッピング範囲350を設けているか説明する。
【0139】
前述したように、大きさの異なる表示物が混在している場合は、モニターの表示範囲にその中で最も大きな表示物にあわせたオフセット値を設けてプレクリッピング範囲350を設定する必要がある。
【0140】
本実施例では、表示物の大きさが半径10m以下、半径10m〜30m、半径30m〜100mのいずれに該当するかによってS、M、Lの3つのサイズ別登録メモリ72、74、76にわけて登録を行っているので、各サイズ別登録メモリ72、74、76毎に最適なオフセット値を設けてプレクリッピング範囲350を設定することが出来る。
【0141】
図16、図17、図18は、表示物の大きさと、最適なプレクリッピング範囲350の関係を示した図であり、図16は、半径10m以下の表示物を登録しているサイズ別登録メモリ(S)72の登録エリア260を選別するために、登録対象ブロック群400に設定する最適なプレクリッピング範囲350−Sを示した図である。
【0142】
最適なプレクリッピング範囲350を設定する際、まず視点位置230−p、画角θ、視野半径r及び視線情報によって決定される本来の表示領域300に、前記表示調整領域340を加味して仮表示領域360を設定する。
【0143】
さらに、サイズ別登録メモリ(S)72に登録されている表示物で最も大きな表示物は半径が10mの表示物であるので、前記仮表示領域360に対して、これにあわせたオフセット値を設定して、プレクリッピング範囲350−Sを設定すると、正確でもれのない選別を行うことが出来る。
【0144】
本実施例では、画角θは80度、最大視野半径を400mとしているが、半径10m以下の表示物に対しては最遠方まで表示する必要はないためSサイズ選別のための視野半径rについては350mとしている。
【0145】
ここで仮表示領域360に対して、後ろへのオフセット値O1’及び後ろのクリップライン値O2’を設定して、プレクリッピング範囲350−Sを設定する場合の設定方式の例を説明する。サイズ別登録メモリ(S)72に登録される表示物の最大半径は10mであるので、表示物250−Sの半径rsを10mとすると、この表示物250−Sを選別もれしないO1’、O2’を設定してプレクリッピング範囲350−Sを設定すればよいことになる。
【0146】
図16より、
α = 1/2 × θ … (3)
Sh = O1’Sinα … (4)
となるので、表示物250−sを選別もれをしないO1’を設定するためには、shが少なくとも表示物250−sの半径Sr以上である必要があるため、
Sh = Sr … (5)
とすると、(3)〜(5)より
O1’= Sr/Sinα
さらに本来の表示領域300に対してプレクリッピング範囲350−Sを設定したときにとる後ろへのオフセット値をO1及び後ろのクリップライン値をO2、表示調整領域340の後ろへのオフセットを値C1及び後ろのクリップラインのオフセット値をC2で表すとすると
O1 = O1’+ C1
O2 = O2’+ C2
となる。従って、視点ブロック220−sを基準として、プレクリッピング範囲350−sを設定する場合は、本来の表示領域300に対して、前記オフセット値O1、O2を加えて、プレクリッピング範囲350−Sを設定すればよい。
【0147】
図17は、半径10m〜30mの表示物を登録しているサイズ別登録メモリ(M)74の登録エリア260を選別するために、登録対象ブロック群400に設定する最適なプレクリッピング範囲350−Mを示した図である。この場合も図16の場合と同様にして最適なプレクリッピング範囲350−Mを設定している。
【0148】
図18は、半径30m〜100mの表示物を登録しているサイズ別登録メモリ(L)76のの登録エリア260を選別するために、登録対象ブロック群400に設定する最適なクリッピング範囲350−Lを示した図である。この場合も図16の場合と同様にして最適なプレクリッピング範囲350−Lを設定している。
【0149】
以上により各サイズ別に最適なプレクリッピング範囲350の形状が決定されているので、あとは視線情報に基づき、前記プレクリッピング範囲350を、視点位置230を視点ブロック220−sの中心に設定して、登録エリア260を選別することになる。
【0150】
次に、プレクリッピング範囲350を登録対象ブロック群400に設定して、登録エリア260を選別する方式について説明する。
【0151】
図19は、前記プレクリッピング範囲350を登録対象ブロック群400に設定して登録対象ブロック群400から表示対象となるブロック220を選別する様子を示した図である。視点ブロック220−sは登録対象ブロック群400の中心のブロックなので、前記プレクリッピング範囲350の視点位置230−pを視点ブロック220−sの中心にあわせて、前述Sサイズのプレクリッピング範囲350−S、Mサイズのプレクリッピング範囲350−M、Lサイズのプレクリッピング範囲350−Lを設定する。このとき、各サイズのプレクリッピング範囲350に少しでも入っているブロック220は、表示対象となる表示物が含まれている可能性があるので、表示対象ブロックとする必要がある。
【0152】
従って、図19に示すように、Sサイズについて登録対象となるブロックはブロックSBの集合で、Mサイズについて登録対象となるブロックはブロックSBとブロックMBの集合で、Lサイズについて登録対象となるブロックはブロックSBとブロックMBとブロックLBの集合となる。
【0153】
ところで各登録対象ブロック390と各サイズ別登録メモリ72、74、76の登録エリア260は、前述したように所定の関数関係で1対1に対応しているので、表示対象となるブロックが決まれば、対応する登録エリア260も一意的に決まる。
【0154】
従って、表示物選別部60は、図16〜図18に示すサイズ別のプレクリッピング範囲350を、その視点位置230−pを視点ブロック220−sの中心点にあわせて視線情報に基づき、図19に示すようにして、前記プレクリッピング範囲350−S〜350−Lを登録対象ブロック群400に設定し、表示対象となるブロックを決定する。
【0155】
そして、各サイズ別登録メモリ72、74、76毎に、前記表示対象となるブロックに対応している登録エリア260を表示対象として選別し、前記登録エリア260に登録されている表示物を、画像合成処理を行う対象として選別するよう形成されている。
【0156】
ところで、本実施例において、表示物選択部60は、視線情報に基づき、表示対象となる登録エリア260を特定するデータが予め各サイズ別登録メモリ72、74、76毎に、記憶された表示対象特定データ記憶部62を有し、登録エリア260の選別処理の高速化を図っている。
【0157】
すなわち、視点ブロック220−s常に、登録対象ブロック群400の中心にあるので、視線方向さえ決まれは、前記各サイズ別のプレクリッピング範囲350−S〜350−Lを登録対象ブロック群400に設定することにより、表示対象となるブロックの視点ブロック220−sからの相対位置は決まっている。従って本実施例では、各サイズ別に、視線方向に対応した表示対象となるブロックの視点ブロック220−sからの相対位置を、表示対象特定データ記憶部62に予め記憶させておき、表示物選択部62では以下のような処理を行っている。
【0158】
表示物選択部62は、演算処理部20から視点情報をうけとると、その視線情報に基づき、表示対象特定データ記憶部62から、各サイズの表示対象となるブロックの視点ブロック220−sからの相対位置を読み出す。次に視点情報に基づき、視点ブロック220−sに対応する登録エリア(以下視点登録エリア260−sという)を前記(1)(2)式より求める。そして、各サイズ別登録メモリ72、74、76の視点登録エリア260−sと前記視点ブロック220−sからの相対位置に基づき、対応する登録エリア260を選別する。
【0159】
図20(A)(B)は、表示対象となるブロック420の視点ブロック220−sからの相対位置と、対応する登録エリア260の関係を示した図である。
【0160】
同図(A)には、登録対象ブロック群400(n×n)の表示対象となるブロック420(斜線部分)が示されている。前記表示対象特定データ記憶部62には、この表示対象となるブロック420(斜線部分)を特定するデータ、すなわち各表示対象となるブロック420の視点ブロック220−sからの相対位置が格納されている。視点ブロック220−sからの相対位置というのは、視点ブロック220−sを(0、0)としたときの各ブロックの位置で、例えば図20(A)のB45のブロックの視点ブロック220−sからの相対位置は(0、1)で与えられる。
【0161】
同図(B)は、各サイズ別登録メモリ72(74、76)の対応する登録エリア(n×n)を示した図であり、視点ブロック220−sからの相対位置(x、z)のブロックに対応する登録エリア260の位置を(x’、z’)、視点ブロック220−sに対応する視点登録エリア260−sの位置を(sx’、sz’)とすると、
x’ = mod(sx’+x,n) … (6)
z’ = mod(sz’+z,n) … (7)
で与えられる。
【0162】
(6)(7)より、図20(A)の斜線部分に対応する登録エリアを求めると、図20(B)の斜線部分となる。
【0163】
表示物選択部60は、この様にして、各サイズ別登録メモリ72、74、76毎に表示対象となる登録エリア260を選別すると、当該登録エリア260に登録されている表示物情報を読み出して、画像合成の対象となる表示物情報として画像合成部80に送る。
【0164】
なお、表示物選択部60が登録エリア260に登録されている表示物情報を読み出す方式を、図14(B)の場合を例に取り説明する。同図に示すように、登録エリア260−aに表示物D1とD2の表示物情報500ー1、500−2が登録されているときは、表示物選択部60は、以下のようにして表示物情報500ー1、500−2を読み出す。
【0165】
まず登録エリア260−aに格納されているデータを読み出して、アドレスデータが格納されていれば、当該アドレスデータ(この場合P(D2))を、図示しない記憶エリアに格納する。これで表示物D2のデータ格納領域510のアドレスP(D2)が取り出せたことになる。
【0166】
次にアドレスP(D2)で示されるデータ格納領域のnextアドレス530に格納されているデータを読み出して、end情報でなければ格納されているアドレスデータ(この場合P(D1))を図示しない記憶エリアに格納する。これで表示物D1のデータ格納領域510のアドレスP(D1)が取り出せたことになる。
【0167】
次にアドレスP(D1)で示されるデータ格納領域のnextアドレス530に格納されているデータを読み出して、end情報でなければ格納されているアドレスデータ(この場合はエンド情報)を図示しない記憶エリアに格納する。この場合はエンド情報なので、ここで登録エリア260−aに登録されている表示物情報の取り出し処理を終える。
【0168】
この様にして、当該登録エリアにチェーンされている表示物情報500を全て読み出すと、次の登録エリア260について前記取り出し処理を繰り返す。このようにして、S、M、Lの各サイズ別登録メモリ72、74、76の表示対象となっている全登録エリア260について、前記取り出し処理が終了すると、図示しない記憶エリアには、選別された表示物の表示物情報500が格納されているデータ格納領域510のアドレスリストが作成されており、このアドレスリストが画像合成部80に送られる。
【0169】
以上が、本実施例のプレクリッピング手段40の構成及び機能であり、以下その特徴的な作用について説明する。
【0170】
本実施例のプレクリッピング手段40では、画像合成処理を行う対象となる表示物を選択する際、その表示物の大きさによって選択基準を変えているため、表示対象となる表示物の選別効率を向上させることが出来る。
【0171】
また本実施例のプレクリッピング手段40は、複数のサイズ別登録メモリ72、74、76を有し、表示物登録部50は、表示物の大きさが対応するサイズのサイズ別登録メモリ72、74、76にの登録エリア260に表示物を登録する。そして表示物選択部60は、表示対象なる登録エリア260を選び、当該登録エリア260に登録された表示物を画像合成の対象として選択するよう形成されている。このため、表示物選択部60が登録エリア260を選択する際、各サイズ別登録メモリ毎に選択基準を変えることで、表示対象となる表示物の選別効率を向上させ、正確な選別を行うことが出来る。
【0172】
また、本実施例のプレクリッピング手段40では、表示物の登録エリアへの登録は、表示物の位置が固定している場合は1フレームの画像合成毎に行う必要はない。また、表示物の選択は個々の表示物単位では無く登録エリア260単位で行う。従って毎回全ての表示物に対して、選択処理を行う場合に比べて、演算処理が減少し、処理時間の短縮を図ることが出来るよう形成されている。
【0173】
すなわち、例えば毎回全ての表示物について位置情報に基づき選択処理を行う場合は、各フレーム毎にすべての表示物について処理が必要となる。これに対し、本実施例においては、表示物を選別するために、表示物の登録エリア260への登録と、登録エリア260の選別と、登録エリア260に登録された表示物情報の取り出しが必要となるが、前記実施例で説明した構成をとることにより、これらをあわせても、前者の場合より、演算処理が少なくてすむよう形成されている。
【0174】
また本実施例の登録エリア260は、オブジェクト空間200を複数のブロック220に分割したときの各ブロック220に所定の関数関係で対応するように設けられているため、一旦分割されたブロックは、視点位置や、表示可能性のある領域210の変動によっては、変化しない。このため、各ブロック220と各登録エリア260を固定的に結びつけることにより、同一物は原則として1回だけ登録を行えばよいよう形成することができる。従って、選別のためにフレーム毎に登録する必要はなくなるので、演算負荷の軽減を図ることが出来る。
【0175】
また、本実施例の固定物登録部54では、表示物の登録エリア260への登録は、新たに表示可能性の生じた表示物に対して行い、登録対象ブロック群400の変動に応じて、登録エリア260を使い回すことにより、有効なメモリ資源の活用を図ることが出来る。
【0176】
また本実施例の表示物選別部60は、登録エリア260を選択する際に視点位置230そのものを基準とするのではなく、視点ブロック220−sを基準としているので、ブロック220単位で画一的な処理を行い、演算処理を削減し、処理時間の削減を図るうことができる。すなわち視点ブロック220−sを登録対象ブロック群400の中心とすると、視線方向が定まれば、表示対象となるブロックは、前記実施例で説明したように一意的に定まるので、演算自体が簡単で、また一度パターン化すれば、視点位置230毎に演算する必要が無いからである。
【0177】
また本実施例の固定物登録部54は、処理開始時には登録対象ブロック390に存在する全表示物を登録対象とし、その後は、視点ブロック220−sが変動した場合に、その視点位置の変動により、新たに登録対象ブロック390になったブロック220に存在する表示物を登録対象として、同一物の登録処理の重複を避け効率的な演算処理を行っている。
【0178】
また本実施例の表示物選択部60は、表示対象となる登録エリア260を特定するためのデータを、予め表示対象特定データ記憶部62に記憶させておくことで、演算処理を削減し、処理時間の短縮を図るよう形成されている。
【0179】
さらに本実施例では表示物登録部50に、移動物登録部56を設け、表示物が移動した場合でも、不具合を生じることなく移動位置に応じた画像表示を行うよう形成されている。
【0180】
2.第2実施例
前記第1実施例では、表示物選択部62は視点ブロック220−sの位置に基づき登録エリア260の選別を行うよう形成されているゲーム機を説明したが、第二実施例では、1つのブロックをさらに複数のサブブロックSBに区分して視点位置230がどのサブブロックSBに属するかに基づき登録エリア260の選別を行うよう形成されているゲーム機について説明する。
【0181】
前記第1実施例のようにすると、前述したように演算処理の削減効果がある。この場合、視点ブロック220−sが同じでも視点位置230が異なることにより異なる表示領域300の最大公約数となる範囲をプレクリッピング範囲350としなければならない。従って、図15に示す表示調整領域340を設けてプレクリッピング範囲350を設定して、表示物の表示もれをふせいでいた。
【0182】
しかし、広い表示調整領域340を設けるてプレクリッピング範囲を設定すると、表示領域の端付近に対応する登録エリア260には、表示対象でない表示物がたくさん登録されている可能性がある。この様な表示対象でない表示物をなるべく選別しないためには、ブロック220を細かくとるという方式も考えられるが、選別のための演算処理が増加し処理時間の増大を招く。
【0183】
そこで、第二実施例では、ブロック自体を小さくせずに、視点ブロック220−s内を複数のサブブロックSBに仮想分割して、視点の存在するサブブロックSBに応じた適切な表示調整領域340を設けてプレクリッピング範囲350を設定し、各登録エリア260の選別を行うよう形成している。
【0184】
図21は、視点の存在するサブブロックSBと表示領域300の関係を示した図である。同図では、視点ブロック220−sを4つのサブブロックSB−UL、SB−DL、SB−UR、SB−DRに仮想分割し、各サブブロックSBの中心点に視点位置230−UL、230−DL、230−UR、230−DRが存在した場合の表示領域300−UL、300−DL、300−UR、300−DRを示している。この様に視点ブロック220−sが同一であっても、属するサブブロックSBが異なることで表示領域300はかなり異なっている。
【0185】
例えば、表示物250−1は視点位置が230−DLのときは表示領域300−DLに入っており、表示対象となるが、視点位置が230−UL、230−UR、230−DRのときは表示領域300−UL、300−UR、300−DRに入っておらず、表示対象とならない。また、表示物250−2は視点位置が230−ULのときは表示領域300−ULに入っておらず、表示対象とならないが、視点位置が230−DR、230−UR、230−DLのときは表示領域300−DR、300−UR、300−DLに入っており、表示対象となる。
【0186】
第一実施例では、図15に示すように、これらをすべてカバーできるように、表示調整領域340を設けてプレクリッピング範囲350を設定していたため、本来なら表示対象外の表示物250も多数選別される可能性があった。
【0187】
これに対し第二実施例では、1つのサブブロックSB内のどこに視点位置230が存在しても全てカバー出来るように表示調整領域340をもうけてプレクリッピング範囲350を設定すればよい。前述したように、表示調整領域340を決定する後ろへのオフセット値C1と後ろのクリップラインのオフセット値C2は、カバーしなければならないブロックの横x,縦zの長さによって定まる。従って、第二実施例の場合は、サブブロックの横x,縦zの長さによって定まることになり、第二実施例のC1、C2の値は第一実施例の1/2でよいことになる。
【0188】
すなわち第二実施例では、第一実施例に比べ、狭い表示調整領域340を設けてプレクリッピング範囲350を設定することができる。従って本来なら表示対象外の表示物が多数選別される可能性が減り、選別効率を上げることが出来る。
【0189】
このように、視点位置230がどのサブブロックSBに属するかに基づき登録エリア260の選別を行うよう形成されたゲーム機を実現するため、第二実施例においては、以下のような構成を採用しているが、機能ブロック図自体は、図2に示す第一実施例と同様である。
【0190】
すなわち、図2に示す第一実施例のプレクリッピング手段40の表示物登録部50や表示物登録メモリ70等の他の構成及び機能は、第二実施例も同様である。また、その他の操作部10、演算処理部20、空間情報記憶部30、画像合成部80、画像情報記憶部90、表示部100の構成及び機能も、第一実施例と同様である。
【0191】
前記第1実施例と異なるのは、図2の表示物選択部62の機能及び構成である。第二実施例においても、登録エリア260の選別処理の高速化を図るために、表示物選択部60は、視線情報及び視点が存在するサブブロックSB区分に基づき、表示対象となる登録エリア260を特定するデータを予め各サイズ別登録メモリ72、74、76毎に表示対象特定データ記憶部62に記憶させておくよう形成されている。
【0192】
すなわち、視点ブロック220−sは常に、登録対象ブロックの中心にあるので、視線方向及びサブブロック区分さえ決まれば、前記第二実施例における表示調整領域340を加味してプレクリッピング範囲350がきまる。このプレクリッピング範囲350の視点位置230−pを、視点ブロックのサブブロックSBの中心に設定すると、図19に示したのと同方式で表示対象となるブロック420が決定され、前記表示対象となるブロック420の視点ブロック220−sからの相対位置も決まってくる。従って、第二実施例でも、表示対象特定データ記憶部62には、各サイズ別登録メモリ72、74、76毎に、視線情報及び視点が存在するサブブロック区分毎に、表示対象となるブロックの視点ブロック220−sからの相対位置が記憶されている。
【0193】
第二実施例においては、表示物選別部60は、まず視点位置により、サブブロック区分を確定し、視線情報に基づき、各サイズ別に、前記表示対象特定データ記憶部62に格納された表示対象となるブロック420の視点ブロック220ーsからの相対位置を読み出す。
【0194】
そして、視点ブロック220−sに対応する視点登録エリア260−sを求める。すると視点ブロック220−sからの相対位置によって決定される表示対象となるブロック420に対応する登録エリア260は、視点登録エリア260−sからの相対位置によって決定される。従って、各サイズ別登録メモリ72、74、76毎に、前記表示対象となるブロック420の視点ブロック220−sからの相対位置に基づき、前記ブロックに対応している登録エリア260を表示対象として選別し、前記登録エリア260に登録されている表示物を、画像合成処理を行う対象として選別するよう形成されている。
【0195】
表示物選別部60をこのように形成することで、視点位置230の存在するサブブロックSBに応じた適切な登録エリア260の選別を行うことができ、本来なら表示対象外の表示物が多数選別される可能性が減り、選別効率を上げることが出来る。
【0196】
なお、本実施例では、1つのブロックを各辺の中点を結んで4等分して4つのサブブロックSBに区分して、視点位置がどのサブブロックSBに属するかによって、登録エリア260の選別基準を変える場合を例に取り説明したが、サブブロックSBの数及び区分方法はこれに限られない。サブブロックSBの数を増やす程、選別効率は上昇するが、本実施例のように予め表示対象特定データ記憶部62に選別情報格納しておく場合はメモリの増加を招き、演算で選別情報を求める場合は演算処理負担が増加するため、これらを考慮して、最適なサブブロックSBの数を設定することが好ましい。また、各サイズ別登録メモリ72、74、76毎に、サブブロックSB数を変えるように形成してもよい。
【0197】
本発明は上記実施例に限定されるものではなく、各種の変更実施が可能である。
【0198】
例えば、前記実施例では、表示物のサイズを表示物の大きさが半径10m以下、半径10m〜30m、半径30m〜100mのいずれに属するかによって、S、M、Lの3種類に区分して、選別基準を変える場合を例に取り説明したが、サイズ区分の数及び区分方法はこれに限られない。オブジェクト空間内に配置する表示物の大きさ及び大きさのばらつきその他の要素を考慮して、最適なサイズ区分の数及び区分方法を設定することが好ましい。
【0199】
なお、この場合、表示物の大きさによっては選別基準を変えない場合、すなわち1のサイズ区分のみで実施した場合も本発明の範囲に含まれるものとする。第一実施例を1のサイズ区分のみで実施した場合は、表示物の登録エリアへの登録は、表示物の位置が固定している場合は1フレームの画像合成毎に行う必要は無く、選択は個々の表示物単位では無く登録エリア単位で行われる。従って、画像合成の対象となる表示物を選択する際、毎回全ての表示物に対して、選択処理を行う場合に比べて、演算処理が減少し、処理時間の短縮を図ることが出来る。
【0200】
また、表示物の大きさによっては選別基準を変えない場合に、前記第二実施例を適用して、視点位置230の存在するサブブロックSBに応じた適切な登録エリア260の選別を行うよう形成してもよい。このようにしても、本来なら表示対象外の表示物が多数選別される可能性が減り、選別効率を上げることが出来る。
【0201】
また、本実施例はドライブゲームなので、垂直方向への移動に伴う視野範囲の変動はほとんど問題にならないため、オブジェクト空間200をX座標、Z座標の所定単位毎に、底面が正方形でY軸方向に高さを有する直方体である複数のブロック220に分割しているが、分割方法はこれにかぎられない。立体的なプレクリッピング範囲(高さによって範囲が異なるような場合)を設定したいときは、X座標、Z座標、Y座標の所定単位毎に立方体である複数のブロック220に分割するようにしてもよい。この場合も、Y座標の所定単位毎に本実施例で説明した2次元的な手法を用いると、本実施例と同様の構成で実現することができる。
【0202】
また、本実施例で説明した登録対象ブロック390と登録エリア260の関数関係は、一例であり他の関数関係でもよい。
【0203】
また、本実施例で説明した表示物情報の登録エリア260への登録方法及び登録のタイミングも、一例であり他の方法及び登録のタイミングでもよい。
【0204】
さらに本実施例では各サイズ別登録メモリ72、74、76の登録エリア260の数がオブジェクト空間200の全ブロック数よりも少ない場合の登録方法について説明したが、登録エリア260の数が全ブロック数分ある場合は、予めすべて登録しておいてもよい。
【0205】
また、本実施例で説明した表示物登録メモリ70の各サイズ別登録メモリ72、74、76の構成は論理上のデータ構成であって、物理的データ構成はこれに限られない。
【0206】
また、本発明の適用は、表示物登録メモリ70の論理上のデータ構成もこれに限られない。例えば、登録エリア260自体にはサイズによる区分はなくても、各登録エリアに登録されている表示物情報がサイズの識別データを有していれば、本発明を適用することは可能である。すなわち、サイズ区分のない表示物登録メモリ70の登録エリア260を、本実施例のようにサイズ毎に異なる選別基準で選別する。そして、各選別基準で選別された登録エリアに登録されているデータをとりだすときに、前記選別基準のサイズと同じサイズの表示物のをとりだすように形成すればよい。
【0207】
また、本実施例で説明した表示調整領域340及びプレクリッピング範囲350を設定方法も、一例であり他の方法でもよい。
【0208】
また、本実施例の表示対象特定データ部62に記憶されている表示対象特定データも、一例であり他の方式で表示対象となるデータを特定するための表示対象特定データを記憶させておいてもよい。さらに表示対象特定データから表示対象となる登録エリア260を特定する方式も、他の方式でもよい。
【0209】
さらに、以上説明した本発明は家庭用、業務用を問わずあらゆるハードウェアを用いて実施可能である。図22は現在広く用いられているタイプのゲーム装置のハードウェア構成の一例を示す図である。同図に示すゲーム装置はCPU1000、ROM1002、RAM1004、情報記憶媒体1006、音声合成IC1008、画像合成IC1010、I/Oポート1012、1014がシステムバス1016により相互にデータ送受信可能に接続されている。そして前記画像合成IC1010にはディスプレイ1018が接続され、前記音声合成IC1008にはスピーカ1020が接続され、I/Oポート1012にはコントロール装置1022が接続され、I/Oポート1014には通信装置1024が接続されている。
【0210】
前記情報記憶媒体1006は、CD−ROM、ゲームROM、メモリカード等のゲーム装置本体と着脱可能に設けられる記憶手段を意味し、ゲーム内容に応じた所定の情報を書き込み保存することのできるタイプも用いられる。また、前記ROM1002は、ゲーム装置本体に固定して設けられる記憶手段である。これらは、ゲームプログラムやゲームステージの空間情報等のゲームタイトルに関係する情報の他、ゲーム装置本体の初期化情報等のゲームタイトルに関係しない情報を記憶する手段である。
【0211】
前記コントロール装置1022は、遊戯者がゲーム進行に応じて行う判断の結果をゲーム装置本体に入力するための装置であり、家庭用に広く用いられているパッドタイプのものや、業務用ドライブゲームに用いられるハンドル、アクセル等が挙げられる。
【0212】
そして、前記情報記憶媒体1006やROM1002に格納されるゲームプログラムやシステムプログラム又は前記コントロール装置1022によって入力される信号等に従って、前記CPU1000はゲーム装置全体の制御や各種データ処理を行う。前記RAM1004はこのCPU1000の作業領域として用いられる記憶手段であり、前記情報記憶媒体1006や前記ROM1002の所定の内容、あるいはCPU1000の演算結果等が格納される。
【0213】
さらに、この種のゲーム装置には音声合成IC1008と画像合成IC1010とが設けられていて音声や画像の好適な出力が行えるようになっている。前記音声合成IC1008は情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やゲーム音楽等を合成する回路であり、合成された音楽等はスピーカ1020によって出力される。また、前記画像合成IC1010はRAM1004、ROM1002、情報記憶媒体1006等から送られる画像情報に基づいてディスプレイ1018に出力するための画素情報を合成する回路である。
【0214】
また、前記通信装置1024はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所定の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【0215】
以上説明した一般的なゲーム装置を用いても本発明は容易に実施可能である。例えば、前記操作部10はコントロール装置1022に対応し、前記演算処理部20及びプレクリッピング手段40はCPU1000及びROM1002又は情報記憶媒体1006に格納されるソフトウェアによって実現される。また、空間情報記憶部30、画像情報記憶部90は、RAM1004、ROM1002、情報記憶媒体1006のいずれかに設けることが可能である。更に、画像合成部80は画像合成IC1010によって、あるいはCPU1000と所定のソフトウェアによって実現される。また、表示部100はディスプレイ1018に対応する。
【0216】
【図面の簡単な説明】
【図1】本実施例にかかるゲーム装置の構成の一例を示す図である。
【図2】本実施例のゲーム装置の構成を示す機能ブロック図である。
【図3】プレーヤカーの位置及び姿勢と、位置情報及び方向情報との関係を示す図である。
【図4】本実施例にかかるゲーム装置の空間情報記憶部の移動体情報記憶部に記憶される情報を示す図である。
【図5】本実施例にかかるゲーム装置の空間情報記憶部のマップ情報記憶部に記憶される情報を示す図である。
【図6】本実施例にかかるゲーム装置の画像合成処理を説明する図である。
【図7】同図は、表示領域と大きさの異なる表示物とオフセット値の設定の関係を示した図である。
【図8】本実施例のサイズ別登録メモリの構成を示した図である。
【図9】表示領域と表示可能性のある領域の関係についての説明図である。
【図10】ブロックに分割されたオブジェクト空間と表示可能性のある領域を示したXZ平面図である。
【図11】表示物登録部50がオブジェクト空間内の各登録対象ブロックに存在する表示物をS、M、Lの3つの各サイズ別登録メモリの登録エリアに登録するイメージを示した図である。
【図12】視点位置の移動と登録対象ブロック群の更新の関係を示した図である。
【図13】同図(A)(B)(C)(D)は、登録対象ブロック群を構成する各登録対象ブロックと登録エリアの対応関係を具体的に説明した図である。
【図14】同図(A)(B)は、サイズ別登録メモリに表示物情報を登録する様子を説明した図である。
【図15】視点の存在するブロックを基準にしてプレクリッピング範囲を設定する場合に必要となる表示調整領域の設定方式の説明図である。
【図16】表示物の大きさと、最適なプレクリッピング範囲の関係を示した図である。
【図17】表示物の大きさと、最適なプレクリッピング範囲の関係を示した図である。
【図18】表示物の大きさと、最適なプレクリッピング範囲の関係を示した図である。
【図19】プレクリッピング範囲を登録対象ブロック群に設定して登録対象ブロック群から表示対象となるブロックを選別する様子を示した図である。
【図20】同図(A)(B)は、表示対象となるブロックの視点からの相対位置と、対応する登録エリアの関係を示した図である。
【図21】視点の存在するサブブロックと表示範囲の関係を示した図である。
【図22】ゲーム装置のハードウェア構成の一例を示す図である。
【符号の説明】
10 操作部
20 演算処理部
30 空間情報演算部
40 プレクリッピング手段
50 表示物登録部
52 登録対象ブロック決定部
54 固定物登録部
56 移動物登録部
60 表示物選択部
62 表示対象特定データ記憶部
70 表示物登録メモリ
72 サイズ別登録メモリ(S)
74 サイズ別登録メモリ(M)
76 サイズ別登録メモリ(L)
80 画像合成部
90 画像情報記憶部
100 表示部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image synthesizing apparatus and method, and more particularly to an image synthesizing apparatus and method for selecting a display object to be synthesized in advance before synthesizing an image.
[0002]
[Background Art and Problems to be Solved by the Invention]
In a game device such as a drive game, a visual field image in a virtual three-dimensional space must be synthesized in real time according to the position of a moving body that changes every moment. For this reason, various ideas have been made in order to shorten the processing time during image composition.
[0003]
Conventionally, in a game device or the like, in order to reduce the amount of data at the time of image composition and shorten the processing time, a process of combining images after pre-clipping processing for selecting display objects existing in the display range in advance has been performed. Has been done.
[0004]
When sorting is performed in the pre-clipping process, an increase in the processing load of the sorting process itself increases the processing time. Therefore, the normal sorting is based on whether or not the center point of the display object is included in the display range. It is done.
[0005]
However, if pre-clipping processing is performed using such a method, the display object that should be displayed may be dropped from the display target. Therefore, an offset value is added to the original display range, and pre-clipping is performed. The selection target range is set somewhat wider.
[0006]
That is, if the display object is present near the end of the display range, the end of the display object may be within the display range even if the center point of the display object is outside the display range. In order to prevent such display leakage of the display object and perform accurate selection, an offset value is added to the display range to set the selection target range somewhat wider.
[0007]
When setting the selection target range, when setting the offset value, even if the large display object is far away from the display range, even if part of it is within the display range, there will be no display omission I have to do it. Therefore, when display objects having different sizes are mixed, it is necessary to set the offset value in accordance with the largest display object.
[0008]
However, if the offset value is increased, a large number of display objects that are included in the selection target range but not included in the display target range are selected as targets for image composition, which deteriorates the selection efficiency. There was a point.
[0009]
If the sorting efficiency deteriorates, the purpose of reducing the amount of data during image composition and shortening the processing time cannot be sufficiently achieved. Therefore, when such display objects are sorted, it is an important issue to perform sorting accurately and efficiently without increasing the processing load of the sorting process itself.
[0010]
The present invention has been made in view of such a problem, and when selecting a display object existing in the display range, accurate and efficient selection is performed without increasing the processing load of the selection process itself. An image composition apparatus and method are provided.
[0011]
[Means for Solving the Problems]
The invention of claim 1
Calculation processing means for calculating position information and viewpoint information of a display object in the object space, and pre-clipping for selecting a display object to be combined based on the position information and viewpoint information of the display object calculated by the calculation processing means. Means, and image composition means for synthesizing an image to be displayed on the display screen based on the position information and viewpoint information of the display object calculated by the arithmetic processing means and the display object information selected by the pre-clipping means. In the image composition device,
The pre-clipping means includes
When selecting a display object to be subjected to image composition processing, different selection criteria are used based on the size of the display object.
[0012]
The invention of claim 11
A calculation processing step for calculating position information and viewpoint information of a display object existing in the object space, and a selection of a display object to be synthesized based on the viewpoint information and the position information of the display object calculated by the calculation processing step. A pre-clipping step, an image synthesis step for synthesizing an image to be displayed on the display screen based on the position information and viewpoint information of the display object calculated by the calculation processing step, and the display object information selected by the pre-clipping step; An image composition method comprising:
The pre-clipping step includes
When selecting a display object to be subjected to image composition processing, selection is made using different selection criteria based on the size of the display object.
[0013]
In the present invention, when selecting a display object to be subjected to image composition processing, the selection criterion is changed according to the size of the display object, so that the selection efficiency of the display object to be displayed can be improved.
[0014]
For example, when the selection target range is set by adding an offset value to the display range, the offset value may be set according to the size of the display object. In other words, it is necessary to provide a large offset value in order to prevent display leakage of a large display object, and it is sufficient to provide a small offset value in order to prevent display leakage of a small display object. It is. Therefore, when selecting large display objects, set the selection criteria in the selection target range with a large offset value, and when selecting small display objects, select the selection criteria in the selection target range with a small offset value. Is set so as to perform sorting, it is possible to perform accurate sorting without causing the display object to be displayed to be sorted.
[0015]
In addition, compared to the case where the offset value is set according to the largest display object, the proportion of display objects that are included in the selection target range but not included in the display target range is selected as the target of image composition. This can reduce the efficiency of sorting.
[0016]
As described above, according to the present invention, it is possible to provide an image composition apparatus and an image composition method that improve the sorting efficiency when sorting the display objects existing in the display range.
[0017]
The invention of claim 2
In claim 1,
The pre-clipping means includes
There are a plurality of size-specific registration memories for registering and classifying display object information into a plurality of size categories based on the size of the display object, and each of the size-specific registration memories displays the display object information as a display object. A display object registration memory having a plurality of registration areas for classifying and registering into a plurality of position classifications based on the position information;
Display object registration means for registering display object information existing in the object space in a registration area of a corresponding size-specific registration memory based on the size and position information of the display object,
For each size-specific registration memory, a registration area to be displayed is selected based on viewpoint information and size classification, and a display object registered in the selected registration area is selected as an object to be subjected to image composition processing by the image composition means. And a display object selection means.
[0018]
The invention of claim 12
In claim 11,
The pre-clipping step includes
There are a plurality of size-specific registration memories for registering and classifying display object information into a plurality of size categories based on the size of the display object, and each of the size-specific registration memories displays the display object information as a display object. Using a display object registration memory formed to have a plurality of registration areas for classifying and registering into a plurality of position sections based on the position information of
A display object registration step of registering display object information existing in the object space in a registration area of a corresponding size-specific registration memory based on the size and position information of the display object,
For each size-specific registration memory, a registration area to be displayed is selected based on viewpoint information and size classification, and a display object registered in the selected registration area is selected as an object to be subjected to image composition processing in the image composition step. And a display object selection step.
[0019]
Here, the display object information may be identification data of the display object or an address of a data area in which data related to the display object is stored. Further, when the data area storing the data related to the display object is chained in a list structure, the address of the data area at the head of the chain may be used.
[0020]
The viewpoint information is information including, for example, a viewpoint position, a line-of-sight direction, a field angle, and the like.
[0021]
In the present invention, the display object registration means classifies the display object into a plurality of size categories based on the size, and selects a size-specific registration memory corresponding to the size category of the display object. Then, the display object is classified into a plurality of position sections based on the position, and a registration area corresponding to the position section of the display object is selected from the plurality of registration areas of the selected size-specific registration memory, and the registration is performed. The display object information of the display object is registered in the area.
[0022]
That is, display object information of display objects belonging to one size category and one position category is registered in one registration area.
[0023]
As described above, in the present invention, the display object existing in the object space determines which size registration memory belongs to the display object according to the size of the display object, and is registered in which registration area of the size registration memory according to the position. Decide what will be done. The selected display object is uniquely determined by selecting a registration area to be displayed from a registration area in which the display object is registered. For this reason, when selecting a registration area, by changing the selection criterion for each size-specific registration memory, it is possible to improve the sorting efficiency of a display object to be displayed and perform accurate sorting.
[0024]
In addition, when the position of the display object is fixed, it is not necessary to register the display object in the registration area every time one frame image is synthesized, and selection is performed in registration area units, not in individual display object units. Therefore, the calculation processing is reduced and the processing time can be shortened as compared with the case where the selection processing is performed for all the display objects each time.
[0025]
The display object registration memory may be formed so as to register all display objects existing in the object space, or may be formed so that a part of display objects can be registered. In addition, in the case where all display objects can be registered, the display object information may be registered in advance, or may be registered only when display possibility occurs.
[0026]
The invention of claim 3
In claim 2,
The size-specific registration memory is
The object space is divided into a plurality of blocks, and each registration area is formed so as to correspond to each block with a predetermined functional relationship.
[0027]
The invention of claim 13
In claim 12,
The size-specific registration memory is
The object space is divided into a plurality of blocks, and each registration area is formed so as to correspond to each block with a predetermined functional relationship.
[0028]
The registration area of each size-specific registration memory is provided so as to correspond to each block with a predetermined functional relationship when the object space is virtually divided into a plurality of blocks. That is, the block once divided does not change depending on the viewpoint position and the change of the displayable area. For this reason, by associating each block and each registration area in a fixed manner, if the same thing is registered once in principle, re-registration can be formed unnecessary. Therefore, since it is not necessary to register every frame for selection, the calculation load can be reduced.
[0029]
The predetermined function relationship may be a one-to-one function relationship when there are as many registration areas as the total number of blocks in the object space. When the number of registration areas is less than the total number of blocks, It is preferable to form a functional relationship of unity.
[0030]
The invention of claim 4
In claim 3,
The size-specific registration memory is
Each registered area corresponds to each block that can be displayed around the viewpoint position in a predetermined functional relationship,
The display object registration means
When a display object that can be displayed changes, the display object information of the display object that has newly generated display possibility is registered.
[0031]
Claim 14 The present invention provides:
In claim 13,
The size-specific registration memory is
Each registered area corresponds to each block that can be displayed around the viewpoint position in a predetermined functional relationship,
The display object registration step
When a display object that can be displayed changes, the display object information of the display object that has newly generated display possibility is registered.
[0032]
Here, the block having a display possibility is a block constituting an area having a display possibility determined based on the viewpoint position. Note that the displayable area is an area that is set to include all areas that may be within the field of view regardless of the direction of the viewing direction of 360 degrees.
[0033]
In the present invention, in order to register a display object, a registration area is provided corresponding to a block that can be displayed. Therefore, since the number of registration areas is smaller than the total number of blocks constituting the object space, each block constituting the object space corresponds to the registration area in a many-to-one functional relationship. Therefore, when a block with a display possibility fluctuates, a registration area corresponding to a block with no display possibility is made to correspond to a block with a new display possibility (hereinafter referred to as using a registration area. Thus, effective memory resources can be utilized. In particular, when the object space is wide, it is preferable to adopt such a configuration in order to save memory.
[0034]
In addition, since each block constituting the object space corresponds to the registration area with a many-to-one function relationship, the registration area of the display object at the same position is always the same. Therefore, if the position of the display object does not change, re-registration of the data once registered is not necessary in principle. Therefore, it is preferable to register only for the display object that has newly generated display possibility. Accordingly, the display object information registration process for the sorting process performed for each frame can be reduced, and the processing time can be shortened.
[0035]
The invention of claim 5
In either claim 3 or claim 4
The display object selection means includes:
Based on the block in which the viewpoint exists and the line-of-sight information, whether or not each registration area of the size-specific registration memory is a display target is selected for each size-specific registration memory.
[0036]
The invention of claim 15
Either of claim 13 or claim 14,
The display object selection step includes:
Based on the block in which the viewpoint exists and the line-of-sight information, whether or not each registration area of the size-specific registration memory is a display target is selected for each size-specific registration memory.
[0037]
The present invention does not use the viewpoint position itself as a reference when selecting a registration area, but uses a block in which a viewpoint exists, so that uniform processing can be performed in units of blocks. That is, if the block in which the viewpoint exists and the line-of-sight direction are determined, the block to be displayed is determined. Therefore, patterning is easy, and once patterning is performed, there is no need to calculate for each viewpoint position. Accordingly, the arithmetic processing can be reduced and the processing time can be reduced.
[0038]
The invention of claim 6
In claim 5,
The display object selection means includes:
Based on the viewpoint position in the block where the viewpoint exists, whether or not the registration area of the size-specific registration memory is a display target is selected for each size-specific registration memory.
[0039]
The invention of claim 10
In claim 9,
The display object selection means includes:
Whether or not each registration area of the display object registration memory is a display target is selected based on the block in which the viewpoint exists, the line-of-sight information, and the viewpoint position in the block in which the viewpoint exists.
[0040]
The invention of claim 16
In claim 15,
The display object selection step includes:
Based on the viewpoint position in the block where the viewpoint exists, whether or not the registration area of the size-specific registration memory is a display target is selected for each size-specific registration memory.
[0041]
If the registered area is selected based on which block the viewpoint position belongs rather than the viewpoint position itself as in the invention of claim 5 or claim 15, as described above, there is an effect of reducing arithmetic processing. In this case, even if belonging to the same block, the range that becomes the greatest common divisor of different display ranges due to different viewpoint positions is set as the pre-clipping range, thereby preventing display objects from being displayed. That is, the wider the area covered by one registration area, the wider the offset value needs to be set to set the pre-clipping range. Therefore, there is a possibility that many display objects that are not to be displayed are registered in the registration area corresponding to the vicinity of the edge of the display area. In order not to select such a display object that is not a display target as much as possible, it is preferable to make a region corresponding to each registration area fine. That is, the registration area may be increased and sorted. However, when the registration area is increased, calculation processing for sorting increases and processing time increases.
[0042]
Therefore, in the present invention, the pre-clipping range is set by setting an appropriate offset according to the position of the viewpoint in each block where the viewpoint exists without increasing the registration area, and the registration area is selected. is doing. In this way, the pre-clipping range can be narrowed compared with the case where the range having the greatest common divisor is set as the pre-clipping range, and the sorting efficiency can be increased without causing sorting errors.
[0043]
The invention of claim 7
In any one of Claims 4-6,
The display object registration means includes:
At the start of processing, display objects existing in blocks that can be displayed are registered.
After that, when the block to which the viewpoint position belongs changes, the display object existing in the block in which display possibility newly appears due to the change of the viewpoint position is set as the registration target.
[0044]
The invention of claim 17
In any one of Claims 14-16,
The display object registration step includes:
At the start of processing, display objects existing in blocks that can be displayed are registered.
After that, when the block to which the viewpoint position belongs changes, the display object existing in the block in which display possibility newly appears due to the change of the viewpoint position is set as the registration target.
[0045]
By doing so, it is possible to avoid the duplication of registration processing of the same object and to perform efficient arithmetic processing.
[0046]
The invention of claim 8
In any one of Claims 2-7,
The display object selection means includes:
Data for specifying a registration area to be displayed based on line-of-sight information is stored in advance for each size-specific registration memory, and the display target-specific data storage means is based on line-of-sight information. The registration area to be displayed is selected for each size-specific registration memory with reference to the data stored in the memory.
[0047]
The invention of claim 18 provides
In any one of Claims 12-17,
The display object selection step includes:
There is a display target specifying data storage step for storing data for specifying a registration area to be displayed based on line-of-sight information in advance for each size-specific registration memory, and a registration area to be displayed based on line-of-sight information The registration area to be displayed is selected for each size-registered memory by referring to the data for specifying the image.
[0048]
In this way, by storing in advance some or all of the results of the calculation for determining the registration area to be displayed, the calculation process can be reduced and the processing time can be shortened.
[0049]
Moreover, in the invention of any one of claims 2 to 8,
The display object registration means includes:
When the display object moves, the display object information is preferably registered and erased in the registration area of the size-specific registration memory based on the movement information.
[0050]
By doing in this way, even when the display object moves, it is possible to perform image display according to the movement position without causing a problem.
[0051]
The invention of claim 9
Calculation processing means for calculating position information and viewpoint information of a display object in the object space, and pre-clipping for selecting a display object to be combined based on the position information and viewpoint information of the display object calculated by the calculation processing means. Means, and image composition means for synthesizing an image to be displayed on the display screen based on the position information and viewpoint information of the display object calculated by the arithmetic processing means and the display object information selected by the pre-clipping means. In the image composition device,
The pre-clipping means includes
A display object registration memory having a plurality of registration areas for classifying and registering display object information into a plurality of position categories based on the position information of the display object;
Display object registration means for registering display object information existing in a displayable area around the viewpoint position in a registration area corresponding to the relocation based on the position information of the display object;
A display object selection means for selecting a registration area to be displayed on the display object registration memory based on the viewpoint information, and selecting a display object registered in the selected registration area as an object to be subjected to image composition processing by the image composition means; Including
The display object registration memory is
The object space is divided into a plurality of blocks, and each registered area is formed so as to correspond to each block that may be displayed with a predetermined functional relationship.
The display object registration means includes:
When the block with the display possibility changes, the display object information is registered in the registration area corresponding to the block with the new display possibility.
[0052]
According to the present invention, the registration of the display object in the registration area does not have to be performed for each frame image synthesis when the position of the display object is fixed, and the selection is not performed in units of individual display objects but in the registration area. Done in units. Therefore, when selecting a display object to be image-combined, the calculation process is reduced and the processing time can be shortened as compared with the case where the selection process is performed on all display objects each time.
[0053]
DETAILED DESCRIPTION OF THE INVENTION
A preferred embodiment of the present invention will be described taking as an example a game apparatus that performs a race on a racing course set in a three-dimensional game space.
[0054]
1. First embodiment
FIG. 1 shows a circuit race type game system according to an embodiment. In the game system of the embodiment, a plurality of independent game apparatuses 1-1, 1-2,... Are connected to each other via a data transmission line.
[0055]
Each game device is formed such that a player racing car operated by a player competes with a racing car operated by another player or a computer car operated by a computer in a virtual three-dimensional game space.
[0056]
Each game device is formed in the same manner as the actual driver seat of a racing car. Then, the player sits on the seat 18 and operates the handle 14, the accelerator 15, the shift lever 16, the brake, and the like provided on the operation unit 10 while viewing the pseudo three-dimensional image (game screen) displayed on the display 102. Then play a game by driving an imaginary racing car.
[0057]
In such a game, in order to display the game screen according to the position of the player car that changes every moment, the view image in the virtual three-dimensional space must be synthesized in real time. It is necessary to shorten the time.
[0058]
Therefore, in this embodiment, in order to reduce the amount of data during image composition and shorten the processing time, a configuration is adopted in which image composition is performed after pre-clipping processing for selecting display objects existing in the display range in advance. is doing. In this way, when selecting display objects existing in the display range, the game apparatus 1 employs the following configuration in order to increase the selection efficiency and perform accurate selection without increasing the processing burden. Yes.
[0059]
FIG. 2 is a functional block diagram showing a configuration for selecting a display object existing in the display range and performing image composition in the game device.
[0060]
The commercial video game apparatus according to the embodiment includes an operation unit 10, an arithmetic processing unit 20, a spatial information storage unit 30, a pre-clipping unit 40, an image composition unit 80, an image information storage unit 90, and a display unit 100. Including.
[0061]
The operation unit 10 is a member operated by the player, such as the handle 14, the shift lever 16, and other pedals shown in FIG.
[0062]
The arithmetic processing unit 20 is configured using a CPU, a memory, and the like, and functions as arithmetic processing means. Based on the operation signal from the operation unit 10 and a predetermined game program, the player car operated by the player competes with other racing cars on the racing course set in the predetermined game space, and the player operated by the player The positions and states of the car and other racing cars in the game space are calculated, and the calculation results are output to the image composition unit 80 and the pre-clipping means 40.
[0063]
The image composition unit 80 calculates the image data of the game screen based on the calculation result and the calculation result of the pre-clipping unit 40 described later, and displays the image data on the display 102 that is the display unit 100.
[0064]
First, the function in which the arithmetic processing unit 20 and the spatial information storage unit 30 calculate the position and state of a display object in the game space will be described in detail.
[0065]
There are objects that make up the three-dimensional game space, such as a moving body such as a racing car, and a fixed object such as a racing course, tunnel, wall, building, or standing tree.
[0066]
As shown in FIG. 3, in this game apparatus, each moving body has position information (X, Y, Z) and direction information in the world coordinate system (Xw, Yw, Zw) provided in the game space (object space). Given (θ, φ, ρ), the game space is set. Each fixed object is set in the game space by being given position information (X, Y, Z) in the world coordinate system (Xw, Yw, Zw).
[0067]
FIG. 3 is a diagram showing the relationship between the position and orientation of the player car, which is a moving body, and position information (X, Y, Z) and direction information (θ, φ, ρ).
[0068]
Position information (X, Y, Z), direction information (θ, φ, ρ), size information, and the like of each moving body (player car, other racing car, etc.) arranged in such a game space are stored. What is shown is a moving body information storage unit (not shown) of the spatial information storage unit 30.
[0069]
Further, the location information (X, Y, Z) and size information of each fixed object (racing course, tunnel, wall, building, standing tree, etc.) arranged in such a game space is stored in the space. This is a map information storage unit (not shown) of the information storage unit 30.
[0070]
That is, as shown in FIG. 4, the position information (X, Y, Z), direction information (θ, φ, ρ) and size information of i + 1 pieces of moving bodies are stored in the moving body information storage unit. Is stored together with the object number OB assigned to. Further, as shown in FIG. 5, the map information storage unit stores the position information (X, Y, Z) and size information of the n pieces of fixed objects together with the object number OB assigned to each fixed object. Has been.
[0071]
The size information shown in FIGS. 4 and 5 stores information for classifying into a plurality of size categories based on the size of the display object, and this size information is displayed by the pre-clipping means 40 described later. Used when classifying and registering items by size category. In this embodiment, the size of the display object is classified into three size categories of S, M, and L depending on which of the radius is 10 m or less, the radius is 10 m to 30 m, and the radius is 30 m to 100 m. Therefore, the size information stores identification information indicating which of the three size categories S, M, and L belongs.
[0072]
The arithmetic processing unit 20 receives the position information (X, Y, Z) and the direction information (θ, φ, ρ) of the moving body in the moving body information storage section as an operation signal or game input by the operation section 10. According to a program or the like, it is rewritten and updated every predetermined time, for example, every 1/60 seconds. For example, the state in which the player car moves in the game space without changing its posture in the X-axis direction of the world coordinate system is obtained by using the X coordinate of the position information of the corresponding object number in the moving body information storage unit as the arithmetic processing unit. 20 is expressed by changing and storing in a predetermined increment according to the moving speed. The state in which the player car rotates in the game space without changing the position coordinate of the world coordinate system is based on the direction information (θ, φ, ρ) of the corresponding object number stored in the moving body information storage unit. ) Is updated by the arithmetic processing unit 20 with a predetermined increment corresponding to the rotation speed.
[0073]
By the way, in order to display on the game screen the situation where each moving object changes its position and direction in the game space in this way, the viewpoint position and the line-of-sight direction from which position the image is viewed, Viewpoint information such as viewing angle is required.
[0074]
In this embodiment, it is possible to select a first-person viewpoint display that displays an image at the viewpoint position of a virtual player that has boarded the player car, and a third-person viewpoint display that displays an image at a viewpoint position that follows the player car from behind. Is formed. Such viewpoint information is calculated by the calculation processing unit 20 and stored in a frame information storage unit (not shown) of the spatial information storage unit 30. This frame information is also updated every predetermined time by the viewpoint information calculation unit 22. That is, in this game apparatus, the viewpoint position and the line-of-sight direction included in the frame information are updated based on the position information and direction information of the player car 210. In this way, an image displaying the virtual three-dimensional space seen from the moving viewpoint position is displayed in real time on the game screen.
[0075]
The pre-clipping unit 40 selects a display object to be image-combined based on the position information and viewpoint information of the display object stored in the spatial information storage unit, and reduces the reduction of arithmetic processing at the time of image composition. Thus, the processing time is shortened, and the configuration will be described in detail later.
[0076]
Next, the image composition functions of the image composition unit 80 and the image information storage unit 90 will be described in detail.
[0077]
The image information storage unit 90 stores information related to the shape and appearance of each display object in the game space, and includes a polygon information storage unit and a texture information storage unit (not shown). That is, in the game device, each display object is modeled by a combination of polygons, and a texture representing the appearance of each display object is mapped to each polygon.
[0078]
The polygon information storage unit stores, as information representing the shape of each display object, the vertex coordinates of each polygon constituting the display object and the texture mapped to each polygon. The vertex coordinates are stored as position coordinates of each vertex in a coordinate system (body coordinate system) provided for each display object.
[0079]
The texture information storage unit stores texture information of textures mapped to these polygons. Here, the texture information means information such as the color and pattern of the display object.
[0080]
Further, the image synthesis unit 80 synthesizes an image representing the scene of the game space according to the information stored in the space information storage unit 30 and the image information storage unit 90 and the display object information selected by the pre-clipping means 40. .
[0081]
The image composition unit 80 first receives display object information of a display object selected by the pre-clipping unit. As will be described later, this information is formed as an address list in which addresses of data areas in which display object information of selected display objects are stored are stored. The data area storing the display object information specifically refers to each object shown in FIG. 4 or 5 stored in the mobile information storage unit (not shown) and the map information storage unit of the spatial information storage unit 30. Data area that stores information about
[0082]
The image composition unit 80 reads out the position and direction information shown in FIG. 4 or 5 of the display object stored in the address list (in the case of a fixed object, only the position information may be used) to form the display object. An operation for arranging the polygon on the game stage expressed in the world coordinate system (Xw, Yw, Zw) is performed. The polygon constituting the display object is a polygon stored in the polygon information storage unit.
[0083]
That is, the image information storage unit 90 stores position information of polygons constituting the display object as coordinate information in the body coordinate system. The image composition unit 80 displays the display selected by the pre-clipping selection means based on the position information (X, Y, Z) and the direction information (θ, φ, ρ) stored in the spatial information storage unit 30. , Translation, rotation, inversion, enlargement, reduction, etc. are performed to convert the coordinates into position coordinates in the world coordinate system (Xw, Yw, Zw). Next, for each display object, a process of performing coordinate conversion of the polygons constituting the display object to a viewpoint coordinate system (Xv, Yv, Zv) with a given viewpoint as a reference is performed. Thereafter, clipping processing or the like is performed, and projection conversion processing to the screen coordinate system (Xs, Ys) is performed. Based on the image information in the screen coordinate system (Xs, Ys) thus obtained, the display unit 100 displays and outputs a predetermined range of the game space.
[0084]
Next, the configuration of the pre-clipping unit 40 having a function specific to the present embodiment will be described. As described above, the pre-clipping unit 40 selects a display object existing in the display range in advance in order to reduce the amount of data at the time of image synthesis and the processing time.
[0085]
When such sorting is performed, if the processing load of the sorting process itself is increased, the processing time is increased. Therefore, it is usually determined whether or not sorting is performed at the center point of the display object.
[0086]
However, the following problems occur at this time. FIG. 7 is a diagram illustrating a relationship between the display objects 300 and the display objects 250-L, 250-M, and 250-S having different sizes. That is, even if a part of each display object 250 belongs to the display area 300, it must be displayed. However, if the display object 250 is selected at the center point of the display object 250, the display object 250-L, 250-M is displayed. Even if the center point of the object is outside the display range, the end of the display object may be within the display range. In order to prevent display leakage of such display objects and perform accurate selection, an offset value 310 is added to the normal display area 300 to set a pre-clipping range 350 that is a selection target range. By the way, when such an offset value is set, the pre-clipping range 350-M may be set by adding an offset value of 310-M to the middle display object 250-M. For the display object 250-L, the pre-clipping range 350-L must be set by adding the offset value 310 of 310-L.
[0087]
Thus, when display objects having different sizes are mixed, it is necessary to set the offset value 310 according to the largest display object. However, when the offset value 310 is increased, a large number of display objects 250 that are included in the pre-clipping range 350-L as in the display object 250-S but are not included in the display area 300 are selected as targets for image composition. As a result, there was a problem that the sorting efficiency deteriorated.
[0088]
Therefore, when the pre-clipping means 40 of this embodiment sorts display objects existing in the display area 300, in order to perform accurate and efficient sorting without causing an increase in the processing burden of the sorting process itself, The following configuration is adopted.
[0089]
That is, the pre-clipping means 40 displays a display object registration memory 70 for registering display object information, a display object registration unit 50 for registering display object information in the display object registration memory 70, and a display object from the display object registration memory 70. The display object selection part 60 which selects the display object information used as is comprised.
[0090]
Further, as shown in FIG. 8, the display object registration memory 70 determines whether each display object has a radius of 10 m or less, a radius of 10 m to 30 m, or a radius of 30 m to 100 m. In order to classify and register into the three size categories of L, L, and S, there are registered memories 72, 74, and 76 for each size of S, M, and L, respectively.
[0091]
The size-specific registration memories 72, 74, and 76 register a plurality of registration areas 260 -Sij, 260 -Mij, and 260 -Lij for registering the display object information of each display object into a plurality of classifications based on their positions. (I and j are natural numbers of 1 to n).
[0092]
In this embodiment, the object space is virtually divided into a plurality of blocks 220 in order to classify the positions of the display objects. Then, a display object existing in a block (hereinafter referred to as a registration target block 390) that constitutes the display-possible area 210 among the plurality of divided blocks 220 is set as a registration target. Therefore, a registration area 260 corresponding to each registration target block 390 is provided for each size-specific registration memory 72, 74, 76. Since each registration target block 390 and the registration area 260 are formed so as to correspond one-to-one with a predetermined function relationship to be described later, the number of registration areas 260 in each size-specific registration memory 72, 74, 76 is the registration target. Equal to block 390 number.
[0093]
FIG. 9 is an explanatory diagram of the relationship between the display area 300 and the display-possible area 210. The display area 300 is an area displayed on the screen, and is determined by the viewpoint position 230, the line-of-sight direction, the angle of view θ, and the field radius r. The displayable area 210 is set to include all the areas 270 that can be displayed on the screen and have the lowest display possibility 270 regardless of the direction of the viewing direction of 360 degrees. This region is determined by the viewpoint position 230 and the viewing radius r.
[0094]
FIG. 10 is an XZ plan view showing an object space 200 divided into blocks and an area 210 that can be displayed. Since this embodiment is a drive game, the fluctuation of the visual field range due to the movement in the vertical direction is hardly a problem, so the object space 200 has a square bottom and a high height in the Y axis direction for each predetermined unit of the X coordinate and Z coordinate. Are divided into a plurality of blocks 220-ij (i and j are natural numbers of 1 to m) which are rectangular parallelepipeds.
[0095]
Among these blocks 220, each block constituting the display-possible area 210 is defined as a registration target block 390-ij (i and j are natural numbers 1 to n), and each registration target block 390-ij. As shown in FIG. 8, registration areas 260-ij are provided in the size-specific registration memories 72, 74, and 76, respectively.
[0096]
In FIG. 11, the display object registration unit 50 displays the display object 250 existing in each registration target block 390 constituting the displayable area 210 of the object space 200 in each of three size registration memories S, M, and L. 6 is a diagram showing an image registered in a registration area 260. FIG. As shown in the figure, in correspondence with each registration target block 390-ij constituting the displayable area 210 of the object space 200, three size-specific registration memories 72, 74, S, M, L, Each of the 76 registration areas 260-Sij, 260-Mij, and 260-Lij has a one-to-one correspondence.
[0097]
For example, in the figure, the block 390-11 to be registered is registered in each of the registration areas 260-S11, 260-M11, 260-L14 of the three size-specific registration memories 72, 74, 76 of S, M, L. The registration target block 390-14 corresponds to each of the registration areas 260-S14, 260-M14, 260-L14 of the three size-specific registration memories 72, 74, 76 of S, M, and L.
[0098]
At this time, if the display objects 250-S and 250-L existing in the block 390-11 belong to a radius of 10 m or less and a radius of 30 m to 100 m, respectively, they are respectively registered by size. (S) 72 is registered in the registration area 260-S11 and the registration area 260-L11 of the size-specific registration memory (L). Further, if the size of the display object 250-M existing in the registration target block 390-14 belongs to the radius 30m to 100m, it is registered in the registration area 260-M14 of the size-specific registration memory (M) 74. .
[0099]
The display object registration unit 50 performs the registration process of the display object 250 as described above, but in fact, the viewpoint position is moved and a set of registration target blocks 390 (representing all the registration target blocks 390 and the following registration target block groups) 400) is also fluctuating, so that the registration process is efficiently performed in consideration of the correspondence between each registration target block 390 and the registration area 260.
[0100]
That is, the display object registration unit 50 displays the fixed display object existing in the registration target block determination unit 52 that determines the block 220 that constitutes the displayable area 210 as the registration target block 390, and the registration target block group 400. A fixed object registration unit 54 that performs registration in the object registration memory 70, and a moving object registration unit that registers and deletes a moving display object that has moved in and out of the registration target block group 400 in the display object registration memory 70. 56.
[0101]
The registration target block determination unit 52 receives the information of the viewpoint position 230 calculated by the calculation processing unit 20, and determines the registration target block 390 based on a predetermined visual field radius r.
[0102]
As shown in FIG. 10, the displayable area 210 varies depending on the movement of the viewpoint position 230. Since the size-specific registration memories 72, 74, and 76 are provided corresponding to the registration target block group 400, if the displayable area 210 changes due to the change in the viewpoint position 230, the registration target is changed accordingly. The block group 400 needs to be updated. Therefore, the registration target block determination unit 52 operates so as to update the registration target block group 400 in accordance with the change of the area 210 that may be displayed.
[0103]
FIG. 12 is a diagram showing the relationship between the movement of the viewpoint position 230 and the update of the block group 400 to be registered. Here, the viewpoint in the registration target block 390-a moves from 230-a to 230-b and further to 230-c in the registration target block 390-b, and the registration target block determination unit 52 determines the registration. The relationship with the update operation of the target block group 400 is shown.
[0104]
Even if the viewpoint position moves from 230-a to 230-b, because the same registration target block 390-a, the registration target block determination unit 52 does not update the registration target block group 400-a at this time. However, since the viewpoint position moves from the registration target block 390-a to the registration target block 390-b when the viewpoint position moves from 230-b to 230-c, the registration target block determination unit 52 sets the registration target block group to 400. -A is updated to 400-b.
[0105]
The fixed object registration unit 54 corresponds to a registration area corresponding to a fixed display object existing in the registration target block group 400 determined by the registration target block determination unit 52 according to a predetermined function relationship of the size-specific registration memories 72, 74, and 76. Registration to 260 is performed as follows.
[0106]
Note that the position information of the fixed display object and the size information described later are provided in correspondence with the object number (display object corresponding to the display object) which is information stored in the map information storage unit (not shown) of the spatial information storage unit 30 shown in FIG. It is obtained from position information and size information corresponding to
[0107]
First, based on the position information, a display object to be registered is determined. Since nothing is registered in all the registration areas 260 of the size-specific registration memories 72, 74, and 76 at the start of processing, display objects existing in the registration target block group 400 are registered. That is, if the viewpoint position is 230-a at the start of processing in FIG. 12, a display object existing in the registration target block group 400-a is set as a registration target.
[0108]
After that, when the registration target block 390 to which the viewpoint position 230 belongs changes, the display object existing in the newly added registration target block 390 due to the change of the viewpoint position 230 is set as the registration target. In other words, when the viewpoint position 230 moves from 230-b to 230-c in FIG. 12, the hatched portion of the registration target block group 400-b is a newly added registration target block 390, so that the display existing in the registration target block 390 is displayed. Items are registered.
[0109]
Next, the display object to be registered is classified into one of S, M, and L in accordance with the size information, and the size-specific registration memories (S) 72, (M) 74, ( L) 76 is determined. In the present embodiment, each display object is classified into three size categories of S, M, and L depending on whether the size of the display object is a radius of 10 m or less, a radius of 10 m to 30 m, or a radius of 30 m to 100 m. is doing.
[0110]
Then, the display object information is registered in a predetermined registration area 260 of the corresponding size-specific registration memories 72, 74, and 76. Here, the predetermined registration area 260 is the registration area 260 to which the block 220 (the registration target block 390) where the display object exists corresponds in a predetermined functional relationship, and this correspondence relationship will be described below.
[0111]
As described above, the number of registration areas in the size-specific registration memories 72, 74, and 76 is provided by the number of blocks constituting the registration target block group 400, and the registration target block group 400 varies depending on the change in the viewpoint position 230. To do. Therefore, how to correspond each registration area 260 and each registration object block 390 becomes a problem. Furthermore, it is not preferable to change the physical position of the display object information that has been registered once because the processing for registration increases. Therefore, in this embodiment, each registration target block 390 and each registration area 260 are associated with each other as follows.
[0112]
That is, n × n registration areas 260 are provided in the size-specific registration memories 72, 74, and 76, and the object space 200 is divided into m × m blocks for each predetermined unit of the X coordinate and Z coordinate. Then, an arbitrary block (xi, zi) in the object space (xi, zi is a natural number of 1 to m) is registered in the registration areas (x ′, z ′) (x ′, z ′ corresponds to a natural number of 1 to n) by the following functional relationships (1) and (2).
[0113]
x ′ = mod (xi, n) (1)
z ′ = mod (zi, n) (2)
In this way, each registration target block 390 (xi, zi) and registration area 260 (x ′, z ′) constituting the registration target block group 400 always correspond one-to-one, and the display once registered There is no need to change the physical location of physical information.
[0114]
FIG. 13 is a diagram specifically explaining the correspondence. FIG. 13A is a diagram showing how the registration target block group 400 changes with the movement of the viewpoint position 230, and the registration target when the viewpoint positions are 230-1, 230-2, and 230-3. The block groups are 400-1, 400-2, and 400-3, respectively.
[0115]
FIG. 13B shows the size-specific registration memory 72 (74, 76) corresponding to each registration target block 390 (xi, zi) constituting the registration target block group 400-1 when the viewpoint position is 230-1. It is the figure which showed the registration area 260 (x ', z').
[0116]
In order to simplify the description, description will be made assuming a registration target block group 400 having size-specific registration memories 72, 74, and 76 having a 7 × 7 registration area and a 7 × 7 registration target block 390.
[0117]
For the sake of simplicity, each registration target block 390 (xi, zi) (xi, zi is a natural number of 1 to 7) constituting the registration target block group 400-1 and a block (1, 1) in the object space. To (7, 7), and the time when the viewpoint position is 230-1 is set as the processing start time. Therefore, the registration areas (x ′, z ′) (x ′, z ′ are natural numbers of 1 to 7) in the size-specific registration memory 72 (74, 76) in FIG. 1) to (7, 7).
[0118]
For example, the U registration target block 390 (1,1) in FIG. 13 (A) corresponds to the U ′ registration area (1,1) in the size-specific registration memories 72 (74, 76) in FIG. 13 (B). It corresponds.
[0119]
FIG. 13C shows the size corresponding to each registration target block 390 (xi, zi) constituting the new registration target block group 400-2 when the viewpoint position becomes 230-2 in FIG. It is the figure which showed the registration area 260 (x ', z') of the separate registration memory 72 (74, 76). 13D corresponds to each registration target block 390 (xi, zi) constituting the new registration target block group 400-3 when the viewpoint position becomes 230-3 in FIG. 13A. It is the figure which showed the registration area 260 (x ', z') of the registration memory 72 (74, 76) classified by size.
[0120]
In FIG. 13A, when the viewpoint position is changed from 230-1 to 230-2, the blocks a to m newly become the registration target blocks 390. As described above, when U is a registration target block 390 (1, 1), a is a registration target block 390 (2, 8), and the corresponding registration area (x ′, z ′) of the size-specific registration memory is the above ( 1) From equation (2)
x ′ = mod (2,7) = 2
z ′ = mod (8,7) = 1
This corresponds to a ′ in the registration area (2, 1) of the size-specific registration memory in FIG. Similarly, the registration areas b ′ to m ′ of the size-specific registration memories 72 (74, 76) correspond to the blocks b to m, respectively. Registration areas a ′ to m ′ of the size-specific registration memories 72 (74, 76) are registration areas 260 corresponding to blocks that are excluded from registration targets when the viewpoint position moves from 230-1 to 230-2. The correspondence relationship of the other registration areas 260 is not different from the state shown in FIG.
[0121]
In FIG. 13A, when the viewpoint position is changed from 230-2 to 230-3, the blocks to be newly registered are the blocks n to t. As described above, if U is a registration target block 390 (1, 1), n becomes a registration target block 390 (2, 9), and the registration area (x ′, z ′) is obtained from the equations (1) and (2).
x ′ = mod (2,7) = 2
z ′ = mod (9, 7) = 2
Thus, n ′ in the registration area (2, 2) of the size-specific registration memory 72 (74, 76) in FIG. Similarly, the registration areas o ′ to t ′ of the size-specific registration memories 72 (74, 76) also correspond to the blocks o to t. The registration areas n ′ to t ′ of the size-specific registration memory 72 (74, 76) are registration areas 260 corresponding to blocks that are excluded from registration targets when the viewpoint position moves from 230-2 to 230-3. The correspondence relationship of the other registration areas 260 is not different from the state shown in FIG.
[0122]
In this way, the registration area 260 corresponding to the block that is not registered at this time is used as the registration area 260 corresponding to the newly registered block (hereinafter referred to as “reusing the registration area”), and other registrations are performed. Area 260 corresponds to the same block as the previous time. Accordingly, in principle, a fixed object need not be registered again if it is registered once (except when the block 220 once removed from the registration target block 390 becomes the registration target block 390 again).
[0123]
Next, a specific method for registering display object information will be described. FIGS. 14A and 14B are diagrams simply showing how the display object information is registered in the corresponding size-specific registration memory 72 (74, 76). As shown in the figure, in this embodiment, the display object information 500 is registered so that the data storage area 510 of each display object (D1 to D2) information is connected in a chain.
[0124]
FIG. 14A shows the display object information 500-1 of the display object D1 in the registration area when nothing is registered in the corresponding registration area 260-a of the size-specific registration memory 72 (74, 76). The state of registration in 260-a is shown. The display object information 500 stores its own address 520 storing the address of its own data storage area 510, next address 520 storing the address of the data storage area of the display object information to be chained next, and stores its own display object information. The data area 530 is formed.
[0125]
To register the display object information 500 of the display object D1 in the size-specific registration memory 72 (74, 76), the address 520 of its own data storage area of the display object D1 is written in the corresponding registration area 260-a. Is done by.
[0126]
FIG. 14B shows a state where the display object information 500-2 of the display object D2 is further registered when the display object information 500-1 of the display object D1 is already registered in the registration area 260-a. Yes.
[0127]
In such a case, first, the address P (D1) written in the registration area 260-1 is written in the next address 530 of the display object information 500 of D2. Then, P (D2) stored in its own address 520 of the display object information 500 of D2 is written in the registration area 260-a. Therefore, the display object information 500-2 of the display object D2 is chained from the address stored in the registration area 260-a, and the address stored in the next address 530 of the display object information 500-2 of the display object D2. The display object information 500-1 of the display object D1 registered in advance is chained. In the present embodiment, display object information of a plurality of display objects is registered in one registration area in this way.
[0128]
The moving object registration unit 56 corresponds to the registration area corresponding to the moving display objects existing in the registration target block group 400 determined by the registration target block determination unit 52 according to the predetermined function relationship of the size-specific registration memories 72, 74, and 76. Registration to 260 is performed as follows.
[0129]
It should be noted that the position information of the moving display object and the size information to be described later are provided as object numbers (information corresponding to the display object) stored in a moving object information storage unit (not shown) of the spatial information storage unit 30 shown in FIG. It is obtained from position information and size information corresponding to
[0130]
First, a display object to be registered and deleted is determined based on the position information. In the case of a moving object, there is a possibility of movement, so whether or not the position of the currently registered moving object is moving is checked. If you haven't moved, you don't have to delete your registration. However, if you are moving, you need to delete the registration. And what newly exists in the registration target block group 400 due to the movement (the previous registration also exists in the registration target block group 400, but exists in the registration target block 390 different from the previous time, so the previous registration (Including those that have been deleted).
[0131]
Note that the correspondence between the registration target block 390 where the moving object exists and the registration area 260 of each size-specific registration memory and the specific method of registration are the same as those described for the fixed object. As for the deletion of the registration of the moving object, the display object information of D2 can be deleted by changing the state of FIG. 14B from the state of FIG.
[0132]
Next, a configuration of the display object selection unit 60 that selects display object information to be displayed from the display object registration memory 70 will be described.
[0133]
The display object selection unit 60 receives the viewpoint information calculated by the calculation processing unit 20, selects a registration area 260 to be displayed for each size-specific registration memory 72, 74, 76, and is registered in the registration area 260. The display composition is selected by the image composition unit 80 as a target for image composition. The display object selection unit 60 of this embodiment employs different selection criteria for each size, and performs selection in units of registration areas 260 instead of in units of display objects.
[0134]
Further, the pre-clipping range 350 is set based on a block in which a viewpoint exists (hereinafter referred to as a viewpoint block 220-s) so that the patterning process can be performed more easily. That is, when the size and line-of-sight information are the same, if the viewpoint block 220-s is the same, the blocks to be selected are formed to be the same even if the viewpoint position 230 is different. However, if the pre-clipping range 350 is set on the basis of the viewpoint block 220-s, it is necessary to increase the offset value with respect to the display area 300.
[0135]
FIG. 15 is an explanatory diagram of a method for setting the display adjustment area 340 that is required when the pre-clipping range 350 is set with reference to the viewpoint block 220-s.
[0136]
In the drawing, even when the viewpoint block 220-s is the same, the corresponding display area 300 differs depending on the viewpoint positions 230-1 to 230-5. Accordingly, assuming that the viewpoint position 230-1 is at the center of the viewpoint block 220-s and the display range is set, if the viewpoint position 230 is at other positions 230-2, 230-3, etc., display may be lost. Therefore, it is necessary to set the display area 300 including the display adjustment area 340 by using the hatched area in FIG. 15 as the display adjustment area 340.
[0137]
The display adjustment area 340 is represented by a back offset value C1 and a back clip line offset value C2. Here, the values of C1 and C2 are determined by the size of the block 220, and when the horizontal x and vertical z lengths of the block 220 are both BL,
C1 = BL
C2 = 1/2 x BL
Given in. In this embodiment, since each block is set to about 32 m × 32 m, C1 is about 32 m and C2 is about 16 m.
[0138]
Next, in consideration of the display adjustment region 340, how the different pre-clipping ranges 350 are provided for each size will be described.
[0139]
As described above, when display objects having different sizes are mixed, it is necessary to set the pre-clipping range 350 by providing an offset value according to the largest display object in the display range of the monitor.
[0140]
In this embodiment, the size of the display object is divided into three size-specific registration memories 72, 74, and 76 depending on whether the size corresponds to a radius of 10 m or less, a radius of 10 m to 30 m, or a radius of 30 m to 100 m. Therefore, the pre-clipping range 350 can be set by providing an optimum offset value for each of the size-specific registration memories 72, 74, and 76.
[0141]
16, FIG. 17, and FIG. 18 are diagrams showing the relationship between the size of the display object and the optimum pre-clipping range 350. FIG. 16 is a registration memory classified by size in which display objects having a radius of 10 m or less are registered. (S) It is the figure which showed the optimal pre-clipping range 350-S set to the registration object block group 400 in order to select the registration area 260 of 72. FIG.
[0142]
When the optimum pre-clipping range 350 is set, first, a temporary display is performed by adding the display adjustment region 340 to the original display region 300 determined by the viewpoint position 230-p, the angle of view θ, the visual field radius r, and the line-of-sight information. An area 360 is set.
[0143]
Further, since the largest display object registered in the size-specific registration memory (S) 72 is a display object having a radius of 10 m, an offset value corresponding to the temporary display area 360 is set. Then, when the pre-clipping range 350-S is set, it is possible to perform accurate selection without omission.
[0144]
In this embodiment, the angle of view θ is 80 degrees and the maximum viewing radius is 400 m. However, it is not necessary to display the farthest distance for a display object having a radius of 10 m or less. Is 350 m.
[0145]
Here, an example of a setting method when the pre-clipping range 350-S is set by setting the backward offset value O1 ′ and the backward clip line value O2 ′ for the temporary display area 360 will be described. Since the maximum radius of the display object registered in the size-specific registration memory (S) 72 is 10 m, when the radius rs of the display object 250-S is 10 m, O1 ′, which cannot be selected from the display object 250-S, The pre-clipping range 350-S may be set by setting O2 ′.
[0146]
From FIG.
α = 1/2 × θ (3)
Sh = O1'Sinα (4)
Therefore, in order to set O1 ′ that does not cause the display object 250-s to be separated, sh must be at least equal to or larger than the radius Sr of the display object 250-s.
Sh = Sr (5)
Then, from (3) to (5)
O1 ′ = Sr / Sinα
Further, when the pre-clipping range 350-S is set for the original display area 300, the backward offset value O1 and the backward clip line value O2 are set, and the offset behind the display adjustment area 340 is the value C1. If the offset value of the back clip line is represented by C2,
O1 = O1 ′ + C1
O2 = O2 ′ + C2
It becomes. Therefore, when the pre-clipping range 350-s is set on the basis of the viewpoint block 220-s, the pre-clipping range 350-S is set by adding the offset values O1 and O2 to the original display area 300. do it.
[0147]
FIG. 17 shows an optimal pre-clipping range 350-M set in the registration target block group 400 in order to select the registration area 260 of the size-specific registration memory (M) 74 in which display objects having a radius of 10 m to 30 m are registered. FIG. Also in this case, the optimum pre-clipping range 350-M is set in the same manner as in FIG.
[0148]
FIG. 18 shows an optimum clipping range 350-L set in the registration target block group 400 in order to select the registration area 260 of the size-specific registration memory (L) 76 in which display objects having a radius of 30 m to 100 m are registered. FIG. In this case as well, the optimum pre-clipping range 350-L is set in the same manner as in FIG.
[0149]
Since the optimal shape of the pre-clipping range 350 is determined for each size as described above, the pre-clipping range 350 is set based on the line-of-sight information, and the viewpoint position 230 is set at the center of the viewpoint block 220-s. The registration area 260 is selected.
[0150]
Next, a method for selecting the registration area 260 by setting the pre-clipping range 350 in the registration target block group 400 will be described.
[0151]
FIG. 19 is a diagram illustrating a state in which the pre-clipping range 350 is set in the registration target block group 400 and the block 220 to be displayed is selected from the registration target block group 400. Since the viewpoint block 220-s is a central block of the registration target block group 400, the viewpoint position 230-p of the pre-clipping range 350 is aligned with the center of the viewpoint block 220-s, and the S-size pre-clipping range 350-S is obtained. M-size pre-clipping range 350-M and L-size pre-clipping range 350-L are set. At this time, the block 220 that is included in the pre-clipping range 350 of each size as much as possible may include a display object to be displayed, and thus needs to be a display target block.
[0152]
Accordingly, as shown in FIG. 19, the block to be registered for the S size is a set of blocks SB, the block to be registered for the M size is a set of blocks SB and MB, and the block to be registered for the L size. Is a set of block SB, block MB, and block LB.
[0153]
By the way, since each registration target block 390 and the registration area 260 of each size-specific registration memory 72, 74, 76 have a one-to-one correspondence with a predetermined functional relationship as described above, if a block to be displayed is determined. The corresponding registration area 260 is also uniquely determined.
[0154]
Accordingly, the display object sorting unit 60 matches the size-based pre-clipping range 350 shown in FIGS. 16 to 18 with the viewpoint position 230-p aligned with the center point of the viewpoint block 220-s based on the line-of-sight information. As described above, the pre-clipping range 350-S to 350-L is set in the registration target block group 400, and a block to be displayed is determined.
[0155]
Then, for each size-specific registration memory 72, 74, 76, the registration area 260 corresponding to the block to be displayed is selected as a display target, and the display object registered in the registration area 260 is displayed as an image. It is formed so as to be selected as an object to be combined.
[0156]
By the way, in the present embodiment, the display object selection unit 60 stores the data for specifying the registration area 260 to be displayed based on the line-of-sight information in advance for each of the size-specific registration memories 72, 74, and 76. A specific data storage unit 62 is provided to speed up the selection process of the registration area 260.
[0157]
That is, since the viewpoint block 220-s is always at the center of the registration target block group 400, the pre-clipping range 350-S to 350-L for each size is set in the registration target block group 400 even if the line-of-sight direction is determined. Thus, the relative position of the block to be displayed from the viewpoint block 220-s is determined. Therefore, in this embodiment, for each size, the relative position from the viewpoint block 220-s of the block to be displayed corresponding to the line-of-sight direction is stored in advance in the display target specifying data storage unit 62, and the display object selection unit In 62, the following processing is performed.
[0158]
When the display object selection unit 62 receives the viewpoint information from the arithmetic processing unit 20, based on the line-of-sight information, the display object selection unit 62 compares the display target specific data storage unit 62 with respect to the block to be displayed of each size from the viewpoint block 220-s. Read position. Next, based on the viewpoint information, a registration area (hereinafter referred to as a viewpoint registration area 260-s) corresponding to the viewpoint block 220-s is obtained from the equations (1) and (2). Then, the corresponding registration area 260 is selected based on the relative position from the viewpoint registration area 260-s and the viewpoint block 220-s of the size-specific registration memories 72, 74, and 76.
[0159]
20A and 20B are diagrams showing the relationship between the relative position of the block 420 to be displayed from the viewpoint block 220-s and the corresponding registration area 260. FIG.
[0160]
FIG. 5A shows a block 420 (shaded portion) that is a display target of the registration target block group 400 (n × n). The display target specifying data storage unit 62 stores data for specifying the block 420 (shaded portion) to be displayed, that is, the relative position of each block 420 to be displayed from the viewpoint block 220-s. . The relative position from the viewpoint block 220-s is the position of each block when the viewpoint block 220-s is (0, 0). For example, the viewpoint block 220-s of the block B45 in FIG. The relative position from is given by (0, 1).
[0161]
FIG. 5B is a diagram showing the corresponding registration area (n × n) of each size-specific registration memory 72 (74, 76), and the relative position (x, z) from the viewpoint block 220-s. When the position of the registration area 260 corresponding to the block is (x ′, z ′) and the position of the viewpoint registration area 260-s corresponding to the viewpoint block 220-s is (sx ′, sz ′),
x ′ = mod (sx ′ + x, n) (6)
z ′ = mod (sz ′ + z, n) (7)
Given in.
[0162]
(6) When the registration area corresponding to the shaded portion in FIG. 20A is obtained from (7), it becomes the shaded portion in FIG. 20B.
[0163]
When the display object selection unit 60 selects the registration area 260 to be displayed for each of the size-specific registration memories 72, 74, and 76 in this manner, the display object information registered in the registration area 260 is read out. Then, it is sent to the image composition unit 80 as display object information to be image composition.
[0164]
A method in which the display object selection unit 60 reads display object information registered in the registration area 260 will be described by taking the case of FIG. 14B as an example. As shown in the figure, when the display object information 500-1 and 500-2 of the display objects D1 and D2 are registered in the registration area 260-a, the display object selection unit 60 displays the information as follows. The object information 500-1 and 500-2 are read out.
[0165]
First, the data stored in the registration area 260-a is read. If the address data is stored, the address data (in this case, P (D2)) is stored in a storage area (not shown). Thus, the address P (D2) of the data storage area 510 of the display object D2 can be taken out.
[0166]
Next, the data stored in the next address 530 of the data storage area indicated by the address P (D2) is read, and if it is not end information, the stored address data (in this case, P (D1)) is stored in the memory (not shown). Store in the area. Thus, the address P (D1) of the data storage area 510 of the display object D1 can be taken out.
[0167]
Next, the data stored in the next address 530 of the data storage area indicated by the address P (D1) is read, and if it is not end information, the stored address data (in this case, end information) is not shown in the storage area. To store. In this case, since it is end information, the extraction processing of the display object information registered in the registration area 260-a is finished here.
[0168]
In this way, when all the display object information 500 chained to the registration area is read, the extraction process is repeated for the next registration area 260. In this manner, when the extraction process is completed for all the registration areas 260 to be displayed in the size-specific registration memories 72, 74, and 76 of S, M, and L, the storage areas (not shown) are selected. An address list of the data storage area 510 in which the display object information 500 of the displayed object is stored is created, and this address list is sent to the image composition unit 80.
[0169]
The above is the configuration and function of the pre-clipping means 40 of the present embodiment, and the characteristic operation will be described below.
[0170]
In the pre-clipping means 40 of the present embodiment, when selecting a display object to be subjected to image composition processing, the selection criterion is changed according to the size of the display object, so that the selection efficiency of the display object to be displayed is improved. Can be improved.
[0171]
Further, the pre-clipping means 40 of the present embodiment has a plurality of size-specific registration memories 72, 74, 76, and the display object registration unit 50 has a size-specific registration memory 72, 74 having a size corresponding to the size of the display object. , 76 is registered in the registration area 260. The display object selection unit 60 is configured to select a registration area 260 to be displayed and select a display object registered in the registration area 260 as an image composition target. For this reason, when the display object selection unit 60 selects the registration area 260, the selection criteria are changed for each size-specific registration memory, thereby improving the selection efficiency of the display object to be displayed and performing accurate selection. I can do it.
[0172]
Further, in the pre-clipping means 40 of this embodiment, the registration of the display object in the registration area does not have to be performed every time one frame image is combined when the position of the display object is fixed. Further, the display object is selected not in units of individual display objects but in units of registered areas 260. Accordingly, the calculation process is reduced and the processing time can be shortened as compared with the case where the selection process is performed on all display objects each time.
[0173]
That is, for example, when selection processing is performed based on position information for all display objects every time, processing is required for all display objects for each frame. On the other hand, in this embodiment, in order to select the display object, it is necessary to register the display object in the registration area 260, select the registration area 260, and extract the display object information registered in the registration area 260. However, by adopting the configuration described in the above-described embodiment, even if these are combined, the calculation processing is less than that in the former case.
[0174]
In addition, since the registration area 260 of the present embodiment is provided so as to correspond to each block 220 when the object space 200 is divided into a plurality of blocks 220 with a predetermined functional relationship, It does not change depending on the position and the fluctuation of the region 210 that can be displayed. For this reason, by connecting each block 220 and each registration area 260 fixedly, the same thing can be formed so that it may register only once in principle. Therefore, since it is not necessary to register every frame for selection, the calculation load can be reduced.
[0175]
In addition, in the fixed object registration unit 54 of the present embodiment, registration of the display object in the registration area 260 is performed for a display object that has newly generated display possibility, and according to the change of the registration target block group 400, By effectively using the registration area 260, it is possible to use effective memory resources.
[0176]
Further, the display object sorting unit 60 of this embodiment uses the viewpoint block 220-s as a reference instead of the viewpoint position 230 itself when selecting the registration area 260, so that it is uniform for each block 220. It is possible to reduce the processing time by reducing the processing time. That is, assuming that the viewpoint block 220-s is the center of the registration target block group 400, if the line-of-sight direction is determined, the block to be displayed is uniquely determined as described in the above embodiment, so that the calculation itself is simple. This is because once patterning is performed, there is no need to calculate for each viewpoint position 230.
[0177]
In addition, the fixed object registration unit 54 of this embodiment sets all display objects existing in the registration target block 390 as registration targets at the start of processing, and then changes the viewpoint position when the viewpoint block 220-s changes. The display object existing in the block 220 that has newly become the registration target block 390 is used as a registration target, and efficient calculation processing is performed while avoiding duplication of registration processing of the same object.
[0178]
In addition, the display object selection unit 60 of the present embodiment reduces the arithmetic processing by storing the data for specifying the registration area 260 to be displayed in the display target specifying data storage unit 62 in advance. It is formed to shorten the time.
[0179]
Further, in the present embodiment, the display object registration unit 50 is provided with a moving object registration unit 56, which is configured to display an image corresponding to the movement position without causing any trouble even when the display object moves.
[0180]
2. Second embodiment
In the first embodiment, the display object selection unit 62 is described as a game machine formed so as to select the registration area 260 based on the position of the viewpoint block 220-s. However, in the second embodiment, one block is displayed. Is further divided into a plurality of sub-blocks SB, and a game machine formed so as to select the registration area 260 based on which sub-block SB the viewpoint position 230 belongs to will be described.
[0181]
In the case of the first embodiment, there is an effect of reducing the arithmetic processing as described above. In this case, the range that becomes the greatest common divisor of the different display areas 300 due to different viewpoint positions 230 even if the viewpoint blocks 220-s are the same must be set as the pre-clipping range 350. Accordingly, the display adjustment area 340 shown in FIG. 15 is provided and the pre-clipping range 350 is set to prevent display leakage of the display object.
[0182]
However, when the wide display adjustment area 340 is provided and the pre-clipping range is set, there is a possibility that many display objects that are not to be displayed are registered in the registration area 260 corresponding to the vicinity of the edge of the display area. In order to prevent such a display object that is not a display target from being selected as much as possible, a method of taking the block 220 as finely as possible can be considered, but calculation processing for selection increases, resulting in an increase in processing time.
[0183]
Therefore, in the second embodiment, the viewpoint block 220-s is virtually divided into a plurality of sub-blocks SB without reducing the blocks themselves, and an appropriate display adjustment area 340 corresponding to the sub-block SB where the viewpoint exists. Is provided to set a pre-clipping range 350 and to select each registration area 260.
[0184]
FIG. 21 is a diagram showing the relationship between the sub-block SB where the viewpoint is present and the display area 300. In the drawing, the viewpoint block 220-s is virtually divided into four sub-blocks SB-UL, SB-DL, SB-UR, and SB-DR, and viewpoint positions 230-UL and 230- are formed at the center points of the sub-blocks SB. Display areas 300-UL, 300-DL, 300-UR, and 300-DR when DL, 230-UR, and 230-DR exist are shown. In this way, even if the viewpoint block 220-s is the same, the display area 300 is considerably different because the sub-block SB to which it belongs is different.
[0185]
For example, the display object 250-1 is in the display area 300-DL when the viewpoint position is 230-DL and is a display target, but when the viewpoint position is 230-UL, 230-UR, 230-DR. It is not in the display area 300-UL, 300-UR, 300-DR and is not a display target. Further, when the viewpoint position is 230-UL, the display object 250-2 is not in the display area 300-UL and is not a display target, but when the viewpoint position is 230-DR, 230-UR, 230-DL. Is in the display area 300-DR, 300-UR, 300-DL and is a display target.
[0186]
In the first embodiment, as shown in FIG. 15, since the display adjustment area 340 is provided and the pre-clipping range 350 is set so that all of these can be covered, a large number of display objects 250 that are not originally displayed are selected. There was a possibility.
[0187]
On the other hand, in the second embodiment, the pre-clipping range 350 may be set by providing the display adjustment region 340 so that the entire view position 230 can be covered regardless of where in the one sub-block SB. As described above, the backward offset value C1 for determining the display adjustment area 340 and the backward clip line offset value C2 are determined by the horizontal x and vertical z lengths of the blocks to be covered. Therefore, in the case of the second embodiment, it is determined by the length of the horizontal x and vertical z of the sub-block, and the values of C1 and C2 of the second embodiment may be 1/2 of those of the first embodiment. Become.
[0188]
That is, in the second embodiment, the pre-clipping range 350 can be set by providing a narrow display adjustment region 340 as compared with the first embodiment. Therefore, the possibility of selecting a large number of display objects that are not subject to display is reduced, and the selection efficiency can be increased.
[0189]
As described above, in order to realize a game machine formed so as to select the registration area 260 based on which sub-block SB the viewpoint position 230 belongs to, the following configuration is adopted in the second embodiment. However, the functional block diagram itself is the same as that of the first embodiment shown in FIG.
[0190]
That is, other configurations and functions of the display object registration unit 50 and the display object registration memory 70 of the pre-clipping means 40 of the first embodiment shown in FIG. 2 are the same as those of the second embodiment. In addition, the configurations and functions of the other operation unit 10, arithmetic processing unit 20, spatial information storage unit 30, image composition unit 80, image information storage unit 90, and display unit 100 are the same as those in the first embodiment.
[0191]
The difference from the first embodiment is the function and configuration of the display object selection unit 62 of FIG. Also in the second embodiment, in order to speed up the selection process of the registration area 260, the display object selection unit 60 sets the registration area 260 to be displayed based on the sub-block SB classification in which the line-of-sight information and the viewpoint exist. The data to be specified is stored in advance in the display target specifying data storage unit 62 for each size-specific registration memory 72, 74, 76.
[0192]
That is, since the viewpoint block 220-s is always at the center of the registration target block, the pre-clipping range 350 is determined by taking into consideration the display adjustment area 340 in the second embodiment as long as the line-of-sight direction and the sub-block classification are determined. When the viewpoint position 230-p of the pre-clipping range 350 is set at the center of the sub-block SB of the viewpoint block, the block 420 to be displayed is determined in the same manner as shown in FIG. 19, and becomes the display object. The relative position of the block 420 from the viewpoint block 220-s is also determined. Therefore, also in the second embodiment, the display target specifying data storage unit 62 stores the block to be displayed for each sub-block section in which the line-of-sight information and the viewpoint exist for each size registration memory 72, 74, 76. The relative position from the viewpoint block 220-s is stored.
[0193]
In the second embodiment, the display object sorting unit 60 first determines the sub-block classification based on the viewpoint position, and displays the display target stored in the display target specifying data storage unit 62 for each size based on the line-of-sight information. The relative position of the block 420 from the viewpoint block 220-s is read out.
[0194]
Then, a viewpoint registration area 260-s corresponding to the viewpoint block 220-s is obtained. Then, the registration area 260 corresponding to the block 420 to be displayed determined by the relative position from the viewpoint block 220-s is determined by the relative position from the viewpoint registration area 260-s. Therefore, for each size-specific registration memory 72, 74, 76, the registration area 260 corresponding to the block is selected as a display target based on the relative position of the block 420 to be displayed from the viewpoint block 220-s. The display object registered in the registration area 260 is selected to be subjected to image composition processing.
[0195]
By forming the display object selection unit 60 in this way, it is possible to select an appropriate registration area 260 according to the sub-block SB in which the viewpoint position 230 exists, and originally select many display objects that are not display targets. The possibility of being reduced is reduced and the sorting efficiency can be increased.
[0196]
In this embodiment, one block is divided into four by connecting the midpoints of each side, and divided into four subblocks SB. Depending on which subblock SB the viewpoint position belongs to, Although the case where the selection criterion is changed has been described as an example, the number of subblocks SB and the classification method are not limited thereto. As the number of sub-blocks SB increases, the sorting efficiency increases. However, if the sorting information is stored in advance in the display target specifying data storage unit 62 as in this embodiment, the memory is increased, and the sorting information is calculated by calculation. Since the calculation processing load increases when it is obtained, it is preferable to set the optimum number of sub-blocks SB in consideration of these. Further, the number of sub-blocks SB may be changed for each size-specific registration memory 72, 74, 76.
[0197]
The present invention is not limited to the above embodiment, and various modifications can be made.
[0198]
For example, in the embodiment, the size of the display object is classified into three types, S, M, and L, depending on whether the display object belongs to a radius of 10 m or less, a radius of 10 m to 30 m, or a radius of 30 m to 100 m. The case where the selection criteria are changed has been described as an example, but the number of size classifications and the classification method are not limited thereto. It is preferable to set the optimum number of size divisions and the division method in consideration of the size of the display object arranged in the object space, the size variation, and other factors.
[0199]
In this case, the case where the selection standard is not changed depending on the size of the display object, that is, the case where only one size category is used is also included in the scope of the present invention. When the first embodiment is implemented with only the size classification of 1, the registration of the display object in the registration area does not need to be performed every time one frame of image synthesis is performed when the position of the display object is fixed. Is performed not in units of individual display objects but in units of registered areas. Therefore, when selecting a display object to be image-combined, the calculation process is reduced and the processing time can be shortened as compared with the case where the selection process is performed on all display objects each time.
[0200]
In addition, when the selection criterion is not changed depending on the size of the display object, the second embodiment is applied to select an appropriate registration area 260 according to the sub-block SB where the viewpoint position 230 exists. May be. Even in this case, the possibility of selecting a large number of display objects that are not intended for display is reduced, and the selection efficiency can be increased.
[0201]
In addition, since this embodiment is a drive game, fluctuations in the visual field range due to movement in the vertical direction are hardly a problem. Therefore, the object space 200 has a square bottom and a Y-axis direction for each predetermined unit of X and Z coordinates. However, the division method is not limited to this. When you want to set a three-dimensional pre-clipping range (when the range varies depending on the height), you may divide the block into a plurality of blocks 220 that are cubes for each predetermined unit of the X, Z, and Y coordinates. Good. Also in this case, when the two-dimensional method described in the present embodiment is used for each predetermined unit of the Y coordinate, it can be realized with the same configuration as in the present embodiment.
[0202]
Further, the functional relationship between the registration target block 390 and the registration area 260 described in the present embodiment is an example, and other functional relationships may be used.
[0203]
In addition, the registration method and the registration timing of the display object information described in the present embodiment are also examples, and other methods and registration timings may be used.
[0204]
Furthermore, in the present embodiment, the registration method in the case where the number of registration areas 260 in the size-specific registration memories 72, 74, and 76 is smaller than the total number of blocks in the object space 200 has been described, but the number of registration areas 260 is the total number of blocks. If there are minutes, all may be registered in advance.
[0205]
Further, the configuration of the size-specific registration memories 72, 74, and 76 of the display object registration memory 70 described in the present embodiment is a logical data configuration, and the physical data configuration is not limited thereto.
[0206]
The application of the present invention is not limited to the logical data configuration of the display object registration memory 70. For example, even if the registration area 260 itself is not classified by size, the present invention can be applied if the display object information registered in each registration area has size identification data. That is, the registration area 260 of the display object registration memory 70 having no size division is selected according to different selection criteria for each size as in this embodiment. Then, when the data registered in the registration area sorted by each sorting standard is taken out, the display object having the same size as the size of the sorting standard may be taken out.
[0207]
The method for setting the display adjustment area 340 and the pre-clipping range 350 described in the present embodiment is also an example, and other methods may be used.
[0208]
Further, the display target specifying data stored in the display target specifying data section 62 of this embodiment is also an example, and display target specifying data for specifying data to be displayed by another method is stored. Also good. Further, the method for specifying the registration area 260 to be displayed from the display target specifying data may be another method.
[0209]
Furthermore, the present invention described above can be implemented using any hardware regardless of home use or business use. FIG. 22 is a diagram illustrating an example of a hardware configuration of a game device of a type that is currently widely used. In the game apparatus shown in the figure, a CPU 1000, a ROM 1002, a RAM 1004, an information storage medium 1006, a voice synthesis IC 1008, an image synthesis IC 1010, and I / O ports 1012, 1014 are connected to each other via a system bus 1016 so that data can be transmitted and received. A display 1018 is connected to the image synthesis IC 1010, a speaker 1020 is connected to the voice synthesis IC 1008, a control device 1022 is connected to the I / O port 1012, and a communication device 1024 is connected to the I / O port 1014. It is connected.
[0210]
The information storage medium 1006 means storage means that is detachably provided on a game apparatus main body such as a CD-ROM, game ROM, memory card, etc., and a type capable of writing and storing predetermined information according to game contents. Used. The ROM 1002 is storage means provided fixed to the game apparatus main body. These are means for storing information not related to the game title, such as initialization information of the game apparatus main body, in addition to information related to the game title, such as game program and game stage space information.
[0211]
The control device 1022 is a device for inputting a result of a determination made by a player in accordance with the progress of the game to the game device main body. The control device 1022 is used for a pad-type device widely used for home use or a commercial drive game. The handle, accelerator, etc. used are mentioned.
[0212]
The CPU 1000 controls the entire game device and performs various data processing in accordance with a game program or system program stored in the information storage medium 1006 or the ROM 1002, or a signal input by the control device 1022. The RAM 1004 is a storage means used as a work area of the CPU 1000, and stores predetermined contents of the information storage medium 1006 and the ROM 1002, a calculation result of the CPU 1000, and the like.
[0213]
Furthermore, this type of game apparatus is provided with a voice synthesis IC 1008 and an image synthesis IC 1010 so that audio and images can be suitably output. The voice synthesis IC 1008 is a circuit that synthesizes sound effects, game music, and the like based on information stored in the information storage medium 1006 and the ROM 1002, and the synthesized music and the like are output by a speaker 1020. The image synthesis IC 1010 is a circuit that synthesizes pixel information to be output to the display 1018 based on image information sent from the RAM 1004, the ROM 1002, the information storage medium 1006, and the like.
[0214]
The communication device 1024 exchanges various types of information used inside the game device with the outside. The communication device 1024 is connected to other game devices to send and receive predetermined information according to the game program, and to connect a communication line. It is used for sending and receiving information such as game programs.
[0215]
The present invention can be easily implemented even by using the general game device described above. For example, the operation unit 10 corresponds to the control device 1022, and the arithmetic processing unit 20 and the pre-clipping unit 40 are realized by software stored in the CPU 1000 and the ROM 1002 or the information storage medium 1006. The spatial information storage unit 30 and the image information storage unit 90 can be provided in any of the RAM 1004, the ROM 1002, and the information storage medium 1006. Further, the image composition unit 80 is realized by the image composition IC 1010 or by the CPU 1000 and predetermined software. The display unit 100 corresponds to the display 1018.
[0216]
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of a configuration of a game device according to an embodiment.
FIG. 2 is a functional block diagram showing a configuration of a game device according to the present embodiment.
FIG. 3 is a diagram illustrating a relationship between a position and orientation of a player car, position information, and direction information.
FIG. 4 is a diagram illustrating information stored in a moving body information storage unit of a spatial information storage unit of the game apparatus according to the embodiment.
FIG. 5 is a diagram illustrating information stored in a map information storage unit of a spatial information storage unit of the game apparatus according to the embodiment.
FIG. 6 is a diagram for explaining image composition processing of the game apparatus according to the embodiment.
FIG. 7 is a diagram showing a relationship between display objects having different sizes from display areas and setting of offset values.
FIG. 8 is a diagram illustrating a configuration of a size-specific registration memory according to the present exemplary embodiment.
FIG. 9 is an explanatory diagram of a relationship between a display area and a display possibility area.
FIG. 10 is an XZ plan view showing an object space divided into blocks and a displayable area.
FIG. 11 is a diagram illustrating an image in which the display object registration unit 50 registers a display object existing in each registration target block in the object space in registration areas of three size-specific registration memories of S, M, and L. .
FIG. 12 is a diagram showing the relationship between the movement of the viewpoint position and the update of the registration target block group.
FIGS. 13A, 13B, 13C, and 13D are diagrams specifically explaining the correspondence between each registration target block constituting the registration target block group and the registration area.
FIGS. 14A and 14B are diagrams illustrating a state in which display object information is registered in a size-specific registration memory.
FIG. 15 is an explanatory diagram of a display adjustment area setting method required when setting a pre-clipping range based on a block in which a viewpoint exists.
FIG. 16 is a diagram showing the relationship between the size of a display object and the optimum pre-clipping range.
FIG. 17 is a diagram showing the relationship between the size of a display object and the optimum pre-clipping range.
FIG. 18 is a diagram showing the relationship between the size of a display object and the optimum pre-clipping range.
FIG. 19 is a diagram illustrating a state in which a pre-clipping range is set in a registration target block group and a block to be displayed is selected from the registration target block group.
FIGS. 20A and 20B are diagrams showing the relationship between the relative position from the viewpoint of a block to be displayed and the corresponding registration area.
FIG. 21 is a diagram showing a relationship between a sub-block in which a viewpoint exists and a display range.
FIG. 22 is a diagram illustrating an example of a hardware configuration of a game device.
[Explanation of symbols]
10 Operation part
20 Arithmetic processing part
30 Spatial Information Calculation Unit
40 Pre-clipping means
50 Display Object Registration Department
52 Registration Target Block Determination Unit
54 Fixed Object Registration Department
56 Moving Object Registration Department
60 Display object selection part
62 Display target specific data storage unit
70 Display object registration memory
72 Registration memory by size (S)
74 Registration memory by size (M)
76 Registration memory by size (L)
80 Image composition part
90 Image information storage unit
100 display section

Claims (18)

オブジェクト空間内における表示物の位置情報及び視点情報を演算する演算処理手段と、前記演算処理手段によって演算された表示物の位置情報及び視点情報に基づき画像合成すべき表示物の選別を行うプレクリッピング手段と、前記演算処理手段によって演算された表示物の位置情報及び視点情報と、プレクリッピング手段によって選別された表示物情報とに基づき、表示画面に表示する画像を合成する画像合成手段とを有する画像合成装置において、
前記プレクリッピング手段は、
画像合成処理を行う対象となる表示物を選択する際、前記表示物のサイズに基づき異なる選択基準を用いることを特徴とする画像合成装置。
Calculation processing means for calculating position information and viewpoint information of a display object in the object space, and pre-clipping for selecting a display object to be combined based on the position information and viewpoint information of the display object calculated by the calculation processing means. Means, and image composition means for synthesizing an image to be displayed on the display screen based on the position information and viewpoint information of the display object calculated by the arithmetic processing means and the display object information selected by the pre-clipping means. In the image composition device,
The pre-clipping means includes
An image synthesizing apparatus using different selection criteria based on the size of the display object when selecting a display object to be subjected to image synthesis processing.
請求項1において、
前記プレクリッピング手段は、
表示物情報を表示物の大きさに基づき複数のサイズ区分に分類して登録するための、複数のサイズ別登録メモリを有し、前記各サイズ別登録メモリはそれぞれ、前記表示物情報を表示物の位置情報に基づき複数の位置区分に分類して登録するための複数の登録エリアを有する表示物登録メモリと、
オブジェクト空間に存在する表示物情報を、前記表示物の大きさ及び位置情報に基づき、該当するサイズ別登録メモリの登録エリアに登録する表示物登録手段と、
各サイズ別登録メモリ毎に、視点情報及びサイズ区分に基づき表示対象となる登録エリアを選別し、選別された登録エリアに登録された表示物を前記画像合成手段で画像合成処理を行う対象として選択する表示物選択手段とを含むことを特徴とする画像合成装置。
In claim 1,
The pre-clipping means includes
There are a plurality of size-specific registration memories for registering and classifying display object information into a plurality of size categories based on the size of the display object, and each of the size-specific registration memories displays the display object information as a display object. A display object registration memory having a plurality of registration areas for classifying and registering into a plurality of position classifications based on the position information;
Display object registration means for registering display object information existing in the object space in a registration area of a corresponding size-specific registration memory based on the size and position information of the display object,
For each size-specific registration memory, a registration area to be displayed is selected based on viewpoint information and size classification, and a display object registered in the selected registration area is selected as an object to be subjected to image composition processing by the image composition means. And a display object selecting means for performing image synthesis.
請求項2において、
前記サイズ別登録メモリは、
オブジェクト空間を複数のブロックに区分し、各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されていることを特徴とする画像合成装置。
In claim 2,
The size-specific registration memory is
An image composition apparatus, wherein an object space is divided into a plurality of blocks, and each registration area is formed so as to correspond to each block with a predetermined functional relationship.
請求項3において、
前記サイズ別登録メモリは、
視点位置の周囲の表示可能性のある各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されており、
表示物登録手段は、
表示可能性のある表示物が変動したときに、新たに表示可能性が生じた表示物の表示物情報の登録を行うことを特徴とする画像合成装置。
In claim 3,
The size-specific registration memory is
Each registered area corresponds to each block that can be displayed around the viewpoint position in a predetermined functional relationship,
The display object registration means
An image synthesizing apparatus that registers display object information of a display object that has newly generated display possibility when a display object that can be displayed fluctuates.
請求項3又は請求項4のいずれかにおいて、
前記表示物選択手段は、
視点が存在するブロック及び視線情報に基づき、前記サイズ別登録メモリの各登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする画像合成装置。
In either claim 3 or claim 4
The display object selection means includes:
An image synthesizing apparatus that sorts, for each size-specific registration memory, whether each registration area of the size-specific registration memory is a display target based on a block in which a viewpoint exists and line-of-sight information.
請求項5において、
前記表示物選択手段は、
視点が存在するブロック内の視点位置に基づき、前記サイズ別登録メモリの登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする画像合成装置。
In claim 5,
The display object selection means includes:
An image synthesizing apparatus, wherein, based on a viewpoint position within a block where a viewpoint exists, whether or not a registration area of the size-specific registration memory is a display target is selected for each size-specific registration memory.
請求項4〜6のいずれかにおいて、
前記表示物登録手段は、
処理開始時には表示可能性のあるブロックに存在する表示物を登録対象とし、
その後は、視点位置の属するブロックが変動した場合に、その視点位置の変動により、新たに表示可能性の生じたブロックに存在する表示物を登録対象とすることを特徴とする画像合成装置。
In any one of Claims 4-6,
The display object registration means includes:
At the start of processing, display objects existing in blocks that can be displayed are registered.
Thereafter, when the block to which the viewpoint position belongs changes, a display object existing in a block that is newly displayed due to the change in the viewpoint position is set as a registration target.
請求項2〜7のいずれかにおいて、
前記表示物選択手段は、
視線情報に基づき、表示対象となる登録エリアを特定するデータが予め各サイズ別登録メモリ毎に、記憶された表示対象特定データ記憶手段を有し、視線情報に基づき、前記表示対象特定データ記憶手段に記憶されたデータを参照し、表示対象となる登録エリアを各サイズ別登録メモリ毎に、選別することを特徴とする画像合成装置。
In any one of Claims 2-7,
The display object selection means includes:
Data for specifying a registration area to be displayed based on line-of-sight information is stored in advance for each size-specific registration memory, and the display target-specific data storage means is based on line-of-sight information. An image synthesizing apparatus, wherein the registration area to be displayed is selected for each size-specific registration memory with reference to the data stored in the image.
オブジェクト空間内における表示物の位置情報及び視点情報を演算する演算処理手段と、前記演算処理手段によって演算された表示物の位置情報及び視点情報に基づき画像合成すべき表示物の選別を行うプレクリッピング手段と、前記演算処理手段によって演算された表示物の位置情報及び視点情報と、プレクリッピング手段によって選別された表示物情報とに基づき、表示画面に表示する画像を合成する画像合成手段とを有する画像合成装置において、
前記プレクリッピング手段は、
表示物情報を表示物の位置情報に基づき複数の位置区分に分類して登録するための複数の登録エリアを有する表示物登録メモリと、
視点位置の周囲の表示可能性のある領域に存在する表示物情報を、前記表示物の位置情報に基づき、該当する位置区分の登録エリアに登録する表示物登録手段と、
視点情報に基づき表示物登録メモリ表示対象となる登録エリアを選別し、選別された登録エリアに登録された表示物を前記画像合成手段で画像合成処理を行う対象として選択する表示物選択手段とを含み、
前記表示物登録メモリは、
オブジェクト空間を複数のブロックに区分し、表示可能性のある各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されており、
前記表示物登録手段は、
前記表示可能性のあるブロックが変動したときに、新たに表示可能性が生じたブロックに対応した登録エリアに対して、表示物情報の登録を行うことを特徴とする画像合成装置。
Calculation processing means for calculating position information and viewpoint information of a display object in the object space, and pre-clipping for selecting a display object to be combined based on the position information and viewpoint information of the display object calculated by the calculation processing means. Means, and image composition means for synthesizing an image to be displayed on the display screen based on the position information and viewpoint information of the display object calculated by the arithmetic processing means and the display object information selected by the pre-clipping means. In the image composition device,
The pre-clipping means includes
A display object registration memory having a plurality of registration areas for classifying and registering display object information into a plurality of position categories based on the position information of the display object;
A display object registration means for registering display object information existing in a displayable area around the viewpoint position in a registration area of the corresponding position classification based on the position information of the display object;
A display object selection means for selecting a registration area to be displayed on the display object registration memory based on the viewpoint information, and selecting a display object registered in the selected registration area as an object to be subjected to image composition processing by the image composition means; Including
The display object registration memory is
The object space is divided into a plurality of blocks, and each registered area is formed so as to correspond to each block that may be displayed with a predetermined functional relationship.
The display object registration means includes:
An image synthesizing apparatus for registering display object information in a registration area corresponding to a block in which display possibility is newly generated when a block having display possibility changes.
請求項9において、
前記表示物選択手段は、
視点が存在するブロック、視線情報、及び視点が存在するブロック内の視点位置に基づき、前記表示物登録メモリの各登録エリアが表示対象となるか否か選別することを特徴とする画像合成装置。
In claim 9,
The display object selection means includes:
An image synthesizing apparatus that selects whether each registration area of the display object registration memory is a display target based on a block in which a viewpoint exists, line-of-sight information, and a viewpoint position in a block in which a viewpoint exists.
演算処理手段と、プレクリッピング手段と、画像合成手段とを含む画像合成装置を用いた画像合成方法であって、
前記演算処理手段がオブジェクト空間内に存在する表示物の位置情報及び視点情報を演算する演算処理ステップと、
前記プレクリッピング手段が前記演算処理ステップによって演算された視点情報及び表示物の位置情報に基づき画像合成すべき表示物の選別を行うプレクリッピングステップと、
前記画像合成手段が前記演算処理ステップによって演算された表示物の位置情報及び視点情報と、プレクリッピングステップによって選別された表示物情報とに基づき、表示画面に表示する画像を合成する画像合成ステップと、
を含み、
前記プレクリッピングステップは、
画像合成処理を行う対象となる表示物を選択する際、前記表示物のサイズに基づき異なる選択基準を用いて選択することを特徴とする画像合成方法。
An image composition method using an image composition apparatus including an arithmetic processing means, a pre-clipping means, and an image composition means,
An arithmetic processing step in which the arithmetic processing means calculates position information and viewpoint information of a display object existing in the object space;
A pre-clipping step in which the pre-clipping means performs selection of a display object to be synthesized based on the viewpoint information calculated by the calculation processing step and the position information of the display object;
Position information and viewpoint information of the display object to the image synthesizing unit is calculated by the arithmetic processing step, based on the displayed object information selected by the pre-clipping step, an image combining step of combining the image displayed on the display screen ,
Including
The pre-clipping step includes
An image composition method, wherein when selecting a display object to be subjected to image composition processing, selection is performed using different selection criteria based on the size of the display object.
請求項11において、
前記画像合成装置は、
表示物の大きさに基づき複数のサイズ区分に分類して表示物情報を登録するための複数のサイズ別登録メモリからなる表示物登録メモリを含み、
前記各サイズ別登録メモリには、表示物の位置情報に基づき複数の位置区分に分類して前記表示物情報を登録するための複数の登録エリアが設定されており、
前記プレクリッピングステップは、
オブジェクト空間に存在する表示物情報を、前記表示物の大きさ及び位置情報に基づき、該当するサイズ別登録メモリの登録エリアに登録する表示物登録ステップと、
各サイズ別登録メモリ毎に、視点情報及びサイズ区分に基づき表示対象となる登録エリアを選別し、選別された登録エリアに登録された表示物を前記画像合成ステップにおいて画像合成処理を行う対象として選択する表示物選択ステップとを含むことを特徴とする画像合成方法。
In claim 11,
The image composition device includes:
A display object registration memory comprising a plurality of size-specific registration memories for registering display object information classified into a plurality of size categories based on the size of the display object;
In each of the size-specific registration memories, a plurality of registration areas for registering the display object information classified into a plurality of position categories based on the position information of the display object are set.
The pre-clipping step includes
A display object registration step of registering display object information existing in the object space in a registration area of a corresponding size-specific registration memory based on the size and position information of the display object,
For each size-specific registration memory, a registration area to be displayed is selected based on viewpoint information and size classification, and a display object registered in the selected registration area is selected as an object to be subjected to image composition processing in the image composition step. And a display object selecting step.
請求項12において、
前記サイズ別登録メモリは、
オブジェクト空間を複数のブロックに区分し、各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されていることを特徴とする画像合成方法。
In claim 12,
The size-specific registration memory is
An image composition method, characterized in that an object space is divided into a plurality of blocks, and each registration area corresponds to each block in a predetermined functional relationship.
請求項13において、
前記サイズ別登録メモリは、
視点位置の周囲の表示可能性のある各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されており、
表示物登録ステップは、
表示可能性のある表示物が変動したときに、新たに表示可能性が生じた表示物の表示物情報の登録を行うことを特徴とする画像合成方法。
In claim 13,
The size-specific registration memory is
Each registered area corresponds to each block that can be displayed around the viewpoint position in a predetermined functional relationship,
The display object registration step
An image composition method comprising: registering display object information of a display object that has newly generated display possibility when a display object having display possibility changes.
請求項13又は請求項14のいずれかにおいて、
前記表示物選択ステップは、
視点が存在するブロック及び視線情報に基づき、前記サイズ別登録メモリの各登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする画像合成方法。
Either of claim 13 or claim 14,
The display object selection step includes:
An image synthesizing method, wherein, based on a block in which a viewpoint exists and line-of-sight information, whether or not each registration area of the size-specific registration memory is a display target is selected for each size-specific registration memory.
請求項15において、
前記表示物選択ステップは、
視点が存在するブロック内の視点位置に基づき、前記サイズ別登録メモリの登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする画像合成方法。
In claim 15,
The display object selection step includes:
An image synthesizing method, wherein, based on a viewpoint position in a block where a viewpoint exists, whether or not a registration area of the size-specific registration memory is a display target is selected for each size-specific registration memory.
請求項14〜16のいずれかにおいて、
前記表示物登録ステップは、
処理開始時には表示可能性のあるブロックに存在する表示物を登録対象とし、
その後は、視点位置の属するブロックが変動した場合に、その視点位置の変動により、新たに表示可能性の生じたブロックに存在する表示物を登録対象とすることを特徴とする画像合成方法。
In any one of Claims 14-16,
The display object registration step includes:
At the start of processing, display objects existing in blocks that can be displayed are registered.
After that, when the block to which the viewpoint position belongs changes, the display composition existing in the block that is newly displayed due to the change in the viewpoint position is set as the registration target.
請求項12〜17のいずれかにおいて、
前記表示物選択ステップは、
視線情報に基づき、表示対象となる登録エリアを特定するデータを各サイズ別登録メモリ毎に、予め記憶させておく表示対象特定データ記憶ステップを有し、視線情報に基づき、表示対象となる登録エリアを特定するデータを参照し、表示対象となる登録エリアを各サイズ別登録メモリ毎に、選別することを特徴とする画像合成方法。
In any one of Claims 12-17,
The display object selection step includes:
There is a display target specifying data storage step for storing data for specifying a registration area to be displayed based on line-of-sight information in advance for each size-specific registration memory, and a registration area to be displayed based on line-of-sight information An image composition method characterized in that a registration area to be displayed is selected for each size-specific registration memory with reference to data for specifying the image.
JP34838395A 1995-12-18 1995-12-18 Image composition apparatus and method Expired - Fee Related JP3830189B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34838395A JP3830189B2 (en) 1995-12-18 1995-12-18 Image composition apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34838395A JP3830189B2 (en) 1995-12-18 1995-12-18 Image composition apparatus and method

Publications (2)

Publication Number Publication Date
JPH09167259A JPH09167259A (en) 1997-06-24
JP3830189B2 true JP3830189B2 (en) 2006-10-04

Family

ID=18396662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34838395A Expired - Fee Related JP3830189B2 (en) 1995-12-18 1995-12-18 Image composition apparatus and method

Country Status (1)

Country Link
JP (1) JP3830189B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4711223B2 (en) 2005-08-02 2011-06-29 株式会社セガ Image generation program, storage medium, image processing method, and image processing apparatus

Also Published As

Publication number Publication date
JPH09167259A (en) 1997-06-24

Similar Documents

Publication Publication Date Title
CN106780709B (en) A kind of method and device of determining global illumination information
JP3761085B2 (en) Image processing apparatus, components thereof, and rendering processing method
EP2058768A1 (en) Image viewer, image displaying method and information storage medium
US7116334B2 (en) Game system and image creating method
KR20000064948A (en) Image processing apparatus and image processing method
US20110034245A1 (en) Game device, game device control method, program, information storage medium
US20090267942A1 (en) Image processing device, control method for image processing device and information recording medium
CN106780707A (en) The method and apparatus of global illumination in simulated scenario
JP3420870B2 (en) Image composition method, image composition device, and game device
JP4364179B2 (en) Drawing processing apparatus and drawing processing method
US20020101435A1 (en) Apparatus and method for rendering antialiased image
US7566273B2 (en) Game system and image generating method
US8319786B2 (en) Image processing device, control method for image processing device and information recording medium
JPH11175748A (en) Image generating device and information storage medium
JP3830189B2 (en) Image composition apparatus and method
JP4502678B2 (en) Program, information storage medium, and image generation system
JP2009129167A (en) Program, information storage medium, and image generation system
JP3663407B2 (en) GAME DEVICE AND INFORMATION STORAGE MEDIUM
JP4266121B2 (en) Image generation system, program, and information storage medium
JP3364456B2 (en) 3D simulator apparatus and image composition method
US20100144448A1 (en) Information storage medium, game device, and game system
JPH07178243A (en) Three-dimensional simulator and map setting method used for the same
JP2007164651A (en) Program, information storage medium and image generation system
JP2001314648A (en) Game apparatus and information storage medium
JP4847572B2 (en) Image processing apparatus, image processing apparatus control method, and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060711

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090721

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090721

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100721

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100721

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110721

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110721

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120721

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120721

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120721

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130721

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees