(57)【要約】【課題】  三次元仮想空間中に配置されたオブジェクトが所与の視点から見て他のオブジェクトに遮蔽されるか否かの遮蔽判定処理に要する時間を短縮すること。【解決手段】  遮蔽候補オブジェクトを投影変換処理して特別の色値（Ｒ＝１）で描画した判定画像ＩＭ１を生成し、この判定画像ＩＭ１の色値（ＲＧＢ値及びα値）を平均することで縮小処理した縮小画像ＩＭ２を生成する。次いで、判定対象オブジェクトを投影変換処理し、縮小画像ＩＭ２に描画した場合の描画該当範囲ＡＲ３を判別し、この描画該当範囲ＡＲ３の全画素の色値が判定対象オブジェクトを描画した際の特別の色値（Ｒ＝１）と等しい場合に、判定対象オブジェクトが遮蔽候補オブジェクトに遮蔽される“可能性有り”と判定する。【選択図】  図４
2005216235.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、三次元仮想空間中の判定対象オブジェクトが所与の視点から見て他のオブジェクトに遮蔽されるか否かの遮蔽判定処理を行わせるためのプログラムであって、
前記判定対象オブジェクトを遮蔽するか否かの候補となる遮蔽候補オブジェクトを前記所与の視点を基に投影変換処理し、特別の色値で描画することで判定画像を生成する判定画像生成手段、
前記判定画像を縮小処理して縮小画像を生成する縮小手段、
前記所与の視点を基に前記判定対象オブジェクトを投影変換処理し、前記縮小画像に描画した場合の当該縮小画像中の描画該当範囲を判別する判別手段、
前記描画該当範囲内の全画素の色値が、全画素を前記特別の色値とする画像を前記縮小処理した場合の色値と等しい場合に、前記判定対象オブジェクトが遮蔽される可能性有りと判定する可能性判定手段、
前記判定対象オブジェクトが前記遮蔽候補オブジェクトより視点遠方に配置されているか否かを判定する位置判定手段、
前記可能性判定手段により可能性有りと判定され、且つ、前記位置判定手段により視点遠方であると判定された場合に、前記判定対象オブジェクトが遮蔽されると判定する遮蔽判定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記三次元仮想空間中のオブジェクトのうち、前記判定対象オブジェクト以外の１又は複数のオブジェクトを選択し、選択したオブジェクトを１つの遮蔽候補オブジェクトとして設定する遮蔽候補オブジェクト設定手段として前記コンピュータを更に機能させるためのプログラム。
【請求項３】
請求項２に記載のプログラムであって、
前記判定対象オブジェクトと前記遮蔽候補オブジェクト設定手段により設定された遮蔽候補オブジェクトとについて、前記判定画像生成手段、前記縮小手段、前記判別手段、前記可能性判定手段、前記位置判定手段及び前記遮蔽判定手段のそれぞれを機能させる一連の処理を実行制御し、前記可能性判定手段により可能性有りと判定されなかった場合、又は、前記遮蔽判定手段により遮蔽されると判定されなかった場合に、前記遮蔽候補オブジェクト設定手段に新たにオブジェクトを選択させるとともに選択させたオブジェクトを更に加えることで遮蔽候補オブジェクトを更新させ、前記一連の処理の再実行を繰り返し制御する制御手段として前記コンピュータを更に機能させるためのプログラム。
【請求項４】
請求項１に記載のプログラムであって、
前記判定画像生成手段が、複数の遮蔽候補オブジェクトを前記視点を基に投影変換処理し、当該複数の遮蔽候補オブジェクト毎に異なる特別の色値で描画することで判定画像を生成するように前記コンピュータを機能させ、
前記可能性判定手段が、前記描画該当範囲内の全画素の色値が、全画素を前記異なる特別の色値のうちの一の色値とする画像を前記縮小処理した場合の色値と等しい場合に、前記判定対象オブジェクトが遮蔽される可能性有りと判定するように前記コンピュータを機能させるためのプログラム。
【請求項５】
請求項１〜４の何れか一項に記載のプログラムであって、
前記縮小手段が、前記判定画像中の互いに隣接する複数画素から成る画素範囲の各画素の色値を平均又は加算することで当該判定画像を縮小処理するように前記コンピュータを機能させ、
前記特別の色値を、前記画素範囲中の１つ以上の画素が当該特別の色値でない場合には、当該画素範囲の全画素の色値の平均値が当該特別の色値と等しくならない色値としていることを特徴とするプログラム。
【請求項６】
請求項１〜５の何れか一項に記載のプログラムであって、
前記判定対象オブジェクト又は前記遮蔽候補オブジェクトを、それぞれの簡易オブジェクトで前記遮蔽判定処理を行うように制御する代替制御手段として前記コンピュータを機能させるためのプログラム。
【請求項７】
請求項１〜６の何れか一項に記載のプログラムであって、
前記位置判定手段が、前記判定対象オブジェクトの代表点の位置が前記遮蔽候補オブジェクトの代表点の位置より所定の閾値以上視点遠方である場合に、前記判定対象オブジェクトが前記遮蔽候補オブジェクトより視点遠方に配置されていると判定する前記コンピュータを機能させるためのプログラム。
【請求項８】
請求項７に記載のプログラムであって、
前記三次元仮想空間中の各オブジェクトの任意方向からみた場合の奥行き方向の長さに基づいて前記閾値を設定する閾値設定手段として前記コンピュータを機能させるためのプログラム。
【請求項９】
請求項１〜８の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１０】
三次元仮想空間中の判定対象オブジェクトが所与の視点から見て他のオブジェクトに遮蔽されるか否かの遮蔽判定処理を行う遮蔽判定装置であって、
前記判定対象オブジェクトを遮蔽するか否かの候補となる遮蔽候補オブジェクトを前記所与の視点を基に投影変換処理し、特別の色値で描画することで判定画像を生成する判定画像生成手段と、
前記判定画像を縮小処理して縮小画像を生成する縮小手段と、
前記所与の視点を基に前記判定対象オブジェクトを投影変換処理し、前記縮小画像に描画した場合の当該縮小画像中の描画該当範囲を判別する判別手段と、
前記描該当範囲内の全画素の色値が、全画素を前記特別の色値とする画像を前記縮小処理した場合の色値と等しい場合に、前記判定対象オブジェクトが遮蔽される可能性有りと判定する可能性判定手段と、
前記判定対象オブジェクトが前記遮蔽候補オブジェクトより視点遠方に配置されているか否かを判定する位置判定手段と、
前記可能性判定手段により可能性有りと判定され、且つ、前記位置判定手段により視点遠方であると判定された場合に、前記判定対象オブジェクトが遮蔽されると判定する遮蔽判定手段と、
を備える遮蔽判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、三次元仮想空間中の判定対象オブジェクトが所与の視点から見て他のオブジェクトに遮蔽されるか否かの遮蔽判定処理を行わせるためのプログラム、コンピュータ読み取り可能な情報記憶媒体及び遮蔽判定処理装置に関する。
【背景技術】
【０００２】
コンピュータ・グラフィックス（ＣＧ）技術を用いた三次元（３Ｄ）ＣＧ画像の生成では、三次元仮想空間内に配置されている各オブジェクトについて、（１）視点座標変換処理やクリッピング処理、光源や視点に基づく輝度演算処理等のジオメトリ（幾何変換）処理、（２）隠面処理やシェーディング処理、テクスチャマッピング等のレンダリング（描画）処理を行うことで、視点から見た三次元仮想空間内の様子を表現した画像が生成される。
【０００３】
また、特に三次元ＣＧ技術では、画像生成処理にかかる演算量が膨大となるため、この演算量を少しでも減らして処理負荷を軽減させる様々な手法が提案されている。このような手法の１つとして、三次元仮想空間中のオブジェクトについて、視点から見て他のオブジェクトに遮蔽されるか否かを判定する遮蔽判定処理を行い、他のオブジェクトに遮蔽されるオブジェクトを画像生成処理（即ち、ジオメトリ処理やレンダリング処理等）の対象から除外する手法が知られている。
【０００４】
例えば、特許文献１の画像処理方法等では、画面をｎ×ｍ個の画素ブロックに分割し、手前側のオブジェクトによって形成されるシルエットに完全に含まれる画素ブロックをシルエット登録する。そして、遠景のオブジェクトを構成する各頂点が存在する画素ブロックがシルエット登録されているか否かを判別し、全ての頂点が存在する画素ブロックがシルエット登録されていれば、その遠景のオブジェクトは手前のオブジェクトによって完全に覆われている（遮蔽されている）として遮蔽判定の対象から除外している。
【０００５】
また、特許文献２の画像生成装置等では、視野内に位置し且つ視点から見えるビハインドオブジェクト（ビル等の背景オブジェクト）を特定し、視野内であってこの特定したビハインドオブジェクトよりも視点側の空間にキャラクタオブジェクトが位置する特定状態を判断する。そして、特定状態が判断されたときのみ、このキャラクタオブジェクトを表示対象に組み入れる。具体的には、特定されたビハインドオブジェクト及びキャラクタオブジェクトをそれぞれ一定形状のビハインドモデルオブジェクト及びキャラクタモデルオブジェクトにモデル化し、視点から見た目線の高さに略対応する横方向の領域を通したビハインドモデルオブジェクトのＺ値とキャラクタモデルオブジェクトのＺ値とを比較することで特定状態を判断する。
【０００６】
また、特許文献３の３次元図形処理装置の隠面処理方式では、表示する図形を多面体近似し、この多面体の各頂点に対応するＺバッファ内の座標に他の図形の奥行き値が格納されているかを判断し、格納されているならば、手前側の他の図形に内接四角形を作成する。そして、奥側にある多面体を構成している各面がこの内接四角形の範囲に入っているかを判断し、入っているならば、更に、多面体の各面の頂点の奥行き情報と内接四角形の奥行きの最大値とを比較し、各頂点の奥行き情報が内接四角形の奥行きの最大値よりも奥側ならば演算禁止令を出す。
【特許文献１】特開２０００−３３１１８５号公報
【特許文献２】特開２０００−１８２０７７号公報
【特許文献３】特開平５−１０８８３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＣＧ技術を用いたゲーム装置では、三次元仮想空間（ゲーム空間）の様子をよりリアルに表現した臨場感のあるゲーム画面が望まれている。一般に、オブジェクトを構成するポリゴンの数を増加させればそれだけ形状を詳細に表現することが可能となり、よりリアルな画像を生成することができるが、その一方で、演算量が増大して画像生成に要する時間が長くなるという問題がある。また、ゲーム装置では、プレーヤの操作入力に応じてリアルタイムに画像を生成する必要があるため、画像生成処理に費やせる時間に制限があり、ポリゴン数を無制限に増やすことはできない。即ち、画像の質を落とすことなく画像生成処理に要する時間を短縮したいといった相反する要望がある。そこで、上述したような遮蔽判定処理を用いて１枚（フレーム）分の画像生成処理に要する時間を短縮する必要が生じる。本発明の目的は、上述した遮蔽判定処理とは異なる特異な遮蔽判定処理を実現することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、第１の発明は、
コンピュータに、三次元仮想空間中の判定対象オブジェクトが所与の視点から見て他のオブジェクトに遮蔽されるか否かの遮蔽判定処理を行わせるためのプログラムであって、
前記判定対象オブジェクトを遮蔽するか否かの候補となる遮蔽候補オブジェクトを前記所与の視点を基に投影変換処理し、特別の色値で描画することで判定画像を生成する判定画像生成手段（例えば、図５の描画オブジェクト決定部４２２Ａ；図１０のステップＳ１６）、
前記判定画像を縮小処理して縮小画像を生成する縮小手段（例えば、図５の描画オブジェクト決定部４２２Ａ；図１０のステップＳ１７）、
前記所与の視点を基に前記判定対象オブジェクトを投影変換処理し、前記縮小画像に描画した場合の当該縮小画像中の描画該当範囲を判別する判別手段（例えば、図５の描画オブジェクト決定部４２２Ａ；図１０のステップＳ１８）、
前記描画該当範囲内の全画素の色値が、全画素を前記特別の色値とする画像を前記縮小処理した場合の色値と等しい場合に、前記判定対象オブジェクトが遮蔽される可能性有りと判定する可能性判定手段（例えば、図５の描画オブジェクト決定部４２２Ａ；図１０のステップＳ１９）、
前記判定対象オブジェクトが前記遮蔽候補オブジェクトより視点遠方に配置されているか否かを判定する位置判定手段（例えば、図５の描画オブジェクト決定部４２２Ａ；図１０のステップＳ１４：ＹＥＳ〜Ｓ１５）、
前記可能性判定手段により可能性有りと判定され、且つ、前記位置判定手段により視点遠方であると判定された場合に、前記判定対象オブジェクトが遮蔽されると判定する遮蔽判定手段（例えば、図５の描画オブジェクト決定部４２２Ａ；図１０のステップＳ１９８）、
として前記コンピュータを機能させるためのプログラムである。
【０００９】
また、第１０の発明は、
三次元仮想空間中の判定対象オブジェクトが所与の視点から見て他のオブジェクトに遮蔽されるか否かの遮蔽判定処理を行う遮蔽判定装置であって、
前記判定対象オブジェクトを遮蔽するか否かの候補となる遮蔽候補オブジェクトを前記所与の視点を基に投影変換処理し、特別の色値で描画することで判定画像を生成する判定画像生成手段（例えば、図５の描画オブジェクト決定部４２２Ａ）と、
前記判定画像を縮小処理して縮小画像を生成する縮小手段（例えば、図５の描画オブジェクト決定部４２２Ａ）と、
前記所与の視点を基に前記判定対象オブジェクトを投影変換処理し、前記縮小画像に描画した場合の当該縮小画像中の描画該当範囲を判別する判別手段（例えば、図５の描画オブジェクト決定部４２２Ａ）と、
前記描該当範囲内の全画素の色値が、全画素を前記特別の色値とする画像を前記縮小処理した場合の色値と等しい場合に、前記判定対象オブジェクトが遮蔽される可能性有りと判定する可能性判定手段（例えば、図５の描画オブジェクト決定部４２２Ａ）と、
前記判定対象オブジェクトが前記遮蔽候補オブジェクトより視点遠方に配置されているか否かを判定する位置判定手段（例えば、図５の描画オブジェクト決定部４２２Ａ）と、
前記可能性判定手段により可能性有りと判定され、且つ、前記位置判定手段により視点遠方であると判定された場合に、前記判定対象オブジェクトが遮蔽されると判定する遮蔽判定手段（例えば、図５の描画オブジェクト決定部４２２Ａ）と、
を備える遮蔽判定装置である。
【００１０】
この第１又は第１０の発明によれば、遮蔽候補オブジェクトを所与の視点を基に投影変換処理して特別の色値で描画した判定画像を生成し、この判定画像を縮小処理した縮小画像を生成するとともに、判定対象オブジェクトを所与の視点を基に投影変換処理し、この縮小画像に描画した場合の縮小画像中の描画該当範囲を判別する。そして、描画該当範囲の各画素の色値が、全画素を特別の色値とする画像を縮小処理した場合の色値と等しい場合に、判定対象オブジェクトが遮蔽される可能性有りと判定する。また、判定対象オブジェクトが遮蔽候補オブジェクトより視点遠方に配置されているか否かを判定する。そして、判定対象オブジェクトが遮蔽される可能性有りと判定し、且つ、遮蔽候補オブジェクトより視点遠方に配置されていると判定した場合に、判定対象オブジェクトが遮蔽されると判定するといった、従来とは異なる特異な遮蔽判定処理を実現することができる。尚ここで、“遮蔽”とは、完全に隠れて見えないことを意味する。
【００１１】
また、第２の発明は、第１の発明のプログラムにおいて、
前記三次元仮想空間中のオブジェクトのうち、前記判定対象オブジェクト以外の１又は複数のオブジェクトを選択し、選択したオブジェクトを１つの遮蔽候補オブジェクトとして設定する遮蔽候補オブジェクト設定手段（例えば、図１２の描画オブジェクト決定部４２２Ｂ；図１４のステップＳ３３）として前記コンピュータを更に機能させるためのプログラムである。
【００１２】
この第２の発明によれば、第１の発明と同様の効果を奏するとともに、三次元仮想空間中のオブジェクトのうち、判定対象オブジェクト以外の１又は複数のオブジェクトを１つの遮蔽候補オブジェクトとして設定することができる。従って、１又は複数のオブジェクトを１つの遮蔽候補オブジェクトとして遮蔽可能性の有無を判定できるので、遮蔽可能性の判定に要する時間を短縮することが可能となる。特に、三次元仮想空間中に多数のオブジェクトが配置されている場合に有効である。
【００１３】
ところで、１つのオブジェクトを遮蔽候補オブジェクトとして遮蔽可能性の判定を行った場合、複数のオブジェクトによって初めて遮蔽される判定対象オブジェクトについては遮蔽可能性有りと判定できない。しかし、複数のオブジェクトを１つの遮蔽候補オブジェクトとすることで、かかる場合であっても遮蔽可能性有りと判定できる。即ち、遮蔽される可能性のあるより多くのオブジェクトを判定することが可能となる。そして、遮蔽判定処理の結果を画像生成に用いる場合、即ち遮蔽されると判定されたオブジェクトを描画対象から除くといった場合には、画像生成処理に要する時間を短縮することが可能となる。
【００１４】
第３の発明は、第２の発明のプログラムにおいて、
前記判定対象オブジェクトと前記遮蔽候補オブジェクト設定手段により設定された遮蔽候補オブジェクトとについて、前記判定画像生成手段、前記縮小手段、前記判別手段、前記可能性判定手段、前記位置判定手段及び前記遮蔽判定手段のそれぞれを機能させる一連の処理を実行制御し、前記可能性判定手段により可能性有りと判定されなかった場合、又は、前記遮蔽判定手段により遮蔽されると判定されなかった場合に、前記遮蔽候補オブジェクト設定手段に新たにオブジェクトを選択させるとともに選択させたオブジェクトを更に加えることで遮蔽候補オブジェクトを更新させ、前記一連の処理の再実行を繰り返し制御する制御手段（例えば、図１２の描画オブジェクト決定部４２２Ｂ；図１４のステップＳ４３：ＹＥＳ〜Ｓ４２）として前記コンピュータを更に機能させるためのプログラムである。
【００１５】
この第３の発明によれば、第２の発明と同様の効果を奏するともに、判定対象オブジェクトが遮蔽可能性有りと判定しなかった場合、又は、遮蔽されると判定しなかった場合に、新たに選択したオブジェクトを更に加えることで遮蔽候補オブジェクトを更新し、判定画像の生成、縮小画像の生成、描画該当範囲の判別、遮蔽可能性の判定、遮蔽候補オブジェクトより視点遠方に配置されているか否かの判定及び遮蔽されるか否かの判定といった一連の処理を繰り返し実行することができる。尚ここで、選択するオブジェクトの数は任意である。
【００１６】
第４の発明は、第１の発明のプログラムにおいて、
前記判定画像生成手段が、複数の遮蔽候補オブジェクトを前記視点を基に投影変換処理し、当該複数の遮蔽候補オブジェクト毎に異なる特別の色値で描画することで判定画像を生成するように前記コンピュータを機能させ、
前記可能性判定手段が、前記描画該当範囲内の全画素の色値が、全画素を前記異なる特別の色値のうちの一の色値とする画像を前記縮小処理した場合の色値と等しい場合に、前記判定対象オブジェクトが遮蔽される可能性有りと判定するように前記コンピュータを機能させるためのプログラムである。
【００１７】
この第４の発明によれば、第１の発明と同様の効果を奏するとともに、複数の遮蔽候補オブジェクト毎に異なる特別の色値で描画することで判定画像を生成し、この判定画像を縮小処理して生成した縮小画像中の描画該当範囲内の全画素の色値が、全画素を上記異なる特別の色値の内の一の色値とする画像を縮小処理した場合の色値と等しい場合に、判定対象オブジェクトが遮蔽される可能性有りと判定することができる。従って、判定対象オブジェクトが複数の遮蔽候補オブジェクトそれぞれに遮蔽される可能性を１度にまとめて判定できるので、遮蔽判定処理に要する時間を短縮することが可能となる。特に、三次元仮想空間に多数のオブジェクトが配置されている場合に有効である。更にこの場合、描画該当範囲の色値から判定対象オブジェクトが何れの遮蔽候補オブジェクトに遮蔽される可能性が有るかを判定することができる。
【００１８】
第５の発明は、第１〜第４の発明の何れかのプログラムにおいて、
前記縮小手段が、前記判定画像中の互いに隣接する複数画素から成る画素範囲の各画素の色値を平均又は加算することで当該判定画像を縮小処理するように前記コンピュータを機能させ、
前記特別の色値を、前記画素範囲中の１つ以上の画素が当該特別の色値でない場合には、当該画素範囲の全画素の色値の平均値が当該特別の色値と等しくならない色値としていることを特徴とするプログラムである。
【００１９】
この第５の発明によれば、第１〜第４の発明の何れかと同様の効果を奏するとともに、判定画像中の互いに隣接する複数画素からなる画素範囲の各画素の色値を平均又は加算することで判定画像を縮小処理し、遮蔽候補オブジェクトを描画する際の特別の色値を、画素範囲中の１つ以上の画素がこの特別の色値でない場合には画素範囲の全画素の色値の平均値が該特別の色値と等しくならない色値とすることができる。即ち、縮小画像の各画素の色値から判定画像の対応する画素範囲の全画素が同一の色値であるか否かを判断できるので、その結果、判定対象オブジェクトが遮蔽候補オブジェクトに確実に遮蔽される“可能性有り”と判定できる。
【００２０】
第６の発明は、第１〜第５の発明の何れかのプログラムにおいて、
前記判定対象オブジェクト又は前記遮蔽候補オブジェクトを、それぞれの簡易オブジェクトで前記遮蔽判定処理を行うように制御する代替制御手段（例えば、図５の描画オブジェクト決定部４２２Ａ）として前記コンピュータを機能させるためのプログラムである。
【００２１】
この第６の発明によれば、第１〜第５の発明の何れかと同様の効果を奏するとともに、判定対象オブジェクト又は遮蔽候補オブジェクトをそれぞれの簡易オブジェクトで代替して遮蔽判定処理を行うことができる。従って、複雑な形状のオブジェクトである場合であっても、これを簡易化した簡易オブジェクトに代替して遮蔽判定処理を行うことができるので、判定画像の生成や描画該当範囲の判別にかかる時間を短縮することができ、その結果、遮蔽判定に要する時間を短縮することが可能となる。
【００２２】
第７の発明は、第１〜第６の発明の何れかのプログラムにおいて、
前記位置判定手段が、前記判定対象オブジェクトの代表点の位置が前記遮蔽候補オブジェクトの代表点の位置より所定の閾値以上視点遠方である場合に、前記判定対象オブジェクトが前記遮蔽候補オブジェクトより視点遠方に配置されていると判定する前記コンピュータを機能させるためのプログラムである。
【００２３】
この第７の発明によれば、第１〜第６の発明の何れかと同様の効果を奏するとともに、判定オブジェクトの代表点の位置が遮蔽候補オブジェクトの代表点の位置より所定の閾値以上視点遠方である場合に、判定対象オブジェクトが遮蔽候補オブジェクトより視点遠方に配置されていると判定することができる。従って、閾値を適当に設定することで、判定対象オブジェクトが確実に遮蔽候補オブジェクトより視点遠方に配置されているかを判定することが可能となる。
【００２４】
第８の発明は、第７の発明のプログラムにおいて、
前記三次元仮想空間中の各オブジェクトの任意方向からみた場合の奥行き方向の長さに基づいて前記閾値を設定する閾値設定手段（例えば、図５の描画オブジェクト決定部４２２Ａ）として前記コンピュータを機能させるためのプログラムである。
【００２５】
この第８の発明によれば、第７の発明と同様の効果を奏するとともに、三次元仮想空間中の各オブジェクトを任意方向からみた場合の奥行き方向の長さに基づいて閾値を設定することができる。三次元オブジェクトの“位置”は、通常、代表点で表現されるが、オブジェクトが互いに近接している場合、代表点をオブジェクトのどこに設定するかによって位置関係が変化する。そこで、例えば判定対象オブジェクト及び遮蔽候補オブジェクトそれぞれを任意方向から見た場合の奥行き方向の長さの最大値の和を閾値とすることで、判定対象オブジェクトが確実に遮蔽候補オブジェクトより視点遠方に配置されていることを判定することが可能となる。
【００２６】
また、第９の発明は、
第１〜第８の発明の何れかのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体（例えば、図５、図１２、図１５の記憶部５００）である。
【００２７】
この第９の発明によれば、コンピュータに、かかる情報記憶媒体から記憶されているプログラムを読み出させて演算処理させることによって、第１〜第８の発明の何れかと同様の効果を奏することができる。
【発明の効果】
【００２８】
本発明によれば、三次元仮想空間中に配置されたオブジェクトが所与の視点から見て他のオブジェクトに遮蔽されるか否かの遮蔽判定処理において、従来とは異なる特異な遮蔽判定処理を実現できる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照して、本発明を実施するための最良の形態を説明する。
【００３０】
［外観］
図１は、本発明を家庭用ゲーム装置に適用した一例を示す外観図である。同図によれば、本実施の形態における家庭用ゲーム装置１０００は、本体装置１１００と、ゲームコントローラ１１０２ａ、１１０２ｂとを備え、スピーカ１２０２を具備するディスプレイ１２００に接続される。
【００３１】
本体装置１１００は、例えばＣＰＵ等の演算処理装置、ＣＤ−ＲＯＭ１１０４やＩＣメモリ１１０６、メモリカード１１０８等の情報記憶媒体の読取装置を具備する。そして、ＣＤ−ＲＯＭ１１０４等から読み出したゲーム情報と、ゲームコントローラ１１０２ａ、１１０２ｂからの操作信号とに基づいて種々のゲーム処理を実行し、ディスプレイ１２００にゲーム画面を表示させるとともに、スピーカ１２０２からゲーム音を出力させる。
【００３２】
ゲームプログラムや初期データ等のゲームを実行するために必要な情報であるゲーム情報等は、例えば本体装置１１００に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１１０４、ＩＣメモリ１１０６、メモリカード１１０８等に格納されている。
【００３３】
プレーヤは、ディスプレイ１２００に表示されたゲーム画面を見ながら、ゲームコントローラ１１０２ａ、１１０２ｂに備えられたボタン等を操作してゲームを楽しむ。
【００３４】
［ゲーム画面］
図２（ａ）は、ディスプレイ１２００に表示されるゲーム画面の一例を示す図である。ゲーム画面は、三次元仮想空間に背景やキャラクタ等のオブジェクトを配置して設定されたゲーム空間（オブジェクト空間）の様子を、所与の視点（仮想カメラ等）から見た三次元ＣＧ画像として表示される。また、同図（ｂ）は、同図（ａ）に示すゲーム画面が表示されたときのゲーム空間を示す図である。
【００３５】
同図（ｂ）によれば、ゲーム空間には、仮想カメラＣＭと、ビルオブジェクトＢＬ１、ＢＬ２と、木オブジェクトＴＲ１、ＴＲ２、ＴＲ３、ＴＲ４と、が配置されている。そして、仮想カメラＣＭから見たゲーム空間内の様子が、同図（ａ）に示すゲーム画面として表示される。従って、ゲーム画面には、ビルオブジェクトＢＬ１と、木オブジェクトＴＲ１、ＴＲ４と、が表示され、仮想カメラＣＭから見てビルオブジェクトＢＬ１の後方（奥）に位置し、ビルオブジェクトＢＬ１に遮蔽されて見えないビルオブジェクトＢＬ２と木オブジェクトＴＲ２、ＴＲ３と、は表示されない。
【００３６】
ゲーム画面を表示するためのゲーム画像は、Ｚバッファ法による陰面消去処理を用いて生成される。かかる処理では、オブジェクトをフレームバッファに描画する際に、Ｚバッファに格納されているＺ値に応じてフレームバッファへの書き込み（色値の更新）の有無が決定される。フレームバッファとは、１フレーム分の画像（フレーム画像）のデータを格納するメモリであり、具体的には、ディスプレイ１２００上の各画素に対応する色値（ＲＧＢ値及びα値）を格納する。そして、Ｚバッファには、フレームバッファの各画素に対応するＺ値（仮想カメラＣＭを基点とした奥行き値）が格納される。
【００３７】
また、本実施の形態では、ゲーム画像の生成の際に、ゲーム空間内の各オブジェクトについて、仮想カメラＣＭから見て他のオブジェクトによって遮蔽されるか否かの判定（遮蔽判定）を行い、他のオブジェクトに遮蔽されるオブジェクトを描画対象から除くことで、画像生成に要する時間を短縮している。
【００３８】
［原理］
図３、４は、本実施の形態における遮蔽判定の原理を説明するための図である。図３は、ゲーム空間の様子を示し、図４は、遮蔽判定の際に生成される画像を示している。
【００３９】
図３によれば、ゲーム空間には、仮想カメラＣＭと、遮蔽判定の対象となる判定対象オブジェクトＯＢ１と、判定対象オブジェクトＯＢ１を遮蔽するか否かの候補となる遮蔽候補オブジェクトＯＢ２と、が配置されている。そして、本実施の形態における遮蔽判定では、次の手順で、仮想カメラＣＭから見て判定対象オブジェクトＯＢ１が遮蔽候補オブジェクトＯＢ２によって遮蔽されるか否かを判定する。
【００４０】
（１）遮蔽候補オブジェクトを描画
先ず、図４（ａ）に示すように、仮想カメラＣＭを基に遮蔽候補オブジェクトＯＢ２を投影変換処理し、特別の色値で描画した判定画像ＩＭ１を生成する。“色値”とは、ＲＧＢ値及びα値を意味する。そして、ここでは、特別の色値を、Ｒ＝１、とする。従って、判定画像ＩＭ１は、遮蔽候補オブジェクトＯＢ２の描画範囲ＡＲ１の画素のみが、Ｒ＝１、となり、その他の範囲の画素は、Ｒ＝０、となる。
【００４１】
（２）判定画像を縮小
次いで、同図（ｂ）に示すように、判定画像ＩＭ１を縮小した縮小画像ＩＭ２を生成する。同図（ｂ）は、相似比１／４（即ち、面積比１／１６）で縮小した場合を示している。画像の“縮小”とは、画像全体の画素数を減らすことを意味している。そして、縮小画像ＩＭ２の各画素の色値は、判定画像ＩＭ１の対応する複数画素それぞれの色値を加算平均して設定される。例えば、縮小画像ＩＭ２のある１画素に対応する判定画像ＩＭ１の１６画素の内、４画素のＲ値が「１」、残り１２画素のＲ値が「０」の場合、この縮小画像ＩＭ２の１画素のＲ値は「０．２５（＝（１×４＋０×１２））／１６）」となる。
【００４２】
（３）縮小画像中の判定対象オブジェクトの描画該当範囲を判別
続いて、同図（ｃ）に示すように、仮想カメラＣＭを基に判定対象オブジェクトＯＢ１を投影変換処理し、縮小画像ＩＭ２に描画した場合の縮小画像ＩＭ２中の描画該当範囲ＡＲ３を判別する。
【００４３】
（４）描画該当範囲の色値から遮蔽可能性の有無を判定
そして、判別した描画該当範囲ＡＲ３の各画素のＲ値に基づいて、判定対象オブジェクトＯＢ１が遮蔽候補オブジェクトＯＢ２に遮蔽される可能性があるか否かを判定する。
【００４４】
上述のように、縮小画像ＩＭ２の各画素のＲ値は、判定画像ＩＭ１中の対応する１６画素のＲ値を加算平均して設定されている。つまり、縮小画像ＩＭ２の各画素のＲ値は、判定画像ＩＭ１の対応する１６画素の全てが、Ｒ＝１、である場合にのみ「１」となり、それ以外の場合には「１」とならない。即ち、縮小画像ＩＭ２のある１画素が、Ｒ＝１、である場合には、判定画像ＩＭ１の対応する１６画素全てが、Ｒ＝１、であるといえる。
【００４５】
従って、縮小画像ＩＭ２中の描画該当範囲ＡＲ３の全画素が、Ｒ＝１、であれば、描画該当範囲ＡＲ３が遮蔽候補オブジェクトＯＢ２の描画範囲ＡＲ２に含まれる、即ち、仮想カメラＣＭから見て判定対象オブジェクトＯＢ１が遮蔽候補オブジェクトＯＢ２に遮蔽される“可能性有り”と判定できる。一方、描画該当範囲ＡＲ３に、Ｒ＝１、でない画素が１つでも含まれていれば、仮想カメラＣＭから見て判定対象オブジェクトＯＢ１が遮蔽候補オブジェクトＯＢ２に遮蔽される“可能性無し”と判定できる。。
【００４６】
このように、縮小画像ＩＭ２中の描画該当範囲３の各画素のＲ値から、仮想カメラＣＭから見て判定対象オブジェクトＯＢ１が遮蔽候補オブジェクトＯＢ２に遮蔽される可能性の有無を判定できる。
【００４７】
そして、“遮蔽可能性有り”と判定した場合には、更に、遮蔽候補オブジェクトＯＢ２と判定対象オブジェクトＯＢ１との位置関係（奥／手前）を判定することで、仮想カメラＣＭから見て判定対象オブジェクトＯＢ１が遮蔽候補オブジェクトＯＢ２に遮蔽されるか否かを判定できる。即ち、判定対象オブジェクトＯＢ１が遮蔽候補オブジェクトＯＢ２の“奥（遠方）”に位置していれば、判定対象オブジェクトＯＢ１が遮蔽候補オブジェクトＯＢ２に“遮蔽される”と判定でき、そうでなければ“遮蔽されない”と判定できる。尚、位置関係の判定は、２つのオブジェクトの位置関係を判定する公知の方法を用いることとしても良い。
【００４８】
尚、本原理においては、遮蔽可能性を判断するための色値を、Ｒ＝１、としたが、Ｇ＝１、Ｂ＝１、或いは、α＝１、としても良い。また、判定画像ＩＭ１を縮小する際の縮小率は任意である。
【００４９】
このような遮蔽判定の原理を用いた、描画するオブジェクトの決定する具体的な３つの実施形態を、以下、順に説明する。
【００５０】
［第１実施形態］
先ず、第１実施形態を説明する。
【００５１】
＜機能構成＞
図５は、第１実施形態における機能構成を示すブロック図である。同図によれば、第１実施形態において、家庭用ゲーム装置１０００は、プレーヤからの操作を受け付ける操作入力部１００と、ゲーム画面を表示出力する画像表示部２００と、ゲーム音声を放音出力する音声出力部３００と、家庭用ゲーム装置１０００全体の制御やゲーム制御にかかる各種演算を行う処理部４００と、各種プログラムやデータを記憶する記憶部５００と、を備えて構成される。
【００５２】
操作入力部１００は、例えばボタンスイッチやレバー、ダイヤル、マウス、キーボード、各種センサ等によって実現され、プレーヤによる操作入力に応じた操作入力信号を処理部４００に出力する。図１では、ゲームコントローラ１１０２ａ、１１０２ｂがこれに該当する。
【００５３】
画像表示部２００は、画像生成部４２０からの画像信号に基づいて、例えば１／６０秒毎に１フレームの画面を再描画しながらゲーム画面を表示する。この機能は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等のハードウェアによって実現される。図１では、ディスプレイ１２００がこれに該当する。
【００５４】
音声出力部３００は、処理部４００からの音声信号に基づいて、ＢＧＭや効果音等のゲーム音声を出力する。この機能は、例えばスピーカ等によって実現される。図１では、スピーカ１２０２がこれに相当する。
【００５５】
処理部４００は、家庭用ゲーム装置１０００全体の制御やゲームの進行、画像生成等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）等の演算装置やその制御プログラムにより実現される。図１では、本体装置１１００に具備されるＣＰＵ等の演算処理装置がこれに該当する。
【００５６】
また、処理部４００は、ゲームの進行に係る演算処理を行うゲーム演算部４１０と、ゲーム演算部４１０の処理によって求められた各種のデータからゲーム画面を表示させるための画像信号を生成する画像生成部４２０と、を含む。
【００５７】
ゲーム演算部４１０は、操作入力部１００からの操作入力信号や、記憶部５００から読み出したゲーム情報等に基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えば三次元仮想空間に仮想カメラやオブジェクトを配置してゲーム空間を設定する処理、操作入力部１００から入力された操作入力信号に基づくキャラクタの動作制御、ゲーム結果の演算等がある。
【００５８】
画像生成部４２０は、ゲーム演算部４１０による演算結果に基づいてゲーム画面を表示するためのゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部２００に出力する。第１実施形態では、画像生成部４２０には、描画オブジェクト決定部４２２Ａと、フレーム画像生成部４２４と、が含まれる。
【００５９】
描画オブジェクト決定部４２２Ａは、記憶部５００の描画オブジェクト決定プログラム５１０Ａに従った描画オブジェクト決定処理Ａ（図１０参照）を実行することで、ゲーム演算部４１０によってゲーム空間内に配置された各オブジェクトに対する遮蔽判定を行い、描画対象とするオブジェクトを決定する。
【００６０】
図６は、描画オブジェクト決定部４２２Ａによる描画オブジェクト決定の概念を説明する図であり、同図中、左側は仮想カメラＣＭの視線方向に沿ったゲーム空間の平面図を示し、右側は生成された描画リストを示している。
【００６１】
同図（ａ）に示すように、ゲーム空間には、仮想カメラＣＭと、オブジェクトＡ〜Ｆと、が配置されている。尚、オブジェクトの“位置”は、そのオブジェクト中に設定される代表点の位置Ｐで扱われることとする。そして、同図中、位置Ｐａ〜Ｐｆは、それぞれ、オブジェクトＡ〜Ｆの代表点の位置を表す。
【００６２】
描画オブジェクト決定部４２２Ａは、先ず、前方／後方クリッピング処理を行って仮想カメラＣＭのビューボリュームＶＢを算出する。そして、ビューボリュームＶＢ内に配置されている各オブジェクトを、その代表点Ｐの奥行き値（仮想カメラＣＭに設定された視点座標系におけるＺ座標値）に基づいてソート（Ｚソート）し、奥行き値が小さい順に列挙した描画リストＬＳを作成する。即ち、描画リストＬＳは、ビューボリュームＶＢ内のオブジェクトを、仮想カメラＣＭから見て手前から順に並べたリストである。同図では、オブジェクトＡを先頭として、オブジェクトＢ、オブジェクトＣ、オブジェクトＤ、オブジェクトＥ、の順に列挙した描画リストＬＳが作成される。ここで、“手前／奥”又は“前方／後方”とは、仮想カメラＣＭから見たオブジェクトの位置関係の定義であり、奥行き値が小さい方が“手前”又は“前方”であり、奥行き値が大きい方が“奥”又は“後方”である。
【００６３】
次いで、同図（ｂ）に示すように、描画リストＬＳの先頭のオブジェクト（即ち、仮想カメラＣＭから見て最も手前のオブジェクト）を遮蔽候補オブジェクトとする。同図では、オブジェクトＡが遮蔽候補オブジェクトとなる。また、描画リストＬＳ中のオブジェクトの内、遮蔽候補オブジェクトより所定の閾値ＴＨ以上奥にあり、且つ最も手前のオブジェクトを判定対象オブジェクトする。同図では、オブジェクトＣが判定対象オブジェクトとなる。
【００６４】
ここで、“閾値ＴＨ”は、判定対象オブジェクトが確実に遮蔽候補オブジェクトの奥に位置すると判定できる距離として定められる値であり、具体的には、最大幅値Ｗの２倍の値である。“最大幅値Ｗ”とは、ビューボリュームＶＢ内のオブジェクトの内、幅値Ｈが最大であるオブジェクトのその幅値Ｈである。また、“幅値Ｈ”とは、オブジェクトを任意方向から見たときの奥行き方向の長さの最大値である。
【００６５】
図７（ａ）は、幅値Ｈを説明するための図であり、直方体形状のオブジェクトの場合を示している。同図に示すように、直方体形状のオブジェクトＯＢ３の場合、対角線の長さＨ３が幅値Ｈとなる。また、不図示であるが、球体形状のオブジェクトの場合には直径の長さが幅値Ｈとなる。
【００６６】
同図（ｂ）は、最大幅値Ｗの２倍の値を閾値ＴＨとすることで、判定対象オブジェクトが確実に遮蔽候補オブジェクトの奥に位置すると判断できることを説明するための図である。同図（ｂ）において、オブジェクトＯＢ４、ＯＢ５は、同一の形状且つ同一の大きさのオブジェクトであるとともに、その対角線の長さが幅値Ｈ４であり、この幅値Ｈ４が最大幅値Ｗであるとする。また、１つの頂点がそれぞれの代表点の位置Ｐ４、Ｐ５である。そして、オブジェクトＯＢ４、ＯＢ５それぞれが配置され得る範囲は、位置Ｐ４、Ｐ５を中心とし、最大幅値Ｗを半径とする円領域ＣＲ４、ＣＲ５となる。
【００６７】
この２つの円領域ＣＲ４、ＣＲ５が互いに重なる場合、オブジェクトの形状（例えば、凹状体）によっては、一方のオブジェクトの一部又は全部が他方のオブジェクトの内部に含まれる、或いは、一方のオブジェクトの一部分が他方のオブジェクトの手前に位置し、残りの部分が奥に位置する等、一方のオブジェクトが確実に他方のオブジェクトの“奥”にあると判定できない。オブジェクト中に任意に設定される代表点の位置についても同様に考えられる。
【００６８】
従って、２つの円領域ＣＲ４、ＣＲ５が互いに重ならない、即ちオブジェクトＯＢ４、ＯＢ５それぞれの代表点の位置Ｐ４、Ｐ５の間の距離が最大幅値Ｗの２倍の値（閾値ＴＨ）以上であれば、一方のオブジェクトが確実に他方のオブジェクトの“奥”に位置すると判断できる。具体的には、仮想カメラＣＭから位置Ｐ５間での距離Ｌ５が、仮想カメラＣＭから位置Ｐ４間での距離Ｌ４より最大幅値Ｗ４の２倍の値以上大きければ、オブジェクトＯＢ５はオブジェクトＯＢ４の“奥”に位置すると判断できる。また、距離Ｌ４が距離Ｌ５より最大幅値Ｗの２倍の値以上大きければ、オブジェクトＯＢ４はオブジェクトＯＢ５の“奥”に位置すると判定できる。
【００６９】
判定対象オブジェクト及び遮蔽候補オブジェクトを決定すると、描画オブジェクト決定部４２２Ａは、上述した遮蔽判定の原理を用いて遮蔽可能性の有無を判断する。即ち、遮蔽候補オブジェクトを、特別の色値で描画した判定画像を生成し、次いで、この判定画像を縮小した縮小画像を生成する。そして、縮小画像中の判定対象オブジェクトの描画該当範囲の各画素の色値に基づいて遮蔽可能性の有無を判定する。即ち、描画該当範囲の全画素が、Ｒ＝１、であれば“可能性有り”と判定し、それ以外であれば“可能性無し”と判定する。
【００７０】
その結果、“可能性有り”と判定した場合には、仮想カメラＣＭから見て判定対象オブジェクトが遮蔽候補オブジェクトに“遮蔽される”と判定し、描画リストＬＳから判定対象オブジェクトを削除する。
【００７１】
その後、描画リストＬＳにおいて、現在の判定対象オブジェクトの次に奥のオブジェクトを順に新たな判定対象オブジェクトとして同様の処理（遮蔽可能性の有無の判定）を行う。同図では、オブジェクトＤ、オブジェクトＥ、と順に判定対象オブジェクトとする。そして、遮蔽候補オブジェクトより閾値ＴＨ以上奥の全てのオブジェクトについて順に判定対象オブジェクトとし、上述した処理を行うと、続いて、描画リストＬＳにおいて、現在の遮蔽候補オブジェクトの次に奥のオブジェクトを順に新たな遮蔽候補オブジェクトとして同様の処理（判定対象オブジェクトの決定及び遮蔽可能性の有無の判定）を行う。同図では、オブジェクトＢ、オブジェクトＣ、オブジェクトＤ、オブジェクトＥ、と順に遮蔽候補オブジェクトとする。勿論、削除されたオブジェクトについては、対象オブジェクト或いは遮蔽候補オブジェクトとしない。
【００７２】
図５において、フレーム画像生成部４２４は、描画オブジェクト決定部４２２Ａにより描画対象として決定されたオブジェクト（即ち、描画リスト中のオブジェクト）を対象として、ゲーム画面を表示させるためのゲーム画像を生成する。具体的には、視点座標系への座標変換処理等のジオメトリ（幾何変換）処理、色補間処理や陰面消去処理、シェーディング処理等のレンダリング処理等を行って、仮想カメラＣＭから見たゲーム空間の様子であるゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部２００に出力する。
【００７３】
記憶部５００は、処理部４００に家庭用ゲーム装置１０００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なプログラムやデータを含むゲーム情報等を記憶するとともに、処理部４００の作業領域として用いられ、処理部４００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＡＭ、ＶＲＡＭ等によって実現される。図１では、本体装置１１００が具備するＣＤ−ＲＯＭ１１０４、ＩＣメモリ１１０６、メモリカード１１０８がこれに該当する。
【００７４】
第１実施形態では、記憶部５００には、描画オブジェクト決定プログラム５１０Ａと、オブジェクトデータ５２０と、描画リストデータ５３０と、閾値データ５３２と、判定対象オブジェクトデータ５４０と、遮蔽候補オブジェクトデータ５５０と、が記憶されるとともに、判定画像メモリ５６０と、縮小画像メモリ５７０と、が備えられている。
【００７５】
オブジェクトデータ５２０は、ゲーム演算部４１０によってゲーム空間に配置される各オブジェクトに関するデータであり、オブジェクトを定義するためのモデリングデータや色情報の他、位置に関するデータである位置データ５２２と、幅値に関するデータである幅値データ５２４と、が含まれる。
【００７６】
図８は、位置データ５２２のデータ構成の一例を示す図である。同図によれば、位置データ５２２には、各オブジェクトについて、オブジェクトを識別するオブジェクト番号（５２２ａ）と、空間座標系における代表点の位置Ｐ（５２２ｂ）と、代表点に配置する際のオブジェクトの姿勢（５２２ｃ）と、が対応付けて格納される。尚、空間座標系とは、ゲーム空間に設定される座標系（ワールド座標系）である。この位置データ５２２は、ゲームの進行に応じて適宜更新される。
【００７７】
図９は、幅値データ５２４のデータ構成の一例を示す図である。同図によれば、幅値データ５２４には、各オブジェクトについて、オブジェクト番号（５２４ａ）と、幅値Ｈ（５２４ｂ）と、が対応付けて格納される。幅値Ｈとは、そのオブジェクトを任意の方向から見た場合の奥行き方向の長さの最大値である。例えば直方体形状のオブジェクトであれば対角線の長さである。この幅値データ５２４は、予め設定される固定的なデータであり、ゲームの進行を通じて更新されない。
【００７８】
図５において、描画リストデータ５３０は、描画オブジェクトの決定の際に作成される描画リストのデータである。フレーム画像生成部４２４は、この描画リストデータ５３０に基づき、描画リスト中のオブジェクトを描画対象としてゲーム画像の生成を行う。
【００７９】
閾値データ５３２は、描画オブジェクトの決定の際に設定される閾値ＴＨのデータであり、当初に作成された描画リスト中のオブジェクトの内、幅値Ｈが最大であるオブジェクトのその幅値Ｈの２倍の値が、閾値ＴＨとして格納される。
【００８０】
判定対象オブジェクトデータ５４０は、描画オブジェクトの決定の際に、描画リスト中のオブジェクトの内から選択された判定対象オブジェクトを示すデータであり、例えば判定対象オブジェクトのオブジェクト番号が格納される。
【００８１】
遮蔽候補オブジェクトデータ５５０は、描画オブジェクトの決定の際に、描画リスト中のオブジェクトの内から選択された遮蔽候補オブジェクトを示すデータであり、例えば遮蔽候補オブジェクトのオブジェクト番号が格納される。
【００８２】
判定画像メモリ５６０は、描画オブジェクト決定の際に生成された判定画像を格納するメモリである。また、縮小画像メモリ５７０は、描画オブジェクト決定の際に生成された縮小画像を格納するメモリである。
【００８３】
＜処理の流れ＞
次に、第１実施形態における処理の流れを説明する。
図１０は、第１実施形態における描画オブジェクト決定処理Ａの流れを説明するためのフローチャートである。この処理は、描画オブジェクト決定部４２２Ａが、記憶部５００の描画オブジェクト決定プログラム５１０Ａを読み出し実行することで実現される処理であり、１フレーム毎に繰り返し実行される。尚、描画オブジェクト決定処理Ａに先立ち、ゲーム演算部４１０により、ゲーム空間には仮想カメラＣＭやオブジェクト等が配置（実際には、代表点の位置が決定）されているものとする。
【００８４】
図１０によれば、描画オブジェクト決定処理Ａにおいて、描画オブジェクト決定部４２２Ａは、先ず、仮想カメラのビューボリューム内のオブジェクトをその代表点に基づいてＺソートし、奥行き値が小さい順に列挙した描画リストを作成する（ステップＳ１１）。次いで、幅値データ５２４を参照して、描画リスト中のオブジェクトの内、幅値Ｈが最大であるそのオブジェクトの幅値Ｈの２倍の値を閾値ＴＨとして設定する（ステップＳ１２）。
【００８５】
続いて、描画オブジェクト決定部４２２Ａは、描画リストの先頭のオブジェクト（即ち、仮想カメラから見て最も手前のオブジェクト）を遮蔽候補オブジェクトとする（ステップＳ１３）。そして、描画リストに、遮蔽候補オブジェクトより閾値ＴＨ以上奥に位置するオブジェクト（即ち、奥行き値が遮蔽候補オブジェクトの奥行き値より閾値ＴＨ以上大きなオブジェクト）が有るか否かを判定する（ステップＳ１４）。
【００８６】
判定の結果、有る場合には（ステップＳ１４：ＹＥＳ）、描画オブジェクト決定部４２２Ａは、これらのオブジェクトの内、最も手前のオブジェクト（即ち、奥行き値が最も小さいオブジェクト）を判定対象オブジェクトとする（ステップＳ１５）。
【００８７】
次いで、描画オブジェクト決定部４２２Ａは、仮想カメラを基に遮蔽候補オブジェクトを投影変換処理し、特別の色値（具体的には、例えば、Ｒ＝１、Ｇ＝１、Ｂ＝１、又は、α＝１）で描画した判定画像を生成し（ステップＳ１６）、更に、この判定画像を縮小処理して縮小画像を生成する（ステップＳ１７）。尚ここで、縮小画像の各画素の色値は、判定画像の対応する複数画素の色値を加算平均して設定する。
【００８８】
続いて、描画オブジェクト決定部４２２Ａは、仮想カメラを基に判定対象オブジェクトを投影変換処理し、描画した場合の縮小画像中の描画該当範囲を判別する（ステップＳ１８）。そして、この描画該当範囲の各画素の色値が、遮蔽候補オブジェクトを描画した際の特別の色値と等しいか否かを判定する（ステップＳ１９）。
【００８９】
判定の結果、全ての画素が等しければ（ステップＳ１９：ＹＥＳ）、描画オブジェクト決定部４２２Ａは、判定対象オブジェクトを、仮想カメラＣＭから見て遮蔽候補オブジェクトに“遮断される”と判断して描画リストから削除する（ステップＳ２０）。
【００９０】
その後、描画オブジェクト決定部４２２Ａは、描画リストに、現在の判定対象オブジェクトの次に奥のオブジェクトが有るか否かを判定し、有る場合には（ステップＳ２１：ＹＥＳ）、そのオブジェクトを新たな判定対象オブジェクトとし（ステップＳ２２）、ステップＳ１７に移行する。
【００９１】
一方、描画リストに、現在の判定対象オブジェクトの次に奥のオブジェクトが無い場合（ステップＳ２１：ＮＯ）、或いは、ステップＳ１４において、描画リストに、遮蔽候補オブジェクトより閾値ＴＨ以上奥のオブジェクトが無い場合には（ステップＳ１４：ＮＯ）、描画オブジェクト決定部４２２Ａは、続いて、描画リストに、現在の遮蔽候補オブジェクトの次に奥のオブジェクトが有るか否かを判定する（ステップＳ２３）。
【００９２】
判定の結果、有る場合には（ステップＳ２３：ＹＥＳ）、描画オブジェクト決定部４２２Ａは、そのオブジェクトを新たな遮蔽候補オブジェクトとし（ステップＳ２４）、ステップＳ１６に移行する。一方、描画リストに、現在の遮蔽候補オブジェクトの次のオブジェクトが無い場合には（ステップＳ２３：ＮＯ）、描画オブジェクト決定処理Ａを終了する。
【００９３】
このように、描画オブジェクト決定処理Ａが終了すると、続いて、フレーム画像生成部４２４が、描画リスト中のオブジェクトを描画対象としてＺバッファ法等を用いてゲーム画像を生成する。
【００９４】
＜ハードウェア構成＞
次に、家庭用ゲーム装置１０００を実現するハードウェア構成について説明する。
図１１は、本実施の形態における家庭用ゲーム装置１０００のハードウェア構成の一例を示す図である。同図によれば、家庭用ゲーム装置１０００は、ＣＰＵ１０００と、ＲＯＭ１００２と、ＲＡＭ１００４と、情報記憶媒体１００６と、音生成ＩＣ１００８と、画像生成ＩＣ１０１０と、Ｉ／Ｏポート１０１２、１０１４とを有し、システムバス１０１６により相互にデータの入出力が可能に接続されている。また、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００９５】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されているプログラムやデータ、ＲＯＭ１００２に格納されているシステムプログラムやデータ、コントロール装置１０２２によって入力される操作入力信号等に従って、家庭用ゲーム装置１０００全体の制御や各種データ処理を行う。このＣＰＵ１０００は、図５の処理部４００に該当する。
【００９６】
ＲＯＭ１００２、ＲＡＭ１００４及び情報記憶媒体１００６は、図５の記憶部５００に該当する。ＲＯＭ１００２は、家庭用ゲーム装置１０００のシステムプログラムや、図５に示す記憶部５００に記憶されている情報の内、特に、予め設定されているプログラムやデータ等を記憶する。ＲＡＭ１００４は、ＣＰＵ１０００の作業領域として用いられる記憶手段であり、例えば、ＲＯＭ１００２や情報記憶媒体１００６の所与の内容、１フレーム分の画像データ、ＣＰＵ１０００の演算結果等が格納される。また、情報記憶媒体１００６は、ＩＣメモリカードや本体装置に着脱自在なハードディスクユニット、ＭＯ等によって実現される。
【００９７】
音生成ＩＣ１００８は、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。この音生成ＩＣ１００８は、図５の処理部４００に含まれる音生成部（不図示）に該当し、スピーカ１０２０は、図１のスピーカ１２０２に該当する。
【００９８】
画像生成ＩＣ１０１０は、ＣＰＵ１０００からの画像情報に基づいて表示装置１０１８に表示するゲーム画面の画素情報を生成する集積回路である。表示装置１０１８は、画像生成ＩＣ１０１０で生成された画素情報に基づくゲーム画面を表示する。この画像生成ＩＣ１０１０は、図５の画像生成部４２０に該当し、表示装置１０１８は、図５の画像表示部２００、図１のディスプレイ１２００に該当する。
【００９９】
尚、音生成ＩＣ１００８、画像生成ＩＣ１０１０等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によってソフトウェア的に実行されることとしても良い。
【０１００】
コントロール装置１０２２は、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。このコントロール装置１０２２は、図５の操作入力部１００、図１のゲームコントローラ１１０２ａ、１１０２ｂに該当する。
【０１０１】
通信装置１０２４は、家庭用ゲーム装置１０００内部で使用される各種情報を外部とやり取りするための装置であり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介してゲームプログラム等の情報を送受信する等に利用される。
【０１０２】
＜作用・効果＞
以上のように、第１実施形態によれば、１フレーム分の画像を生成する際、先ず、描画オブジェクト決定部４２２Ａが、仮想カメラＣＭのビューボリュームＶＢ内のオブジェクトをその代表点に基づいてＺソートし、奥行き値が小さい順に列挙した描画リストＬＳを作成する。次いで、描画リストＬＳの先頭のオブジェクト（即ち、最も手前のオブジェクト）を遮蔽候補オブジェクトとし、この遮蔽候補オブジェクトより閾値ＴＨ以上奥のオブジェクトを順に判定対象オブジェクトとして遮蔽可能性を判定する。そして、“遮蔽可能性有り”と判定した場合には、対象オブジェクトを描画リストＬＳから削除する。
【０１０３】
遮蔽可能性の判定では、仮想カメラＣＭを基に遮蔽候補オブジェクトを投影変換処理して特別の色値（具体的には、例えば、Ｒ＝１、Ｇ＝１、Ｂ＝１、又は、α＝１）で描画した判定画像を生成し、この判定画像を縮小処理して縮小画像を生成する。次いで、仮想カメラＣＭを基に判定対象オブジェクトを投影変換処理してこの縮小画像に描画した場合の描画該当範囲を判別し、描画該当範囲の全画素の色値が、遮蔽候補オブジェクトを描画した際の特別の色値（即ち、Ｒ＝１、Ｇ＝１、Ｂ＝１、又は、α＝１）と等しい場合に“遮蔽可能性有り”と判定する。
【０１０４】
続いて、描画リストＬＳにおいて、現在の遮蔽候補オブジェクトの次に奥のオブジェクトを順に新たな候補オブジェクトとし、最後のオブジェクトを遮蔽候補オブジェクトとするまで同様の処理（判定対象オブジェクトの決定、遮蔽可能性の判定）を繰り返し行う。その後、フレーム画像生成部４２４が、描画リストＬＳに列挙されているオブジェクトを描画対象とした画像生成処理を行う。
【０１０５】
従って、判定画像を縮小処理した縮小画像を用い、判定対象オブジェクトの描画該当範囲の各画素の色値によって遮蔽可能性を判定しているので、遮蔽可能性の判定に要する時間を短縮できる。一般的に、ゲーム装置等の画像生成装置には描画用のＤＳＰ又はＣＰＵが搭載されているため、画像の拡大／縮小にかかる処理を高速に行うことができるので、このような装置においては特に有効である。また、オブジェクトをＺソートし、手前のオブジェクトから順に遮蔽候補オブジェクトとするとともに、遮蔽候補オブジェクトより閾値ＴＨ以上奥のオブジェクトを順に判定対象オブジェクトとしているので、遮蔽判定処理を効率良く行うことができる。
【０１０６】
［第２実施形態］
次に、第２実施形態を説明する。
尚、第２実施形態において、上述した第１実施形態と同一要素については同符合を付し、詳細な説明を省略する。
【０１０７】
＜機能構成＞
図１２は、第２実施形態における機能構成を示すブロック図である。同図によれば、第２実施形態において、家庭用ゲーム装置１０００は、操作入力部１００と、画像表示部２００と、音声出力部３００と、処理部４００と、記憶部５００と、を備えて構成される。
【０１０８】
処理部４００には、ゲーム演算部４１０と、画像生成部４２０と、が含まれる。また、第２実施形態では、画像生成部４２０には、描画オブジェクト決定部４２２Ｂと、フレーム画像生成部４２４と、が含まれる。
【０１０９】
描画オブジェクト決定部４２２Ｂは、記憶部５００の描画オブジェクト決定プログラム５１０Ｂに従った描画オブジェクト決定処理Ｂ（図１４参照）を実行することで、ゲーム演算部４１０によってゲーム空間内に配置された各オブジェクトに対する遮蔽判定を行い、描画対象とするオブジェクトを決定する。
【０１１０】
図１３は、描画オブジェクト決定部４２２Ｂによる描画オブジェクト決定の概念を説明するための図であり、同図中、左側は生成される描画リストを示し、右側は判定画像を示している。尚ここで、ゲーム空間には、第１実施形態において図６に示したように、仮想カメラＣＭと、オブジェクトＡ〜Ｆと、が配置されているものとする。
【０１１１】
描画オブジェクト決定部４２２Ｂは、先ず、第１実施形態と同様に、ビューボリュームＶＢ内のオブジェクトをその代表点でＺソートし、奥行き値が小さい順に列挙した描画リストＬＳを作成する。次いで、同図（ａ）の左側に示すように、描画リストＬＳの先頭のオブジェクトを遮蔽候補オブジェクトとするとともに、これを遮蔽候補オブジェクト群とする。同図（ａ）では、オブジェクトＡが遮蔽候補オブジェクトであるとともに、遮蔽候補オブジェクト群はオブジェクトＡによって構成される。
【０１１２】
また、描画リストＬＳ中のオブジェクトの内、遮蔽候補オブジェクトより閾値ＴＨ以上奥にあり、且つ最も手前のオブジェクトを判定対象オブジェクトとする。同図（ａ）では、オブジェクトＣが判定対象オブジェクトとなる。
【０１１３】
続いて、遮蔽候補オブジェクト群を１つのオブジェクトとし、上述した遮蔽判定の原理を用いて遮蔽可能性の有無を判定する。即ち、同図（ａ）に示すように、遮蔽候補オブジェクトを１つのオブジェクトとし、特別の色値（ここでは、Ｒ＝１、とする。）で描画した判定画像ＩＭ３を生成する。従って、判定画像ＩＭ３は、オブジェクトＡの描画範囲ＡＲ４のみが、Ｒ＝１、となり、その他の部分は、Ｒ＝０、となる。
【０１１４】
次いで、第１実施形態と同様に、仮想カメラＣＭを基に判定対象オブジェクトを投影変換処理し、縮小画像に描画した場合の縮小画像中の描画該当範囲を判別して、この描画該当範囲の各画素の色値に基づいて遮蔽可能性の有無を判定する。そして、“可能性有り”と判定した場合には、判定対象オブジェクトを、仮想カメラＣＭから見て遮蔽候補オブジェクト群によって遮蔽されると判断し、描画リストＬＳから削除する。
【０１１５】
その後、描画リストＬＳにおいて、現在の判定対象オブジェクトの次に奥のオブジェクトを順に新たな判定対象オブジェクトとして同様の処理（遮蔽可能性の判定）を行う。そして、遮蔽候補オブジェクトより閾値ＴＨ以上奥の全てのオブジェクトについて順に判定対象オブジェクトとし、上述した処理を行うと、続いて、同図（ｂ）の左側に示すように、描画リストＬＳにおいて、現在の遮蔽候補オブジェクトの次に奥のオブジェクトを新たな遮蔽候補オブジェクトとするとともに、これを遮蔽候補オブジェクト群に追加する。即ち、同図（ｂ）では、オブジェクトＢが遮蔽候補オブジェクトとなるとともに、遮蔽候補オブジェクト群は、オブジェクトＡ、Ｂの２つのオブジェクトで構成される。
【０１１６】
そして、遮蔽候補オブジェクト群を１つのオブジェクトとし、同図（ｂ）の右側に示すように、Ｒ＝１、で描画した判定画像ＩＭ４を生成する。即ち、判定画像ＩＭ４においては、オブジェクトＡの描画範囲ＡＲ４とオブジェクトＢの描画範囲ＡＲ５との和集合が遮蔽候補オブジェクト群の描画範囲ＡＲ６であり、この描画範囲ＡＲ６が、Ｒ＝１、となる。
【０１１７】
その後、遮蔽候補オブジェクトを更新する毎に、該新たな遮蔽候補オブジェクトを追加して遮蔽候補オブジェクト群を更新し、同様の処理（判定対象オブジェクトの決定及び遮蔽可能性の判定）を繰り返し行う。
【０１１８】
図１２において、記憶部５００には、描画オブジェクト決定プログラム５１０Ｂと、オブジェクトデータ５２０と、描画リストデータ５３０と、閾値データ５３２と、遮蔽候補オブジェクトデータ５５０と、遮蔽候補オブジェクト群データ５５２と、判定対象オブジェクトデータ５４０と、が記憶されるとともに、判定画像メモリ５６０と、縮小画像メモリ５７０と、が備えられている。
【０１１９】
遮蔽候補オブジェクト群データ５５２は、描画オブジェクト決定の際に生成された遮蔽候補オブジェクト群を示すデータであり、例えば遮蔽候補オブジェクト群を構成する各オブジェクトのオブジェクト番号が格納される。
【０１２０】
＜処理の流れ＞
次に、処理の流れを説明する。
図１４は、第２実施形態における描画オブジェクト決定処理Ｂの流れを説明するためのフローチャートである。この処理は、描画オブジェクト決定部４２２Ｂが、記憶部５００の描画オブジェクト決定プログラム５１０Ｂを読み出し実行することで実現される処理であり、１フレーム毎に繰り返し実行される。
【０１２１】
図１４によれば、描画オブジェクト決定処理Ｂにおいて、描画オブジェクト決定部４２２Ｂは、先ず、ビューボリューム内のオブジェクトをその代表点に基づいてＺソートし、奥行き値が小さい順に列挙した描画リストを作成する（ステップＳ３１）。次いで、幅値データ５２４を参照して、描画リスト中のオブジェクトの内、幅値Ｈが最大であるそのオブジェクトの幅値Ｈの２倍の値を閾値ＴＨとして設定する（ステップＳ３２）。
【０１２２】
続いて、描画オブジェクト決定部４２２Ｂは、描画リストの先頭のオブジェクトを遮蔽候補オブジェクトとするとともに、これを遮蔽候補オブジェクト群とする（ステップＳ３３。そして、描画リストに、閾値ＴＨ以上遮蔽候補オブジェクトの奥のオブジェクトが有るか否かを判定する。判定の結果、有る場合には（ステップＳ３４：ＹＥＳ）、これらのオブジェクトの内、最も手前のオブジェクトを判定対象オブジェクトとする（ステップＳ３５）。
【０１２３】
次いで、描画オブジェクト決定部４２２Ｂは、仮想カメラを基に遮蔽候補オブジェクト群を１つのオブジェクトとして投影変換処理し、特別の色値（具体的には、例えば、Ｒ＝１、Ｇ＝１、Ｂ＝１、又は、α＝１）で描画した判定画像を生成し（ステップＳ３６）、更に、この判定画像を縮小した縮小画像を生成する（ステップＳ３７）。
【０１２４】
続いて、描画オブジェクト決定部４２２Ｂは、仮想カメラを基に判定対象オブジェクトを投影変換処理し、縮小画像に描画した場合の縮小画像中の描画該当範囲を判別する（ステップＳ３８）。そして、この描画該当範囲の各画素の色値が、遮蔽候補オブジェクト群を描画した際の特別の色値と等しいか否かを判定する（ステップＳ３９）。
【０１２５】
判定の結果、全ての画素が等しければ（ステップＳ３９：ＹＥＳ）、描画オブジェクト決定部４２２Ｂは、判定対象オブジェクトを、仮想カメラＣＭから見て遮蔽候補オブジェクト群に“遮蔽される”と判断して描画リストから削除する（ステップＳ４０）。
【０１２６】
その後、描画オブジェクト決定部４２２Ｂは、描画リストに、現在の判定対象オブジェクトの次に奥のオブジェクトが有るか否かを判定し、有る場合には（ステップＳ４１：ＹＥＳ）、そのオブジェクトを新たな判定対象オブジェクトとして（ステップＳ４２）、ステップＳ３７に移行する。
【０１２７】
一方、描画リストに、現在の判定対象オブジェクトの次に奥のオブジェクトが無い場合（ステップＳ４１：ＮＯ）、或いは、ステップＳ３４において、描画リストに、遮蔽候補オブジェクトより閾値ＴＨ以上奥のオブジェクトが無い場合には（ステップＳ３４：ＮＯ）、描画オブジェクト決定部４２２Ｂは、続いて、描画リストに、現在の遮蔽候補オブジェクトの次に奥のオブジェクトが有るか否かを判定する（ステップＳ４３）。
【０１２８】
判定の結果、有る場合には（ステップＳ４３：ＹＥＳ）、描画オブジェクト決定部４２２Ｂは、そのオブジェクトを新たな遮蔽候補オブジェクトとするとともに、これを遮蔽候補オブジェクト群に追加し（ステップＳ４４）、ステップＳ３６に移行する。一方、描画リストに、現在の遮蔽候補オブジェクトの次に奥のオブジェクトが無い場合には（ステップＳ４３：ＮＯ）、描画オブジェクト決定処理Ｂを終了する。
【０１２９】
このように、描画オブジェクト決定処理Ｂが終了すると、続いて、フレーム画像生成部４２４が、描画リスト中のオブジェクトを描画対象としてゲーム画像を生成する。
【０１３０】
＜作用・効果＞
以上のように、第２実施形態によれば、１フレーム分の画像を生成する際、先ず、描画オブジェクト決定部４２２Ｂが、ビューボリュームＶＢ内のオブジェクトをその代表点に基づいてＺソートし、奥行き値が小さい順に列挙した描画リストＬＳを作成する。次いで、描画リストＬＳの先頭のオブジェクト（即ち、最も手前のオブジェクト）を遮蔽候補オブジェクトとするとともに遮蔽候補オブジェクト群とする。そして、この遮蔽候補オブジェクトより閾値ＴＨ以上奥のオブジェクトを順に判定対象オブジェクトとして遮蔽可能性を判定する。遮蔽可能性の判定では、遮蔽候補オブジェクト群を１つのオブジェクトとして特別の色値で描画することで判定画像を生成する。そして、“遮蔽可能性有り”と判定した場合には、対象オブジェクトを描画リストＬＳから削除する。
【０１３１】
続いて、描画リストＬＳにおいて、現在の遮蔽候補オブジェクトの次に奥のオブジェクトを順に新たな候補オブジェクトとするとともに遮蔽候補オブジェクト群に追加し、最後のオブジェクトを遮蔽候補オブジェクトとするまで同様の処理（判定対象オブジェクトの決定、遮蔽可能性の判定）を行う。その後、フレーム画像生成部４２４が、描画リストＬＳに列挙されているオブジェクトを描画対象として画像生成処理を行う。
【０１３２】
従って、第１実施形態と同様に、判定画像を縮小処理した縮小画像を用い、判定対象オブジェクトの描画該当範囲の各画素の色値によって遮蔽可能性を判定しているので、遮蔽可能性の判定に要する時間を短縮できる。また、オブジェクトをＺソートし、手前のオブジェクトから順に遮蔽候補オブジェクトとするとともに、遮蔽候補オブジェクトより閾値ＴＨ以上奥のオブジェクトを順に判定対象オブジェクトとしているので、遮蔽判定処理を効率良く行うことができる。
【０１３３】
ところで、１つのオブジェクトを遮蔽候補オブジェクトとして遮蔽可能性の判定を行った場合、複数のオブジェクトによって初めて遮蔽される判定対象オブジェクトについては遮蔽可能性有りと判定できない。しかし、複数のオブジェクトを１つの遮蔽候補オブジェクトとすることで、かかる場合であっても遮蔽可能性有りと判定できる。即ち、遮蔽される可能性のあるより多くのオブジェクトを判定することが可能となる。その結果、他のオブジェクトに遮蔽されるより多くのオブジェクトを描画リストＬＳから削除することができるので、フレーム画像生成部４２４による画像生成処理に要する時間を短縮することが可能となる。
【０１３４】
［第３実施形態］
次に、第３実施形態を説明する。
尚、第３実施形態において、上述した第１、第２実施形態と同一要素については同符合を付し、詳細な説明を省略する。
【０１３５】
＜機能構成＞
図１５は、第３実施形態における機能構成を示すブロック図である。同図によれば、第３実施形態において、家庭用ゲーム装置１０００は、操作入力部１００と、画像表示部２００と、音声出力部３００と、処理部４００と、記憶部５００と、を備えて構成される。
【０１３６】
処理部４００には、ゲーム演算部４１０と、画像生成部４２０と、が含まれる。また、第３実施形態では、画像生成部４２０には、描画オブジェクト決定部４２２Ｃと、フレーム画像生成部４２４と、が含まれる。
【０１３７】
描画オブジェクト決定部４２２Ｃは、記憶部５００の描画オブジェクトプログラム５１０Ｃに従った描画オブジェクト決定処理Ｃ（図２０参照）を実行することで、ゲーム演算部４１０によってゲーム空間内に配置された各オブジェクトに対する遮蔽判定を行い、描画対象とするオブジェクトを決定する。
【０１３８】
図１６は、描画オブジェクト決定部４２２Ｃによる描画オブジェクト決定の概念を説明するための図である。ゲーム空間には、同図（ａ）の左側に示すように、仮想カメラＣＭと、オブジェクトＡ〜Ｆと、が配置されている。尚、この配置は、第１実施形態において図６に示した配置と同様である。
【０１３９】
描画オブジェクト決定部４２２Ｃは、先ず、第１実施形態と同様に、ビューボリュームＶＢ内の各オブジェクトをその代表点の位置Ｐに基づいてＺソートし、同図（ａ）の右側に示すように、奥行き値が小さい順に列挙した描画リストＬＳを作成する。次いで、描画リストＬＳにおいて、最後尾のオブジェクト（即ち、仮想カメラＣＭから見て最も奥のオブジェクト）を判定対象オブジェクトとする。同図では、オブジェクトＥが判定対象オブジェクトとなる。
【０１４０】
また、描画リストＬＳにおいて、判定対象オブジェクトの手前に位置する１又は複数のオブジェクトを遮蔽候補オブジェクトとする。同図では、オブジェクトＡ、オブジェクトＢ、オブジェクトＣ、オブジェクトＤ、の合計４つのオブジェクトが遮蔽候補オブジェクトとなる。
【０１４１】
続いて、同図（ｂ）に示すように、これらの遮蔽候補オブジェクトを、それぞれ異なる特別の色値で描画した判定画像ＩＭ５を生成する。このとき、各オブジェクトを順に重ね書きすることとし、描画順は任意である。即ち、判定画像ＩＭ５においては、奥行き順に、オブジェクトＤ、オブジェクトＣ、オブジェクトＢ、オブジェクトＡ、の順で描画され、オブジェクトＡの描画範囲ＡＲ７が、Ｒ＝１、Ｇ＝Ｂ＝α＝０、となり、オブジェクトＢの描画範囲ＡＲ８が、Ｇ＝１、Ｒ＝Ｂ＝α＝０、となり、オブジェクトＣの描画範囲ＡＲ９が、Ｒ＝Ｇ＝１、Ｂ＝α＝０、となり、オブジェクトＤの描画範囲ＡＲ１０が、Ｂ＝１、Ｒ＝Ｇ＝α＝０、となる。尚、描画順は、オブジェクトの大きさの小さい順等にしても良い。
【０１４２】
第３実施形態において、遮蔽判定のための特別の色値は次のように決定する。即ち、上述した第１、第２実施形態では、ＲＧＢ値及びα値の何れかを「１」とした色値を特別の色値としたが、第３実施形態では、ＲＧＢ値及びα値の４つのパラメータそれぞれに「１」又は「０」を設定することで、遮蔽候補オブジェクトそれぞれに異なる特別の色値を割り当てる。
【０１４３】
図１７は、ＲＧＢ値及びα値のそれぞれに「１」又は「０」を設定した場合の特別の色値を示す図である。同図に示すように、ＲＧＢ値及びα値のそれぞれを「１」又は「０」と設定することで、合計１６（＝２4）種類の色値が用意できる。そして、これらの色値の内、１つの色値、例えば、Ｒ＝Ｇ＝Ｂ＝α＝０、を複数の遮蔽候補オブジェクトの描画範囲以外の部分に割り当てることで、これを除く１５種類の色値を遮蔽候補オブジェクトそれぞれに割り当てることができる。
【０１４４】
尚、遮蔽候補オブジェクトに割り当てる特別の色値は、縮小画像の各画素の色値から、判定画像の対応する複数画素が全て同一の色値であるか否かを判断できるように決められる。従って、この条件を満たせば、特別の色値となるＲＧＢ値及びα値としてそれぞれに設定する値の組み合わせ（以下、適宜「遮蔽整数ペア」と称する。）は、上述した「１」及び「０」の組み合わせ（以下、「｛０、１｝」と表記する。）に限らず、他の値の組み合わせでも良い。但し、遮蔽整数ペアを構成する値は、０又は自然数であるとする。
【０１４５】
例えば、縮小画素数（縮小画像の１画素に対応する判定画像の画素数；面積縮小率の逆数に等しい）Ｃが「４」の場合の遮蔽整数ペアとして｛１、４｝がある。そして、この遮蔽整数ペア｛１、４｝を構成する各値（即ち、「１」及び「４」）をＲＧＢ値及びα値のそれぞれに設定することで、各遮蔽判定オブジェクトそれぞれに割り当てる特別の色値を決定できる。
【０１４６】
即ち、図１８（ａ）に示すように、例えばＲ値に注目すると、判定画像ＩＭ６の各画素のＲ値は「１」又は「４」となる。また、縮小画像ＩＭ７中の各画素のＲ値は、判定画像ＩＭ６の対応する４つの画素それぞれのＲ値の平均値である。従って、縮小画像ＩＭ７のある１つの画素ＰＥ５のＲ値と、この画素ＰＥ５に対応する判定画像ＩＭ６中の４つの画素ＰＥ１〜ＰＥ４それぞれのＲ値と、の取り得る組み合わせは、同図（ｂ）に示すように１６通りある。そして、判定画像ＩＭ６の画素ＰＥ１〜ＰＥ４それぞれのＲ値が全て「１」である場合のみ、縮小画像ＩＭ７の画素ＰＥ５のＲ値が「１」となり、画素ＰＥ１〜ＰＥ４それぞれのＲ値が全て「４」である場合のみ、画素ＰＥ５のＲ値が「４」となる。即ち、画素ＰＥ１〜ＰＥ４の全てのＲ値が等しい場合のみ、画素ＰＥ５のＲ値がその値となる。従って、縮小画像ＩＭ７の画素ＰＥ５のＲ値が「１」又は「４」である場合、判定画像ＩＭ６の対応する画素ＰＥ１〜ＰＥ４の全てのＲ値が「１」又は「４」であると判断できる。
【０１４７】
また、Ｇ値、Ｂ値及びα値についても同様に「１」又は「４」とすることで、上述した遮蔽整数ペア｛０、１｝と同様に１６種類の色値が用意できる。
【０１４８】
更に、遮蔽整数ペアを構成する値の数を増やすことで、用意できる色値が指数関数的に増加し、特別の色値を割り当てられる遮蔽候補オブジェクトの数が増加する。例えば、縮小画素数（縮小画像の１画素に対応する判定画像の画素数；判定画像に対する縮小画像の面積縮小率の逆数に相当）Ｃが「６４」の場合の遮蔽整数ペアとして｛１、２、６６、６７｝がある。この場合、合計２５６（＝４4）種類の色値が用意でき、これらの内、１つの色値を遮蔽候補オブジェクトの描画範囲以外の部分に割り当てることで、これを除く合計２５５種類の特別の色値を遮蔽判定オブジェクトに割り当てることができる。従って、より多くの遮蔽候補オブジェクトに特別の色値を割り当てることができるので、特に、多数のオブジェクトが配置されている場合に有効である。
【０１４９】
判定画像を生成すると、描画オブジェクト決定部４２２Ｃは、続いて、この判定画像を縮小した縮小画像を生成する。そして、仮想カメラＣＭを基に判定対象オブジェクトを投影変換処理し、縮小画像に描画した場合の縮小画像中の描画該当範囲を判別する。その後、この描画該当範囲の各画素の色値に基づいて遮蔽可能性の有無を判定する。即ち、各画素の色値が全て同一の色値であり、且つ、その色値が、複数の遮蔽候補オブジェクトのそれぞれに割り当てた特別の色値の何れかである場合に“可能性有り”と判定し、それ以外の場合には“可能性無し”と判定する。
【０１５０】
“可能性有り”と判定した場合には、更に、描画該当範囲の色値が割り当てられている遮蔽候補オブジェクト（以下、適宜「遮蔽可能性オブジェクト」と称する。）と判定対象オブジェクトとの位置関係（奥／手前）を判定する。即ち、判定対象オブジェクトが、遮蔽可能性オブジェクトより閾値ＴＨ以上奥に位置するか否かを判定する。
【０１５１】
その結果、“奥”に位置すると判定した場合には、仮想カメラＣＭから見て判定対象オブジェクトが遮蔽可能性オブジェクトによって“遮蔽される”と判定し、描画リストＬＳから判定対象オブジェクトを削除する。
【０１５２】
その後、描画リストＬＳにおいて、現在の判定対象オブジェクトの次に手前のオブジェクトを順に新たな対象オブジェクトとして同様の処理（候補オブジェクトの決定及び遮蔽可能性の有無）を行う。図１６では、オブジェクトＤ、オブジェクトＣ、オブジェクトＢ、オブジェクトＡ、の順に判定対象オブジェクトとする。
【０１５３】
図１５において、記憶部５００には、描画オブジェクト決定プログラム５１０Ｃと、オブジェクトデータ５２０と、描画リストデータ５３０と、閾値データ５３２と、判定対象オブジェクトデータ５４０と、遮蔽候補オブジェクトデータ５５０と、が記憶されるとともに、判定画像メモリ５６０と、縮小画像メモリ５７０と、が備えられている。
【０１５４】
また、第３実施形態では、オブジェクトデータ５２０には、位置データ５２２と、幅値データ５２４と、各遮蔽候補オブジェクトに割り当てた特別の色値に関するデータである特別色値データ５２６と、が含まれる。
【０１５５】
図１９は、特別色値データ５２６のデータ構成の一例を示す図である。同図によれば、特別色値データ５２６には、各オブジェクトについて、オブジェクト番号（５２６ａ）と、割り当てた特別の色値（５２６ｂ）と、が対応付けて格納される。特別の色値（５２６ｂ）は、ＲＧＢ値及びα値のそれぞれの値が格納される。
【０１５６】
＜処理の流れ＞
次に、処理の流れを説明する。
図２０は、第３実施形態における描画オブジェクト決定処理Ｃの流れを説明するためのフローチャートである。この処理は、描画オブジェクト決定部４２２Ｃが、記憶部５００の描画オブジェクト決定プログラム５１０Ｃを読み出し実行することで実現され、１フレーム毎に繰り返し実行される。
【０１５７】
図２０によれば、描画オブジェクト決定処理Ｃにおいて、描画オブジェクト決定部４２２Ｃは、先ず、仮想カメラのビューボリューム内のオブジェクトについて、その代表点に基づくＺソートを行い、奥行き値が小さい順に列挙した描画リストを作成する（ステップＳ５１）。次いで、幅値データ５２４を参照して、描画リスト中のオブジェクトの内、幅値Ｈが最大であるそのオブジェクトの幅値Ｈの２倍の値を閾値ＴＨとして設定する（ステップＳ５２）。また、描画リスト中のオブジェクトについて、それぞれに異なる特別の色値を割り当てる（ステップＳ５３）。
【０１５８】
続いて、描画オブジェクト決定部４２２Ｂは、描画リストの最後尾（最後）のオブジェクトを判定対象オブジェクトとする（ステップＳ５４）。そして、描画リスト中のオブジェクトの内、判定対象オブジェクトの手前の全てのオブジェクトを遮蔽候補オブジェクトとする（ステップＳ５５）。
【０１５９】
次いで、描画オブジェクト決定部４２２Ｃは、仮想カメラを基に遮蔽候補オブジェクトそれぞれについて投影変換処理し、それぞれに割り当てた特別の色値で描画した判定画像を生成した後（ステップＳ５６）、この判定画像を縮小処理して縮小画像を生成する（ステップＳ５７）。
【０１６０】
続いて、描画オブジェクト決定部４２２Ｃは、仮想カメラを基に判定対象オブジェクトを投影変換処理し、縮小画像に描画した場合の描画該当範囲を判別する（ステップＳ５８）。そして、描画該当範囲の各画素の色値が、遮蔽候補オブジェクトに割り当てた一の特別の色値と等しいか否かを判定する（ステップＳ５９）。
【０１６１】
判定の結果、描画該当範囲の全画素の色値が一の特別の色値と等しい場合には（ステップＳ５９：ＹＥＳ）、描画オブジェクト決定部４２２Ｃは、判定対象オブジェクトが、その特別の色値が割り当てられている遮蔽候補オブジェクト（遮蔽可能性オブジェクト）より閾値ＴＨ以上奥に位置するか否かを判定する。判定の結果、位置する場合には（ステップＳ６０：ＹＥＳ）、判定対象オブジェクトを、遮蔽可能性オブジェクトに遮蔽されると判断して、描画リストから削除する（ステップＳ６１）。
【０１６２】
次いで、描画オブジェクト決定部４２２Ｃは、描画リストに、現在の判定対象オブジェクトの手前に位置するオブジェクトが有るか否かを判定し、有る場合には（ステップＳ６２：ＹＥＳ）、そのオブジェクトが描画リストの先頭のオブジェクト（即ち、最も手前のオブジェクト）であるか否かを判定する（ステップＳ６３）。
【０１６３】
判定の結果、描画リストの先頭のオブジェクトでなければ（ステップＳ６３：ＮＯ）、描画オブジェクト決定部４２２Ｃは、そのオブジェクトを新たな判定対象オブジェクトとし（ステップＳ６４）、ステップＳ５３に移行する。一方、描画リストの先頭のオブジェクトである場合（ステップＳ６３：ＹＥＳ）、或いは、ステップＳ６２において、現在の判定オブジェクトの手前のオブジェクトが無い場合には（ステップＳ６２０：ＮＯ）、描画オブジェクト決定処理Ｃを終了する。
【０１６４】
このように、描画オブジェクト決定処理Ｃが終了すると、続いて、フレーム画像生成部４２４が、描画リスト中のオブジェクトを描画対象としてゲーム画像を生成する。
【０１６５】
＜作用・効果＞
以上のように、第３実施形態によれば、１フレーム分の画像を生成する際、先ず、描画オブジェクト決定部４２２Ｃが、ビューボリュームＶＢ内のオブジェクトをその代表点に基づいてＺソートし、奥行き値が小さい順に列挙した描画リストＬＳを作成する。次いで、描画リストＬＳの最後のオブジェクト（即ち、最も奥のオブジェクト）を判定対象オブジェクトとするとともに、この判定対象オブジェクトの手前のオブジェクト（１又は複数）を遮蔽候補オブジェクトとして遮蔽可能性を判定する。
【０１６６】
遮蔽可能性の判定では、複数の遮蔽候補オブジェクトそれぞれを異なる特別の色値で描画することで判定画像を生成する。そして、縮小画像中の描画該当範囲の全画素の色値が全て等しく、且つ、その色値が遮蔽候補オブジェクトを描画した際の特別の色値の何れかと等しい場合に“遮蔽可能性有り”と判定する。
【０１６７】
そして、“遮蔽可能性有り”と判定した場合には、判定画像の生成の際に描画該当範囲の色値で描画した遮蔽候補オブジェクト（遮蔽可能性オブジェクト）より閾値ＴＨ以上奥に判定対象オブジェクトが位置するか否かを判定し、位置する場合には、判定対象オブジェクトを描画リストＬＳから削除する。
【０１６８】
続いて、描画リストＬＳにおいて、現在の判定対象オブジェクトの次に手前のオブジェクトを順に新たな判定対象オブジェクトとし、先頭のオブジェクトを判定対象オブジェクトとするまで同様の処理（遮蔽候補オブジェクトの決定、遮蔽可能性の判定等）を行う。その後、フレーム画像生成部４２４が、描画リストＬＳに列挙されているオブジェクトを描画対象として画像生成処理を行う。
【０１６９】
従って、判定対象オブジェクトが複数の遮蔽候補オブジェクトそれぞれに遮蔽される可能性を１度にまとめて判定できるので、遮蔽判定処理に要する時間を短縮できる。
【０１７０】
［変形例］
尚、本発明の適用は、上述した実施の形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【０１７１】
（Ａ）閾値ＴＨ
上述した各実施形態では、閾値ＴＨを、仮想カメラのビューボリューム内のオブジェクトの内、幅値Ｈが最大であるオブジェクトのその幅値Ｈの２倍の値としたが、遮蔽候補オブジェクトの幅値Ｈと判定候補オブジェクトの幅地Ｈとの和を閾値ＴＨとしても良い。
【０１７２】
（Ｂ）縮小処理
また、上述した各実施形態では、判定画像を縮小処理して縮小画像を生成する際に、判定画像の各画素の色値を加算平均することで縮小画像の各画素の色値を設定することとしたが、単に加算することで設定しても良い。この場合、遮蔽可能性の判定の際には、縮小画像の描画該当範囲の各画素の色値を、縮小画像の１画素に対応する判定画像の画素数（即ち、判定画像に対する縮小画像の縮小率の逆数に相当）で除した値が、特別の色値と等しいか否かによって判定する。
【０１７３】
（Ｃ）オブジェクトを簡易モデル化
また、遮蔽候補オブジェクト及び判定対象オブジェクトを投影変換処理する際に、該オブジェクトを、その形状を簡易化（モデル化）した簡易オブジェクトとし、これを代替して投影変換することで判定画像の生成、又は、縮小画像中の描画該当範囲を判別することとしても良い。
【０１７４】
（Ｄ）オブジェクトの分割
また、ゲーム空間中のオブジェクトの内、比較的大きなオブジェクトについては、これを、他のオブジェクトと同程度の大きさのオブジェクトに分割し、それぞれを１つのオブジェクトとして扱うこととしても良い。
【０１７５】
（Ｅ）適用するゲーム装置の形態
また、上述した実施の形態では、本発明を家庭用ゲーム装置に適用した場合について説明したが、図１に示した家庭用ゲーム装置１０００のみではなく、業務用ゲーム装置や携帯型ゲーム装置、多数のプレーヤが参加する大型アトラクション装置等の種々の装置にも同様に適用できる。
【０１７６】
例えば、図２１は、本発明を業務用ゲーム装置に適用した一例を示す外観図である。同図によれば、業務用ゲーム装置１３００は、ゲーム画面を表示するディスプレイ１３０２と、ゲームの効果音やＢＧＭを出力するスピーカ１３０４と、前後左右方向を入力するジョイスティック１３０６と、プッシュボタン１３０８と、演算処理によって業務用ゲーム装置１３００を統合的に制御して所与のゲームを実行する制御ユニット１３１０とを備える。
【０１７７】
制御ユニット１３１０は、ＣＰＵ等の演算処理装置と、業務用ゲーム装置１３００の制御及びゲームの実行に必要なプログラムやデータが格納されたＲＯＭを搭載する。制御ユニット１３１０に搭載されるＣＰＵは、ＲＯＭに記憶されたプログラムやデータを適宜読み出して演算処理することによって、ゲーム処理等の種々の処理を実行する。プレーヤは、ディスプレイ１３０２に表示されたゲーム画面を見、スピーカ１３０４から出力されるゲーム音声を聞きながら、ジョイスティック１３０６やプッシュボタン１３０８を操作してゲームを楽しむ。
【図面の簡単な説明】
【０１７８】
【図１】本発明を適用した家庭用ゲーム装置の外観例。
【図２】（ａ）ディスプレイに表示されるゲーム画面例、（ｂ）ゲーム空間を示す図。
【図３】遮蔽判定の原理を説明する図（１）。
【図４】遮蔽判定の原理を説明する図（２）。
【図５】第１実施形態における機能構成を示すブロック図。
【図６】第１実施形態における描画オブジェクト決定を説明する図。
【図７】閾値の設定を説明する図。
【図８】位置データのデータ構成例。
【図９】幅値データのデータ構成例。
【図１０】第１実施形態における描画オブジェクト決定処理Ａの流れを示すフローチャート。
【図１１】家庭用ゲーム装置を実現できるハードウェア構成例。
【図１２】第２実施形態における機能構成を示すブロック図。
【図１３】第２実施形態における描画オブジェクト決定を説明する図。
【図１４】第２実施形態における描画オブジェクト決定処理Ｂの流れを示すフローチャート。
【図１５】第３実施形態における機能構成を示すブロック図。
【図１６】第３実施形態における描画オブジェクト決定を説明する図。
【図１７】ＲＧＢ値及びα値それぞれを「１」又は「０」とした場合の特別の色値。
【図１８】遮蔽整数ペアの一例を説明する図。
【図１９】特別色値データのデータ構成例。
【図２０】第３実施形態における描画オブジェクト決定処理Ｃの流れを示すフローチャート。
【図２１】本発明を業務用ゲーム装置に適用した場合の外観例。
【符号の説明】
【０１７９】
１０００  家庭用ゲーム装置
１００  操作入力部
２００  画像表示部
３００  音声出力部
４００  処理部
４１０  ゲーム演算部
４２０  画像生成部
４２２Ａ、４２２Ｂ、４２２Ｃ  描画オブジェクト決定部
４２４  フレーム画像生成部
５００  記憶部
５１０  描画オブジェクト決定プログラムＡ、Ｂ、Ｃ
５２０  オブジェクトデータ
５２２  位置データ
５２４  幅値データ
５２６  特別色値データ
５３０  描画リストデータ
５３２  閾値データ
５４０  判定対象オブジェクトデータ
５５０  遮蔽候補オブジェクトデータ
５５２  遮蔽候補オブジェクト群データ
５６０  判定画像メモリ
５７０  対象画像メモリ
【図１】
2005216235.tif 000003
【図２】
2005216235.tif 000004
【図３】
2005216235.tif 000005
【図４】
2005216235.tif 000006
【図５】
2005216235.tif 000007
【図６】
2005216235.tif 000008
【図７】
2005216235.tif 000009
【図８】
2005216235.tif 000010
【図９】
2005216235.tif 000011
【図１０】
2005216235.tif 000012
【図１１】
2005216235.tif 000013
【図１２】
2005216235.tif 000014
【図１３】
2005216235.tif 000015
【図１４】
2005216235.tif 000016
【図１５】
2005216235.tif 000017
【図１６】
2005216235.tif 000018
【図１７】
2005216235.tif 000019
【図１８】
2005216235.tif 000020
【図１９】
2005216235.tif 000021
【図２０】
2005216235.tif 000022
【図２１】
2005216235.tif 000023