(57)【特許請求の範囲】
【請求項１】
複数の頂点の位置情報に基づいて所定数の頂点を有するポリゴンを定義し、複数の前記所定数の頂点を有するポリゴンにより所定の形状を定義する描画処理装置であって、
それぞれ前記頂点の位置情報を記憶する前記ポリゴンの前記所定数の各頂点に対応した前記所定数の記憶領域を有する記憶手段を有し、
前記所定数の記憶領域のうちから特定の記憶領域を指定するための指定情報を含んだ頂点情報が入力される制御手段を有し、当該制御手段は、入力された頂点情報に前記頂点の位置情報が含まれるときは、当該入力された頂点情報に含まれる指定情報により指定される前記記憶領域に当該頂点の位置情報を記憶させるものであり、
前記記憶手段の前記記憶領域に記憶された各頂点の位置情報に基づいて、前記ポリゴンを描画する描画手段を有し、
前記制御手段は、新たに入力された頂点情報に含まれる前記指定情報が、既に頂点情報が記憶されている記憶領域を指定するときは、当該記憶領域に既に記憶されている頂点情報を新たに入力された頂点情報によって置き換え、
前記描画手段は、前記記憶領域に記憶された、前記置き換えられた頂点情報に含まれる位置情報と、置き換えがなされなかったその他の頂点情報の位置情報と、に基づいて前記ポリゴンを描画するものである、描画処理装置。
【請求項２】
前記頂点情報の保存手段を更に有し、
前記制御手段は、前記頂点情報に、前記頂点の位置情報に加えて当該頂点情報の前記保存手段への記憶を指示する情報も含まれているときは、当該頂点の位置情報を前記保存手段にも記憶させ、
更に、前記制御手段は、前記頂点情報が前記保存手段に保存されている前記頂点の位置情報の参照を指示する参照情報を含むときは、当該参照情報に対応する前記頂点の位置情報を当該保存手段から読み出すとともに、当該頂点情報に含まれる指定情報により指定される前記記憶領域に、当該読み出された頂点の位置情報を書き込むものである、請求項１記載の描画処理装置。
【請求項３】
複数の頂点の位置情報に基づいて所定数の頂点を有するポリゴンを定義し、複数の前記所定数の頂点を有するポリゴンにより所定の形状を定義する描画処理方法であって、
前記ポリゴンの前記所定数の各頂点に対応した前記所定数の記憶領域を有する記憶手段に対し、前記各記憶領域に前記頂点の位置情報をそれぞれ記憶させる処理を描画処理部が実行し、
前記描画処理部には、前記所定数の記憶領域のうちから特定の記憶領域を指定するための指定情報を含んだ頂点情報が入力され、入力された頂点情報に前記頂点の位置情報が含まれるときは、当該描画処理部は、当該入力された頂点情報に含まれる指定情報により指定される前記記憶領域に当該頂点の位置情報を記憶させ、
更に、前記描画処理部は、前記記憶手段の前記記憶領域に記憶された各頂点の位置情報に基づいて、前記ポリゴンを描画し、新たに入力された頂点情報に含まれる前記指定情報が、既に頂点情報が記憶されている記憶領域を指定するときは、当該記憶領域に既に記憶されている頂点情報を新たに入力された頂点情報によって置き換え、かつ、前記記憶領域に記憶された、前記置き換えられた頂点情報に含まれる位置情報と、置き換えがなされなかったその他の頂点情報の位置情報と、に基づいて前記ポリゴンを描画するものである、描画処理方法。
【請求項４】
前記描画処理部は、保存手段を有するものであり、前記描画処理部は、前記頂点情報に、前記頂点の位置情報に加えて当該頂点情報の前記保存手段への記憶を指示する情報も含まれているときは、当該頂点の位置情報を前記保存手段にも記憶させ、
更に、前記頂点情報が前記保存手段に保存されている前記頂点の位置情報の参照を指示する参照情報を含むときは、前記描画処理部は、当該参照情報に対応する前記頂点の位置情報を当該保存手段から読み出すとともに、当該頂点情報に含まれる指定情報により指定される前記記憶領域に、当該読み出された頂点の位置情報を書き込む、請求項３記載の描画処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、描画処理装置および方法、並びに記録媒体に関し、例えば、グラフィックス描画処理において、ポリゴンにより３次元物体の形状を表現する場合に用いて好適な描画処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
例えば、図１３に示すように、３次元の物体の形状を複数のポリゴンの集合体で表現する場合、各ポリゴンの各頂点の３次元の位置情報（座標）と、各頂点をどのように繋いでポリゴンとするかを表す結線情報とが必要となる。例えば、頂点Ａ，Ｂ，Ｃで１つのポリゴンを形成し、頂点Ｄ，Ｅ，Ｆで１つのポリゴンを形成するような場合、頂点Ａ乃至Ｆのそれぞれの位置情報と、ポリゴンＡ，Ｂ，Ｃで１つのポリゴンを形成し、ポリゴンＤ，Ｅ，Ｆで１つのポリゴンを形成するという結線情報が必要となる。
【０００３】
複数の頂点列を、一定の規則によって次々に連結することにより、頂点間の結線情報を省略することができ、少ないデータ量で多くのポリゴンを表現することが可能となる。このような手法を用いたデータ形式は、連結ポリゴン、あるいはポリゴンメッシュと呼ばれている。
【０００４】
図１４は、連結ポリゴンの例を示している。これは、与えられた頂点列のうち、最新の３つの頂点を組み合わせて３角形を形成するという最も簡単な規則による連結ポリゴンの生成例であり、ストリップ（ひも）型と呼ばれる。この他に、例えば、与えられた頂点列のうち、最初の頂点と最新の２つの頂点を組み合わせて３角形を形成するという規則による連結ポリゴンがある。これは、ファン型と呼ばれる。
【０００５】
所定の３次元形状を、連結ポリゴンを用いて表すためには、物体形状を表すポリゴン群を、一筆書きの要領でなぞっていかなければならない。しかしながら、形状が複雑である場合、上記ストリップ型やファン型等の一定の規則による連結ポリゴンでは表現しきれないため、複数の異なる形状の連結ポリゴンを組み合わせて、１つの３次元形状を表現することになる。
【０００６】
【発明が解決しようとする課題】
このように、連結ポリゴンの端点においては、頂点が共有されず、無駄が多くなる場合がある。従って、データの効率を高めるためには、１つの形状を表すために必要とされる連結ポリゴンの数をなるべく少なくしなければならない。
【０００７】
しかしながら、簡単な規則による連結ポリゴンでは、１つの連結ポリゴンで表現可能な形状の制約が大きいため、連結ポリゴンの数が多くなる傾向がある。
【０００８】
また、図１５に示すように、表現しようとする形状を構成する複数のポリゴンが複雑に頂点を共有し合っている場合、この形状を連結ポリゴンで表現しようとすると、頂点Ｐ２と頂点Ｐ１４のように、本来共有しているはずの頂点の情報を複数個記憶しておかなければならなくなる。このため、頂点情報の共有率が低下し、記憶すべきデータ量の増大を招く課題があった。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、連結ポリゴンによって物体の形状を表現する場合に、記憶すべきデータ量の増大を抑制することができるようにするものである。
【００１０】
【課題を解決するための手段】
請求項１に記載の描画処理装置は、頂点情報を記憶する、ポリゴンの各頂点に対応した所定数の記憶領域からなる記憶手段と、頂点情報に付加された記憶領域の所定のものを指定する指定情報に基づいて、頂点情報を指定情報に対応する記憶領域の所定のものに記憶させる制御手段と、記憶手段の記憶領域に記憶された頂点情報に基づいて、ポリゴンを描画する描画手段とを備えることを特徴とする。
【００１１】
請求項２に記載の描画処理装置は、頂点情報を保存する保存手段と、新たな頂点の頂点情報が、位置情報に代えて保存手段に保存されている頂点情報を参照するための参照情報を含むとき、保存手段に保存された参照情報に対応する頂点情報を読み出す読み出し手段と、読み出し手段によって読み出された頂点情報と既存のポリゴンが有する頂点の頂点情報に基づいて、ポリゴンを描画する描画手段とを備えることを特徴とする。
【００１２】
請求項３に記載の描画処理方法は、ポリゴンの各頂点に対応した所定数の記憶領域に、頂点情報を記憶し、頂点情報に付加された記憶領域の所定のものを指定する指定情報に基づいて、頂点情報を指定情報に対応する記憶領域の所定のものに記憶させ、記憶領域に記憶された頂点情報に基づいて、ポリゴンを描画することを特徴とする。
【００１３】
請求項４に記載の描画処理方法は、頂点情報を保存し、新たな頂点の頂点情報が、位置情報に代えて、保存されている頂点情報を参照するための参照情報を含むとき、保存された参照情報に対応する頂点情報を読み出し、読み出した頂点情報と既存のポリゴンが有する頂点の頂点情報に基づいて、ポリゴンを描画することを特徴とする。
【００１４】
請求項５に記載の記録媒体は、少なくとも、描画処理装置が備える記憶装置を構成する、頂点情報を記憶するポリゴンの各頂点に対応した所定数の記憶領域のいずれか１つを指定する指定情報と、ポリゴンを構成する頂点の位置を指定する位置情報とが記録されることを特徴とする。
【００１５】
請求項６に記載の記録媒体は、少なくとも、描画処理装置のバッファメモリに保存された頂点情報を参照するための参照情報が記録されることを特徴とする。
【００１６】
請求項１に記載の描画処理装置においては、ポリゴンの各頂点に対応した所定数の記憶領域からなる記憶手段が頂点情報を記憶し、制御手段が、頂点情報に付加された記憶領域の所定のものを指定する指定情報に基づいて、頂点情報を指定情報に対応する記憶領域の所定のものに記憶させ、描画手段が記憶手段の記憶領域に記憶された頂点情報に基づいてポリゴンを描画する。
【００１７】
請求項２に記載の描画処理装置においては、保存手段が、頂点情報を保存し、読み出し手段が、新たな頂点の頂点情報が、位置情報に代えて保存手段に保存されている頂点情報を参照するための参照情報を含むとき、保存手段に保存された参照情報に対応する頂点情報を読み出し、描画手段が、読み出し手段によって読み出された頂点情報と既存のポリゴンが有する頂点の頂点情報に基づいて、ポリゴンを描画する。
【００１８】
請求項３に記載の描画処理方法においては、ポリゴンの各頂点に対応した所定数の記憶領域に、頂点情報を記憶し、頂点情報に付加された記憶領域の所定のものを指定する指定情報に基づいて、頂点情報を指定情報に対応する記憶領域の所定のものに記憶させ、記憶領域に記憶された頂点情報に基づいて、ポリゴンを描画する。
【００１９】
請求項４に記載の描画処理方法においては、頂点情報を保存し、新たな頂点の頂点情報が、位置情報に代えて、保存されている頂点情報を参照するための参照情報を含むとき、保存された参照情報に対応する頂点情報を読み出し、読み出した頂点情報と既存のポリゴンが有する頂点の頂点情報に基づいて、ポリゴンを描画する。
【００２０】
請求項５に記載の記録媒体においては、少なくとも、描画処理装置が備える記憶装置を構成する、頂点情報を記憶するポリゴンの各頂点に対応した所定数の記憶領域のいずれか１つを指定する指定情報と、ポリゴンを構成する頂点の位置を指定する位置情報とが記録される。
【００２１】
請求項６に記載の記録媒体においては、少なくとも、前記描画処理装置のバッファメモリに保存された頂点情報を参照するための参照情報が記録される。
【００２２】
【発明の実施の形態】
図１は、本発明を応用したゲーム機用装置を真上から観察した場合の外観図である。同図に示すように、ゲーム機用装置１は、ゲーム機本体２と、このゲーム機本体２と接続する略４角形状をなした接続端子部２６を備えた操作装置１７と、操作装置１７を抜き差しする部分を同一形状にした記録装置３８とから構成されている。
【００２３】
図２は、ゲーム機本体２の背面から観察した場合の外観図である。また、図３は、ゲーム機本体２を側面から観察した場合の外観図である。図１乃至図３に示すように、ゲーム機本体２は、略４角形状に形成され、その中央部にゲーム媒体に相当するディスク（ＣＤ−ＲＯＭ：Compact Disc Read Only Memory）５１を装着するディスク装着部３と、ゲーム機本体２の所定の位置に、ゲームを任意のタイミングでリセットするリセットスイッチ４が設けられている。また、電源のオン／オフを行うための電源スイッチ５と、ディスク１の装着を操作するディスク操作スイッチ６と、複数の操作装置１７および記録装置３８を接続する接続部７Ａ，７Ｂなどから構成されている。
【００２４】
なお、ゲーム用媒体は、ディスクに限定されない。
【００２５】
また、このゲーム機本体２には、複数の操作装置１７および記録装置３８が接続できるようになされている。図１に示した実施例においては、２系統の操作装置１７および記録装置３８を接続する接続部７Ａ，７Ｂを設けた構造になっているが、２系統に限定されるものではないことは言うまでもない。
【００２６】
接続部７Ａ，７Ｂは、図２および図３に示したように、２段に形成され、上段には記録装置３８と接続する記録挿入部８を設け、下段には操作装置１７の接続端子部２６と接続する接続端子挿入部１２を設けた構造とされている。
【００２７】
記録挿入部８の挿入孔は、横方向に長い長方形状に形成され、その下側の両端のコーナを上側の両端のコーナに比べて丸みを多くして、記録装置３８が逆に挿入できない構造とされている。
【００２８】
シャッタ９は、記録装置３８を差し込むときには記録装置３８の挿入する先端側で奥側に開けられ、記録装置３８を抜いたときには自動的に閉じた状態となって、メモリ用接続端子の防埃の役目、および外部の衝撃から守る役目をするようになされている。
【００２９】
接続端子挿入部１２は、図２および図３に示したように、横方向に長い長方形状をした挿入孔の下側の両端のコーナを上側の両端のコーナに比べて丸みを多くした形状にして操作装置１７の接続端子部２６が逆に入らない構造とされ、かつ記録装置３８も入らないように挿入孔の形状を異にした構造とされている。このようにして、記録装置３８と操作装置１７の挿入孔の大きさ、および形状を異ならせるようにし、互いに入れ間違うことがないようになされている。
【００３０】
操作装置１７は、図１に示したように、左右の掌で挟持して５本の指が自由自在に動いて操作できる構造をしており、左右対称に連設した丸型形状に形成された第１の操作部１８、および第２の操作部１９と、これら第１の操作部１８、および第２の操作部１９から角状に突出形成した第１の支持部２０、および第２の支持部２１より構成される。
【００３１】
また、これら第１の操作部２０と、第２の操作部２１の中間位置の括れた部分にはセレクトスイッチ２２と、スタートスイッチ２３が設けられ、第１の操作部１８、および第２の操作部１９の前面側には、前面方向に突出した形状をなした第３の操作部２４、および第４の操作部２５が設けられている。さらに、ゲーム機本体２と操作装置１７をケーブル２７を介して電気的に接続するための接続端子部２６を備え、ケーブル２７の先端に取り付けられている。なお、ケーブル２７を介さなくてもよい構造としてもよい。
【００３２】
接続端子部２６の把持部３１Ａ、３１Ｂ（図示せず）は、所謂抜き差し部を形成し、その大きさ、即ち、その幅Ｗと長さＬは、記録装置３８の把持部４２Ａ、４２Ｂ（図示せず）と同一の大きさとされている。
【００３３】
記録装置３８の把持部４２Ａ，４２Ｂは、所謂ゲーム機本体２に抜き差しする抜き差し部であり、その大きさ、即ち、その幅と長さは、操作装置１７の接続端子部２６の把持部３１Ａ，３１Ｂと同一の大きさとされている。
【００３４】
即ち、記憶装置３８をゲーム機本体２に差し込んだときには、上から見ても、下から見ても、両サイドから見ても、接続端子部２６と同一形状に重なった状態でゲーム機本体２に装着できる構造となっている。そのため、記録装置３８を正確に装着しているか否かの判断を、目視によって簡単に行うことができる。
【００３５】
図４は、ゲーム機本体２に装着される記録媒体であるＣＤ−ＲＯＭ５１を示している。
【００３６】
図５は、図１乃至図３に示したゲーム機用装置１の構成例を示すブロック図である。ゲーム機用装置１は、同図に示すように、例えば図１に示したＣＤ−ＲＯＭ５１等の補助記憶装置（Ｓｔｏｒａｇｅ）７３に記憶されているゲームプログラムを読み出し、実行することにより、使用者からの指示に応じてゲームを行うものである。
【００３７】
このゲーム機用装置１は、２種類のバス、即ち、データ転送を比較的高速に行うメインバス（Ｍａｉｎ  Ｂｕｓ）７８と、比較的低速に行うサブバス（ＳｕｂＢｕｓ）７９とを備えている。メインバス７８とサブバス７９とは、バスコントローラ（Ｂｕｓ  Ｃｏｎｔｒｏｌｌｅｒ）６４を介して接続されており、データの授受を行うことができるようになされている。
【００３８】
上記メインバス７８には、マイクロプロセッサなどからなるメインＣＰＵ（主中央演算処理装置（Ｍａｉｎ  ＣＰＵ：Central Processing Unit））６１、ランダムアクセスメモリ（ＲＡＭ：Random Access Memory）からなる主記憶装置（メインメモリ（Ｍａｉｎ  Ｍｅｍｏｒｙ））６３、主ダイレクトメモリアクセスコントローラ（Ｍａｉｎ  ＤＭＡＣ：Direct Memory Access Controller）６２、ＭＰＥＧ（Moving Picture Experts Group）デコーダ（ＭＤＥＣ）６５、ＰＰＰ（Programable PreProcessor）６６、および画像処理装置（ＧＰＵ：Graphic Processing Unit）６７（描画手段）が接続されている。
【００３９】
また、サブバス７９には、マイクロプロセッサなどからなる副中央演算処理装置（Ｓｕｂ  ＣＰＵ：Central Processing Unit）７０、ランダムアクセスメモリからなる副記憶装置（サブメモリ（Ｓｕｂ  Ｍｅｍｏｒｙ））７１、サブＤＭＡＣ（Ｓｕｂ  ＤＭＡＣ）６９、オペレーティングシステム等のプログラムを記憶するＲＯＭ（Read Only Memory）７２、音声処理装置（ＳＰＵ：Sound Processing Unit）７６、通信制御部（ＡＴＭ：Asynchronous Transmission Mode）７５、補助記憶装置（Ｓｔｒａｇｅ）７３、および入力デバイス（Input Device）７４が接続されている。
【００４０】
バスコントローラ６４は、メインバス７８とサブバス７９との間のスイッチングを行う上記メインバス７８上のデバイスであって、初期状態ではオープンになっている。
【００４１】
また、メインＣＰＵ６１は、メインメモリ６３にロードされたプログラムに従って動作するメインバス７８上のデバイスであり、起動時に、バスコントローラ６４がオープンになっていることにより、サブバス７９上のＲＯＭ７２からブートプログラムを読み込んで実行し、補助記憶装置７３からアプリケーションプログラム、および必要なデータをメインメモリ６３やサブバス７９上のデバイスにロードするようになされている。
【００４２】
メインＣＰＵ６１には、例えば、３次元座標を２次元座標に変換するなどの座標変換等の処理を行うジオメトリトランスファエンジン（ＧＴＥ：Geometry Transfer Engine）６１Ａが搭載され、キャッシュメモリ（Ｃａｃｈｅ）６１Ｂを備えている。ＧＴＥ６１Ａは、例えば複数の演算を並列に実行する並列演算機構を備え、メインＣＰＵ６１からの演算要求に応じて座標変換、光源計算、行列演算、ベクトル演算などを高速に行うようになされている。
【００４３】
また、メインＣＰＵ６１は、ＧＴＥ６１Ａによる演算結果であるポリゴンデータを、メインバス７８を介して、メインメモリ６３に供給するようになされている。
【００４４】
メインＤＭＡＣ６２は、メインバス７８上のデバイスを対象とするＤＭＡ転送の制御等を行うメインバス７８上のデバイスである。このメインＤＭＡＣ６２は、バスコントローラ６４がオープンになっているとき、サブバス７９上のデバイスも対象とする。
【００４５】
ＰＰＰ６６は、図６を参照して後述するように、メインメモリ６３から、ポリゴンデータを読み出し、例えば、ポリゴンデータに対して所定のポリゴンに分割するポリゴン分割処理等の前処理を施した後、ＧＰＵ６７に供給するようになされている。
【００４６】
ＧＰＵ６７は、レンダリングプロセッサとして機能するメインバス７８上のデバイスであり、ＰＰＰ６６より供給される前処理が施されたポリゴンデータ（例えば、ポリゴンの各頂点の３次元座標値）から、ポリゴンを構成する全ての画素の色と３次元座標値を構成するＺ値を考慮して、各画素に対応する画素データをフレームバッファ６８に書き込むレンダリング処理を行うようになされている。即ち、ポリゴンデータを構成する各頂点のデータには、その頂点の色データが含まれている。
【００４７】
ＭＤＥＣ６５は、メインＣＰＵ６１と並列に動作可能なＩ／Ｏ接続デバイスであって、画像伸張エンジンとして機能するメインバス７８上のデバイスである。ＭＤＥＣ６５は、離散コサイン変換などの直交変換により圧縮され、符号化された画像データを復号化するようになされている。
【００４８】
サブＣＰＵ７０は、サブメモリ７１にロードされたプログラムに従って動作するサブバス７９上のデバイスである。サブＤＭＡＣ６９は、サブバス７９上のデバイスを対象とするＤＭＡ転送の制御等を行うサブバス７９上のデバイスであり、バスコントローラ６４がクローズになっているときのみ、バス権利を獲得することができるようになされている。
【００４９】
ＳＰＵ７６は、サウンドプロセッサとして機能するサブバス７９上のデバイスであり、サブＣＰＵ７０またはサブＤＭＡＣ６９からコマンドパケットとして送られてくるサウンドコマンドに応じて、サウンドメモリ７７から波形データや譜面データ等の音声データを読み出し、対応する音声信号を出力するようになされている。
【００５０】
ＡＴＭ７５は、サブバス７９上の通信用デバイスであり、公衆回線との間で行う通信を制御するようになされている。補助記憶装置７３は、サブバス７９上のデータ入力デバイスであり、ディスクドライブ等より構成される。
【００５１】
入力デバイス７４は、サブバス７９上のコントロールパッドやマウス等のマンマシンインタフェース７４Ａ、他の機器からの画像を入力する画像入力部（Ｖｉｄｅｏ  Ｉｎｐｕｔ）７４Ｂ、音声を入力する音声入力部（Ａｕｄｉｏ  Ｉｎｐｕｔ）７４Ｃ等からなる入力用デバイスである。
【００５２】
図６は、ポリゴン処理装置９０の詳細な構成例を示している。ポリゴン処理装置９０は、描画処理部８０とメインメモリ６３より構成され、描画処理部８０は、ＰＰＰ６６および３角形描画処理部（ＧＰＵ）６７より構成される。ＰＰＰ６６は前処理部８１（制御手段、読み出し手段）、キューバッファ８６（保存手段）、および頂点レジスタ８２乃至８４（記憶手段）より構成される。
【００５３】
ＰＰＰ６６を構成する前処理部８１は、メインメモリ６３に記憶されているポリゴンデータを読み出し、それを頂点レジスタ８２乃至８４の対応するものに供給するようになされている。
【００５４】
頂点レジスタ８２乃至８４は、前処理部８１より供給されるポリゴンデータを記憶するようになされており、そのとき、１つのポリゴンを構成する３つの頂点に対応する位置座標等の頂点データをひとまとめとして記憶するようになされている。即ち、頂点レジスタ８２乃至８４に記憶された頂点データは、１つのポリゴンを構成する。そして、記憶した１つのポリゴンを構成する３つの頂点データをＧＰＵ６７に供給するようになされている。
【００５５】
以下、説明の便宜上、頂点レジスタ８２，８３，８４にそれぞれ頂点レジスタ番号Ａ，Ｂ，Ｃを対応づけ、適宜、頂点レジスタＡ，Ｂ，Ｃと呼ぶことにする。
【００５６】
図７および図８は、連結ポリゴンデータを構成する各頂点データのフォーマットを表している。図７に示した頂点データにおいては、データの中に直接座標値を持ち、この頂点データが格納されるべき頂点レジスタ８２乃至８４の所定のものに対応する頂点レジスタ番号、頂点データをキューバッファ８６に保存するか否かを表す保存フラグ、および３次元座標値により構成される。この場合、座標値は３次元の値であるため、Ｘ座標値、Ｙ座標値、およびＺ座標値の３つ値で構成される。
【００５７】
図８に示した頂点データにおいては、データの中に座標値を持つ代わりに、キューバッファ８６の中のデータを参照するためのインデックス値を有し、この頂点データが格納されるべき頂点レジスタ８２乃至８４の所定のものに対応する頂点レジスタ番号、および参照すべきキューバッファ８６上の所定のデータを指すインデックス値より構成される。キューバッファ８６には、所定の頂点の３次元座標値が、インデックス値に対応づけられて記憶されており、インデックス値を指定することにより、所望の頂点の３次元座標値を取得することができるようになされている。
【００５８】
図７および図８に示した頂点データを比較すると、インデックス値は座標値に比べてデータ量が非常に少ないことがわかる。
【００５９】
次に、図９および図１０を参照して、変則的に組み合わされた連結ポリゴンを処理する手順について説明する。図９は、変則的な連結ポリゴンの例を示しており、９個の頂点の組み合わせにより、７個のポリゴンが定義されている。図１０は、図９に示した連結ポリゴンが処理される過程において、ＰＰＰ６６内の頂点レジスタＡ乃至Ｃの値が変化する様子を示している。また、図１０において、「Ｐ１→Ａ」は、頂点Ｐ１の位置情報（３次元座標値）が、頂点レジスタＡにセットされることを表している。
【００６０】
図９に示した連結ポリゴンの場合、図７に示したようなフォーマットの頂点データだけが用いられる。
【００６１】
最初、ＰＰＰ６６の前処理部８１は、メインメモリ６３から、ポリゴンデータを読み出し、頂点レジスタ番号で示された頂点レジスタＡ乃至Ｃの所定のものに、Ｘ座標値、Ｙ座標値、およびＺ座標値を記憶させる。
【００６２】
図９に示したような連結ポリゴンの場合、頂点Ｐ１に対応する３次元座標値が頂点レジスタＡに格納される。次に、頂点Ｐ２に対応する３次元座標値が頂点レジスタＢに格納される。さらに、頂点Ｐ３に対応する３次元座標値が頂点レジスタＣに格納される。これにより、頂点レジスタＡ乃至Ｃには、１つのポリゴンを構成する頂点Ｐ１，Ｐ２，Ｐ３の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００６３】
次に、頂点Ｐ４に対応する３次元座標値が頂点レジスタＡに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ２，Ｐ３の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００６４】
次に、頂点Ｐ５に対応する３次元座標値が頂点レジスタＢに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ５，Ｐ３の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００６５】
次に、頂点Ｐ６に対応する３次元座標値が頂点レジスタＣに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ５，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００６６】
次に、頂点Ｐ７に対応する３次元座標値が頂点レジスタＢに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ７，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００６７】
次に、頂点Ｐ８に対応する３次元座標値が頂点レジスタＡに格納される。これにより、次のポリゴンを構成する頂点Ｐ８，Ｐ７，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００６８】
さらに、頂点Ｐ９に対応する３次元座標値が頂点レジスタＢに格納される。これにより、次のポリゴンを構成する頂点Ｐ８，Ｐ９，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００６９】
ＧＰＵ６７は、ＰＰＰ６６の頂点レジスタＡ乃至Ｃより供給された所定のポリゴンを構成する頂点の３次元座標値に基づいて、ポリゴンを構成する画素データを、フレームバッファ６８の対応する位置に書き込む。そして、ＧＰＵ６７は、フレームメモリ６８から画素データを読み出し、ビデオ信号に変換した後、出力し、図示せぬディスプレイ等に表示させる。
【００７０】
このように、所定のポリゴン（この場合、頂点Ｐ１，Ｐ２，Ｐ３で構成されるポリゴン）を定義し、そのポリゴンを構成する頂点群（この場合、頂点Ｐ１，Ｐ２，Ｐ３）のうちのどの頂点を置き換えるべきかという情報を頂点データに持たせ、頂点データを指定された頂点レジスタに順次セットすることにより、上述したストリップ型やファン型等の連結規則に代わるデータを、頂点データの中に組み込むことができ、連結ポリゴンが表現できる形状の自由度を高くすることができる。
【００７１】
その結果、１つの形状を表すために必要とされる連結ポリゴンの数を少なくすることができ、データ量を削減することができる。
【００７２】
次に、図１１および図１２を参照して、頂点データの共有率を上げるようにした頂点データからなる連結ポリゴンを処理する手順について説明する。図１１は、図１５に示したものと同一の連結ポリゴンの例を示しており、１２個の頂点の組み合わせにより、１２個のポリゴンが定義されている。図１２は、図１１に示した連結ポリゴンが処理される過程において、ＰＰＰ６６内の頂点レジスタＡ乃至Ｃの値が変化する様子を示している。また、図１２において、「Ｐ１→Ａ」は、頂点Ｐ１の位置情報（３次元座標値）が、頂点レジスタＡにセットされることを表している。また、「Ｐ２→Ｂ→保存」は、頂点Ｐ２の位置情報を頂点レジスタＢにセットした後、キューバッファ８６に保存させることを表している。
【００７３】
図１１に示した連結ポリゴンの場合、図７および図８に示したような２種類のフォーマットの頂点データが用いられる。また、図１１において、頂点Ｐ２，Ｐ４の数字の部分が白抜きとされているのは、その頂点の３次元座標値が複数のポリゴンによって共有されることを表している。
【００７４】
最初、ＰＰＰ６６の前処理部８１により、メインメモリ６３から、頂点Ｐ１に対応する頂点データが読み出され、頂点Ｐ１に対応する３次元座標値が頂点レジスタＡに格納される。同様にして、次に、頂点Ｐ２に対応する３次元座標値が頂点レジスタＢに格納される。このとき、頂点Ｐ２の頂点データの保存フラグがＯＮとなっており、頂点Ｐ２に対応する３次元座標値は、後述する頂点Ｐ１２，Ｐ２，Ｐ１１によって構成されるポリゴンにおいて再利用されるので、キューバッファ８６にも供給され、記憶される。そして、次に、頂点Ｐ３に対応する３次元座標値が頂点レジスタＣに格納される。これにより、１つのポリゴンを構成する頂点Ｐ１，Ｐ２，Ｐ３の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００７５】
次に、頂点Ｐ４に対応する３次元座標値が頂点レジスタＡに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ２，Ｐ３の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。また、頂点Ｐ４の頂点データの保存フラグはＯＮになっており、頂点Ｐ４に対応する３次元座標値は、後述する頂点Ｐ４，Ｐ１０，Ｐ１１によって構成されるポリゴンにおいて再利用されるので、キューバッファ８６にも供給され、記憶される。
【００７６】
次に、頂点Ｐ５に対応する３次元座標値が頂点レジスタＢに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ５，Ｐ３の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００７７】
次に、頂点Ｐ６に対応する３次元座標値が頂点レジスタＣに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ５，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００７８】
次に、頂点Ｐ７に対応する３次元座標値が頂点レジスタＡに格納される。これにより、次のポリゴンを構成する頂点Ｐ７，Ｐ５，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００７９】
次に、頂点Ｐ８に対応する３次元座標値が頂点レジスタＢに格納される。これにより、次のポリゴンを構成する頂点Ｐ７，Ｐ８，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００８０】
次に、頂点Ｐ９に対応する３次元座標値が頂点レジスタＡに格納される。これにより、次のポリゴンを構成する頂点Ｐ９，Ｐ８，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００８１】
次に、頂点Ｐ１０に対応する３次元座標値が頂点レジスタＢに格納される。これにより、次のポリゴンを構成する頂点Ｐ９，Ｐ１０，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００８２】
次に、キューバッファ８６に保存されている頂点Ｐ４の３次元座標値が読み出され、頂点レジスタＡに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ１０，Ｐ６の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００８３】
次に、頂点Ｐ１１に対応する３次元座標値が頂点レジスタＣに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ１０，Ｐ１１の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００８４】
次に、キューバッファ８６に保存されている頂点Ｐ２の３次元座標値が読み出され、頂点レジスタＢに格納される。これにより、次のポリゴンを構成する頂点Ｐ４，Ｐ２，Ｐ１１の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００８５】
次に、頂点Ｐ１２に対応する３次元座標値が頂点レジスタＡに格納される。これにより、次のポリゴンを構成する頂点Ｐ１２，Ｐ２，Ｐ１１の３次元座標値が頂点レジスタＡ乃至Ｃに格納されたことになる。これらの３次元座標値は、ＧＰＵ６７に供給される。
【００８６】
ＧＰＵ６７は、ＰＰＰ６６の頂点レジスタＡ乃至Ｃより供給された所定のポリゴンを構成する頂点の３次元座標値に基づいて、ポリゴンを構成する画素データを、フレームバッファ６８の対応する位置に書き込む。そして、ＧＰＵ６７は、フレームメモリ６８から画素データを読み出し、ビデオ信号に変換した後、出力し、図示せぬディスプレイ等に表示させる。
【００８７】
このように、過去に処理された頂点の３次元座標値を保存しておき、後にその頂点の３次元座標値を参照するポリゴンが現れた場合には、保存しておいた値を再利用することにより、連結ポリゴンを作成するために必要とされるデータ量を削減することができる。
【００８８】
なお、上記実施例においては、頂点データを構成する座標値を３次元座標値としたが、２次元座標値とすることもできる。
【００８９】
また、上記実施例においては、ポリゴンの形状を３角形としたが、４角形とすることもできる。その場合、頂点レジスタの数を４つとし、頂点レジスタを２つずつ置き換えるようにすればよい。同様に、その他の任意の多角形とすることが可能である。
【００９０】
【発明の効果】
請求項１に記載の描画処理装置、および請求項３に記載の描画処理方法によれば、ポリゴンの各頂点に対応した所定数の記憶領域に、頂点情報を記憶し、頂点情報に付加された記憶領域の所定のものを指定する指定情報に基づいて、頂点情報を指定情報に対応する記憶領域の所定のものに記憶させ、記憶領域に記憶された頂点情報に基づいて、ポリゴンを描画するようにしたので、連結ポリゴンが表現できる形状の自由度を大きくすることができる。これにより、所定の形状をより少ない数の連結ポリゴンで表現することができ、データ量を削減することが可能となる。
【００９１】
請求項２に記載の描画処理装置、および請求項４に記載の描画処理方法によれば、頂点情報を保存し、新たな頂点の頂点情報が、位置情報に代えて、保存されている頂点情報を参照するための参照情報を含むとき、保存された参照情報に対応する頂点情報を読み出し、読み出した頂点情報と既存のポリゴンが有する頂点の頂点情報に基づいて、ポリゴンを描画するようにしたので、再利用可能な頂点の位置情報を保存することができ、その頂点の位置情報を参照するポリゴンを定義するとき、保存された位置情報を再利用することができるので、データ量を削減することが可能となる。
【００９２】
請求項５に記載の記録媒体によれば、少なくとも、描画処理装置が備える記憶装置を構成する、頂点情報を記憶するポリゴンの各頂点に対応した所定数の記憶領域のいずれか１つを指定する指定情報と、ポリゴンを構成する頂点の位置を指定する位置情報とが記録されるようにしたので、連結ポリゴンが表現できる形状の自由度を大きくすることができる。これにより、所定の形状をより少ない数の連結ポリゴンで表現することができ、データ量を削減することが可能となる。
【００９３】
請求項６に記載の記録媒体によれば、少なくとも、描画処理装置のバッファメモリに保存された頂点情報を参照するための参照情報が記録されるようにしたので、再利用可能な頂点の位置情報を保存し、その頂点の位置情報を参照するポリゴンを定義するとき、保存された位置情報を再利用するようにすることができるので、データ量を削減することが可能となる。
【図面の簡単な説明】
【図１】本発明を応用したゲーム機用装置の全体構成を示す外観図である。
【図２】図１に示したゲーム機用装置の正面図である。
【図３】図１に示したゲーム機用装置の側面図である。
【図４】図１に示したゲーム機用装置に装着されるＣＤ−ＲＯＭを示す図である。
【図５】図１に示したゲーム機用装置の構成例を示すブロック図である。
【図６】図５において、ポリゴン処理を行う部分の詳細な構成を示すブロック図である。
【図７】ポリゴンデータのフォーマットを示す図である。
【図８】ポリゴンデータの他のフォーマットを示す図である。
【図９】変則的な連結ポリゴンの例を示す図である。
【図１０】図９に示した連結ポリゴンを処理するときの頂点レジスタの値の変化を示す図である。
【図１１】頂点データを共有する場合の連結ポリゴンの例を示す図である。
【図１２】図１１に示した連結ポリゴンを処理するときの頂点レジスタの値の変化を示す図である。
【図１３】ポリゴン表現された３次元形状の例を示す図である。
【図１４】基本的な連結ポリゴンの例を示す図である。
【図１５】複雑な頂点共有関係にある連結ポリゴンの例を示す図である。
【符号の説明】
１  ゲーム機用装置，２  ゲーム機本体，３  ディスク装着部，４  リセットスイッチ，５  電源スイッチ，６  ディスク操作スイッチ，７Ａ，７Ｂ  接続部，８  記録挿入部，９  シャッタ，１２  接続端子挿入部，１７  操作装置，１８，１９，２４，２５  操作部，２０，２１  支持部，２２  セレクトスイッチ，２３  スタートスイッチ，  ２６  接続端子部，２７  ケーブル，３８  記録装置，３１Ａ，４２Ａ  把持部，５１  ＣＤ−ＲＯＭ，６１  Ｍａｉｎ  ＣＰＵ，６２  Ｍａｉｎ  ＤＭＡＣ，６３  Ｍａｉｎ  Ｍｅｍｏｒｙ，６４  Ｂｕｓ  Ｃｏｎｔｒｏｌｌｅｒ，６５  ＭＤＥＣ，６６  ＰＰＰ，６７  ＧＰＵ，６８  Ｇｒａｐｈｉｃｓ  Ｍｅｍｏｒｙ，６９  Ｓｕｂ  ＤＭＡＣ，７０  Ｓｕｂ  ＣＰＵ，７１  Ｓｕｂ  Ｍｅｍｏｒｙ，７２  ＲＯＭ，７３  Ｓｔｏｒａｇｅ，７４  Ｉｎｐｕｔ  Ｄｅｖｉｃｅ，７５  ＡＴＭ，７６  ＳＰＵ，７７  Ｓｏｕｎｄ  Ｍｅｍｏｒｙ，８０描画処理部，８１  前処理部，８２，８３，８４  頂点レジスタ，８６  キューバッファ
【図１】
0003792776.tif 000002
【図２】
0003792776.tif 000003
【図３】
0003792776.tif 000004
【図４】
0003792776.tif 000005
【図５】
0003792776.tif 000006
【図６】
0003792776.tif 000007
【図７】
0003792776.tif 000008
【図８】
0003792776.tif 000009
【図９】
0003792776.tif 000010
【図１０】
0003792776.tif 000011
【図１１】
0003792776.tif 000012
【図１２】
0003792776.tif 000013
【図１３】
0003792776.tif 000014
【図１４】
0003792776.tif 000015
【図１５】
0003792776.tif 000016