(57)【特許請求の範囲】
【請求項１】
画像表示すべき物体を構成する３次元画像情報の単位となる多角形領域に対してテクスチャ画像を張り付けるテクスチャマッピング装置において、
上記多角形領域内の代表点を抽出する代表点抽出手段と、
上記多角形領域の頂点及び上記代表点抽出手段により抽出された代表点の座標について透視変換を行う透視変換手段と、
上記多角形領域を、上記多角形領域の頂点と上記代表点の少なくとも一つとに基づいて複数の小領域に分割し、各小領域毎にサブ描画命令を生成し、各サブ描画命令に次に処理すべきサブ描画命令のアドレスを設定することで描画命令リストを作成する制御手段と、
上記描画命令リストに基づいて、上記透視変換手段により透視変換された上記多角形領域の頂点及び／又は上記透視変換された代表点の間を線形補間する線形補間手段とを備え、
上記線形補間手段による補間出力として、上記描画命令に基づいて上記小領域毎にテクスチャ画像を張り付けた画像情報を得ることを特徴とするテクスチャマッピング装置。
【請求項２】
上記代表点抽出手段は、上記多角形領域の大きさに応じて適応的に変えた数の代表点を抽出することを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項３】
透視変換手段と代表点抽出手段と制御手段と線形補間手段とを備えたテクスチャマッピング装置で実行され、画像表示すべき物体を構成する３次元画像情報の単位となる多角形領域に対してテクスチャ画像を張り付けるテクスチャマッピング方法において、
前記透視変換手段が、上記多角形領域の頂点座標を透視変換し、
前記代表点抽出手段が、上記多角形領域内の代表点を抽出し、
前記透視変換手段が、上記代表点抽出手段により抽出された代表点の座標について透視変換を行い、
前記制御手段が、上記多角形領域を、上記多角形領域の頂点と上記代表点の少なくとも一つとに基づいて複数の小領域に分割し、各小領域毎にサブ描画命令を生成し、各サブ描画命令に次に処理すべきサブ描画命令のアドレスを設定することで描画命令リストを作成し、
前記線形補間手段が、上記描画命令リストに基づいて、上記透視変換手段により透視変換された上記多角形領域の頂点及び／又は上記透視変換された代表点の間を線形補間することで、上記描画命令に基づいて上記小領域毎にテクスチャ画像を張り付けた画像情報を出力することを特徴とするテクスチャマッピング方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ビデオゲーム機やグラフィックコンピュータなどのコンピュータグラフィックを応用した機器において、テクスチャマッピングの手法を使って画像を作成するようなテクスチャマッピング装置に関するものである。
【０００２】
【従来の技術】
従来、家庭用ＴＶゲーム機やパーソナルコンピュータあるいはグラフィックコンピュータなどにおいて、テレビジョン受像機やモニタ受像機あるいはＣＲＴディスプレイ装置などに出力されて表示される画像のデータすなわち表示出力画像データを生成する画像生成装置では、ＣＰＵとフレームバッファの間に専用の描画装置を設けることにより、高速処理を可能にしている。
【０００３】
上記画像生成装置において、ＣＰＵは、画像を生成する際に、直接フレームバッファをアクセスするのではなく、基本的な３角形や４角形などの基本的な図形を描画する描画命令を描画装置に送る。そして、描画装置は、ＣＰＵから送られてきた描画命令を解釈して、フレームバッファに図形を描画する。上記描画装置が扱う図形の最小単位をポリゴンあるいはプリミティブと呼び、プリミティブを描画する命令をディスプレイリストあるいは描画命令と呼ぶ。
【０００４】
例えば図１３（Ａ）に示すような３次元のオブジェクトＯＢを表示する場合は、図１３の（Ｂ）に示すように、オブジェクトＯＢを３つのプリミティブＰａ，Ｐｂ，Ｐｃに分解して、各プリミティブＰａ，Ｐｂ，Ｐｃに対応する描画命令をＣＰＵから描画装置に転送する。
【０００５】
この際に、オブジェクトをより実際に近く表現するするために、テクスチャマッピングと呼ばれる手法を採用することが多い。
【０００６】
テクスチャマッピングとは、例えば図１４に示すようにテクスチャソース画像として別に用意された２次元画像すなわちテクスチャパターンＴｘを物体を構成するポリゴンの表面に張り付ける技術である。この図１４には、上記図１３の（Ａ）に示したオブジェクトＯＢの表面にテクスチャマッピングを行った例を示している。
【０００７】
最も回路規模が小さく高速なテクスチャマッピングの手法として、１次変換が知られている。１次変換では、ポリゴン内部の点Ａ（ｘ，ｙ）に対応するテクスチャソース画像の座標Ｂ（ｕ，ｖ）が、
ｕ＝ａｘ＋ｂｙ
ｖ＝ｃｘ＋ｄｙ
にて計算される。ここで、ａ，ｂ，ｃ，ｄは、ポリゴンの形状によって決定される定数である。この１次変換を用いたテクスチャマッピングでは、例えば図１５に示すような市松模様状のテクスチャパターンＴｘをポリゴンの表面に張り付ける場合、その１例を図１６の（Ａ）に示すように、平行四辺形以外の形状への変形を伴うマッピングを行うと、対角線上に歪みが発生する。
【０００８】
上記１次変換における歪みの発生を軽減したテクスチャマッピングの手法として、２次変換が知られている。２次変換では、ポリゴン内部の点Ａ（ｘ，ｙ）に対応するテクスチャソース画像の座標Ｂ（ｕ，ｖ）が、
ｕ＝ａｘ＋ｂｘｙ＋ｃｙ
ｖ＝ｄｘ＋ｅｘｙ＋ｆｙ
にて計算される。ここで、ａ，ｂ，ｃ，ｄ，ｅ，ｆは、ポリゴンの形状によって決定される定数である。この２次変換を用いたテクスチャマッピングでは、計算量が上記１次変換よりも多いが、図１６の（Ｂ）に示すような自然なマッピング画像を得ることができる。ただし、本来ならば奥行き方法のパターンは、手前方向のパターンよりも縮小されて見えなくてはならないにも拘わらず、そうなってはいない。
【０００９】
このような現象を根本的に解決する方法として透視変換と呼ばれる変換方法が知られている。透視変換では、ポリゴン内部の点Ａ（ｘ，ｙ，ｚ）に対応するテクスチャソース画像の座標Ｂ（ｕ，ｖ）が、
ｕ＝（ａｘ＋ｂｙ）／ｚ
ｖ＝（ｃｘ＋ｄｙ）／ｚ
にて計算される。ここで、ａ，ｂ，ｃ，ｄは、ポリゴンの形状によって決定される定数である。この透視変換を用いたテクスチャマッピングでは、計算に当たって、ポリゴンがスクリーン上に投影される前の奥行きの情報（ｚ）が必要な上、テクスチャマッピングを行う各点に対して１回の除算を行う必要があり、リアルタイムシステムにおいては現実的ではないが、図１６の（Ｃ）に示すような現実感のある極めて自然なマッピング画像を得ることができる。
【００１０】
【発明が解決しようとする課題】
ところで、上述のように１次変換を用いたテクスチャマッピングでは、平行四辺形以外の形状への変形を伴うマッピングを行うと、対角線上に歪みが発生するという問題点がある。
【００１１】
また、上記２次変換を用いたテクスチャマッピングでは、上記１次変換と比較して自然なマッピング画像を得ることができるのであるが、本来ならば奥行き方向のパターンは、手前方向のパターンよりも縮小されて見えなくてはならないにも拘わらず、そうなってはいないという問題点がある。
【００１２】
さらに、上記透視変換を用いたテクスチャマッピングでは、現実感のある極めて自然なマッピング画像を得ることができるのであるが、計算に当たって、ポリゴンがスクリーン上に投影される前の奥行きの情報（ｚ）が必要な上、テクスチャマッピングを行う各点に対して１回の除算を行う必要があり、リアルタイムシステムにおいては現実的ではないという問題点がある。
【００１３】
そこで、本発明の目的は、リアルタイムでテクスチャマッピングを行うに当たり、少ない計算量で、より現実感のある自然なマッピング画像を得ることができるようにすることにある。
【００１４】
【課題を解決するための手段】
本発明は、画像表示すべき物体を構成する３次元画像情報の単位となる多角形領域に対してテクスチャ画像を張り付けるテクスチャマッピング装置において、上記多角形領域内の代表点を抽出する代表点抽出手段と、上記代表点抽出手段により抽出された代表点の座標について透視変換を行う透視変換手段と、上記透視変換手段により透視変換された代表点間を線形補間する線形補間手段とを備え、上記線形補間手段による補間出力として、上記多角形領域に対してテクスチャ画像を張り付けた画像情報を得ることを特徴とする。
【００１５】
また、本発明に係るテクスチャマッピング装置は、上記代表点抽出手段により上記多角形領域の大きさに応じて適応的に変えた数の代表点を抽出することを特徴とする。
【００１６】
【作用】
本発明に係るテクスチャマッピング装置では、画像表示すべき物体を構成する３次元画像情報の単位となる多角形領域内の代表点を代表点抽出手段により抽出し、その代表点の座標を透視変換手段により透視変換してから、代表点間を線形補間する。
【００１７】
上記代表点抽出手段は、抽出する代表点の数を上記多角形領域の大きさに応じて適応的に変える。
【００１８】
【実施例】
以下、本発明に係るテクスチャマッピング装置の一実施例について図面を参照して詳細に説明する。
【００１９】
本発明に係るテクスチャマッピング装置は、例えば図１に示すように、ビデオゲーム装置に適用される。
【００２０】
このビデオゲーム装置は、例えば光学ディスク等の補助記憶装置に記憶されているゲームプログラムを読み出して実行することにより、使用者からの指示に応じてゲームを行うものであって、図１に示すような構成を有している。
【００２１】
すなわち、このビデオゲーム装置は、中央演算処理装置(CPU:Central Processing Unit) ５１及びその周辺装置等からなる制御系５０と、フレームバッファ６３に描画を行なう画像処理装置(GPU:Graphic Processing Unit) ６２等からなるグラフィックシステム６０と、楽音，効果音等を発生する音声処理装置(SPU:Sound Processing Unit) 等からなるサウンドシステム７０と、補助記憶装置である光学ディスクの制御を行なう光学ディスク制御部８０と、使用者からの指示を入力するコントローラからの指示入力及びゲームの設定等を記憶する補助メモリからの入出力を制御する通信制御部９０と、上記制御系５０〜通信制御部９０が接続されているバス１００等を備えている。
【００２２】
上記制御系５０は、ＣＰＵ５１と、割り込み制御やダイレクトメモリアクセス(DMA:Direct Memory Access) 転送の制御等を行なう周辺デバイスコントローラ５２と、ランダムアクセスメモリ(RAM:Random Access Memory)からなる主記憶装置（メインメモリ）５３と、メインメモリ５３，グラフィックシステム６０，サウンドシステム７０等の管理を行なういわゆるオペレーティングシステム等のプログラムが格納されたリードオンリーメモリ(ROM:Read Only Memory)５４とを備えている。上記ＣＰＵ５１は、ＲＯＭ５４に記憶されているオペレーティングシステムを実行することにより装置全体の制御を行なうもので、３２ビットのＲＩＳＣ ＣＰＵからなる。
【００２３】
そして、このビデオゲーム装置は、電源が投入されると、上記制御系５０のＣＰＵ５１が、ＲＯＭ５４に記憶されているオペレーティングシステムを実行することにより、上記グラフィックシステム６０、サウンドシステム７０等の制御を行なうようになっている。また、オペレーティングシステムが実行されると、ＣＰＵ５１は、動作確認等の装置全体の初期化を行なった後、上記光学ディスク制御部８０を制御して、光学ディスクに記録されているゲーム等のプログラムを実行する。このゲーム等のプログラムの実行により、ＣＰＵ５１は、使用者からの入力に応じて上記グラフィックシステム６０、サウンドシステム７０等を制御して、画像の表示、効果音、楽音の発生を制御する。
【００２４】
また、上記グラフィックシステム６０は、座標変換等の処理を行なうジオミトリトランスファエンジン(GTE:Geometry Transfer Engine)６１と、ＣＰＵ５１からの描画指示に従って描画を行なうＧＰＵ６２と、該ＧＰＵ６２により描画された画像を記憶するフレームバッファ６３と、離散コサイン変換などの直行変換により圧縮されて符号化された画像データを復号化する画像デコーダ６４とを備えている。
【００２５】
上記ＧＴＥ６１は、例えば複数の演算を並列に実行する並列演算機構を備え、上記ＣＰＵ５１からの演算要求に応じて座標変換，光源計算，行列あるいはベクトルなどの演算を高速に行なうことができるようになっている。具体的には、このＧＴＥ６１は、例えば１つの三角形状のポリゴンに同じ色で描画するフラットシェーディングを行なう演算の場合では、１秒間に最大１５０万程度のポリゴンの座標演算を行なうことができるようになっており、これによって、このビデオゲーム装置では、ＣＰＵ５１の負荷を低減するとともに、高速な座標演算を行なうことができるようになっている。
【００２６】
また、上記ＧＰＵ６２は、ＣＰＵ５１からの描画命令に従って、フレームメモリ６２に対して多角形（ポリゴン）等の描画を行なう。このＧＰＵ６２は、１秒間に最大３６万程度のポリゴンの描画を行なうことができるようになっている。
【００２７】
この実施例において、上記ＣＰＵ５１は、メインメモリ５３上に１画面分の画像を生成するための描画命令列を有している。描画命令には、その一部に実行すべき描画命令のアドレスが保持されている。上記周辺デバイスコントローラ５２として設けられているＤＭＡコントローラは、描画命令を上記メインメモリ５３から上記ＧＰＵ６２に転送する。上記ＧＰＵ６２は、上記ＤＭＡコントローラから受け取った描画命令を実行して、その結果をフレームバッファ６３に書き込む。上記ＤＭＡコントローラは、描画命令を１つ転送するとそれに組み込まれたアドレスをたどって次の命令を実行する。
【００２８】
ここで、例えば図２に示すように、台形状のポリゴンＰＧに市松模様状のテクスチャパターンＴｘをマッピングして描画を行う場合、そのテクスチャマッピング付きの描画を行うための４角形ＡＢＤＣの描画命令Ａは、図３のように示される。
【００２９】
すなわち、描画に当たっては、描画する４角形ＡＢＤＣの頂点座標（ＸＡ，ＹＡ），（ＸＢ，ＹＢ），（ＸＤ，ＹＤ），（ＸＣ，ＹＣ）および各頂点に対応するテクスチャ座標（ＵＡ，ＶＡ），（ＵＢ，ＶＢ），（ＵＤ，ＶＤ），（ＵＣ，ＶＣ）が記述される。この描画命令列を実行すると上記ＧＰＵ６２は、１次変換を伴うテクスチャマッピングで装飾されたポリゴンを上記フレームバッファ６３上に描画する。
【００３０】
そして、この実施例において、１画面分の画像を構成するときの処理は、例えば図４のフローチャートに示すように、先ずステップＳ１で変換マトリクスを求め、次のステップＳ２では描画命令Ａおよび描画命令の奥行き（ＺＡ，ＺＢ，ＺＤ，ＺＣ）が与えられると、各頂点座標（ＸＡ，ＹＡ），（ＸＢ，ＹＢ），（ＸＤ，ＹＤ），（ＸＣ，ＹＣ）を透視変換する。
【００３１】
そして、ステップＳ３では、上記描画命令Ａに記述された頂点座標（ＸＡ，ＹＡ），（ＸＢ，ＹＢ），（ＸＤ，ＹＤ），（ＸＣ，ＹＣ）から、透視変換後の大きさ（ΔＸ，ΔＹ）を計算する。これによりステップＳ４において、例えば図５に示すように、代表点Ｐｎの個数と場所を決定する。このように、ポリゴンの大きさによって、代表点Ｐｎの個数を適応的に変化させることにより、計算量を最適化することができる。
【００３２】
次のステップＳ５では、上記ステップＳ４で決定された代表点Ｐｎの数が複数であるか否かの判定を行い、複数の場合にはステップＳ６に移って、各代表点Ｐｎの座標（ＵＰｎ，ＶＰｎ）に対応する頂点座標（Ｘｎ，Ｙｎ）を透視変換により決定する。
【００３３】
そして、ステップＳ７では、四角形ＡＢＣＤをそれぞれ代表点を頂点に４つの小四角形ＡＰ０Ｐ２Ｐ１，Ｐ０ＢＰ３Ｐ２，Ｐ１Ｐ２Ｐ４Ｃ，Ｐ２Ｐ３ＤＰ４に分割し、それぞれの描画命令列Ｂ０〜Ｂ４を生成する。すなわち、各サブ描画命令列Ｂｎの頂点座標・テクスチャ座標として、先に計算された（ＸＡ，ＹＡ），（ＸＢ，ＹＢ），（ＸＣ，ＹＣ），（ＸＤ，ＹＤ）および（ＵＰ０，ＶＰ０），（ＵＰ１，ＶＰ１），（ＵＰ２，ＶＰ２），（ＵＰ３，ＶＰ３），（ＵＰ４，ＶＰ４）の値を設定する。
【００３４】
なお、上記ステップＳ４で決定された代表点が１個の場合にはステップ８に移って直ちに描画命令を作成する。
【００３５】
次のステップＳ９では、図６に示すように、サブ描画命令列Ｂｎ−１のタグにサブ描画命令列Ｂｎのアドレスを設定することで描画命令リストを作成し、この描画命令リストを元の描画命令Ａと置き換える。
【００３６】
そして、次のステップＳ９では全てのポリゴンについて処理を終了したか否かの判定を行い、未処理のポリゴンがある場合には、上記ステップＳ２に戻って、新たなポリゴンの頂点座標を透視変換する。
【００３７】
また、上記ステップＳ９において未処理のポリゴンがない場合には、ステップＳ１１で前のフレームの描画終了を待ち、その後ステップＳ１２に移ってリストの先頭から描画を開始する。
【００３８】
上記ＧＰＵ６２は、図７に示すように、上記透視変換された代表点Ｐｎ間を内分すなわち直線補間することにより上記代表点Ｐｎ以外のテクスチャピクセルを決定して、図８に示すように上記フレームバッファ６３上に描画を行う。
【００３９】
このように画像表示すべき物体を構成する３次元画像情報の単位となるポリゴン内の代表点を抽出し、その代表点の座標を透視変換してから、代表点間を線形補間することにより、ポリゴン内の全ての点について透視変換するのに比べて、計算量が極めて少なくなり、リアルタイムで現実感のある自然なマッピング画像を得ることができる。
【００４０】
ここで、上記フレームバッファ６３は、いわゆるデュアルポートＲＡＭからなり、上記ＧＰＵ６２からの描画あるいはメインメモリからの転送と、表示のための読み出しとを同時に行なうことができるようになっている。このフレームバッファ６３は、１Ｍバイトの容量を有し、それぞれ１６ビットの横１０２４で縦５１２の画素のマトリックスとして扱われる。また、このフレームバッファ６３には、ビデオ出力として出力される表示領域の他に、ＧＰＵ６２がポリゴン等の描画を行なう際に参照するカラールックアップテーブル(CLUT:Cclor Lock Up Table)が記憶されるＣＬＵＴ領域と、描画時に座標変換されてＧＰＵ６２によって描画されるポリゴン等の中に挿入（マッピング）される素材（テクスチャ）が記憶されるテクスチャ領域が設けられている。これらのＣＬＵＴ領域とテクスチャ領域は表示領域の変更等に従って動的に変更されるようになっている。
【００４１】
そして、上記ＧＰＵ６２は、図９に示すように、上記フレームバッファ６３上に２つの矩形領域Ａ，Ｂを用意して、一方の矩形領域Ｂに描画している間は他方の矩形領域Ａの内容を表示し、描画が終了したら２つの矩形領域Ａ，Ｂを垂直帰線期間内に交換することにより、書き換えの様子が表示されるのを回避するようになっている。
【００４２】
なお、上記ＧＰＵ６２は、上述のフラットシェーディングの他にポリゴンの頂点の色から補完してポリゴン内の色を決めるグーローシェーディングと、上記テクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャマッピングを行なうことができるようになっている。これらのグーローシェーディング又はテクスチャマッピングを行なう場合には、上記ＧＴＥ６１は、１秒間に最大５０万程度のポリゴンの座標演算を行なうことができる。
【００４３】
さらに、上記ＧＰＵ６２は、上記フレームバッファ６３内の任意の矩形領域の内容を表示領域のビデオ出力として出力するに当たり、次の表１に示す１０種類の画面モードをサポートしている。
【００４４】
【表１】
0003647487.tif 000002
【００４５】
また、画面サイズすなわちＣＲＴ画面上のピクセル数は可変で、図１０に示すように、水平方向、垂直方向それぞれ独立に表示開始位置（ＤＴＸ，ＤＴＹ）、表示終了位置（ＤＢＸ，ＤＢＹ）を指定するすることができるようになっている。
【００４６】
さらに、上記ＧＰＵ６２は、表示色数に関するモードとして、３２，７６８色表示の１５ビットモードと１６，７７７，２１６色表示の２４ビットモードの２つのモードをサポートしている。
【００４７】
また、上記ＧＰＵ６２は、描画機能として、縦×横それぞれのドット数を自由に設定できる１×１ドット〜２５６×２５６ドットのスプライト描画機能をサポートしている。
【００４８】
ここで、スプライトに張り付けるイメージデータすなわちスプライトパターンは、図１１に示すように、描画コマンド実行に先だってフレームバッファに転送され、該フレームバッファ上の非表示領域に配置される。
【００４９】
上記スプライトパターンは、２５６×２５６ピクセルを１ページ（テクスチャページ）として、フレームバッファ上にメモリ容量内で何枚でも置くことができる。
【００５０】
１枚のテクスチャページの大きさは、図１２に示すように、モードによって異なる。また、フレームバッファ内でのテクスチャページの場所は、図１１に示すように、描画コマンド内のＴＳＢというパラメータにページ番号を指定することにより決定される。
【００５１】
スプライトパターンには、４ビットＣＬＵＴ、８ビットＣＬＵＴ及び１５ビットＤＩＲＥＣＴの３種類の色モードがある。
【００５２】
４ビットＣＬＵＴモードでは、ＣＬＵＴを用いて１６色スプライト描画を行う。また、８ビットＣＬＵＴモードでは、ＣＬＵＴを用いて２５６色スプライト描画を行う。さらに、１５ビットＤＩＲＥＣＴモードでは、１５ビットを直接使用して３２７６８色スプライト描画を行う。
【００５３】
上記４ビットＣＬＵＴモード又は８ビットＣＬＵＴモードにおけるスプライトパターンは、最終的に表示される色を表すＲＧＢ値が１６乃至２５６個フレームバッファ上に並べたＣＬＵＴのＲＧＢ値を指定する番号にて各ピクセルの色を表す。ＣＬＵＴはスプライト単位で指定することができ、全てのスプライトに対して独立したＣＬＵＴを持つことも可能になっている。
【００５４】
画像デコーダ６４は、上記ＣＰＵ５１からの制御により、メインメモリ５３に記憶されている静止画あるいは動画の画像データを復号化してメインメモリ５３に記憶する。
【００５５】
また、この再生された画像データは、ＧＰＵ６２を介してフレームバッファ６３に記憶することにより、上述のＧＰＵ６２によって描画される画像の背景として使用することができるようになっている。
【００５６】
上記サウンドシステム７０は、ＣＰＵ５１からの指示に基づいて、楽音、効果音等を発生する音声処理装置（ＳＰＵ）７１と、該ＳＰＵ７１により、波形データ等が記録されるサウンドバッファ７２と、ＳＰＵ７１によって発生される楽音、効果音等を出力するスピーカ７３とを備えている。
【００５７】
上記ＳＰＵ７１は、１６ビットの音声データを４ビットの差分信号として適応予測符号化(ADPCM:Adaptive Diffrential PCM)された音声データを再生するＡＤＰＣＭ復号機能と、サウンドバッファ７２に記憶されている波形データを再生することにより、効果音等を発生する再生機能と、サウンドバッファ７２に記憶されている波形データを変調させて再生する変調機能等を備えている。
【００５８】
このような機能を備えることによって、このサウンドシステム７０は、ＣＰＵ５１からの指示によってサウンドバッファ７２に記録された波形データに基づいて楽音、効果音等を発生するいわゆるサンプリング音源として使用することができるようになっている。
【００５９】
上記光学ディスク制御部８０は、光学ディスクに記録されたプログラム、データ等を再生する光学ディスク装置８１と、例えばエラー訂正符号(ECC:  Error Correction Code) が付加されて記録されているプログラム、データ等を復号するデコーダ８２と、光学ディスク装置８１からの再生データを一時的に記憶することにより、光学ディスクからの読み出しを高速化するメモリバッファ８３と、これらを制御するサブＣＰＵ８４を備えている。
【００６０】
また、光学ディスク装置８１で再生される光学ディスクに記録されている音声データとしては、上述のＡＤＰＣＭデータの他に音声信号をアナログ／デジタル変換したいわゆるＰＣＭデータがある。
【００６１】
ＡＤＰＣＭデータとして、例えば１６ビットのデジタルデータの差分を４ビットで表わして記録されている音声データは、デコーダ８２で復号化された後、上述のＳＰＵ７１に供給され、ＳＰＵ７１でデジタル／アナログ変換等の処理が施された後、スピーカ７３を駆動するために使用される。また、ＰＣＭデータとして、例えば１６ビットのデジタルデータとして記録されている音声データは、デコーダ８２で復号化された後、スピーカ７３を駆動するために使用される。
【００６２】
また、通信制御部９０は、バス１００を介してＣＰＵ５１との通信の制御を行なう通信制御機９１を備え、使用者からの指示を入力するコントローラ９２が接続されるスロット９３と、ゲームの設定データ等を記憶するメモリカード９４Ａ，９４Ｂが接続される二つのカードコネクタ９５Ａ，９５Ｂが上記通信制御機９１に設けられている。
【００６３】
上記スロット９３に接続されたコントローラ９２は、使用者からの指示を入力するために、例えば１６個の指示キーを有し、通信制御機９１からの指示に従って、この指示キーの状態を、同期式通信により、通信制御機９１に毎秒６０回程度送信する。そして、通信制御機９１は、コントローラ９２の指示キーの状態をＣＰＵ５１に送信する。これにより、使用者からの指示がＣＰＵ５１に入力され、ＣＰＵ５１は、実行しているゲームプログラム等に基づいて使用者からの指示に従った処理を行なう。
【００６４】
また、上記ＣＰＵ５１は、実行しているゲームの設定データ等を記憶する必要があるときに、該記憶するデータを通信制御機９１に送信し、通信制御機９１はＣＰＵ５１からのデータを上記カードコネクタ９５Ａまたはカードコネクタ９５Ｂに接続されたメモリカード９３Ａまたはメモリーカード９３Ｂに記憶する。
【００６５】
ここで、上記通信制御機９１には、電気的な破壊を防止するための保護回路が内蔵されている。上記メモリカード９３Ａ，９３Ｂは、バス１００から分離されており、装置本体の電源を入れた状態で、着脱することができる。従って、記憶容量が足りなくなった場合に、装置本体の電源を遮断するすることなく、新たなメモリカードを装着することができ、バックアップする必要のあるゲームデータが失われてしまうことなく、新たなメモリカードを装着して、必要なデータを新たなメモリカードに書き込むことができる。
【００６６】
また、上記メモリカード９３Ａ，９３Ｂは、ランダムアクセス可能でかつバックアップ電源を必要としないフラッシュメモリからなり、マイクロコンピュータを内蔵している。このメモリカード９３Ａ，９３Ｂは、上記カードコネクタ９５Ａまたはカードコネクタ９５Ｂに接続されると、そのカードコネクタを介して上記マイクロコンピュータに装置本体から電源が供給されるようになっている。
【００６７】
ここで、メモリカード９３Ａ，９３Ｂは、アプリケーションからはポートとカードコネクタを指定する２桁の１６進数で識別されるファイルデバイスとして認識される。また、このメモリカード９３Ａ，９３Ｂは、ファイルオープン時の自動初期化機能を実装している。
【００６８】
そして、上記マイクロコンピュータは、メモリカード９３Ａ，９３Ｂがカードコネクタ９５Ａまたはカードコネクタ９５Ｂに接続され、装置本体から電源が供給され始めた時点で、先ず内部状態を「未通信」の状態に設定し、その後に上記通信制御機９１を介しての通信を受け付けるようになっている。
【００６９】
装置本体側のＣＰＵ５１は、通信プロトコルの中でカードからホストへの接続確認のための回答パケットの中にある「内部状態」を表すフィールドに基いて、カードコネクタ９５Ａまたはカードコネクタ９５Ｂに接続されたメモリカード９３Ａ，９３Ｂに内蔵されているマイクロコンピュータの内部状態をテストすることにより、「未通信」の場合に、新たに接続されたメモリカード９３Ａ，９３Ｂとの通信であることを認識することができる。そして、新たに接続されたメモリカード９３Ａ，９３Ｂとのファイル管理データの構造、例えばファイル名、ファイルサイズ、スロット番号やステータスなど情報を読み取る。
【００７０】
このような通信プロトコルによって、メモリカード９３Ａ，９３Ｂの動的な抜き差しに対応した通信を行うことが可能になっている。
【００７１】
これにより、ゲームの設定等を２枚のメモリカード９３Ａ，９３Ｂに記憶することができる。また、２枚のメモリカード９３Ａ，９３Ｂでデータを直接コピーしたり、２枚のメモリカード９３Ａ，９３Ｂから各種データを装置本体に同時に直接取り込むことができる。
【００７２】
上記メモリカード９３Ａ，９３Ｂは、ランダムアクセス可能でかつバックアップ電源を必要としないフラッシュメモリからなるので、データを半永久的に保存することができる
また、このビデオゲーム装置は、バス１００に接続されたパラレル入出力（Ｉ／Ｏ）１０１と、シリアル入出力（Ｉ／Ｏ）１０２とを備えている。
【００７３】
そして、パラレルＩ／Ｏ１０１を介して周辺機器との接続を行なうことができるようになっており、また、シリアルＩ／Ｏ１０２を介して他のビデオゲーム装置との通信を行なうことができるようになっている。
【００７４】
【発明の効果】
以上のように、本発明に係るテクスチャマッピング装置では、画像表示すべき物体を構成する３次元画像情報の単位となる多角形領域内の代表点を代表点抽出手段により抽出し、その代表点の座標を透視変換手段により透視変換してから、代表点間を線形補間するので、多角形領域内の全ての点について透視変換するのに比べて、計算量が極めて少なくなり、リアルタイムで現実感のある自然なマッピング画像を得ることができる。
【００７５】
また、本発明に係るテクスチャマッピング装置では、上記代表点抽出手段で上記多角形領域の大きさに応じて適応的に変えた数の代表点を抽出することによって、計算量を最適化して、現実感のある自然なマッピング画像を得ることができる。
【図面の簡単な説明】
【図１】本発明を適用したビデオゲーム装置の構成を示すブロック図である。
【図２】マッピングするテクスチャパターンとポリゴンの一例を模式的に示す図である。
【図３】テクスチャマッピグ付きの描画を行うための４角形の描画命令の内容を模式的に示す図である。
【図４】上記ビデオゲーム装置において１画面分の画像を構成する処理を示すフローチャートである。
【図５】上記１画面分の画像を構成する処理における代表点を模式的に示す図である。
【図６】上記１画面分の画像を構成する処理で作成した描画命令リストを模式的に示す図である。
【図７】上記１画面分の画像を構成する処理において直線補間することにより決定したテクスチャピクセルを模式的に示す図である。
【図８】上記１画面分の画像を構成する処理においてフレームバッファ上に描画した結果を模式的に示す図である。
【図９】上記ビデオゲーム装置におけるＧＰＵによるフレームバッファの切り換え状態を模式的に示す図である。
【図１０】上記ビデオゲーム装置において画面サイズのを指定の仕方を模式的に示す図である。
【図１１】上記ビデオゲーム装置におけるスプライト描画動作を模式的に示す図である。
【図１２】上記ビデオゲーム装置における１枚のテクスチャページを模式的に示す図である。
【図１３】従来の画像生成装置における描画動作を模式的に示す図である。
【図１４】画像生成装置におけるテクスチャマッピング動作を模式的に示す図である。
【図１５】テクスチャパターンを模式的に示す図である。
【図１６】従来の画像生成装置におけるテクスチャマッピングの結果を模式的に示す図である。
【符号の説明】
５０  制御系
５１  ＣＰＵ
５２  周辺装置制御部
５３  メインメモリ
５４  ＲＯＭ
６０  グラフィックシステム
６１  ＧＴＥ
６２  ＧＰＵ
６３  フレームバッファ
６４  画像デコーダ
６５  ディスプレイ装置
７０  サウンドシステム
７１  ＳＰＵ
７２  サウンドバッファ
７３  スピーカ
８０  光学ディスク制御部
８１  光学ディスク装置
８２  デコーダ
８３  バッファ
９０  通信制御部
９１  通信制御機
９２  コントローラ
９３  スロット
９４Ａ，９４Ｂ  メモリカード
９５Ａ，９５Ｂ  カードコネクタ
１００  バス
１０１  パラレルＩ／Ｏ
１０２  シリアルＩ／Ｏ
【図１】
0003647487.tif 000003
【図２】
0003647487.tif 000004
【図３】
0003647487.tif 000005
【図４】
0003647487.tif 000006
【図５】
0003647487.tif 000007
【図６】
0003647487.tif 000008
【図７】
0003647487.tif 000009
【図８】
0003647487.tif 000010
【図９】
0003647487.tif 000011
【図１０】
0003647487.tif 000012
【図１１】
0003647487.tif 000013
【図１２】
0003647487.tif 000014
【図１３】
0003647487.tif 000015
【図１４】
0003647487.tif 000016
【図１５】
0003647487.tif 000017
【図１６】
0003647487.tif 000018