JP3830189B2 - Image composition apparatus and method - Google Patents
Image composition apparatus and method Download PDFInfo
- 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
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
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
In
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
In
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
In
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
In either
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
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
In
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
In
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
In
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
[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
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
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
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
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
[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
[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
[0061]
The
[0062]
The
[0063]
The
[0064]
First, the function in which the
[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
[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
[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
[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
[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
[0077]
The image
[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
[0081]
The
[0082]
The
[0083]
That is, the image
[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
[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
[0088]
Therefore, when the pre-clipping means 40 of this embodiment sorts display objects existing in the
[0089]
That is, the pre-clipping means 40 displays a display object registration memory 70 for registering display object information, a display
[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
[0093]
FIG. 9 is an explanatory diagram of the relationship between the
[0094]
FIG. 10 is an XZ plan view showing an
[0095]
Among these
[0096]
In FIG. 11, the display
[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
[0100]
That is, the display
[0101]
The registration target
[0102]
As shown in FIG. 10, the displayable area 210 varies depending on the movement of the
[0103]
FIG. 12 is a diagram showing the relationship between the movement of the
[0104]
Even if the viewpoint position moves from 230-a to 230-b, because the same registration target block 390-a, the registration target
[0105]
The fixed
[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
[0107]
First, based on the position information, a display object to be registered is determined. Since nothing is registered in all the
[0108]
After that, when the
[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
[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
[0112]
That is, n × n
[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
[0114]
FIG. 13 is a diagram specifically explaining the correspondence. FIG. 13A is a diagram showing how the registration
[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
[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
[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
[0122]
In this way, the
[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
[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
[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
[0131]
Note that the correspondence between the
[0132]
Next, a configuration of the display
[0133]
The display
[0134]
Further, the
[0135]
FIG. 15 is an explanatory diagram of a method for setting the
[0136]
In the drawing, even when the viewpoint block 220-s is the same, the corresponding
[0137]
The
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
[0139]
As described above, when display objects having different sizes are mixed, it is necessary to set the
[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
[0141]
16, FIG. 17, and FIG. 18 are diagrams showing the relationship between the size of the display object and the optimum
[0142]
When the optimum
[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
[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
[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
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
[0147]
FIG. 17 shows an optimal pre-clipping range 350-M set in the registration
[0148]
FIG. 18 shows an optimum clipping range 350-L set in the registration
[0149]
Since the optimal shape of the
[0150]
Next, a method for selecting the
[0151]
FIG. 19 is a diagram illustrating a state in which the
[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
[0154]
Accordingly, the display
[0155]
Then, for each size-specific registration memory 72, 74, 76, the
[0156]
By the way, in the present embodiment, the display
[0157]
That is, since the viewpoint block 220-s is always at the center of the registration
[0158]
When the display
[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
[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
[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
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
[0164]
A method in which the display
[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
[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
[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
[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
[0174]
In addition, since the
[0175]
In addition, in the fixed
[0176]
Further, the display
[0177]
In addition, the fixed
[0178]
In addition, the display
[0179]
Further, in the present embodiment, the display
[0180]
2. Second embodiment
In the first embodiment, the display
[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
[0182]
However, when the wide
[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
[0184]
FIG. 21 is a diagram showing the relationship between the sub-block SB where the viewpoint is present and the
[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
[0187]
On the other hand, in the second embodiment, the
[0188]
That is, in the second embodiment, the
[0189]
As described above, in order to realize a game machine formed so as to select the
[0190]
That is, other configurations and functions of the display
[0191]
The difference from the first embodiment is the function and configuration of the display
[0192]
That is, since the viewpoint block 220-s is always at the center of the registration target block, the
[0193]
In the second embodiment, the display
[0194]
Then, a viewpoint registration area 260-s corresponding to the viewpoint block 220-s is obtained. Then, the
[0195]
By forming the display
[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
[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
[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
[0202]
Further, the functional relationship between the
[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
[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
[0207]
The method for setting the
[0208]
Further, the display target specifying data stored in the display target specifying
[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
[0210]
The
[0211]
The
[0212]
The
[0213]
Furthermore, this type of game apparatus is provided with a
[0214]
The
[0215]
The present invention can be easily implemented even by using the general game device described above. For example, the
[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
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.
前記プレクリッピング手段は、
表示物情報を表示物の大きさに基づき複数のサイズ区分に分類して登録するための、複数のサイズ別登録メモリを有し、前記各サイズ別登録メモリはそれぞれ、前記表示物情報を表示物の位置情報に基づき複数の位置区分に分類して登録するための複数の登録エリアを有する表示物登録メモリと、
オブジェクト空間に存在する表示物情報を、前記表示物の大きさ及び位置情報に基づき、該当するサイズ別登録メモリの登録エリアに登録する表示物登録手段と、
各サイズ別登録メモリ毎に、視点情報及びサイズ区分に基づき表示対象となる登録エリアを選別し、選別された登録エリアに登録された表示物を前記画像合成手段で画像合成処理を行う対象として選択する表示物選択手段とを含むことを特徴とする画像合成装置。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.
前記サイズ別登録メモリは、
オブジェクト空間を複数のブロックに区分し、各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されていることを特徴とする画像合成装置。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.
前記サイズ別登録メモリは、
視点位置の周囲の表示可能性のある各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されており、
表示物登録手段は、
表示可能性のある表示物が変動したときに、新たに表示可能性が生じた表示物の表示物情報の登録を行うことを特徴とする画像合成装置。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.
前記表示物選択手段は、
視点が存在するブロック及び視線情報に基づき、前記サイズ別登録メモリの各登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする画像合成装置。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.
前記表示物選択手段は、
視点が存在するブロック内の視点位置に基づき、前記サイズ別登録メモリの登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする画像合成装置。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.
前記表示物登録手段は、
処理開始時には表示可能性のあるブロックに存在する表示物を登録対象とし、
その後は、視点位置の属するブロックが変動した場合に、その視点位置の変動により、新たに表示可能性の生じたブロックに存在する表示物を登録対象とすることを特徴とする画像合成装置。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.
前記表示物選択手段は、
視線情報に基づき、表示対象となる登録エリアを特定するデータが予め各サイズ別登録メモリ毎に、記憶された表示対象特定データ記憶手段を有し、視線情報に基づき、前記表示対象特定データ記憶手段に記憶されたデータを参照し、表示対象となる登録エリアを各サイズ別登録メモリ毎に、選別することを特徴とする画像合成装置。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.
前記表示物選択手段は、
視点が存在するブロック、視線情報、及び視点が存在するブロック内の視点位置に基づき、前記表示物登録メモリの各登録エリアが表示対象となるか否か選別することを特徴とする画像合成装置。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.
前記画像合成装置は、
表示物の大きさに基づき複数のサイズ区分に分類して表示物情報を登録するための複数のサイズ別登録メモリからなる表示物登録メモリを含み、
前記各サイズ別登録メモリには、表示物の位置情報に基づき複数の位置区分に分類して前記表示物情報を登録するための複数の登録エリアが設定されており、
前記プレクリッピングステップは、
オブジェクト空間に存在する表示物情報を、前記表示物の大きさ及び位置情報に基づき、該当するサイズ別登録メモリの登録エリアに登録する表示物登録ステップと、
各サイズ別登録メモリ毎に、視点情報及びサイズ区分に基づき表示対象となる登録エリアを選別し、選別された登録エリアに登録された表示物を前記画像合成ステップにおいて画像合成処理を行う対象として選択する表示物選択ステップとを含むことを特徴とする画像合成方法。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.
前記サイズ別登録メモリは、
オブジェクト空間を複数のブロックに区分し、各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されていることを特徴とする画像合成方法。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.
前記サイズ別登録メモリは、
視点位置の周囲の表示可能性のある各ブロックに対して各登録エリアが所定の関数関係で対応するよう形成されており、
表示物登録ステップは、
表示可能性のある表示物が変動したときに、新たに表示可能性が生じた表示物の表示物情報の登録を行うことを特徴とする画像合成方法。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.
前記表示物選択ステップは、
視点が存在するブロック及び視線情報に基づき、前記サイズ別登録メモリの各登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする画像合成方法。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.
前記表示物選択ステップは、
視点が存在するブロック内の視点位置に基づき、前記サイズ別登録メモリの登録エリアが表示対象となるか否か各サイズ別登録メモリ毎に、選別することを特徴とする画像合成方法。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.
前記表示物登録ステップは、
処理開始時には表示可能性のあるブロックに存在する表示物を登録対象とし、
その後は、視点位置の属するブロックが変動した場合に、その視点位置の変動により、新たに表示可能性の生じたブロックに存在する表示物を登録対象とすることを特徴とする画像合成方法。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.
前記表示物選択ステップは、
視線情報に基づき、表示対象となる登録エリアを特定するデータを各サイズ別登録メモリ毎に、予め記憶させておく表示対象特定データ記憶ステップを有し、視線情報に基づき、表示対象となる登録エリアを特定するデータを参照し、表示対象となる登録エリアを各サイズ別登録メモリ毎に、選別することを特徴とする画像合成方法。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.
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)
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 |
-
1995
- 1995-12-18 JP JP34838395A patent/JP3830189B2/en not_active Expired - Fee Related
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 |