(57)【要約】【課題】メインバスの負荷を軽減する。【解決手段】メインＣＰＵ４４は、操作装置におけるユーザによる操作に対応して、ポリゴンを座標変換した後、そのポリゴンのデータを、メインバス４１を介してＰＰＰ（Programmable Packet Engine）４８に送信する。ＰＰＰ４８は、メインＣＰＵ４４より供給されたポリゴンの頂点の座標値から、ポリゴンの奥行き方向の位置を示すＺ値を計算し、ポリゴンを、Ｚ値に対応した数のサブポリゴンに分割し、そのサブポリゴンの頂点を座標値を、法線ベクトルおよび曲面パラメータに対応して変換し、サブポリゴンで構成される曲面を生成する。ＧＰＵ４９は、ＰＰＰ４８が生成したサブポリゴンの画素データをフレームバッファ５８に書き込み、レンダリング処理を行う。【選択図】図５
2006277772.tif 000002
【特許請求の範囲】
【請求項１】
３次元空間において立体オブジェクトを構成する複数の平面図形の少なくとも一つを、所定の表示部における当該平面図形の表示サイズに応じた数のサブ平面図形に分割する情報処理装置であって、
前記少なくとも一つの平面図形に対する分割数を、当該平面図形の奥行き方向の位置（Ｚ値）に応じて設定する分割数設定手段と、
前記少なくとも一つの平面図形を、前記分割数設定手段が設定した分割数のサブ平面図形に分割する分割手段と、を備えた
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記分割数設定手段は、前記平面図形の奥行き方向の位置（Ｚ値）が小さいほど前記分割数を大きく設定すること
を特徴とする情報処理装置。
【請求項３】
３次元空間において立体オブジェクトを構成する複数の平面図形の少なくとも一つを、所定の表示部における当該平面図形の表示サイズに応じた数のサブ平面図形に分割する情報処理装置であって、
前記少なくとも一つの平面図形を予め定められた数のサブ平面図形に分割する分割手段と、
前記サブ平面図形の面積が予め定められた基準値より小さくなるまで、前記分割手段による前記分割を再帰的に実行させる分割制御手段と、を備えた
ことを特徴とする情報処理装置。
【請求項４】
請求項１〜請求項３の何れかに記載の情報処理装置であって、
前記平面図形の頂点を座標変換する座標変換手段を備えた
ことを特徴とする情報処理装置。
【請求項５】
請求項１〜請求項４の何れかに記載の情報処理装置であって、
前記３次元空間における前記サブ平面図形のデータを２次元の表示用データに変換する変換手段を備えた
ことを特徴とする情報処理装置。
【請求項６】
請求項１〜請求項５の何れかに記載の情報処理装置であって、
前記平面図形の輝度値から前記サブ平面図形の輝度値を演算する演算手段と、
前記サブ平面図形の輝度値から２次元の表示用データを生成する生成手段とを備えた
ことを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記演算手段は、前記サブ平面図形の各頂点の輝度値から前記サブ平面図形の輝度値を演算し、これにより前記立体オブジェクトの表面の輝度値の変化の粗密が表示サイズに応じて調節される
ことを特徴とする情報処理装置。
【請求項８】
請求項１〜請求項７の何れかに記載の情報処理装置であって、
前記立体オブジェクトを構成する曲面を定義する情報と前記立体オブジェクトを構成する平面図形を定義する情報との入力を受け付ける受付手段と、
前記曲面を定義する情報と前記平面図形を定義する情報とをパケット化して３次元画像情報を生成する情報生成手段と、
前記情報性正手段が生成した前記３次元画像情報を出力する情報出力手段と、
前記情報出力手段から出力された前記３次元画像情報を受信する情報受信手段と、を備え、
前記分割手段は、前記情報受信手段が受信した前記３次元画像情報に基づき、前記３次元画像情報が規定する基準曲面上に新たな点を設定し、この新たな点と前記平面図形の頂点とを結ぶ線分により前記サブ平面図形を生成することによって、前記平面図形を分割する
ことを特徴とする情報処理装置。
【請求項９】
３次元空間において立体オブジェクトを構成する複数の平面図形の少なくとも一つを、所定の表示部における当該平面図形の表示サイズに応じた数のサブ平面図形に分割する情報処理装置で実行される情報処理方法であって、
前記情報処理装置の分割数設定手段が、前記少なくとも一つの平面図形に対する分割数を、当該平面図形の奥行き方向の位置（Ｚ値）に応じて設定する分割数設定ステップと、
前記情報処理装置の分割手段が、前記少なくとも一つの平面図形を、前記分割数設定手段が設定した分割数のサブ平面図形に分割する分割ステップと、を備えた
ことを特徴とする情報処理方法。
【請求項１０】
３次元空間において立体オブジェクトを構成する複数の平面図形の少なくとも一つを、所定の表示部における当該平面図形の表示サイズに応じた数のサブ平面図形に分割する情報処理装置で実行される情報処理方法であって、
前記情報処理装置の分割手段が、前記少なくとも一つの平面図形を予め定められた数のサブ平面図形に分割する単位分割ステップと、
前記情報処理装置の分割制御手段が、前記少なくとも一つのサブ平面図形の面積が予め定められた基準値より小さくなるまで、前記単位分割ステップを前記分割手段に再帰的に実行させる再帰ステップと、を備えた
ことを特徴とする情報処理方法。
【請求項１１】
３次元空間において立体オブジェクトを構成する複数の平面図形の少なくとも一つを、所定の表示部における当該平面図形の表示サイズに応じた数のサブ平面図形に分割する処理を、コンピュータに実行させるための情報処理プログラムであって、
前記分割する処理は、
前記少なくとも一つの平面図形に対する分割数を、当該平面図形の奥行き方向の位置（Ｚ値）に応じて設定する分割数設定ステップと、
前記少なくとも一つの平面図形を、前記分割数設定ステップで設定された分割数のサブ平面図形に分割する分割ステップと、を含むことを特徴とする情報処理プログラム。
【請求項１２】
３次元空間において立体オブジェクトを構成する複数の平面図形の少なくとも一つを、所定の表示部における当該平面図形の表示サイズに応じた数のサブ平面図形に分割する処理を、コンピュータに実行させるための情報処理プログラムであって、
前記分割する処理は、
前記少なくとも一つの平面図形を予め定められた数のサブ平面図形に分割する単位分割ステップと、
前記サブ平面図形の面積が予め定められた基準値より小さくなるまで、前記単位分割ステップを再帰的に実行させる再帰ステップと、を含むことを特徴とする情報処理プログラム。
【請求項１３】
請求項１１又は請求項１２に記載の情報処理プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項１４】
３次元空間において３次元オブジェクトを構成する曲面を定義する情報と前記３次元オブジェクトを構成するポリゴンを定義する情報とがパケット化された３次元画像情報を受信する情報受信部と、
前記情報受信部が受信した３次元情報から前記曲面を定義する情報と前記ポリゴンを定義する情報とを読み出す情報読み出し部と、
前記情報読み出し部が読み出した前記曲面を定義する情報と前記ポリゴンを定義する情報とに基づき、前記３次元空間において前記３次元オブジェクトを構成する前記複数のポリゴンのうち少なくとも一つを、所定の表示部における当該ポリゴンの表示サイズに応じた数のサブポリゴンに分割する分割手段と、
前記サブポリゴンを定義する情報を生成する情報生成手段と、を備え
前記分割手段は、前記読み出し手段が読み出した前記曲面を定義する情報が規定する基準曲面上に新たな点を設定し、この新たな点と前記ポリゴンの頂点とを結ぶ線分により前記サブポリゴンを生成することによって、前記ポリゴンを分割する
ことを特徴とする情報処理装置。
【請求項１５】
３次元空間において３次元オブジェクトを構成する複数のポリゴンのうち少なくとも一つを、所定の表示部における当該ポリゴンの表示サイズに応じた数のサブポリゴンに分割する際に、３次元画像情報が規定する基準曲面上に新たな点を設定し、この新たな点と前記ポリゴンの頂点とを結ぶ線分によって前記サブポリゴンを生成する情報処理装置に対して前記３次元画像情報を提供する情報提供装置であって、
前記３次元オブジェクトを構成する曲面を定義する情報と前記３次元オブジェクトを構成するポリゴンを定義する情報との入力を受け付ける受付手段と、
前記曲面を定義する情報と前記ポリゴンを定義する情報とをパケット化して前記３次元画像情報を生成する情報生成手段と、
前記情報生成手段が生成した前記３次元画像情報を出力する情報出力手段と、を備える
ことを特徴とする情報提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体、記録装置および方法、並びに、情報処理装置および方法に関し、特に、３次元空間における所定のオブジェクトのデータとして、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を保持する記録媒体、３次元空間における所定のオブジェクトから、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を、所定のオブジェクトのデータとして記録する記録装置および方法、並びに、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出し、その平面図形を、所定の表示部における表示サイズに応じて分割し、表示データを生成する情報処理装置および方法。
【背景技術】
【０００２】
最近、描画処理を高速に行い、ゲームなどを楽しむことができる家庭用ＴＶゲーム機やパーソナルコンピュータが安価となり、各家庭に普及している。
【０００３】
一方、コンピュータグラフィックス（ＣＧ）を作成する場合や、ＣＧを使用したソフトウェアを開発する場合においては、描画処理をさらに高速に行うグラフィックコンピュータが使用されている。
【０００４】
このような家庭用ＴＶゲーム機、パーソナルコンピュータ、グラフィックコンピュータは、メモリ、ＣＰＵ、他の演算回路などで構成される描画装置を有している。この描画装置は、ＣＰＵで、テレビジョン受像機や専用ディスプレイなどの表示部に表示する画像データ（表示用データ）を生成し、専用の描画回路で、このデータを、表示部の各画素の値を保持するフレームバッファに出力することにより、高速な描画処理を行う。
【０００５】
描画装置のＣＰＵは、座標変換、クリッピング、光源計算などのジオメトリ処理を行い、３角形、４角形などの形状を有する基本平面図形（ポリゴン）の組み合わせた３次元の立体オブジェクトの画像を描画するための描画命令を生成し、その描画命令を描画回路に供給する。
【０００６】
描画回路は、ＣＰＵから供給された描画命令に従って、ポリゴンの頂点の色データと、所定の表示部に２次元で表示されるポリゴンの３次元空間における奥行き方向の位置を示すＺ値から、ポリゴンを構成する画素の値を算出し、その値をフレームバッファに書き込み（レンダリング処理）、ポリゴンを描画する。
【０００７】
このような描画回路は、ＣＰＵと専用のバスで直結されており、他の回路（例えば、データを保持している記録装置やメモリなど）と共有しているバスに負荷（バスを介して送受信されるデータ）が集中することを防いでいる。なお、他の回路と共有しているバスを利用して、例えば、１５ＭＰｏｌｙｇｏｎ／ｓｅｃ（１秒間に１５×１０6個のポリゴンのレンダリング処理を行う）程度の速度で描画処理を行う場合、他の回路と共有しているバスを往来するデータ量は、１００ＭＢ／ｓｅｃ乃至２００ＭＢ／ｓｅｃ（毎秒１００乃至２００メガバイト）に達するので、大容量のバスが必要となってしまう。
【０００８】
ＣＰＵから出力されたデータは、ＣＰＵと描画回路の間に設けられているＦＩＦＯバッファに一旦記憶され、記録された順番で、描画回路に供給される。ＦＩＦＯバッファは、ＣＰＵによるデータの供給速度が一時的に、描画回路の処理速度より速くなったとき、データを順次記憶していき、ＣＰＵによるデータの供給速度が、描画回路の処理速度より遅くなったとき、記憶しているデータを描画回路に順次供給する。このように、ＦＩＦＯバッファは、ＣＰＵのデータ供給速度と描画回路の処理速度の不均衡を吸収するために設けられている。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ＣＰＵおよび描画回路の負荷状況に起因して、ＣＰＵのデータ供給速度が、描画回路の処理速度を大幅に上回る場合、あるいは、ＣＰＵのデータ供給速度が描画回路の処理速度より速い状態が長時間継続する場合、未処理データが、ＦＩＦＯバッファに蓄積されていき、未処理データの量が、ＦＩＦＯバッファの容量を超過したとき、データの整合が取れなくなるため、ＣＰＵおよび描画回路は一旦停止するので、効率的に処理を行うことが困難であるという問題を有している。
【００１０】
また、高速で描画処理を行う場合、描画処理するデータ量の増加に応じて、さらに多くのメモリの容量や記録媒体の容量が必要となり、コストダウンが困難であるという問題を有している。
【００１１】
さらに、処理するデータ量の増加すると、記録媒体やメモリからのデータの読み出し時間が長くなり、処理速度を速くすることが困難であるという問題を有している。
【００１２】
本発明は、このような状況に鑑みてなされたもので、記録媒体において、３次元空間における所定のオブジェクトのデータとして、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を保持することにより、取り扱うデータ量を低減させるとともに、立体オブジェクトを構成する平面図形を、所定の表示部における表示サイズに応じて分割することにより、取り扱うデータ量を低減させることができるものである。
【課題を解決するための手段】
【００１３】
本発明の第１の態様に係る記録媒体は、３次元空間における所定のオブジェクトのデータとして、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を保持することを特徴とする。
【００１４】
本発明の第２の態様に係る記録装置は、３次元空間におけるオブジェクトから、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を算出する算出手段と、算出した認識番号と差分値を、所定のオブジェクトのデータとして記録する記録手段とを備えることを特徴とする。
【００１５】
本発明の第３の態様に係る記録方法は、３次元空間における所定のオブジェクトから、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を算出するステップと、算出した認識番号と差分値を、所定のオブジェクトのデータとして記録するステップとを備えることを特徴とする。
【００１６】
本発明の第４の態様に係る情報処理装置は、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出す読出手段と、平面図形を、所定の表示部における表示サイズに対応する数の平面図形で構成される曲面に変換する第１の変換手段と、第１の変換手段により変換された曲面のデータを、２次元の表示用データに変換する第２の変換手段とを備えることを特徴とする。
【００１７】
本発明の第６の態様に係る情報処理方法は、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出すステップと、平面図形を、所定の表示部における表示サイズに対応する数の平面図形で構成される曲面に変換するステップと、変換された曲面のデータを、２次元の表示用データに変換するステップとを備えることを特徴とする。
【００１８】
本発明の第７の態様に係る情報処理装置は、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出す読出手段と、平面図形を、所定の表示部における表示サイズに応じて分割する分割手段と、元の平面図形の輝度値より、分割された平面図形の輝度値を演算する演算手段と、分割された平面図形の輝度値より、２次元の表示用データを生成する生成手段とを備えることを特徴とする。
【００１９】
本発明の第８の態様に係る情報処理方法は、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出すステップと、平面図形を、所定の表示部における表示サイズに応じて分割するステップと、元の平面図形の輝度値より、分割された平面図形の輝度値を演算するステップと、分割された平面図形の輝度値より、２次元の表示用データを生成するステップとを備えることを特徴とする。
【００２０】
第１の態様の記録媒体においては、３次元空間における所定のオブジェクトのデータとして、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値が保持されている。
【００２１】
第２の態様の記録装置においては、算出手段は、３次元空間におけるオブジェクトから、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を算出し、記録手段は、算出した認識番号と差分値を、所定のオブジェクトのデータとして記録する。
【００２２】
第３の態様の記録方法においては、３次元空間における所定のオブジェクトから、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を算出し、算出した認識番号と差分値を、所定のオブジェクトのデータとして記録する。
【００２３】
第４の態様の情報処理装置においては、読出手段は、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出し、第１の変換手段は、平面図形を、所定の表示部における表示サイズに対応する数の平面図形で構成される曲面に変換し、第２の変換手段は、第１の変換手段により変換された曲面のデータを、２次元の表示用データに変換する。
【００２４】
第５の態様の情報処理方法においては、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出し、平面図形を、所定の表示部における表示サイズに対応する数の平面図形で構成される曲面に変換し、変換された曲面のデータを、２次元の表示用データに変換する。
【００２５】
第７の態様の情報処理装置においては、読出手段は、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出し、分割手段は、平面図形を、所定の表示部における表示サイズに応じて分割し、演算手段は、元の平面図形の輝度値より、分割された平面図形の輝度値を演算し、生成手段は、分割された平面図形の輝度値より、２次元の表示用データを生成する。
【００２６】
第８の態様の情報処理方法においては、３次元空間において複数の平面図形で構成される立体オブジェクトのデータを記録する記録媒体よりデータを読み出し、平面図形を、所定の表示部における表示サイズに応じて分割し、元の平面図形の輝度値より、分割された平面図形の輝度値を演算し、分割された平面図形の輝度値より、２次元の表示用データを生成する。
【発明の効果】
【００２７】
以上のごとく、第１の態様の記録媒体によれば、３次元空間における所定のオブジェクトのデータとして、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を保持するので、オブジェクト当たりのデータ量が少なくて済み、より多くのオブジェクトのデータを保持することができる。
【００２８】
第２の態様の記録装置および第３の態様の記録方法によれば、３次元空間における所定のオブジェクトから、基準となる基本オブジェクトの認識番号と、基本オブジェクトの頂点の座標値と所定のオブジェクトの頂点の座標値との差分値を算出し、算出した認識番号と差分値を、所定のオブジェクトのデータとして記録するので、より多くのオブジェクトのデータを保持する記録媒体を作成することができる。
【００２９】
第４の態様の情報処理装置および第６の態様の情報処理方法によれば、平面図形を、所定の表示部における表示サイズに対応する数の平面図形で構成される曲面に変換するので、取り扱うデータ量を低減することができ、バスの負荷を軽減することができる。
【００３０】
第７の態様の情報処理装置および第８の態様の情報処理方法によれば、平面図形を、所定の表示部における表示サイズに応じて分割し、元の平面図形の輝度値より、分割された平面図形の輝度値を演算するので、取り扱うデータ量を低減することができ、バスの負荷を軽減することができる。
【発明を実施するための最良の形態】
【００３１】
図１乃至図３は、本発明の情報処理装置を応用した家庭用ＴＶゲーム機の一例を示している。この家庭用ゲーム機１は、ゲーム機本体２と、このゲーム機本体２に接続可能な操作装置１７および記録装置３８で構成されている。
【００３２】
ゲーム機本体２は、図１乃至図３に示すように、略四角形状に形成され、その中央の位置に、図４に示すような光ディスクの１種であるＣＤ−ＲＯＭ４０（ゲーム用媒体に相当するディスク）を装着するディスク装着部３と、ゲーム機本体の適宜位置にゲームを任意にリセットするリセットスイッチ４と、電源のオン／オフをする電源スイッチ５と、ディスクの装着を操作するディスク操作スイッチ６と、所謂ゲームにおける操作を行う操作装置１７および所謂ゲームの設定などを記録しておく記録装置３８を接続する接続部７Ａ，７Ｂを有している。
【００３３】
接続部７Ａ，７Ｂは、図２および図３に示すように、２段に形成されている。接続部７Ａ，７Ｂの上段部には、記録装置３８を接続する記録挿入部８が設けられ、下段部には、操作装置１７を接続する接続端子挿入部１２が設けられている。
【００３４】
記録挿入部８は、横方向に長い長方形状の挿入孔と、その内部に記録装置３８が接続されるメモリ用接続端子部（図示せず）を有している。また、図２に示すように、記録挿入部８には、記録装置３８が接続されていないときに、メモリ用接続端子部を埃などから保護するシャッタ９が設けられている。なお、記録装置３８は、電気的に書換可能なＲＯＭを有しており、所謂ゲームに関連するデータを記録するようになされている。
【００３５】
記録装置３８を装着する場合、ユーザは、記録装置３８の先端でシャッタ９を内側方向に押し、さらに、記録装置３８を挿入孔に押し込み、メモリ用接続端子部に接続させる。
【００３６】
接続端子挿入部１２は、図２に示すように、横方向に長い長方形形状の挿入孔と、操作装置１７の接続端子部２６を接続する接続端子１２Ａを有している。
【００３７】
操作装置１７は、図１に示すように、両手の掌で挟持して５本の指が自由自在に動いて操作できる構造をしており、左右対称に配置された操作部１８，１９と、操作部１８，１９の中間部に設けたセレクトスイッチ２２およびスタートスイッチ２３と、操作部１８，１９の前面側に配置された操作部２４，２５と、ゲーム機本体２に接続するための接続端子部２６およびケーブル２７を有している。
【００３８】
図５は、上述のゲーム機本体２の内部の電気的構成の一例を示している。
【００３９】
ゲーム機本体２は、メインバス４１とサブバス４２の２本のバスを有している。これらのバスは、バスコントローラ４３を介して接続されている。
【００４０】
メインバス４１には、マイクロプロセッサなどで構成されるメインＣＰＵ４４（読出手段、座標変換手段）と、ＲＡＭで構成されるメインメモリ４５、メインダイナミックメモリアクセスコントローラ（メインＤＭＡＣ（Dynamic Memory Access Controller））４６、ＭＰＥＧデコーダ（ＭＤＥＣ）４７、プログラマブルパケットエンジン（ＰＰＰ）４８（第１の変換手段、分割手段、演算手段）、および、画像処理装置（ＧＰＵ（Graphical Processing Unit））４９（第２の変換手段、生成手段）が接続されている。
【００４１】
一方、サブバス４２には、マイクロプロセッサなどで構成されるサブＣＰＵ５０、ＲＡＭで構成されるサブメモリ５１、サブＤＭＡＣ５２、オペレーティングシステムなどのプログラムが記憶されているＲＯＭ５３、音声処理装置（ＳＰＵ（Sound Processing Unit））５４、通信制御部（ＡＴＭ）５５、ディスク装着部３を兼ねるＣＤ−ＲＯＭドライブ５６、入力部５７、および、ＧＰＵ４９が接続されている。
【００４２】
バスコントローラ４３は、メインバス４１とサブバス４２を接続し、メインバス４１からのデータをサブバス４２に出力するとともに、サブバス４２からのデータをメインバス４１に出力するようになされている。
【００４３】
メインＣＰＵ４４は、ゲーム機本体２の起動時に、サブバス４２に接続されているＲＯＭ５３から、バスコントローラ４３を介して起動プログラムを読み込み、その起動プログラムを実行し、オペレーティングシステムを動作させるようになされている。
【００４４】
メインＣＰＵ４４は、ＣＤ−ＲＯＭドライブ５６を制御し、ＣＤ−ＲＯＭドライブ５６にセットされたＣＤ−ＲＯＭ４０からアプリケーションプログラムやデータを読み出し、メインメモリ４５に記憶させるようになされている。
【００４５】
メインＣＰＵ４４は、ＣＤ−ＲＯＭ４０から読み出した、複数の基本図形（ポリゴン）で構成された３次元オブジェクトのデータ（ポリゴンの頂点（代表点）の座標値など）に対して、座標変換などのジオメトリ演算を行うジオメトリ演算エンジン（ＧＴＥ（Graphic Transfer Engine））７１と、ＧＴＥ７１によって計算されたデータをパケットとして、メインバス４１を介してＰＰＰ４８に送信するパケットエンジン（ＰＫＥ（Packet Engine））７２を有している。
【００４６】
ＧＴＥ７１は、浮動小数点の実数を演算する複数の演算素子を有し、並列に浮動小数点演算を行うようになされている。ＰＫＥ７２は、ＧＴＥ７１により算出されたポリゴンのデータをパケットとして、メインバス４１を介してＰＰＰ４８に供給するようになされている。
【００４７】
ＰＰＰ４８は、メインＣＰＵ４４のＰＫＥ７２より供給されたパケットに含まれるポリゴンの情報から、そのポリゴンを、複数の小さいポリゴンで構成される曲面に変換し、その曲面のデータをＧＰＵ４９に出力するようになされている。      
【００４８】
図６は、ＰＰＰ４８の一構成例を示している。ＰＫＥ９１は、メインＣＰＵ４４のＰＫＥ７２からのパケットを受け取り、そのパケットを一時的にＲＡＭ９２に記憶し、そのパケットに含まれるデータのうち、ポリゴンを処理するプログラムを指定するデータ（後述）をインストラクションＲＡＭ９３に記憶させ、その他のデータ（ポリゴンの頂点の座標データなど）をソースデータＲＡＭ９４に記憶させるようになされている。
【００４９】
サブＣＰＵ９５は、ＲＯＭ９６に記憶されているプログラムに従って動作し、インストラクションＲＡＭ９３にデータが記憶されると、そのデータを読み出し、そのデータで指定されるプログラム（サブＣＰＵ９５に常駐している）で、ソースデータＲＡＭ９４に記憶されているポリゴンのデータ（ポリゴンの頂点の座標データなど）から、そのポリゴンを、３次元空間の奥行き方向におけるポリゴンの位置（Ｚ値）に対応した数（即ち、このポリゴンが所定の表示部に表示されるときの表示サイズに対応した数）のポリゴン（サブポリゴン）に分割する。
【００５０】
このとき、サブＣＰＵ９５は、ＰＫＥ７２より供給されるパケットに含まれている曲面パラメータ（後述）により表現される基準曲面に沿って、サブポリゴンを生成する（即ち、複数のサブポリゴンで構成された曲面を生成する）。
【００５１】
そして、サブＣＰＵ９５は、生成した複数のポリゴンの頂点の座標値をディスティネーションデータＲＡＭ９７に記憶させ、ＧＰＵ４９に供給するようになされている。
【００５２】
図５に戻り、ＧＰＵ４９は、ＰＰＰ４８のディスティネーションデータＲＡＭ９７から、分割したポリゴンの座標値（３次元）などのデータを読み出し、その３次元の座標値を、所定の表示部に対応する２次元の座標値に変換した後、それらのデータからポリゴンに対応する画素データを生成し、その画素データをフレームバッファ５８に書き込み、レンダリング処理を行うになされている。なお、このとき、ＧＰＵ４９は、３次元の座標値（ｘ，ｙ，ｚ）から、表示用の２次元の座標値（Ｘ，Ｙ）を、次式（透視変換）を利用して算出している。
Ｘ＝ｘ／ｚ，  Ｙ＝ｙ／ｚ
【００５３】
メインＤＭＡＣ４６は、メインバス４１に接続されている各回路を対象としてＤＭＡ転送などの制御を行うようになされている。また、メインＤＭＡＣ４６は、バスコントローラ４３の状態に応じて、サブバス４２に接続されている各回路を対象としてＤＭＡ転送などの制御を行うこともできる。また、ＭＤＥＣ４７は、メインＣＰＵ４４と並列に動作し、ＭＰＥＧ方式あるいはＪＰＥＧ方式で圧縮されているデータを伸張するようになされている。
【００５４】
サブＣＰＵ５０は、ＲＯＭ５３に記憶されているプログラムに従って各種動作を行うようになされている。サブＤＭＡＣ５２は、バスコントローラ４３がメインバス４１とサブバス４２を切り離している状態においてのみ、サブバス４２に接続されている各回路を対象としてＤＭＡ転送などの制御を行うようになされている。
【００５５】
ＳＰＵ５４は、サブＣＰＵ５０やサブＤＭＡＣ５２から供給されたサウンドコマンドに対応して、サウンドメモリ５９から音声データを読み出してオーディオ出力として出力するようになされている。
【００５６】
通信制御部５５（図中のＡＴＭ）は、公衆回線に接続され、その回線を介してデータの送受信を行うようになされている。
【００５７】
入力部５７は、操作装置１７を接続する接続端子部１２Ａ、他の装置（図示せず）からの画像データを受け取るビデオ入力回路８２、および、他の装置からの音声データを受け取るオーディオ入力回路８３を有している。
【００５８】
次に、図７のフローチャートを参照して、ポリゴンの描画処理時における上記実施例の動作について説明する。
【００５９】
最初にステップＳ１において、メインＣＰＵ４４は、操作装置１７におけるユーザによる操作に対応する信号を、入力部５７を介して受け取るとともに、メインメモリ４５からポリゴンのデータ（頂点の座標値、法線ベクトル、基準曲面のデータ（曲面パラメータ））（予めＣＤ−ＲＯＭ４０から読み出されている）を読み出し、ユーザの操作に対応して、そのポリゴンをＧＴＥ７１で座標変換する。
【００６０】
次に、ステップＳ２において、メインＣＰＵ４４のＰＫＥ７２は、ポリゴンの頂点の座標値、そのポリゴンの法線ベクトル、ＰＰＰ４８において使用される曲面パラメータ、および、ＰＰＰ４８において複数のポリゴンで構成される曲面の生成に使用されるプログラムを指定する識別子を１つのパケットとして、メインバス４１を介して、ＰＰＰ４８のＰＫＥ９１に送信する。
【００６１】
なお、メインＤＭＡＣ４６を利用して、パケットをＰＰＰ４８に送信することもできる。
【００６２】
例えば、ＧＴＥ７１における座標変換によって、図８（ａ）に示すような頂点Ｐ０乃至Ｐ３を有する４角形のポリゴンが生成された場合、ＰＫＥ７２は、図８（ｂ）に示すように、プログラムを指定する識別子（図中のＣｏｄｅ）、ポリゴンの法線ベクトル（図中のＮｘ，Ｎｙ，Ｎｚ）、基準曲面を表す曲面パラメータ、頂点Ｐ０乃至Ｐ３に対応する座標値（Ｘｉ，Ｙｉ，Ｚｉ）（ｉ＝０，・・・，３）、その座標値に対応する基準曲面の媒介変数（後述）の値（ｕｉ，ｖｉ）（ｉ＝０，・・・，３）および色データ値ＲＧＢｉ（ｉ＝０，・・・，３）で構成されるパケットをＰＰＰ４８のＰＫＥ９１に送信する。
【００６３】
なお、パケットの形式は、識別子Ｃｏｄｅに応じて設定され、識別子Ｃｏｄｅによって指定されるプログラムが処理することができるように設定されている。
【００６４】
なお、例えば、識別子Ｃｏｄｅによって、基準曲面を２次曲面として処理するプログラムが指定された場合、基準曲面（ｘ，ｙ，ｚ）は、媒介変数ｕ，ｖを利用して次式で表される。
【００６５】
【数１】
2006277772.tif 000003
【００６６】
そして、これらの定数ａ01乃至ａ24のうち、所定の数の非零の定数ａijが、曲面パラメータとしてＰＰＰ４８に送信される。
【００６７】
また、識別子Ｃｏｄｅによって、基準曲面を球面として処理するプログラムが指定された場合、媒介変数ｕ，ｖを利用して次式で表される、半径Ｒ、中心座標（ｘｃ，ｙｃ，ｚｃ）の球面が、基準曲面（ｘ，ｙ，ｚ）として利用される。
【００６８】
【数２】
2006277772.tif 000004
【００６９】
そして、この球面の半径Ｒと中心座標（ｘｃ，ｙｃ，ｚｃ）が、曲面パラメータとしてＰＰＰ４８に送信される。
【００７０】
次に、図７に戻り、ステップＳ３において、ＰＰＰ４８のＰＫＥ９１は、メインＣＰＵ４４のＰＫＥ７２より供給されたパケットを一旦ＲＡＭ９２に記憶させ、そのパケットに含まれているデータのうち、プログラムを指定する識別子（Ｃｏｄｅ）をインストラクションＲＡＭ９３に記憶させ、ポリゴンの頂点の座標値、媒介変数の値、ポリゴンの法線ベクトル、および、曲面パラメータをソースデータＲＡＭ９４に記憶させる。
【００７１】
ステップＳ４において、ＰＰＰ４８のサブＣＰＵ９５は、インストラクションＲＡＭ９３から識別子Ｃｏｄｅを読み出し、その識別子Ｃｏｄｅの値に対応するプログラムで処理を行い、ソースデータＲＡＭ９４から、ポリゴンの頂点の座標値などのデータを読み出し、このポリゴンの奥行き方向の位置を示すＺ値を算出する。
【００７２】
そして、ステップＳ５において、サブＣＰＵ９５は、ソースデータＲＡＭ９４から、媒介変数ｕ，ｖの値と曲面パラメータを読み出し、媒介変数ｕ，ｖで規定される空間（（ｕ，ｖ）空間）におけるポリゴンの頂点の中点を算出し、その中点と、ポリゴンの頂点でサブポリゴンを生成する（即ち、ポリゴンを分割する）。
【００７３】
なお、このように、（ｕ，ｖ）空間で生成される中点は、曲面パラメータで表される基準曲面の式で、（ｘ，ｙ，ｚ）空間に写像することにより、基準曲面上に配置されるので、この中点とポリゴンの頂点で基準曲面に沿ったサブポリゴンが形成される（即ち、サブポリゴンで構成される曲面が生成される）。
【００７４】
そして、サブＣＰＵ９５は、サブポリゴンの表示サイズ（表示面積Ａ）が、所定の基準値Ｄ以下になるまで、各サブポリゴンの再帰的に分割していく。
【００７５】
サブＣＰＵ９５は、このようにして生成されたサブポリゴンの頂点の座標値をディスティネーションデータＲＡＭ９７に記憶させる。
【００７６】
例えば、図８に示すポリゴンがＰＰＰ４８に供給された場合、まずサブＣＰＵ９５は、４角形ＡＢＣＤを、３角形ＡＢＣと３角形ＡＣＤに分けた後、３角形ＡＢＣの表示面積Ａを算出し、表示面積Ａが基準値Ｄより大きいと判断した場合、図９（ａ）に示すように中点Ｅを生成し、サブポリゴンＡＢＥとサブポリゴンＢＣＥを生成する。同様に、３角形ＡＣＤの表示面積Ａを算出し、表示面積Ａが基準値Ｄより大きいと判断した場合、図９（ｂ）に示すように中点Ｅを生成し、サブポリゴンＥＣＤとサブポリゴンＡＥＤを生成する。
【００７７】
そして、さらに、これらのサブポリゴン（サブポリゴンＡＢＥ、サブポリゴンＢＣＥ、サブポリゴンＥＣＤおよびサブポリゴンＡＥＤ）を分割すると、図１０に示すように８個のサブポリゴンが生成される。このように、分割を繰り返すごとに、サブポリゴンで構成される曲面は、基準曲面である球面に近づいていく。
【００７８】
同様に、図１１（ａ）に示すような球状のオブジェクトを表現する場合、このオブジェクトが、所定の表示部において小さく表示されるときは、例えば、図１１（ｂ）に示すように、８個の頂点（１２個のポリゴン）で直方体（立方体）を表示させる。一方、このオブジェクトがやや大きく表示されるときは、例えば、図１１（ｃ）に示すように、１４個の頂点（２４個のポリゴン）で、図１１（ｂ）のオブジェクトより球形に近いオブジェクトを表示させ、このオブジェクトが、さらに大きく表示されるときは、例えば、図１１（ｄ）に示すように、２６個の頂点（４８個のポリゴン）で、図１１（ｃ）のオブジェクトより球形に近いオブジェクトを表示させる。
【００７９】
図７に戻り、ステップＳ６において、ＧＰＵ４９は、ＰＰＰ４８のディスティネーションデータＲＡＭ９７から、サブポリゴンの頂点の座標値などのデータを読み出し、それらのサブポリゴンの画素データを生成し、その画素データをフレームバッファ５８に書き込み、レンダリング処理を行う。
【００８０】
このようにして、ポリゴンをＺ値に応じて分割し、分割したポリゴン（基準曲面に沿ったサブポリゴン）を描画する。所定の数のポリゴンを描画することにより、それらのポリゴンで構成される３次元オブジェクトが表示される。上述のように、メインＣＰＵ４４のＧＴＥ７１で座標変換などのジオメトリ演算を行い、ＰＰＰ４８は、各ポリゴンに対する局所的な演算だけを行うので、回路規模を小さくすることができ、並列化することができる。
【００８１】
次に、ステップＳ５におけるポリゴンの分割処理の詳細について、図１２のフローチャートを参照して説明する。
【００８２】
最初にステップＳ２１において、サブＣＰＵ９５は、供給された４角形のポリゴンを２つの３角形のポリゴンに分けた後、３角形のポリゴンの面積（所定の表示部に表示されるときの面積）Ａを算出する。
【００８３】
次に、ステップＳ２２において、サブＣＰＵ９５は、そのポリゴンの面積Ａが、所定の基準値Ｄより大きいか否かを判断し、面積Ａが基準値Ｄより大きいと判断した場合、ステップＳ２３に進む。一方、面積Ａが基準値Ｄ以下であると判断された場合、ポリゴンの分割を終了する。
【００８４】
ステップＳ２３において、サブＣＰＵ９５は、媒介変数ｕ，ｖで規定される（ｕ，ｖ）空間において、ポリゴンの２つの頂点の中間に位置する中点を生成し、ポリゴンの３つの頂点とその中点で、ポリゴンを２つのサブポリゴン（サブポリゴンＡ，Ｂ）に分割する。例えば、図９（ａ）において、中点Ｅを生成し、ポリゴンＡＢＣをサブポリゴンＡＢＥとサブポリゴンＢＣＥに分割している。
【００８５】
媒介変数ｕ，ｖで規定される（ｕ，ｖ）空間において、ポリゴンＡＢＣの頂点が、例えば、Ａ＝（π／４，π／４）、Ｂ＝（（３／４）π，π／４）、Ｃ＝（（５／４）π，π／４）である場合、頂点Ａ，Ｂの中点Ｆは、頂点Ａ，Ｂの各成分を平均してＦ＝（π／２，π／４）と算出される。
【００８６】
ただし、所定の２つの頂点（（ｕ１，ｖ１）、（ｕ２，ｖ２））のｕ成分の平均（（ｕ１＋ｕ２）／２）が、πである場合、ｕ成分がπである点は上述の式において定義されていないので、そのときの中点は、（０，π／２）とする。頂点Ａ，Ｃのｕ成分の平均はπ（＝（５／４）π−π／４）となるので、頂点Ａ，Ｃの中点Ｅの座標値は、（０，π／２）としている。
【００８７】
なお、このときの基準曲面を、例えば、半径ＲがＲ＝１であり、かつ、中心の座標（ｘｃ，ｙｃ，ｚｃ）が（ｘｃ，ｙｃ，ｚｃ）＝（０，−２，２）である球面とすると、頂点Ａの３次元空間における座標値（ｘ，ｙ，ｚ）は、上述の式（球面の式）より、（ｘ，ｙ，ｚ）＝（１／２，１／（２1/2）−２，５／２）となり、同様に、頂点Ｂの座標値は、（ｘ，ｙ，ｚ）＝（−１／２，１／（２1/2）−２，５／２）となり、頂点Ｃの座標値は、（ｘ，ｙ，ｚ）＝（−１／２，１／（２1/2）−２，３／２）となる。そして、中点Ｅの座標値は、（ｘ，ｙ，ｚ）＝（０，−１，２）となる。
【００８８】
さらに、これらの頂点の座標を透視変換で、表示用の２次元の座標値に変換すると、頂点Ａの座標値（Ｘ，Ｙ）は、上述の透視変換の式より、（Ｘ，Ｙ）＝（１／５，（（２1/2）−４）／５）となり、同様に、頂点Ｂの座標値は、（Ｘ，Ｙ）＝（−１／５，（（２1/2）−４）／５）となり、頂点Ｃの座標値は、（Ｘ，Ｙ）＝（−１／３，（（２1/2）−４）／３）となる。そして、中点Ｅの座標値は、（ｘ，ｙ，ｚ）＝（０，−１／２）となる。
【００８９】
このように、（ｕ，ｖ）空間において中点を生成することにより、その中点は、３次元空間および表示用の２次元空間における中点に配置されず、基準曲面上に配置される（図９（ａ））。
【００９０】
そしてステップＳ２４において、サブポリゴン９５は、サブポリゴンＡについて、サブポリゴンの生成処理を行う。即ち、サブポリゴンＡに対して、現在説明しているポリゴン分割処理を行う。例えば、ステップＳ２３において生成されたサブポリゴンＡＢＥに対して、ポリゴン分割処理を、ステップＳ２１から開始する。
【００９１】
また、ステップＳ２５において、サブポリゴン９５は、サブポリゴンＢについて、サブポリゴンの生成処理を行う。即ち、サブポリゴンＢに対して、現在説明しているポリゴン分割処理を行う。
【００９２】
このように、ステップＳ２４，Ｓ２５において、この処理を再帰的に行うことにより、分割されたポリゴンがさらに分割されていき、基準値Ｄ以下の大きさを有するサブポリゴンに分割されるまで、処理が継続される。このとき、各中点は、媒介変数ｕ，ｖで規定される（ｕ，ｖ）空間において生成されるので、上述のように、分割されたサブポリゴンによって、基準曲面に沿った曲面が形成される。
【００９３】
なお、上述の処理においては、基準曲面が球面であるが、基準曲面を他の曲面にすることもできる。例えば、次式に示す媒介変数ｕ，ｖの多項式を、基準曲面（ｘ，ｙ，ｚ）として利用することができる。
【００９４】
【数３】
2006277772.tif 000005
【００９５】
このとき、媒介変数ｕ，ｖは、識別子Ｃｏｄｅで指定されるプログラムにおいて、予め（ｕ，ｖ）＝（０，０）、（１，０）、（１，１）、（０，１）の４点に固定しておき、定数ｘｉ，ｙｉ，ｚｉ（ｉ＝０，・・・，３）をデータとしてＰＰＰ４８に供給することにより、３次元空間において４点の座標値を算出する。
【００９６】
この式のｆ（ｕ，ｖ）は、媒介変数ｕ，ｖの２次式であり、各項の係数が曲面パラメータとしてＰＰＰ４８に供給される。例えば、ｆ（ｕ，ｖ）が、次式
ｆ（ｕ，ｖ）＝ａ×ｕ2＋ｂ×ｕ＋ｃ×ｖ2＋ｄ×ｖ＋ｅ
で表される場合、係数ａ乃至ｅが曲面パラメータとしてＰＰＰ４８に供給される。
【００９７】
従って、この場合、図１３に示すように、識別子Ｃｏｄｅと法線ベクトルＮｘ，Ｎｙ，Ｎｚ、曲面パラメータ、定数ｘｉ，ｙｉ，ｚｉ（ｉ＝０，・・・，３）、および４点に対応する色データ（ＲＧＢｉ）（ｉ＝０，・・・，３）で構成されるパケットが、ＰＰＰ４８に供給される。なお、ＰＰＰ４８にＤＤＡ（Digital Differential Analyzer）を設けることにより、この基準曲面の式を漸化式で簡単に計算することができる。
【００９８】
図１３のパケットで供給されたポリゴンは、基準曲面が球面である場合と同様に、ＰＰＰ４８においてＺ値に応じて分割される。例えば、ＰＰＰ４８のサブＣＰＵ９５は、Ｚ値が大きく、奥行き方向の遠くにポリゴンが配置される場合（所定の表示部においてポリゴンが小さく表示される場合）、図１４（ａ）に示すように、そのポリゴンを分割しないで（即ち、分割数を１として）、そのポリゴンの頂点の座標値をディスティネーションデータＲＡＭ９７に記憶させる。
【００９９】
一方、サブＣＰＵ９５は、Ｚ値がやや小さく、奥行き方向のやや近くにポリゴンが配置される場合（所定の表示部においてポリゴンがやや大きく表示される場合）、図１４（ｂ）に示すように、そのポリゴンを４分割し（即ち、分割数を４として）、４個のサブポリゴンを基準曲面に対応して生成し、その４個のサブポリゴンの頂点の座標値をディスティネーションデータＲＡＭ９７に記憶させる。
【０１００】
また、Ｚ値が小さく、奥行き方向の近くにポリゴンが配置される場合（所定の表示部においてポリゴンが大きく表示される場合）、サブＣＰＵ９５は、図１４（ｃ）に示すように、そのポリゴンを１６分割し（即ち、分割数を１６として）、１６個のサブポリゴンを基準曲面に対応して生成し、その１６個のサブポリゴンの頂点の座標値をディスティネーションデータＲＡＭ９７に記憶させる。
【０１０１】
例えば、図１４（ｃ）に示すように、ポリゴンを１６個のサブポリゴンに分割した場合、１６個のサブポリゴンは、図１５（ａ）に示すように、２５個の頂点Ｐ０乃至Ｐ２４を有し、サブＣＰＵ９５は、各頂点の座標値および色データ値（Ｘｉ，Ｙｉ，Ｚｉ，ＲＧＢｉ）（ｉ＝０，・・・，２４）を、図１５（ｂ）に示すように配列し、ディスティネーションデータＲＡＭ９７に記憶させる。
【０１０２】
なお、この分割例は、４角形のポリゴン（サブポリゴン）を利用したものである。
【０１０３】
このように、所定の表示部で表示されるサイズ（表示サイズ）に応じて、オブジェクトの形状を変化させ、表示サイズが小さい場合、頂点の少ないオブジェクトを、所定のオブジェクトとして表示し、表示に必要な演算数を低減する。一方、表示サイズが大きい場合は、本来のオブジェクトと表示されたオブジェクトの形状の違いをユーザに感じさせないように、頂点の多いオブジェクトを、所定のオブジェクトとして表示する。
【０１０４】
また、このように、比較的粗いサイズのポリゴンのデータをＰＰＰ４８に送信し、ＰＰＰ４８においてＺ値に応じてそのポリゴンを分割することにより、メインＣＰＵ４４からメインバス４１を介してＰＰＰ４８に供給されるデータ量を低減し、メインバス４１の負荷を軽くすることができる。
【０１０５】
図１６に示すように、ＰＰＰ４８からＧＰＵ４９に出力されるデータ量（出力データ量）は、ポリゴンの分割数に応じて増加するが、メインＣＰＵ４４からメインバス４１を介してＰＰＰ４８に供給されるデータ量（入力データ量）は、ポリゴンの分割数に関係なく一定である（図１３のパケットでは、１ポリゴンあたり６ワードである）ため、メインバス４１の負荷を、一定にすることができる。また、このようにすることにより、図１６のデータ圧縮比に示すように、データを圧縮していることになり、取り扱うデータ量（メインバス４１を往来するデータの量など）が少なくなっている。
【０１０６】
なお、ＧＰＵ４９は、４個の頂点のデータを保持しながら、各ポリゴンの処理を行うので、ＧＰＵ４９が４個以上前に供給した頂点のデータを再度使用する場合、ＰＰＰ４８は、もう一度、その頂点のデータを供給する。従って、ＰＰＰ４８からの出力データ量（ワード数）は、分割されたポリゴンの頂点の数より多くなっている。
【０１０７】
例えば、図１５の、全部で２５個の頂点Ｐ０乃至Ｐ２４を有する、１６個に分割されたポリゴンのデータをＧＰＵ４９に供給する場合、最初に、ＰＰＰ４８は、頂点Ｐ０乃至Ｐ３のデータをＧＰＵ４９に供給し、ＧＰＵ４９は、頂点Ｐ０乃至Ｐ３を有するポリゴンの処理を行う。次に、ＰＰＰ４８は、頂点Ｐ４，Ｐ５のデータを供給し、ＧＰＵ４９は、頂点Ｐ１，Ｐ３，Ｐ４，Ｐ５を有するポリゴンの処理を行う。同様に、ＰＰＰ４８は、頂点Ｐ６乃至Ｐ９のデータを順番に供給し、ＧＰＵ４９は、頂点Ｐ４乃至Ｐ７を有するポリゴンと頂点Ｐ６乃至Ｐ９を有するポリゴンの処理を行う。
【０１０８】
次に、ＰＰＰ４８は、頂点Ｐ２，Ｐ３，Ｐ１０，Ｐ１１のデータをＧＰＵ４９に供給し、ＧＰＵ４９は、頂点Ｐ２，Ｐ３，Ｐ１０，Ｐ１１を有するポリゴンの処理を行う。さらに、ＰＰＰ４８は、頂点Ｐ５，Ｐ１２のデータを供給し、ＧＰＵ４９は、頂点Ｐ３，Ｐ５，Ｐ１１，Ｐ１２を有するポリゴンの処理を行う。同様に、ＰＰＰ４８は、頂点Ｐ７，Ｐ９，Ｐ１３，Ｐ１４のデータを供給し、ＧＰＵ４９は、頂点Ｐ５，Ｐ７，Ｐ１２，Ｐ１３を有するポリゴンと頂点Ｐ７，Ｐ９，Ｐ１３，Ｐ１４を有するポリゴンの処理を行う。
【０１０９】
以下同様に、ＰＰＰ４８は、頂点Ｐ１０乃至Ｐ２４のデータをＧＰＵ４９に供給し、ＧＰＵ４９は、各ポリゴンの処理を行う。
【０１１０】
以上のようにして、ＰＰＰ４８は、各ポリゴンの頂点のデータをＧＰＵ４９に供給するので、頂点Ｐ２，Ｐ３，Ｐ５，Ｐ７，Ｐ９および頂点Ｐ１０乃至Ｐ１９の１５個の頂点のデータは、ＧＰＵ４９に２回供給される。従って、合計４０個分（＝２５＋１５）の頂点のデータがＧＰＵ４９に供給されるので、図１６に示すように、ポリゴンを１６分割した場合のＰＰＰ４８からのデータ出力量は、４０ワードとなる。また、このようにして供給されるデータはストライプメッシュと呼ばれる。
【０１１１】
上述の実施例においては、基準曲面を表す曲面パラメータをＰＰＰ４８に供給しているが、光源の位置を表すパラメータをポリゴンの頂点の座標値とともにＰＰＰ４８に供給し、ポリゴンをＺ値に応じて分割した後、分割したポリゴン（サブポリゴン）における輝度値を、光源の位置を表すパラメータから算出することもできる。
【０１１２】
例えば、図１７（ａ）に示すようなポリゴンの頂点Ｐ０乃至Ｐ３の座標値（Ｘｉ，Ｙｉ，Ｚｉ，（ｉ＝０，・・・，３））、法線ベクトル（Ｎｘ，Ｎｙ，Ｎｚ）、ポリゴンの分割処理を行うプログラムを指定する識別子（図中のＣｏｄｅ）とともに、光源の位置を示す光源パラメータを含むデータをＣＤ−ＲＯＭ４０に記録しておき、そのデータを読み出し、メインメモリ４５に記憶させ、ＧＴＥ７１によりポリゴンの座標変換を行った後、ＰＫＥ７２で、それらのデータを、図１７（ｂ）に示すように、１つのパケットとしてＰＰＰ４８に供給する。そして、ＰＰＰ４８は、ポリゴンを分割した後、光源パラメータより、各サブポリゴンの輝度値の計算を行う。なお、点光源の場合、点光源の座標（Ｌｘ，Ｌｙ，Ｌｚ）と、光源の色情報（Ｌｒ，Ｌｇ，Ｌｂ）が、光源パラメータとしてＰＰＰ４８に供給される。
【０１１３】
ＰＰＰ４８は、供給された光源パラメータから、図１８（ａ）に示す、光源からの法線と、ポリゴンを含む２次元平面（ｐ，ｑ）との交点の座標（ｐ０，ｑ０）、および、２次元平面（ｐ，ｑ）からの光源の高さｈを算出し、さらに、各サブポリゴンの頂点の座標値（ｐ，ｑ）から、そのサブポリゴンの頂点における輝度値Ｌ（光源からの距離の２乗に反比例する）を、次式で算出する。
Ｌ＝ｈ2／（ｈ2＋（ｐ−ｐ０）2＋（ｑ−ｑ０）2）
例えば、ポリゴンを８個のサブポリゴンに分割した場合、ＰＰＰ４８は、サブポリゴンの頂点毎に輝度値を算出し、ＧＰＵ４９は、それらのサブポリゴンの頂点の輝度値より、そのサブポリゴンの輝度値を算出し、図１８（ｂ）に示すように、ポリゴンの表示を行う。同様に、ポリゴンを３２個のサブポリゴンに分割した場合、ＰＰＰ４８は、サブポリゴンの頂点毎に輝度値を計算し、ＧＰＵ４９は、それらのサブポリゴンの頂点の輝度値より、そのサブポリゴンの輝度値を算出し、図１８（ｃ）に示すように、ポリゴンの表示を行う。このように、所定のポリゴンにおいて、サブポリゴン毎に輝度値を計算することにより、オブジェクトの表面の輝度値を細かく変化させることができる。
【０１１４】
そして、図１９（ａ）に示すように、例えば１６分割して生成されたサブポリゴンの各頂点（この場合、２５個）に対してこのように計算された輝度値は、図１９（ｂ）に示すように、各頂点の座標値とともに、ＰＰＰ４８からＧＰＵ４９に出力される（ＰＰＰ４８のディスティネーションデータＲＡＭ９７からＧＰＵ４９によって読み取られる）。
【０１１５】
以上のようにして、ポリゴンを分割し、各サブポリゴンの輝度値を算出することにより、ポリゴンの表示サイズに応じて輝度値の変化の粗密を調節することができる。また、このようにすることにより、ＧＰＵ４９は、グローシェーディングのような線形の演算を行うだけでよいので（複雑な光源計算を行わなくてもよいので）、ＧＰＵ４９の負荷を軽減することができる。
【０１１６】
なお、この場合、ポリゴンは、図１９（ａ）に示すように、３次元空間において線形に分割されている。
【０１１７】
また、上述に実施例においては、３次元オブジェクトを構成するポリゴンの頂点の座標をＣＤ−ＲＯＭ４０から読み出しているが、３次元の基本的な形状（球、円筒、立方体、平面など）を有する基本オブジェクト（テンプレート（雛型））をＰＰＰ４８（ＲＯＭ９６）に予め記憶させておくとともに、所定の３次元オブジェクトを、テンプレートに対応する識別番号（テンプレートパターンＩＤ）と、テンプレートの代表点における差分値（テンプレートの代表点と、その代表点に対応する３次元オブジェクトの点との偏差）で表現し、ＣＤ−ＲＯＭ４０に記録させておくこともできる。
【０１１８】
例えば、図２０（ａ）に示すような回転体形状（所定の回転軸に対して対称な回転体）は、図２０（ｂ）に示す円柱形のテンプレートを指定するテンプレートパターンＩＤと、円柱形のテンプレートの代表点Ｐｉｊ（ｉ＝０，・・・，９）における、テンプレートからの偏差（差分値）ｎｉｊで表現される。
【０１１９】
このようなテンプレートを利用した場合、メインＣＰＵ４４は、ＣＤ−ＲＯＭ４０から、テンプレートパターンＩＤ、オブジェクトの座標値、および、テンプレートからの偏差ｎｉｊを読み出し、図２１に示すように、これらの数値を、このポリゴンを処理するプログラムを指定する識別子Ｃｏｄｅとともに１つのパケットとしてＰＰＰ４８に送信する。
【０１２０】
そして、ＰＰＰ４８は、このパケットを受け取ると、パケットに含まれている識別子Ｃｏｄｅで指定されたプログラムで、パケットに含まれている３次元オブジェクトのデータの処理を行い、テンプレートパターンＩＤを参照して、そのテンプレートパターンＩＤに対応するテンプレートのデータをＲＯＭ９６から読み出し、そのデータと、テンプレートからの偏差ｎｉｊから、３次元オブジェクトの形状を特定する。
【０１２１】
このように、テンプレートを指定するテンプレートパターンＩＤと、テンプレートからの偏差ｎｉｊで３次元オブジェクトを表現することにより、テンプレートの形状の対称性に応じて、ＣＤ−ＲＯＭに記録しておくデータ量や、座標変換などにおける演算回数を低減することができる。例えば、図２０（ｂ）に示すように、円柱形のテンプレートにおいては、半径方向の偏差（１次元）だけで、図２０（ａ）に示す形状を表現することができる。
【０１２２】
図２２は、ＣＤ−ＲＯＭ４０を作成する作成装置の一例を示している。図２２（ａ）の作成装置は、図１３に示すポリゴン単位のデータ形式で、所定の３次元オブジェクトを記録するようになされている。そして、本発明の記録装置の一実施例である図２２（ｂ）の作成装置は、図２１に示すようなテンプレートを利用したデータ形式で、所定の３次元オブジェクトを記録するようになされている。
【０１２３】
図２２（ａ）の作成装置において、モデラ１１２は、入力装置１１１から設計者（画像を作成する者）の操作に応じた信号を受け取り、設計者の操作に応じた３次元オブジェクトを生成するようになされている。
【０１２４】
そして、モデラ１１２は、生成した３次元オブジェクトの曲面に関する情報を演算回路１１３に供給するとともに、生成した３次元オブジェクトを構成するポリゴンの頂点の座標値を記録装置１１４に供給するようになされている。
【０１２５】
演算回路１１３は、モデラ１１２から供給された曲面の情報から各ポリゴンに対応する曲面パラメータを算出し、記録装置１１４に供給するようになされている。
【０１２６】
記録装置１１４は、マスタディスクにレーザ光を照射し、モデラ１１２および演算回路１１３から供給されたデータ（記録データ）を、マスタディスクに記録するようになされている。なお、このマスタディスクは、ホトレジストが表面に塗布されており、モータによって所定の速度で回転されながら、レーザ光を記録装置１１４によって照射され、記録データに対応するピット形状に感光された後、現像される。そして、マスタディスク（表面の凹凸）から、スタンパが作成され、さらに、そのスタンパから多数のレプリカディスクとしてのＣＤ−ＲＯＭが作成される。
【０１２７】
このようにして、ＣＤ−ＲＯＭのスタンパの作成時において、マスタディスクにレーザ光を記録データに対応して照射することにより、曲面パラメータや頂点の座標値を含む記録データを各トラックに記録する。そして、マスタディスクを転写したスタンパをさらに転写することで、記録データに対応したピット形状を有するＣＤ−ＲＯＭを製造する。
【０１２８】
次に、図２２（ｂ）の作成装置において、モデラ１１２は、入力装置１１１から設計者の操作に応じた信号を受け取り、設計者の操作に応じた３次元オブジェクトを生成するようになされている。
【０１２９】
そして、モデラ１１２は、生成した３次元オブジェクトの情報を演算回路１１５に供給するとともに、生成した３次元オブジェクトの代表点の座標値を記録装置１１４に供給するようになされている。
【０１３０】
演算回路１１５（算出手段）は、モデラ１１２から供給された３次元オブジェクトの情報から、その３次元オブジェクトに対応するテンプレートを選択し、そのテンプレートの認識番号、および、テンプレートの代表点と、モデラ１１２が作成した３次元オブジェクトの代表点における差分値を算出し、記録装置１１４に供給するようになされている。
【０１３１】
記録装置１１４（記録手段）は、マスタディスクにレーザ光を照射し、モデラ１１２および演算回路１１５から供給された記録データ（テンプレートパターンＩＤ、代表点における差分値）を、マスタディスクに記録するようになされている。そして、ＣＤ−ＲＯＭが、図２２（ａ）の作成装置と同様に、マスタディスクから作成される。
【０１３２】
以上のようにして、記録データとして、テンプレートパターンＩＤ、代表点における差分値を保持するＣＤ−ＲＯＭが作成される。
【０１３３】
なお、上述の実施例においては、記録媒体をしてＣＤ−ＲＯＭを利用しているが、他の記録媒体を利用することもできる。
【図面の簡単な説明】
【０１３４】
【図１】本発明の情報処理装置を応用した家庭用ゲーム機の一例を示す平面図である。
【図２】図１の家庭用ゲーム機１の正面図である。
【図３】図１の家庭用ゲーム機１の側面図である。
【図４】図１の家庭用ゲーム機１で再生されるＣＤ−ＲＯＭの一例を示す平面図である。
【図５】図１の家庭用ゲーム機１の内部の電気的構成例を示すブロック図である。
【図６】図５のＰＰＰ４８の構成例を示すブロック図である。
【図７】図１の家庭用ゲーム機１のポリゴン描画処理について説明するフローチャートである。
【図８】図１の家庭用ゲーム機１で処理されるポリゴンおよびそのデータ形式の一例を示す図である。
【図９】ポリゴン分割の一例を示す図である。
【図１０】ポリゴン分割の他の例を示す図である。
【図１１】Ｚ値に応じて表示される３次元オブジェクトの例を示す図である。
【図１２】ポリゴン分割の処理を説明するフローチャートである。
【図１３】図１の家庭用ゲーム機１で処理されるポリゴンおよびそのデータ形式の他の例を示す図である。
【図１４】図１３のポリゴンを分割した例を示す斜視図である。
【図１５】図１３のポリゴンを分割して生成されたポリゴンの一例を示す図である。
【図１６】ＰＰＰ４８が取り扱うデータの量の一例を示す図である。
【図１７】図１の家庭用ゲーム機１で処理されるポリゴンおよびそのデータ形式の他の例を示す図である。
【図１８】図１７のポリゴンを分割して生成されたポリゴンの輝度値の計算の一例を示す図である。
【図１９】図１７のポリゴンを分割して生成されたポリゴンの一例を示す図である。
【図２０】３次元オブジェクト、および、それに対応するテンプレートの一例を示す斜視図である。
【図２１】テンプレートを利用した３次元オブジェクトを表すデータ形式の一例を示す図である。
【図２２】本発明の記録装置の一実施例である作成装置の構成例を示すブロック図である。
【符号の説明】
【０１３５】
１  家庭用ゲーム機，  ２  ゲーム機本体，  ３  ディスク装着部，  １７  操作装置，  ４０  ＣＤ−ＲＯＭ，  ４１  メインバス，  ４２  サブバス，  ４３  バスコントローラ，  ４４  メインＣＰＵ，  ４５  メインメモリ，  ４６  メインＤＭＡＣ，  ４７  ＭＰＥＧデコーダ，  ４８  プログラマブルパケットエンジン（ＰＰＰ），  ４９  画像処理装置（ＧＰＵ），  ５０  サブＣＰＵ，  ５１  サブメモリ，  ５２  サブＤＭＡＣ，  ５３  ＲＯＭ，  ５６  ＣＤ−ＲＯＭドライブ，  ５８  フレームバッファ，  ７１  ジオメトリ演算エンジン（ＧＴＥ），  ７２  パケットエンジン（ＰＫＥ），  ９１  パケットエンジン（ＰＫＥ），  ９３  インストラクションＲＡＭ，  ９４  ソースデータＲＡＭ，  ９５  サブＣＰＵ，  ９７  ディスティネーションデータＲＡＭ，  １１２  モデラ，  １１３  演算回路，  １１４  記録装置，    １１５  演算回路
【図１】
2006277772.tif 000006
【図２】
2006277772.tif 000007
【図３】
2006277772.tif 000008
【図４】
2006277772.tif 000009
【図５】
2006277772.tif 000010
【図６】
2006277772.tif 000011
【図７】
2006277772.tif 000012
【図８】
2006277772.tif 000013
【図９】
2006277772.tif 000014
【図１０】
2006277772.tif 000015
【図１１】
2006277772.tif 000016
【図１２】
2006277772.tif 000017
【図１３】
2006277772.tif 000018
【図１４】
2006277772.tif 000019
【図１５】
2006277772.tif 000020
【図１６】
2006277772.tif 000021
【図１７】
2006277772.tif 000022
【図１８】
2006277772.tif 000023
【図１９】
2006277772.tif 000024
【図２０】
2006277772.tif 000025
【図２１】
2006277772.tif 000026
【図２２】
2006277772.tif 000027