(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の位置に配置された仮想カメラにおいて見える画像を生成する画像生成装置であって、
オブジェクト空間に存在する所与のポリゴンの面の法線ベクトルと略反対方向を向いている法線ベクトルを有する複数の他のポリゴンを、前記所与のポリゴンのペアポリゴンとして関連づけて記憶するポリゴン情報記憶手段と、
前記所与のポリゴンが仮想カメラに対して表または裏のいずれを向いているかに基づき、前記ペアポリゴンが前記仮想カメラに対して表又は裏のいずれを向いているか判断し、前記オブジェクト空間の仮想カメラにおける画像を生成する画像生成手段とを含むことを特徴とする画像生成装置。
【請求項２】
請求項１において、
前記画像生成手段が、
前記ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと反対方向であると判断することを特徴とする画像生成装置。
【請求項３】
オブジェクト空間内の所与の位置に配置された仮想カメラにおいて見える画像を生成する画像生成装置であって、
オブジェクト空間に存在する所与のポリゴンの面の法線ベクトルと略反対方向を向いている法線ベクトルを有する他のポリゴンと、前記所与のポリゴンの面の法線ベクトルと略同方向を向いている法線ベクトルを有する他のポリゴンとを、前記所与のポリゴンのペアポリゴンとして関連づけて記憶するポリゴン情報記憶手段と、
前記所与のポリゴンが仮想カメラに対して表または裏のいずれを向いているかに基づき、前記ペアポリゴンが前記仮想カメラに対して表又は裏のいずれを向いているか判断し、前記オブジェクト空間の仮想カメラにおける画像を生成する画像生成手段とを含むことを特徴とする画像生成装置。
【請求項４】
請求項３において、
前記画像生成手段が、
前記所与のポリゴンとペアポリゴンの法線ベクトルが略反対方向を向いている場合、ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと反対方向であると判断する第一の判断手段と、
前記所与のポリゴンとペアポリゴンの法線ベクトルが略同方向を向いている場合、ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと同方向であると判断する第二の判断手段とを含むことを特徴とする画像生成装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記ポリゴン情報記憶手段が、
所与のポリゴンとペアポリゴンのポリゴン情報を連続した記憶領域に記憶することを特徴とする画像生成装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記ポリゴン情報記憶手段が、
オブジェクト空間における前記所与のポリゴンの前記法線ベクトルの向きと前記他のポリゴンの前記法線ベクトルの向きの関係が時間的に変化しない場合に、前記法線ベクトルの向きに基づき、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶することを特徴とする画像生成装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記ポリゴン情報記憶手段が、
同一のローカル座標系における前記所与のポリゴンのポリゴン面の法線ベクトルと前記他のポリゴンのポリゴン面の法線ベクトルの向きの関係が時間的に変化しない場合、前記ローカル座標系における前記法線ベクトルの向きに基づき、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶することを特徴とする画像生成装置。
【請求項８】
オブジェクト空間内の所与の位置に配置された仮想カメラにおいて見える画像を生成するためのプログラムを記憶した情報記憶媒体であって、
オブジェクト空間に存在する所与のポリゴンの面の法線ベクトルと略反対方向を向いている法線ベクトルを有する複数の他のポリゴンを、前記所与のポリゴンのペアポリゴンとして関連づけて記憶するポリゴン情報記憶手段と、
前記所与のポリゴンが仮想カメラに対して表または裏のいずれを向いているかに基づき、前記ペアポリゴンが前記仮想カメラに対して表又は裏のいずれを向いているか判断し、前記オブジェクト空間の仮想カメラにおける画像を生成する画像生成手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項９】
請求項８において、
前記画像生成手段が、
前記ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと反対方向であると判断することを特徴とする情報記憶媒体。
【請求項１０】
オブジェクト空間内の所与の位置に配置された仮想カメラにおいて見える画像を生成するためのプログラムを記憶した情報記憶媒体であって、
オブジェクト空間に存在する所与のポリゴンの面の法線ベクトルと略反対方向を向いている法線ベクトルを有する他のポリゴンと、前記所与のポリゴンの面の法線ベクトルと略同方向を向いている法線ベクトルを有する他のポリゴンとを、前記所与のポリゴンのペアポリゴンとして関連づけて記憶するポリゴン情報記憶手段と、
前記所与のポリゴンが仮想カメラに対して表または裏のいずれを向いているかに基づき、前記ペアポリゴンが前記仮想カメラに対して表又は裏のいずれを向いているか判断し、前記オブジェクト空間の仮想カメラにおける画像を生成する画像生成手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１１】
請求項１０において、
前記所与のポリゴンとペアポリゴンの法線ベクトルが略反対方向を向いている場合、ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと反対方向であると判断する第一の判断手段と、
前記所与のポリゴンとペアポリゴンの法線ベクトルが略同方向を向いている場合、ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと同方向であると判断する第二の判断手段としてコンピュータを機能させるためのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内の所与の位置に配置された仮想カメラによる画像を生成するための画像生成装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数のポリゴンからなるオブジェクトを配置し、所与の位置に配置された仮想カメラによる視界画像を生成する画像生成装置が知られており、プレーヤがいわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
そして、このような画像生成装置においてプレーヤの感じる仮想現実感を更に向上させるためには、画像を高品質化することが重要である。ここにおいてポリゴン数を多くすると詳細できめ細かな画像を生成することが可能となり、画像を高品質化することができる。
【０００４】
しかし、前記ポリゴン数の増加は演算負荷を増大させる。即ち、画像を生成するにあたり、前記仮想カメラから見えない位置のポリゴンの描画を省略するため、ポリゴン面の表裏判断等の処理が必要となる。仮想カメラに対して、ポリゴン面が表又は裏のいずれの面を向いているか判断し、表を向いている場合に描画処理等の画像生成処理の対象とするのである。
【０００５】
このためポリゴン数の増加は、演算処理の増大を招く原因となっており、処理能力の低いハードウエアでは高品質な画像をリアルタイムに提供することは困難であった。
【０００６】
本発明は、以上のような技術的課題に鑑みなされたものであり、その目的とするところは、少ない演算負荷で効率よくポリゴン面の表裏判断を行い高品質の画像を生成することができる画像生成装置及び情報記憶媒体を提供することにある。
【０００７】
【課題を解決するための手段】
請求項１の発明は、オブジェクト空間内の所与の位置に配置された仮想カメラにおいて見える画像を生成する画像生成装置であって、オブジェクト空間に存在する所与のポリゴンの面の法線ベクトルと、オブジェクト空間に存在する他のポリゴンの面の法線ベクトルが略反対方向及び略同方向の少なくとも一方を向いている場合、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶するポリゴン情報記憶手段と、前記所与のポリゴンが仮想カメラに対して表または裏のいずれを向いているかに基づき、前記ペアポリゴンが前記仮想カメラに対して表又は裏のいずれを向いているか判断し、前記オブジェクト空間の仮想カメラにおける画像を生成する画像生成手段とを含むことを特徴とする。
【０００８】
請求項７の発明は、オブジェクト空間内の所与の位置に配置された仮想カメラにおいて見える画像を生成するための情報記憶媒体であって、オブジェクト空間に存在する所与のポリゴンの面の法線ベクトルと、オブジェクト空間に存在する他のポリゴンの面の法線ベクトルが略反対方向及び略同方向の少なくとも一方を向いている場合、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶するポリゴン情報と、前記所与のポリゴンが仮想カメラに対して表または裏のいずれを向いているかに基づき、前記ペアポリゴンが前記仮想カメラに対して表又は裏のいずれを向いているか判断し、前記オブジェクト空間の仮想カメラにおける画像を生成するための情報とを含むことを特徴とする。
【０００９】
ここにおいて法線ベクトルが略反対方向及び略同方向の少なくとも一方を向いているとは、法線ベクトルが厳密に反対方向や同方向を向いている場合のみならず、厳密な反対方向や同方向からの多少のずれは許容する趣旨である。
【００１０】
一般に閉じたオブジェクトを構成するポリゴンにおいては外から見える面をポリゴンの表、見えない面を裏と定義する。オブジェクトが閉じていない場合も同様に、見える面を表、見えない面を裏として取り扱う。
【００１１】
仮想カメラに対して、裏を向いているポリゴン面は仮想カメラから見えない位置にある。従って、仮想カメラに対して表を向いているポリゴン面だけを描画処理の対象とすると、処理負担の軽減を図ることができる。
【００１２】
本発明によれば、所与のポリゴンの仮想カメラの向きに基づいて、ペアポリゴンの仮想カメラの向きを判断することができる。このため、ペアポリゴンの仮想カメラに対する向きの演算等の処理を省略することができるため、画像生成のための演算負荷を大幅に削減することができる。
【００１３】
従って、従来に比べ大幅に少ない演算負荷で画像生成が可能となるため、処理能力の低いハードウエアにおいてもポリゴン数の多い画像をリアルタイムに生成することが可能となる。
【００１４】
請求項２の発明は請求項１において、前記画像生成手段が、前記所与のポリゴンとペアポリゴンの法線ベクトルが略反対方向を向いている場合、ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと反対方向であると判断する第一の判断手段と、前記所与のポリゴンとペアポリゴンの法線ベクトルが略同方向を向いている場合、ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと同方向であると判断する第二の判断手段の少なくとも一方を含むことを特徴とする。
【００１５】
請求項８の発明は請求項７において、前記所与のポリゴンとペアポリゴンの法線ベクトルが略反対方向を向いている場合、ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと反対方向であると判断する第一の判断情報と、前記所与のポリゴンとペアポリゴンの法線ベクトルが略同方向を向いている場合、ペアポリゴンの前記仮想カメラに対する向きは前記所与のポリゴンの前記仮想カメラに対する向きと同方向であると判断する第二の判断情報の少なくとも一方を含むことを特徴とする。
【００１６】
このようにすることにより、ペアポリゴンと仮想カメラの配置に基づいてペアポリゴンの仮想カメラに対する向きを演算することなく、ペアポリゴンの仮想カメラに対する向きを判断することができる。
【００１７】
ペアポリゴンの仮想カメラに対する向きを求める演算は、演算負荷が大きいため、この演算を省略することができることにより、画像生成のための演算負荷を大幅に軽減することができる。
【００１８】
請求項３の発明は、請求項１又は２のいずれかにおいて、前記ポリゴン情報記憶手段が、所与のポリゴンに対して複数の他のポリゴンをペアポリゴンとして関連づけて記憶することを特徴とする。
【００１９】
請求項９の発明は、請求項７又は８のいずれかにおいて、所与のポリゴンに対して複数の他のポリゴンをペアポリゴンとして関連づけて記憶することを特徴とする。
【００２０】
本発明によれば、所与の１のポリゴンの仮想カメラに対する表裏の向きが分かれば、それに対応する複数のペアポリゴンの仮想カメラに対する表裏の向きが自動的に判別可能となる。従って１の所与のポリゴンの仮想カメラに対する表裏の向きを演算すると、複数のペアポリゴンの法線ベクトルの仮想カメラに対する向きの演算を省略することができ、演算負荷を大幅に削減することができる。
【００２１】
なお、本発明には所与のポリゴンの法線ベクトルが略反対方向を向いているペアポリゴンを複数有しており、同時に法線ベクトルが略同方向を向いているペアポリゴンを複数有している場合も含む。このような場合、演算負荷を更に大幅に削減することができる。
【００２２】
請求項４の発明は、請求項１乃至３のいずれかにおいて、前記ポリゴン情報記憶手段が、所与のポリゴンとペアポリゴンのポリゴン情報を連続した記憶領域に記憶することを特徴とする。
【００２３】
連続した記憶領域とはハードウエア的に連続した領域でもよいし、ソフトウエア的に連続した領域として取り扱い可能な領域でもよい。
【００２４】
本発明によれば、ペアポリゴンに対するアドレス情報が削減出来、効率よくペアポリゴンの情報を設定できる。また、ペアポリゴンに対する検索時間も節約することができる。
【００２５】
請求項５の発明は請求項１乃至４のいずれかにおいて、前記ポリゴン情報記憶手段が、オブジェクト空間における前記所与のポリゴンの前記法線ベクトルの向きと前記他のポリゴンの前記法線ベクトルの向きの関係が時間的に変化しない場合に、前記法線ベクトルの向きに基づき、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶することを特徴とする。
【００２６】
オブジェクト空間における複数のポリゴン面の法線ベクトルの向きの関係が時間的に変化しない場合として、例えば一体となって動くオブジェクトを構成する複数のポリゴンや、関節で接続された１のパーツを構成する複数のポリゴン等がある。また、オブジェクト空間内に配置された静止物を構成するポリゴンも、オブジェクト空間における複数のポリゴン面の法線ベクトルの向きの関係が時間的に変化しない。
【００２７】
このようにオブジェクト空間における複数のポリゴン面の法線ベクトルの向きの関係が時間的に変化しない場合には、異なるオブジェクトに属するポリゴン面であっても、またオブジェクト空間内での配置が変化するポリゴン面であっても、ペアポリゴンとして関連づけることができる。
【００２８】
従って、係る関係にあるポリゴンをペアポリゴンとして位置づけることにより、事前にペアポリゴンの設定が可能となる。
【００２９】
請求項６の発明は請求項１乃至５のいずれかにおいて、前記ポリゴン情報記憶手段が、同一のローカル座標系における前記所与のポリゴンのポリゴン面の法線ベクトルと前記他のポリゴンのポリゴン面の法線ベクトルの向きの関係が時間的に変化しない場合、前記ローカル座標系における前記法線ベクトルの向きに基づき、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶することを特徴とする。
【００３０】
ポリゴン情報を設定する際には、移動オブジェクトの各ポリゴンがオブジェクト空間にどのように配置されるかは未定である。しかし、一体となって動く１つのオブジェクトを構成する複数のポリゴン面については、オブジェクトのモデル設定を行う際のローカル座標系における各ポリゴン面の法線ベクトルの向きの関係は、ワールド座標系に配置した際にも変わらない。よって、このローカル座標系における法線ベクトルの向き関係に基づいて、ペアポリゴンの関連づけを行うことができる。
【００３１】
ところが異なるオブジェクトに属するポリゴン面に関しては、通常個別にモデル設定を行うため、ポリゴン情報を設定する際にいかにして法線ベクトルの向きの関係を判断するかが問題となる。
【００３２】
本発明によれば、異なるオブジェクトに関しても、同一のローカル座標系で設定できるものについては同一のローカル座標系に配置し、各ポリゴン面の法線ベクトルの向き関係を判断し、ペアポリゴンの関連づけを行うことができる。
【００３３】
従って、係る関係にあるポリゴンをペアポリゴンとして位置づけることにより、事前にペアポリゴンの設定が可能となる。
【００３４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。なお、以下では本発明を格闘技ゲームに適用した場合を例にとり説明するが、本発明が適用されるのはこれに限られるものではない。
【００３５】
図１に本実施の形態に係る画像生成装置の機能ブロック図の一例を示す。ここで操作部１０は、プレーヤがレバー、ボタン等を操作してプレーヤキャラクタの操作情報を入力するためのものである。操作部１０にて得られた操作情報は処理部１００に出力される。
【００３６】
処理部１００は、この操作情報と、所与のプログラム等に基づいて、表示物を表すオブジェクトが複数配置されて成るオブジェクト空間の所与の視点での画像を生成する処理等を行うものである。この処理部１００の機能は、例えばＣＰＵ（ＣＩＣＳ型、ＲＩＳＣ型）、ＤＳＰ、ＡＳＩＣ（ゲートアレイ等）、メモリなどのハードウェアにより構成される。
【００３７】
情報記憶媒体１５０は、プログラムやデータを記憶するものである。この情報記憶媒体１５０の機能は、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＯ、ＦＤ、ＤＶＤ、メモリ、ハードディスクなどのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１５０からのプログラム、データに基づいて種々の処理を行うことになる。
【００３８】
処理部１００は、ゲーム演算部１１０、ポリゴン情報記憶部１２０、画像生成部１７０を含む。画像生成部１７０は、３次元演算部１３０、画像描画部１４０を含む。
【００３９】
ここでゲーム演算部１１０は、ゲームモードの設定処理、ゲームの進行処理、ゲームキャラクタの位置や方向、動作を決める処理、視点情報を決める処理等を行う。またゲーム演算部１１０は、各フレーム毎に仮想カメラの位置及び方向を決定する視点演算部１１２を含む。
【００４０】
視点演算部１１２は、ゲームステージにおけるゲームキャラクタの位置や方向、動作に基づいて、ゲームキャラクタが行う格闘技を撮影するのに最適な仮想カメラの位置及び方向を決定する。
【００４１】
ポリゴン情報記憶部１２０はオブジェクト毎にポリゴンの頂点情報、メッシュ情報、テクスチャ情報等のモデル情報を記憶するものである。本実施の形態では所与のポリゴンのポリゴン面の法線ベクトルの向きと、他のポリゴンのポリゴン面の法線ベクトルの向きが略反対方向及び略同方向を向いている場合、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶している。
【００４２】
このポリゴン情報は初期状態では情報記憶媒体１５０に格納されており、電源投入後等に情報記憶媒体１５０からポリゴン情報記憶部１２０に転送される。
【００４３】
画像生成部１７０は、３次元演算部１３０、画像描画部１４０を含む。３次元演算部１３０は、前記ポリゴン情報に基づき、画像生成に必要な座標変換演算等を行う。
【００４４】
画像描画部１４０は、３次元演算部１３０の演算結果に基づいてオブジェクト空間での所与の視点での画像を生成する処理を行う。画像描画部１４０により生成された画像は表示部１６０において表示される。
【００４５】
また３次元演算部１３０は、画像描画部１４０が行う処理負担を軽減するために、仮想カメラから見えない位置のポリゴンを判断するための法線クリッピングの処理を行っている。
【００４６】
即ち視点演算部１１２が演算した前記仮想カメラの配置に基づき、前記３次元演算部１３０は、前記仮想カメラに対して、各ポリゴン面の表又は裏のいずれの面が向いているか判断する。そして前記画像描画部１４０は、表を向いているポリゴン面に対して画像を描画する処理を行う。
【００４７】
本実施の形態の特徴は、前記３次元演算部１３０が、前記所与のポリゴンについて行った仮想カメラに対する向きの表裏チェックの結果に基づき前記ペアポリゴンの仮想カメラに対する向きの表裏を判断することにより、演算負荷の増大を防ぐことにある。
【００４８】
このため本実施の形態では、オブジェクト空間に存在する所与のポリゴンのポリゴン面の法線ベクトルの向きと、オブジェクト空間に存在する他のポリゴンのポリゴン面の法線ベクトルの向きが略反対方向及び略同方向の少なくとも一方を向いている場合、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶している。以下のこの点について説明する。
【００４９】
図２（Ａ）（Ｂ）はペアポリゴンを説明するための図である。
【００５０】
図２（Ａ）のＶ１〜Ｖ８の８つの頂点からなる立方体のオブジェクト２００は、頂点Ｖ２、Ｖ３、Ｖ７、Ｖ６からなるポリゴン面Ｐ１と頂点Ｖ１、Ｖ４、Ｖ８、Ｖ５からなるポリゴン面Ｐ２を含んでいる。同図に示すようにポリゴン面Ｐ１の法線ベクトルＨ１と、ポリゴン面Ｐ２の法線ベクトルＨ２は反対方向を向いている。従って、ポリゴン面Ｐ２はポリゴン面Ｐ１の反対方向のペアポリゴン（以下反対方向ペアポリゴンと呼ぶ）となる。
【００５１】
一般に閉じたオブジェクトを構成するポリゴンにおいては外から見える面をポリゴンの表、見えない面を裏と定義する。従って、前記立方体のオブジェクト２００においては、立方体の外側を向いている面が各ポリゴンの表で、内側を向いている面が各ポリゴンの裏となる。
【００５２】
図２（Ａ）のＳ１に仮想カメラの視点位置がある場合、ポリゴン面Ｐ１は、表がカメラ方向を向いており、ポリゴン面Ｐ２は、裏（斜線部分）が仮想カメラの方向を向いている。即ち、ポリゴン面Ｐ１は仮想カメラから見える方向を向いており、ポリゴン面Ｐ２は仮想カメラから見えない方向を向いているといえる。
【００５３】
なお、ポリゴン面が仮想カメラから実際に見えるか否かは、他のポリゴンとの配置関係にもよるため、このポリゴン面の表裏だけでは決定できないが、少なくとも見える可能性のあるものとないものの判別を行うことができる。
【００５４】
また図２（Ｂ）のオブジェクト２０２は頂点Ｖ１１、Ｖ１２、Ｖ１３、Ｖ１４からなるポリゴン面Ｐ３と、頂点Ｖ１５、Ｖ１６、Ｖ１７、Ｖ１８からなるポリゴン面Ｐ４を含んでいる。同図に示すようにポリゴン面Ｐ３の法線ベクトルＨ３と、ポリゴン面Ｐ４の法線ベクトルＨ４とは同方向を向いている。従ってポリゴン面Ｐ４はポリゴン面Ｐ３の同方向のペアポリゴン（同方向ペアポリゴン）となる。
【００５５】
図２（Ｂ）のＳ２に仮想カメラの視点位置があった場合、ポリゴン面Ｐ３は表がカメラ方向を向いており、ポリゴン面Ｐ２も表が仮想カメラ方向を向いている。従って、ポリゴン面Ｐ３、Ｐ４はいずれも仮想カメラから見える方向を向いているといえる。
【００５６】
図２（Ａ）（Ｂ）で説明したように、所与のポリゴンと反対方向のペアポリゴンの関係にあるポリゴンは、仮想カメラに対する表裏の向きが反対となる。また所与のポリゴンと同方向のペアポリゴンの関係にあるポリゴンは、仮想カメラに対する表裏の向きが同じとなる。従って所与のポリゴンの仮想カメラに対する表裏の向きが分かれば、自動的にペアポリゴンの向きが判断できる。
【００５７】
図２（Ａ）においてポリゴン面Ｐ１の仮想カメラに対する法線ベクトルＨ１の向きを演算して表裏を検出すれば、ポリゴン面Ｐ２の法線ベクトルＨ２の仮想カメラに対する向きを演算しなくても、ポリゴン面Ｐ２の仮想カメラに対する表裏を判断することができる。
【００５８】
即ち、例えば図２（Ａ）の１３に仮想カメラの視点位置があった場合、ポリゴン面Ｐ１の仮想カメラに対する法線ベクトルＨ１の向きを演算して、表がカメラ方向を向いていることが分かるとする。そうするとポリゴン面Ｐ１と反対方向のペアポリゴンをなすポリゴン面Ｐ２は、仮想カメラに対して裏（斜線部分）方向を向いていることが分かる。
【００５９】
また、例えば図２（Ｂ）のＳ２に仮想カメラの視点位置があった場合、ポリゴン面Ｐ３の仮想カメラに対する法線ベクトルの向きＨ３を演算して、表が仮想カメラの方向を向いていることが分かるとする。そうするとポリゴン面Ｐ３と同方向のペアポリゴンをなすポリゴン面Ｐ４は、仮想カメラに対して表方向を向いていることが分かる。
【００６０】
本実施の形態では、ポリゴン情報記憶部１２０で、前記所与のポリゴンとペアポリゴンを関連づけて記憶している。そして３次元演算部１３０では、前記所与のポリゴンについて行った仮想カメラに対する表裏の向きに基づき、前記ペアポリゴンの仮想カメラに対する表裏の向きを判断するよう構成されている。
【００６１】
即ち、図２（Ａ）に示すような反対方向のペアポリゴンの前記仮想カメラに対する向きは、前記所与のポリゴンの前記仮想カメラに対する向きと反対方向であると判断する。また、図２（Ｂ）に示すような同方向のペアポリゴンの前記仮想カメラに対する向きは、前記所与のポリゴンの前記仮想カメラに対する向きと同方向であると判断する。
【００６２】
また、本実施の形態では、オブジェクト空間における前記所与のポリゴンの前記法線ベクトルの向きと前記他のポリゴンの前記法線ベクトルの向きの関係が時間的に変化しない場合に、前記法線ベクトルの向きに基づき、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶することを特徴とする。
【００６３】
図３（Ａ）（Ｂ）はオブジェクト空間における所与のポリゴンの法線ベクトルの向きと他のポリゴンの法線ベクトルの向きの関係が時間的に変化しない場合を説明するための図である。
【００６４】
図３（Ａ）では、オブジェクト空間内に道路２１０を挟んで２つの建物２２０と２３０が配置されている場合を示している。このような場合例えば建物２２０、２３０は静止オブジェクトであるため、建物２２０のポリゴン面Ｐ５の法線ベクトルＨ５と建物２３０のポリゴン面Ｐ６の法線ベクトルＨ６の向きは時間的に変化しない。このため法線ベクトルＨ５と法線ベクトルＨ６の向きは時間的に変化しない関係にあると言える。
【００６５】
また図３（Ｂ）では、連結棒２４２に接続され、支柱２４０の周りを回転する２つのオブジェクト２５０、２６０を示している。オブジェクト２６０のポリゴン面Ｐ７の法線ベクトルＨ７の向きとオブジェクト２６０のポリゴン面Ｐ８の法線ベクトルＨ８の向きは、オブジェクト２５０、２６０の回転運動によって時間的に変化する。しかし回転運動をしていても法線ベクトルＨ７と法線ベクトルＨ８は常に反対方向を向く関係にある。即ち法線ベクトルＨ７と法線ベクトルＨ８向きは時間的に変化しない関係にあると言える。
【００６６】
このようにオブジェクト空間における複数のポリゴン面の位置関係が時間的に変化しない場合には、異なるオブジェクトに属するポリゴン面であっても、またオブジェクト空間内での配置が変化するポリゴン面であっても、ペアポリゴンとして関連づけることができる。
【００６７】
また、本実施の形態では、同一のローカル座標系おける前記所与のポリゴンのポリゴン面の法線ベクトルと前記他のポリゴンのポリゴン面の法線ベクトルの向きの関係が時間的に変化しない場合、前記ローカル座標系における前記法線ベクトルの向きに基づき、前記他のポリゴンを前記所与のポリゴンのペアポリゴンとして関連づけて記憶することを特徴とする。
【００６８】
図４は、同一のローカル座標系おける所与のポリゴンの面の法線ベクトルと前記他のポリゴンの面の法線ベクトルの向きの関係が時間的に変化しない例を説明するための図である。
【００６９】
図４に示すように連結棒２４２と２つのオブジェクト２５０、２６０は１の同じローカル座標系（ＬＸ、ＬＹ、ＬＺ）でモデルの設定が可能である。従って、ローカル座標系（ＬＸ、ＬＹ、ＬＺ）における法線ベクトルＨ７とＨ８の向きの関係を用いて、ポリゴン面Ｐ７とＰ８の法線ベクトルＨ７とＨ８の向きの関係を判断することができる。
【００７０】
また本実施の形態は所与のポリゴンに対して複数の他のポリゴンをペアポリゴンとして関連づけて記憶することを特徴とする。
【００７１】
図５は、所与のポリゴンに対して複数の他のポリゴンがペアポリゴンとして関連づけられる場合を説明するための図である。
【００７２】
図５に示すオブジェクト２７０の複数のポリゴン面Ｐ１１〜Ｐ２０の各法線ベクトルＨ１１〜Ｈ２０は同じ方向を向いている。このような場合例えば、ポリゴンＰ１１に対して、複数のポリゴンＰ１２〜Ｐ２０を同方向のペアポリゴンとして関連づけることができる。
【００７３】
また、ポリゴン面Ｐ２１の法線ベクトルとポリゴン面Ｐ１１〜Ｐ２０の各法線ベクトルＨ１１〜Ｈ２０は反対方向を向いている。このような場合例えば、ポリゴンＰ２１に対して、複数のポリゴンＰ１１〜Ｐ２０を反対方向のペアポリゴンとして関連づけることができる。
【００７４】
従ってポリゴン面Ｐ２１の仮想カメラに対する法線ベクトルの向きを演算して表裏を検出すれば、ポリゴン面Ｐ１１〜Ｐ２０の法線ベクトルＰ１１〜Ｐ２０の仮想カメラに対する向きを演算しなくても、ポリゴン面Ｐ１１〜Ｐ２０の仮想カメラに対する表裏を判断することができる。
【００７５】
例えば図５のＳ３に仮想カメラの視点位置があった場合、ポリゴン面Ｐ２１の仮想カメラに対する法線ベクトルの向きが裏（斜線部分）であることが分かると、反対方向のペアポリゴンをなすポリゴン面Ｐ１１〜Ｐ２０は、法線ベクトルの向きの演算を行わなくても、仮想カメラに対して表方向を向いていることが分かる。
【００７６】
また、例えば図５のＳ４に仮想カメラの視点位置があった場合、ポリゴン面Ｐ１１の仮想カメラに対する法線ベクトルの向きが表であることが分かると同方向のペアポリゴンをなすポリゴン面Ｐ１２〜Ｐ２０は、仮想カメラに対して表方向を向いていることが分かる。
【００７７】
このように、所与の１のポリゴンの仮想カメラに対する表裏の向きが分かれば、それに対応する複数のペアポリゴンの仮想カメラに対する表裏の向きが自動的に判別可能となる。従って、複数のペアポリゴンの法線ベクトルの仮想カメラに対する向きの演算を省略することができ、演算負荷を大幅に削減することができる。
【００７８】
また本実施の形態では前記ポリゴン情報記憶部１２０は、所与のポリゴンとペアポリゴンのメッシュ情報を連続した記憶領域に記憶することを特徴とする。以下この具体的な内容について説明する。
【００７９】
図６（Ａ）（Ｂ）（Ｃ）はポリゴン情報について説明するための図である。ポリゴン情報は、頂点情報、メッシュ情報、テクスチャ情報を含む。
【００８０】
図６（Ｂ）（Ｃ）は、図６（Ａ）に示すオブジェクト６１０のポリゴン情報の一例を示している。
【００８１】
図６（Ｃ）の頂点情報は、オブジェクト６１０を構成するポリゴンの頂点の座標を、オブジェクトのボディ座標系等のローカル座標系における３次元座標として表したものである。
【００８２】
図６（Ｂ）に示すメッシュ情報６２０とは、オブジェクトを構成するポリゴン面を特定するための各ポリゴンの稜線情報である。すなわち頂点情報のみでは各頂点がどのように連結してポリゴン面を構成しているのかが特定できない。そこで、オブジェクトを構成するポリゴン面を特定するために、オブジェクトを構成する各ポリゴン面の稜線に沿った頂点の配列情報としてメッシュ情報を設定している。このメッシュ情報により、ポリゴン面の特定及びポリゴン面の表裏の特定が可能となる。
【００８３】
図６（Ａ）に示すように、オブジェクト６１０はＶ１１〜Ｖ１８の８個の頂点とＰ１１〜Ｐ１６を６個のポリゴン面を含んでいる。オブジェクト６１０の頂点情報６４０は、図６（Ｃ）に示すように各頂点Ｖ１１〜Ｖ１８についてのオブジェクトのボディ座標系におけるＸＹＺ座標を含んで構成されている。例えばＶ１１の頂点情報（Ｘ１１、Ｙ１１、Ｚ１１）は、オブジェクト６１０のローカル座標系のデータとして与えられている。
【００８４】
また、オブジェクトのメッシュ情報６２０は図６（Ｂ）に示すように、各ポリゴン面Ｐ１１〜Ｐ１６についての稜線情報６２２を含んで構成されている。例えばポリゴン面Ｐ１１は反時計回りにＶ１１−Ｖ１５−Ｖ１６−Ｖ１２の頂点をつないで構成されていることを示している。
【００８５】
また、本実施の形態では、このメッシュ情報が所与のポリゴンとペアポリゴンの関連情報を有している。即ち、ペアポリゴンのメッシュ情報を連続した記憶領域に記憶し、ペアフラグ６５０を用いてペアポリゴンの関係が判別できるように構成されている。ペアフラグとして、以下の２種類のフラグを有している。即ち、本ポリゴンが１つ前のポリゴンのペアポリゴンであるか否かのを表すフラグ（以下有無フラグという）と、ペアポリゴンである場合１つ前のポリゴンに対して同方向のペアポリゴンであるのか反対方向のペアポリゴンであるのかを示すフラグ（以下方向フラグという）である。１つ前のポリゴンのペアポリゴンである場合には有無フラグは１であり、ペアポリゴンでない場合、有無フラグは０である。また、１つ前のポリゴンと同方向のペアポリゴンである場合、方向フラグは０であり、反対方向のペアポリゴンである場合、方向フラグは１となる。この方向フラグは、有無フラグが１を示している時のみ意味を持つ。
【００８６】
例えば図６（Ｂ）に示すようにポリゴンＰ１６は有無フラグが１、方向フラグは１であるため、本ポリゴンＰ１６は１つ前のポリゴンＰ１１の反対方向のペアポリゴンであることを示している。
【００８７】
図６（Ｂ）のメッシュ情報の配置とペアフラグの設定方法について説明する。
【００８８】
図６（Ａ）に示すような立方体のオブジェクトにおいては、ポリゴン面Ｐ１６、Ｐ１４、Ｐ１５はそれぞれポリゴン面Ｐ１１、Ｐ１２、Ｐ１３反対方向のペアポリゴンとなっている。従って、図６（Ｂ）に示すように、ポリゴン面Ｐ１１とＰ１６のメッシュ情報Ｍ１１とＭ１６、Ｐ１２とＰ１４のメッシュ情報Ｍ１２とＭ１４、Ｐ１３とＰ１５のメッシュ情報Ｍ１３とＭ１５がそれぞれ連続するように配置する。そして、先に配置されるポリゴンＰ１１、Ｐ１２、Ｐ１３の有無フラグを０にし、先に配置されたポリゴンのペアポリゴンであるＰ１６、Ｐ１４、Ｐ１５の有無フラグを１にする。
【００８９】
またポリゴンＰ１６、Ｐ１４、Ｐ１５は１つ前のポリゴンの反対方向のペアポリゴンなので方向フラグに１をセットする。ポリゴンＰ１１、Ｐ１２、Ｐ１３については、１つ前のポリゴンとはペアポリゴンの関係に無いため、方向フラグ（注１）は意味のないもである。
【００９０】
図６では、所与のポリゴンと反対方向のペアポリゴンが１対１の関係にある場合を例にとりメッシュ情報の配置とペアフラグの関係について説明したが、それ以外の場合も同様である。
【００９１】
図７（Ａ）（Ｂ）は所与のポリゴンとペアポリゴンが１対多の関係にある場合のメッシュ情報とペアフラグの設定を説明するための図である。
【００９２】
図７（Ａ）に示すようなオブジェクト２９０においては、ポリゴン面Ｐ２２、Ｐ２３、Ｐ２４の法線ベクトルＨ２２、Ｈ２３、Ｈ２４はそれぞれポリゴン面Ｐ２１の法線ベクトルＨ２１と反対方向のペアポリゴンとなっている。またポリゴン面Ｐ２６、Ｐ２７、Ｐ２８の法線ベクトルＨ２６、Ｈ２７、Ｈ２８はそれぞれポリゴン面Ｐ２５の法線ベクトルと反対方向を向いている。即ち、ポリゴン面Ｐ２２、Ｐ２３、Ｐ２４はそれぞれポリゴン面Ｐ２１と、ポリゴン面Ｐ２６、Ｐ２７、Ｐ２８はそれぞれポリゴン面Ｐ２５と反対方向のペアポリゴンとなっている。
【００９３】
従って、図７（Ｂ）の７１０に示すように、ポリゴン面Ｐ２１とＰ２２、Ｐ２３、Ｐ２４のメッシュ情報を連続して配置し、７２０に示すようにポリゴン面Ｐ２５とＰ２６、Ｐ２７、Ｐ２８のメッシュ情報を連続して配置する。
【００９４】
そして、先に配置されるポリゴンＰ２１の有無フラグを０にし、先に配置されたポリゴンＰ２１のペアポリゴンであるＰ２２、Ｐ２３、Ｐ２４の有無フラグを１にする。同様に、先に配置されるポリゴンＰ２５の有無フラグを０にし、先に配置されたポリゴンＰ２５のペアポリゴンであるＰ２６、Ｐ２７、Ｐ２８の有無フラグを１にする。
【００９５】
図８（Ａ）（Ｂ）は所与のポリゴンとペアポリゴンが多対多の関係にある場合のメッシュ情報とペアフラグの設定を説明するための図である。
【００９６】
図８（Ａ）に示すようなオブジェクト３００においては、ポリゴン面Ｐ３１、Ｐ３２、Ｐ３３の法線ベクトルＨ３１、Ｈ３２、Ｈ３３はそれぞれポリゴン面Ｐ３４、Ｐ３５、Ｐ３６の法線ベクトルＨ３４、Ｈ３５、Ｈ３６と反対方向を向いている。即ち、ポリゴン面Ｐ３１、Ｐ３２、Ｐ３３のグループはポリゴン面Ｐ３４、Ｐ３５Ｐ３６のグループと反対方向のペアポリゴンの関係となっている。
【００９７】
従って、図８（Ｂ）に示すように、ポリゴン面Ｐ３１、Ｐ３２、Ｐ３３とＰ３４、Ｐ３５、Ｐ３６のメッシュ情報を連続して配置する。
【００９８】
そして、先に配置されるポリゴンＰ３１の有無フラグを０にし、ペアポリゴンであるＰ３２、Ｐ３３、Ｐ３４の有無フラグを１にする。そしてポリゴンＰ３２、Ｐ３３はそれぞれポリ１つ前のポリゴンＰ３１、Ｐ３２と同方向のペアポリゴンなので、方向フラグを０にする。またＰ３４、Ｐ３５、Ｐ３６は先に配置されたポリゴンのペアポリゴンなので有無フラグを１にする。そしてポリゴンＰ３４はそれぞれポリ１つ前のポリゴンＰ３３と反対方向のペアポリゴンなので方向フラグを０にする。またポリゴンＰ３５、Ｐ３６はそれぞれ１つ前のポリゴンと同方向のペアポリゴンなので方向フラグを０にする。
【００９９】
図６、図７、図８のようにメッシュ情報を配置しペアフラグを設定すると、有無フラグによりペアポリゴンを判断し、ペアポリゴンについては方向フラグにより１つ前のポリゴンと同方向か逆方向か判別できる。このため、ペアポリゴンの視点に対する表裏チェックについては、１つ前のポリゴンの表裏チェックの結果を用いることができる。従って、ペアポリゴンについては、視点に対する法線ベクトルの向きを演算することなく表裏チェックをおこなうことができる。
【０１００】
また、前記例では所与のポリゴンとペアポリゴンの法線ベクトルが完全に反対方向又は同方向を向いている場合を例に取り説明したが、完全に反対方向又は同方向を向いている場合に限られない。
【０１０１】
図９は、所与のポリゴンとペアポリゴンの法線ベクトルが完全に反対方向又は同方向を向いていない例を説明するための図である。
【０１０２】
図９に示すようにはなだらかな丘陵を表すオブジェクト３１０の表面のポリゴンＰ４１、Ｐ４２、Ｐ４３、Ｐ４４の法線ベクトルをＨ４１、Ｈ４２、Ｈ４３、Ｈ４４とする。法線ベクトルＨ４１、Ｈ４２、Ｈ４３、Ｈ４４は、完全に同方向を向いてはいないが、ほぼ同方向を向いている。このような場合、多少のずれはあっても同方向を向いている場合と同視して処理可能である。従ってこのような場合も、例えばＰ４２、Ｐ４３、Ｐ４４をＰ４１の同方向のペアポリゴンとして取り扱うことができる。
【０１０３】
この多少のずれがどの程度まで許容範囲であるかは、オブジェクトの形状や移動、回転等の運動を行うか、また仮想カメラからの距離や方向がどのような範囲をとりうるかを考慮にして決める必要がある。
【０１０４】
図１０は、本実施の形態の処理の一例を表すフローチャート図である。
【０１０５】
本実施の形態では、各フレーム毎に、図１０に示すフローチャートの処理を行い画像の生成を行っている。
【０１０６】
まず、３次元演算部１３０は、オブジェクトを構成する各頂点の３次元演算を行う（ステップＳ１０）。具体的には、まずオブジェクト空間内に配置されたオブジェクトをゲーム空間内のプレーヤキャラクタの動作等に基づいてワールド座標系に配置する処理を行う。即ちポリゴン情報記憶部１２０に記憶されたローカル座標系の頂点座標をワールド座標系に座標変換演算する。その後、視点演算部１１２が演算した視点位置に基づき、前記ワールド座標系の頂点座標を視点座標系に座標変換する。
【０１０７】
次に、仮想カメラから見えるポリゴン、即ち仮想カメラに対して表を向いているポリゴンを選別する法線クリッピングの処理（ステップＳ２０からステップＳ９０）を行う。
【０１０８】
まず図６（Ｂ）、図７（Ｂ）、図８（Ｂ）に示すような各ポリゴン面のメッシュ情報の取り出しを行う（ステップＳ２０）。そしてメッシュ情報の有無フラグを参照する。有無フラグが１でなければ、前回処理したポリゴンのペアポリゴンではないため、前記メッシュ情報の稜線情報に基づき各ポリゴンの視点座標系における法線ベクトルを演算する。そして前記法線ベクトルに基づき、当該ポリゴンが仮想カメラに対して表又は裏のいずれを向いているかを演算する（ステップＳ４０）。そして表裏の演算結果をワークエリアに保持する（ステップＳ５０）。
【０１０９】
有無フラグが１であれば、前回処理したポリゴン面のペアポリゴンである。このため同方向のペアポリゴンであるのか反対方向のペアポリゴンであるかの調べるために、方向フラグを参照する（ステップＳ６０）。方向フラグが０であれば、同方向のペアポリゴンであるため、仮想カメラに対する向きは前回処理したポリゴンと同様になる。従ってワークエリアに保持されている前回の値を利用できる。
【０１１０】
また、方向フラグが１であれば、反対方向のペアポリゴンであるため、仮想カメラに対する向きは前回処理したポリゴンと反対になる。従って、ワークエリアの値を反転して利用する（ステップＳ７０）。
【０１１１】
そしてワークエリアの値が表を示している場合には、以降の描画処理が必要となるため、頂点情報をスクリーン座標系に変換して画像描画部１４０へ送る（ステップＳ９０）。
【０１１２】
その後、全てのポリゴンについて前記法線クリッピングの処理が終了したか否かを判断し（ステップＳ１００）、終了していない場合は再びステップ２０以降の処理を繰り返す。終了している場合には処理を終了する。
【０１１３】
図１１（Ａ）〜（Ｄ）は本実施の形態のゲーム画面に登場するゲームキャラクタ及びそのポリゴン図を表したものである。図１１（Ａ）（Ｃ）のゲームキャラクタは、図１１（Ｂ）（Ｄ）に示すように１体あたり約１０００枚程度のポリゴンから構成されている。
【０１１４】
このような多数のポリゴンに対してリアルタイムに法線ベクトルを算出することは演算負荷の増大の原因となっていた。しかし本実施の形態によれば、図１から図１０で説明した手法を用いることにより、法線ベクトルの演算を大幅に削減し、演算負荷の大幅な軽減を図ることができる。
【０１１５】
次に、本実施の形態を実現できるハードウェアの構成の一例について図１２を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【０１１６】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像情報、音情報等が主に格納されるものであり、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＤＶＤ、ＭＯ、ＦＤ、メモリ、ハードディスク等が用いられる。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【０１１７】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【０１１８】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また区画オブジェクト情報は、このＲＡＭ又は情報記憶媒体上に記憶されることになる。
【０１１９】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【０１２０】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【０１２１】
そして図１〜図１１で説明した種々の処理は、所与の処理を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【０１２２】
図１３（Ａ）に、本実施例を業務用ゲーム装置に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。装置に内蔵されるＩＣ基板１１０６には、ＣＰＵ、画像合成ＩＣ、音合成ＩＣ等が実装されている。
【０１２３】
そして所与の操作手段により入力される操作情報により決定される視点情報と、ポリゴン情報に基づいて画像を生成するための情報等は、システム基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも１つを含むものである。
【０１２４】
図１３（Ｂ）に、本実施の形態を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【０１２５】
図１３（Ｃ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４ー1〜１３０４-nとを含むゲーム装置に本実施の形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４ー1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音生成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４ー1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４ー1〜１３０４-nに伝送し端末において出力することになる。
【０１２６】
なお本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。
【０１２７】
本実施の形態では、法線クリッピングにおけるポリゴン面の表裏判断を例にとり説明したがこれに限られない。他の手法を用いて画像生成を行う際のポリゴンの表裏判断にも適用可能である。例えばスクリーン座標系に変換後に、稜線情報の頂点ループが時計回りであるか反時計回りであるかを調べることによりポリゴンの表裏チェックを行う場合にも、本発明の手法を適用することができる。
【０１２８】
また本実施の形態では、ペアポリゴンのメッシュ情報を連続した領域に記憶する場合を例に取り説明したがこれに限られない。メッシュ情報とは個別にペアポリゴンに関する情報を設定しても良いし、所与のポリゴンとペアポリゴンをアドレス情報等で検索できるような構成でもよい。
【０１２９】
また、ペアフラグの構成も本実施の形態には限られない。例えば、反対方向のペアポリゴンのみを設定する場合には、前記方向フラグは必要ない。
【０１３０】
また、フラグではなくペアポリゴンのアドレスや個数をペア情報として有する構成でもよい。
【０１３１】
また、ペアポリゴンの設定は、移動オブジェクトでも静止オブジェクトでもよいし、異なるオブジェクト間で設定してもよい。
【０１３２】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を合成するシステム基板等の種々の装置に適用できる。
【０１３３】
【図面の簡単な説明】
【図１】本実施の形態に係る画像生成装置の機能ブロック図の一例をである。
【図２】図２（Ａ）（Ｂ）はペアポリゴンを説明するための図である。
【図３】図３（Ａ）（Ｂ）はオブジェクト空間における所与のポリゴンの法線ベクトルの向きと他のポリゴンの法線ベクトルの向きの関係が時間的に変化しない場合を説明するための図である。
【図４】同一のローカル座標系おける所与のポリゴンの面の法線ベクトルと前記他のポリゴンの面の法線ベクトルの向き関係が時間的に変化しない例を説明するための図である。
【図５】所与のポリゴンに対して複数のポリゴンがペアポリゴンとして関連づけられる場合を説明するための図である。
【図６】図６（Ａ）（Ｂ）（Ｃ）はポリゴン情報について説明するための図である。
【図７】図７（Ａ）（Ｂ）は所与のポリゴンとペアポリゴンが１対多の関係にある場合のメッシュ情報とペアフラグの設定を説明するための図である。
【図８】図８（Ａ）（Ｂ）は所与のポリゴンとペアポリゴンが多対多の関係にある場合のメッシュ情報とペアフラグの設定を説明するための図である。
【図９】所与のポリゴンとペアポリゴンの法線ベクトルが完全に反対方向又は同方向を向いていない例を説明するための図である。
【図１０】本実施の形態の処理の一例を表すフローチャート図である。
【図１１】図１１（Ａ）（Ｂ）（Ｃ）（Ｄ）は本実施の形態のゲーム画面に登場するゲームキャラクタ及びそのポリゴン図を表したものである。
【図１２】本実施の形態を実現できるハードウェアの構成の一例である。
【図１３】図１３（Ａ）（Ｂ）（Ｃ）は、本発明が適用される種々の形態の装置を示す図である。
【符号の説明】
１０    操作部
１００  処理部
１１０  ゲーム演算部
１１２  視点演算部
１２０  ポリゴン情報記憶部
１３０  ３次元演算部
１４０  画像描画部
１５０  情報記憶媒体
１６０  表示部
１７０  画像生成部
【図１】
0004052724.tif 000002
【図２】
0004052724.tif 000003
【図３】
0004052724.tif 000004
【図４】
0004052724.tif 000005
【図５】
0004052724.tif 000006
【図６】
0004052724.tif 000007
【図７】
0004052724.tif 000008
【図８】
0004052724.tif 000009
【図９】
0004052724.tif 000010
【図１０】
0004052724.tif 000011
【図１１】
0004052724.tif 000012
【図１２】
0004052724.tif 000013
【図１３】
0004052724.tif 000014