(57)【要約】【課題】  少ない処理負担で多角形のシザリング処理を行い表示抜けを防止可能な画像生成システム及び情報記憶媒体を提供することにある。【解決手段】  本画像生成システムは、所定の領域又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断し、いずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定し、シザリング処理部は、シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略する。【選択図】        図 １０
2005275798.tif 000002
【特許請求の範囲】
【請求項１】
多角形で構成されたオブジェクトの画像を生成するためのプログラムであって、
３次元空間に配置されたオブジェクトをスクリーン座標系に座標変換を行い、オブジェクトを構成するプリミティブの頂点情報の集合である頂点データセットを生成する頂点データセット生成部と、
３次元座標系において前記プリミティブの所定の領域を超えた頂点を含む多角形についてシザリング処理を行い、シザリング処理によって新たに生成された頂点を含む頂点データセットを生成するシザリング処理部と、
頂点データセットに基づきプリミティブ単位で描画処理を行う描画処理部としてコンピュータを機能させ、
前記頂点データセット生成部は、
前記所定の領域又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断し、いずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定し、
前記シザリング処理部は、
前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略することを特徴とするプログラム。
【請求項２】
請求項１において、
前記所定の領域は仮想カメラのビューボリュームに基づき形成された領域であり、前記複数の位置判定用領域はビューボリュームを構成する各面を含む平面を用いてビューボリュームの周囲の空間を分割して設定されていることを特徴とするプログラム。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記描画処理部は、
所定の領域を超えた頂点を含む多角形については描画しないことを特徴とするプログラム。
【請求項４】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至３のいずれかのプログラムが記憶されていることを特徴とする情報記憶媒体。
【請求項５】
多角形で構成されたオブジェクトの画像を生成する画像生成システムであって、
３次元空間に配置されたオブジェクトをスクリーン座標系に座標変換を行い、オブジェクトを構成するプリミティブの頂点情報の集合である頂点データセットを生成する頂点データセット生成部と、
３次元座標系において前記プリミティブの所定の領域を超えた頂点を含む多角形についてシザリング処理を行い、シザリング処理によって新たに生成された頂点を含む頂点データセットを生成するシザリング処理部と、
頂点データセットに基づきプリミティブ単位で描画処理を行う描画処理部と、を含み
前記頂点データセット生成部は、
前記所定の領域又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断し、いずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定し、
前記シザリング処理部は、
前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略することを特徴とする画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。
【０００４】
さて一般に画像生成を行う場合には、３次元空間内に存在するポリゴン座標をスクリーン座標系に透視投影変換した後、フレームバッファに書き込む。このとき画面端付近の至近距離に存在するポリゴンの頂点の場合、Ｚ値が０に近いため透視変換後の値が所定の範囲（描画可能範囲）を超えてしまう。このためフレームバッファに書き込まれず、当該ポリゴンがぬけ落ちた画像が生成されるという不具合が発生していた。特にポリゴンが大きいと表示抜けが目立ってしまうという問題があった。
【０００５】
かかる不具合を解消する手法のひとつとして多角形をより小さな複数の多角形に分割して表示抜けを少なくしたり目立たなくするという手法があった。しかしこの手法によれば、分割後同一位置にあるはずの頂点が、２頂点座標の補完を行う際にずれが生じ隙間が発生するという問題点があった。
【特許文献１】特開平１０−１８８００３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで不具合を解消するために、描画可能範囲を超える頂点を含む領域を切り取り、切り取り後の領域を特定するためのポリゴンの頂点を生成するシザリング処理を行い、シザリング処理後のポリゴンを描画することも行われが、限られたハードウエア資源でリアルタイムに画像生成を行うことが必要なゲーム装置では処理負荷が高くなるという問題点があった。
【０００７】
本発明は、このような従来の課題に鑑みてなされたものであり、少ない処理負担で多角形のシザリング処理を行い表示抜けを防止可能な画像生成システム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００８】
（１）本発明は、多角形で構成されたオブジェクトの画像を生成するためのプログラムであって、
３次元空間に配置されたオブジェクトをスクリーン座標系に座標変換を行い、オブジェクトを構成するプリミティブの頂点情報の集合である頂点データセットを生成する頂点データセット生成部と、
３次元座標系において前記プリミティブの所定の領域を超えた頂点を含む多角形についてシザリング処理を行い、シザリング処理によって新たに生成された頂点を含む頂点データセットを生成するシザリング処理部と、
頂点データセットに基づきプリミティブ単位で描画処理を行う描画処理部としてコンピュータを機能させ、
前記頂点データセット生成部は、
前記所定の領域又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断し、いずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定し、
前記シザリング処理部は、
前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略することを特徴とする。
【０００９】
また本発明は、上記各部を有する画像生成システムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１０】
座標変換とは例えば透視投影変換である。
【００１１】
ここにおいてシザリング処理とは、３次元空間においてビューボリューム外にある頂点を含む多角形を切り取って、のこった多角形を特定するための新たな頂点を生成する処理である。
【００１２】
プリミティブとは、点、独立した線、端点を共有する連続した線分、独立した三角形、辺を共有する連続した三角形、頂点を共有する連続した三角形、対角を表す２頂点で特定される独立した長方形（ストリップ）等の少なくとも１つで構成することができる。
【００１３】
頂点情報とは、描画座標値、頂点色、テクスチャの座標値、フォグ係数等であり、例えば頂点情報設定レジスタ等に設定するようにしてもよい。
【００１４】
本発明によれば前記シザリング処理部は、前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略する。
【００１５】
本発明のシザリング情報は、各頂点毎に当該頂点がどの位置判定用領域に属しているかについての情報を有しているので、最小単位多角形を構成する各頂点のシザリング情報に基づき、最小単位の多角形（例えば３角形）単位でシザリングの必要性の有無を判断可能である。
【００１６】
従って本発明によれば最小単位多角形単位でシザリングの必要性を判断して、シザリングが必要ない最小単位多角形場合については、シザリング処理をスキップして描画することが可能であるあるため、少ない処理負担で効率的なシザリング処理を行うことができる。
【００１７】
（２）本発明のプログラム、情報記憶媒体、画像生成システムは、
前記所定の領域は仮想カメラのビューボリュームに基づき形成された領域であり、前記複数の位置判定用領域はビューボリュームを構成する各面を含む平面を用いてビューボリュームの周囲の空間を分割して設定されていることを特徴とする。
【００１８】
（３）本発明のプログラム、情報記憶媒体、画像生成システムは、
前記描画処理部は、
所定の領域を超えた頂点を含む多角形については描画しないことを特徴とする。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００２０】
１．構成
図１に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０、或いは処理部１００と記憶部１７０と情報記憶媒体１８０を含めばよく）、それ以外のブロック（例えば操作部１６０、表示部１９０、音出力部１９２、携帯型情報記憶装置１９４、通信部１９６）については、任意の構成要素とすることができる。
【００２１】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００２２】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００２３】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２４】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはプログラム及びデータ）が格納される。
【００２５】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００２６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００２７】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００２８】
携帯型情報記憶装置１９４は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００２９】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３０】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３１】
処理部１００は、ゲーム処理部１１０、画像処理部１４０、音処理部１５０を含む。
【００３２】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点位置や視線角度（視線方向）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部１６０からの操作データや、携帯型情報記憶装置１９４からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【００３３】
画像生成部１４０は、ゲーム処理部１１０からの指示等にしたがって、各種の画像処理を行うものである。また、音生成部１５０は、ゲーム処理部１１０からの指示等にしたがって、各種の音処理を行うものである。
【００３４】
なお画像生成部１４０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００３５】
ゲーム処理部１１０は、移動・動作演算部１１４を含む。
【００３６】
移動・動作演算部１１４は、キャラクタ、ボールなどのオブジェクトの移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００３７】
より具体的には、移動・動作演算部１１４は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでのオブジェクトの位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでのオブジェクトの位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
【００３８】
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
画像生成部１４０は、ジオメトリ処理部（３次元座標演算部）１４２、シザリング処理部１４４、描画部（レンダリング部）１４６を含む。
【００３９】
ここで、ジオメトリ処理部１４２は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元座標演算）を行う。そして、本実施形態では、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点データ（頂点位置、頂点テクスチャ座標、輝度データ）や法線ベクトル等）は、記憶部１７０のメインメモリ１７２に格納されて保存される。
【００４０】
ジオメトリ処理部１４２は、３次元空間に配置されたオブジェクトをスクリーン座標系に座標変換を行い、オブジェクトを構成するプリミティブの頂点情報の集合である頂点データセットを生成する頂点データセット生成部として機能し、前記プリミティブの各頂点が前記所定の領域又はその周囲の空間を分割して設定された複数の位置判定用領域のいずれに属するかについて判断し、判断結果に基づきいずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定する。
【００４１】
シザリング処理部１４４は、３次元座標系において前記プリミティブの所定の領域を超えた頂点を含む多角形についてシザリング処理を行い、シザリング処理によって新たに生成された頂点を含む頂点データセットを生成する。
【００４２】
またシザリング処理部１１４は、前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略する。
【００４３】
描画部１４６は、ジオメトリ処理後（透視変換後）の頂点データセット（プリミティブ）の頂点情報を受け取り、テクスチャマッピングやデプスキューイング処理やピクセルテストやアンチエリアシングやαブレンディング処理等をおこない、頂点データセット単位でオブジェクトをフレームバッファ１７４に描画する処理を行う。
【００４４】
なお前記描画処理部は、所定の領域を超えた頂点を含む多角形については描画しない。
【００４５】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００４６】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００４７】
２．本実施の形態の特徴と動作
次に本実施の形態の特徴と動作について説明する。なお以下ではオブジェクトを構成する多角形がポリゴンである場合を例にとり説明する。
【００４８】
図２は、ゲームの表示画面において、表示抜けが発生している例を示したものである。視点位置から至近距離にある道路の一部２１０で表示抜けが発生している。
【００４９】
かかる表示抜けは視点に近いポリゴンのように透視変換後の値が所定の範囲を超えフレームバッファに書き込まれないために発生するものである。
【００５０】
したがって各種ゲームにおける道路や地面等のように至近距離にあるオブジェクトの画像が生成される場合に表示抜けがおきやすい。しかも道路や地面等は１枚１枚のポリゴンが大きいため表示抜けが目立ちやすい。
【００５１】
図３（Ａ）（Ｂ）（Ｃ）は、本実施の形態のプリミティブの一例について説明するための図である。
【００５２】
本実施の形態のプリミティブはプロセッサの処理単位となるもので、例えば図３（Ａ）は、独立した３角形で構成される三角形であり、３個の頂点情報（頂点データセット）で描画される。
【００５３】
また例えば図３（Ｂ）は、頂点を共有する三角形（トライアングルファン）であり、最初の三角形は３点情報で、それ以降は１個の頂点情報を追加する毎に描画される。
【００５４】
また例えば図３（Ｃ）は、辺を共有する連続した三角形（トライアングルストリップ）であり、最初の三角形は３点情報で、それ以降は１個の頂点情報を追加する毎に描画される。
【００５５】
なおその他、独立した１点（１頂点情報）や独立した線分（２頂点情報）や端点を共有する連続した線分（ラインストリップ）や独立した長方形で対角を表す２頂点情報で描画を行うスプライト等をプリミティブとして扱うこともできる。
【００５６】
図４は、本実施の形態の頂点データセットについて、説明するための図である。
【００５７】
３１０は、本実施の形態のプリミティブを構成する頂点である。
【００５８】
３２０は、各頂点に関連付けて記憶されている頂点情報である。頂点情報３２０は例えば描画座標値、頂点色、テクスチャの座標値、フォグ係数等であり、例えば頂点情報設定レジスタ等に設定するようにしてもよい。
【００５９】
頂点情報には具体的には、頂点にマッピングするテクスチャ座標ＳＴ（３２１，３２２）、テクスチャ座標のＱ値（３２３）、シザリングビット（３２４）、色情報ＲＧＢＡ（３２５，３２６，３２７、３２８）、座標値ＸＹＺ（３２９，３３０，３３１）、描画許可フラグ（３３２）等を含む。
【００６０】
シザリングビット（３２４）は、プリミティブの各頂点が前記所定の領域又はその周囲の空間を分割して設定された複数の位置判定用領域のいずれに属するかについて判断し、判断結果に基づきいずれの位置判定用領域に属するかについて特定するためのシザリング情報であり、例えば図８に示すような形式のデータである。
【００６１】
また描画許可フラグ３３２は、頂点が所定の条件を満たしている場合に描画を許可する旨を表す第１の状態（例えばＯＮ）になり、頂点が所定の描画許可条件を満たしていない場合に描画を許可しない旨を表す第１の状態（例えばＯＦＦ）になる。
【００６２】
なお頂点情報の内容はプリミティブの種類によっても異なるので、プリミティブの種類によって使用しない領域も発生する。
【００６３】
図５は本実施の形態でシザリング処理に用いる平面について説明するための図である。本実施の形態では、ビューボリューム２２０を構成する６面２３０，２３２，２３４，２３６、２３８、２４０を用いてシザリング処理を行うよう構成されている。
【００６４】
ビューボリュームを構成する６面２３０，２３２，２３４，２３６、２３８、２４０で切ることにより、表示部分以外をすべてかつ表示画面に切り口が見えないように効率よく切り落とすことができる。
【００６５】
そして切り落とした部分に新たな頂点を生成し、新たな頂点を含むポリゴンを透視変換して描画処理を行っている。
【００６６】
本実施の形態ではビューボリューム又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断する。
【００６７】
図６は図５のビューボリュームをＡ方向（Ｙ軸方向）から見た図である。
【００６８】
２５０は図５の２３８を含む平面であり、２５２は図５の２３４を含む平面であり、２５４は図５の２４０を含む平面であり、２５６は図５の２３０を含む平面である。このように、ビューボリュームを構成する各面を含む平面２５０，２５２，２５４，２５６を用いてビューボリュームの周囲の空間を分割して、複数の位置判定用領域を設定する。
【００６９】
図７は図５のビューボリュームをＢ方向（Ｘ軸方向）から見た図である。
【００７０】
２７０は図５の２３０を含む平面であり、２７２は図５の２４０を含む平面であり、２７４は図５の２３６を含む平面であり、２７６は図５の２３2を含む平面である。このように、ビューボリュームを構成する各面を含む平面２７０、２７２、２７４、２７６を用いてビューボリュームの周囲の空間を分割して、複数の位置判定用領域を設定する。
【００７１】
このようにしてビューボリュームの周囲の空間を分割すると、位置判定用領域は、ビューボリュームを含めて９×３＝２７種類設定できる。
【００７２】
図８はシザリングビット（シザリング情報）の構成について説明するための図である。シザリングビットはビット０〜ビット５の６ビットで構成されており、各ビットは頂点がビューボリュームを構成する各面のどちら側に位置するかについての情報を有している。
【００７３】
ビット０は、頂点が図５の面２３４の右に位置するか否かを示す情報であり、ビット１は、頂点が図５の面２３８の左に位置するか否かを示す情報であり、ビット２は、頂点が図５の面２３２の下に位置するか否かを示す情報であり、ビット３は、頂点が図５の面２３６の上に位置するか否かを示す情報であり、ビット４は、頂点が図５の面２４０の奥に位置するか否かを示す情報であり、ビット５は、頂点が図５の面２３０の手前に位置するか否かを示す情報である。
【００７４】
図９は本実施の形態の処理の流れを示すフローチャート図である。
【００７５】
まず頂点の透視投影変換を行う（ステップＳ１０）。
【００７６】
次に光源計算を行う（ステップＳ２０）。
【００７７】
次に図５に示すようなビューボリュームとのクリッピング判定を行い、図８に示すようなシザリングビットを保持する（ステップＳ３０）。
【００７８】
次にプリミティブを構成する過去２つの頂点のシザリングビットとの論理和演算したものをjとする（ステップＳ４０）。
【００７９】
そしてｊ = ０ならそのポリゴンを描画登録する（ステップＳ５０）。
【００８０】
そして全ての頂点について処理が完了したか否かを判断し（ステップＳ６０）、完了していない場合にはステップＳ１０に戻る。一方、全ての頂点について処理が完了したらシザリング処理を行う（ステップＳ７０）。
【００８１】
図１０は、本実施の形態のシザリング処理の流れについて説明するためのフローチャート図である。
【００８２】
まず３つ頂点のシザリングビットを変数Ａ、Ｂ，Ｃにセットする（ステップＳ１１０）。具体的にはＡ=第1頂点のシザリングビット、Ｂ=第2頂点のシザリングビット、Ｃ=第3頂点のシザリングビットとする。ストリップ三角形の場合は最初の３点以降はA ← B、B ← C、C ← 次の頂点のシザリングビット、のようにスライドして処理する。
【００８３】
次にD = Ａor Ｂ or Ｃ（orは論理和演算）を求める（ステップＳ１２０）。
【００８４】
そしてD = 0 ならば、３頂点は共にビューボリューム内にあると判断できるので、既に描画登録済みであるため以降のシザリング処理を省略する（ステップＳ１３０）。
【００８５】
次にE = Ａ and Ｂ and Ｃ（andは論理積演算）を求める（ステップＳ１４０）。
【００８６】
そしてE が０に等しくないならば、３頂点は共にビューボリュームの６側面のどこかの空間に属していると判断できるので、以降のシザリング処理を省略する（ステップＳ１５０）。
【００８７】
そして３次元座標系でカメラビューボリュームと３頂点の平面ポリゴンとのシザリング処理を行う（ステップＳ１６０）。
【００８８】
その後、頂点の透視変換を行う（ステップＳ１７０）。
【００８９】
そしてシザリング処理の工程（ステップＳ１６０の工程）で新たに生成された頂点を持つ多角形の描画登録を行う（ステップＳ１８０）。
【００９０】
そして全ての頂点の処理が完了するまでステップＳ１１０〜Ｓ１９０の処理を繰り返す（ステップＳ１９０）。
【００９１】
このように本実施の形態によれば、ポリゴンを構成する頂点がすべて描画可能領域内に有る場合にはステップＳ９０〜Ｓ１１０の処理を省略することができるため、少ない処理負担で効率的なプリミティブ処理を行うことができる。
【００９２】
３．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１１を用いて説明する。
【００９３】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００９４】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００９５】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００９６】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【００９７】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【００９８】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【００９９】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１００】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１０１】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１０２】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１０３】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１０４】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルインターフェースのバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルインターフェースのバスを利用することで、他の画像生成システム、他のゲームシステム、家電（ビデオデッキ、ビデオカメラ）、或いは情報処理機器（パーソナルコンピュータ、プリンタ、マウス、キーボード）などとの間でのデータ転送が可能になる。
【０１０５】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１０６】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラム（プログラム及びデータ）が格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１０７】
図１２（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するためのプログラム（或いはプログラム及びデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１０８】
図１２（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１０９】
図１２（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１８０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１１０】
なお、図１２（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１１１】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１１２】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１１３】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１１４】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１１５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１１６】
【図１】本実施形態のブロック図の一例を示す。
【図２】図２は、ゲームの表示画面において、表示抜けが発生している例を示したものである。
【図３】図３（Ａ）（Ｂ）（Ｃ）は、本実施の形態のプリミティブの一例について説明するための図である。
【図４】本実施の形態の頂点データセットについて、説明するための図である。
【図５】本実施の形態でシザリング処理に用いる平面について説明するための図である。本実施の形態では、ビューボリューム２２０を構成する６面２３０，２
【図６】図５のビューボリュームをＡ方向（Ｙ軸方向）から見た図である。
【図７】図５のビューボリュームをＢ方向（Ｘ軸方向）から見た図である。
【図８】シザリングビット（シザリング情報）の構成について説明するための図である。
【図９】本実施の形態の処理のながれを示すフローチャート図である。
【図１０】本実施の形態のシザリング処理の流れについて説明するためのフローチャート図である。
【図１１】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１２】図１２（Ａ）（Ｂ）（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
【０１１７】
１００  処理部
１１０  ゲーム処理部
１１４  移動・動作演算部
１４０  画像生成部
１４２  ジオメトリ処理部
１４４  シザリング処理部
１４６  描画部
１５０  音生成部
１６０  操作部
１７０  記憶部
１７２  メインメモリ
１７４  フレームバッファ
１７６  テクスチャ記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
３００  頂点データセット
３２０  頂点情報
３２４  シザリングビット
３３２  描画フラグ
４００  プリミティブ
【図１】
2005275798.tif 000003
【図２】
2005275798.tif 000004
【図３】
2005275798.tif 000005
【図４】
2005275798.tif 000006
【図５】
2005275798.tif 000007
【図６】
2005275798.tif 000008
【図７】
2005275798.tif 000009
【図８】
2005275798.tif 000010
【図９】
2005275798.tif 000011
【図１０】
2005275798.tif 000012
【図１１】
2005275798.tif 000013
【図１２】
2005275798.tif 000014