(57)【特許請求の範囲】
【請求項１】
立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、各画素についての画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付けるグラフィック演算装置において、
相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、
同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定手段と、
前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定する縮小率決定手段と、
前記同時に処理が実行される複数の画素の各々について、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを前記記憶手段から読み出す読み出し手段と
を有する
グラフィック演算装置。
【請求項２】
前記同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素の処理結果のみを有効なものとして用いる
請求項１に記載のグラフィック演算装置。
【請求項３】
前記代表点決定手段は、
前記同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素が複数ある場合に、前記単位図形の内側に位置する複数の画素のうち、前記同時に処理が行なわれる複数の画素によって規定される領域の中心に最も近い画素を代表点として決定する
請求項１に記載のグラフィック演算装置。
【請求項４】
前記読み出し手段は、前記記憶手段の記憶領域における、前記決定された縮小率に応じた基準アドレスと、前記同次座標（ｓ，ｔ）および同次項ｑに応じたテクスチャ内アドレスとによって決定される物理アドレスから、各画素に対応した前記テクスチャデータを読み出す
請求項１に記載のグラフィック演算装置。
【請求項５】
立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、イメージを示すテクスチャデータを前記単位図形と対応付けるグラフィック演算装置において、
相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、
前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成手段と、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の画像データを生成するデータ補間手段と、
各画素についての前記画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付けるテクスチャ処理手段と
を有するグラフィック演算装置において、
前記テクスチャ処理手段は、
同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定部と、
前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定する縮小率決定部と、
前記同時に処理が実行される複数の画素の各々について、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを前記記憶手段から読み出す読み出し部と
を有する
グラフィック演算装置。
【請求項６】
同時に処理が実行される複数の画素のそれぞれについて、前記単位図形の内側に位置するか否かを判断し、当該判断の結果に応じた有効性指示データを生成する画素位置判断手段
をさらに有し、
前記テクスチャ処理手段の前記代表点決定部は、前記有効性指示データを用いて、前記代表点となる画素を決定する
請求項５に記載のグラフィック演算装置。
【請求項７】
前記記憶手段は、前記テクスチャ処理手段によって読み出されたテクスチャデータに応じた表示データをさらに記憶する
請求項５に記載のグラフィック演算装置。
【請求項８】
ディスプレイに表示する所定の形状を単位図形の組み合わせで表現するために、複数の画素についての演算を同時に行い、処理対象となっている前記単位図形の内側に位置する画素についての演算結果を有効なものとして用いて処理を行なうグラフィック演算装置において、
前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成装置と、
前記ポリゴンレンダリングデータを用いてレンダリング処理を行なうレンダリング装置と、
前記ポリゴンレンダリングデータ生成装置とレンダリング装置とを接続するバスと
を有し、
前記レンダリング装置は、
相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、
前記バスを介して入力した前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の画像データを生成するデータ補間手段と、
各画素についての前記画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付けるテクスチャ処理手段と
を有し、
前記テクスチャ処理手段は、
同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定部と、
前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定する縮小率決定部と、
前記同時に処理が実行される複数の画素の各々について、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを前記記憶手段から読み出す読み出し部と
を有する
グラフィック演算装置。
【請求項９】
立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、各画素についての画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付けるグラフィック演算方法において、
同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定し、
前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、
前記同時に処理が実行される複数の画素の各々について、予め用意された相互に異なる縮小率に対応した複数のテクスチャデータのうち、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを選択して対応付ける
グラフィック演算方法。
【請求項１０】
前記同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素の処理結果のみを有効なものとして用いる
請求項９に記載のグラフィック演算方法。
【請求項１１】
前記同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素が複数ある場合に、前記単位図形の内側に位置する複数の画素のうち、前記同時に処理が行なわれる複数の画素によって規定される領域の中心に最も近い画素を代表点として決定する
請求項９に記載のグラフィック演算方法。
【請求項１２】
相互に異なる縮小率に対応した複数のテクスチャデータを記憶手段に記憶し、前記記憶手段の記憶領域における、前記決定された縮小率に応じた基準アドレスと、前記同次座標（ｓ，ｔ）および同次項ｑに応じたテクスチャ内アドレスとによって決定される物理アドレスから、各画素に対応した前記テクスチャデータを読み出す
請求項９に記載のグラフィック演算方法。
【請求項１３】
立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、イメージを示すテクスチャデータを前記単位図形と対応付けるグラフィック演算方法において、
前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成し、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の画像データを生成し、
同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定し、
前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、
前記同時に処理が実行される複数の画素の各々について、予め用意された相互に異なる縮小率に対応した複数のテクスチャデータのうち、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを選択して対応付ける
グラフィック演算方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、高画質の画像を提供できるグラフィック演算装置およびその方法に関する。
【０００２】
【従来の技術】
種々のＣＡＤ(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、３次元コンピュータグラフィックスを用いたシステムが急速に普及している。
このような３次元コンピュータグラフィックスでは、各画素（ピクセル）に対応する色を決定するときに、各画素の色の値を計算し、この計算した色の値を、当該画素に対応するディスプレイバッファ（フレームバッファ）のアドレスに書き込むレンダリング(Rendering) 処理を行う。
レンダリング処理の手法の一つに、ポリゴン（Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形（ポリゴン）の組み合わせとして表現しておき、このポリゴンを単位として描画を行なうことで、表示画面の色を決定する。
【０００３】
ポリゴンレンダリングでは、物理座標系における三角形の各頂点についての、座標（ｘ，ｙ，ｚ）と、色データ（Ｒ，Ｇ，Ｂ）と、張り合わせのイメージパターンを示すテクスチャデータの同次座標（ｓ，ｔ）および同次項ｑの値とを三角形の内部で補間する処理が行われる。
ここで、同次項ｑは、簡単にいうと、拡大縮小率のようなもので、実際のテクスチャバッファのＵＶ座標系における座標、すなわち、テクスチャ座標データ（Ｕ，Ｖ）は、同次座標（ｓ，ｔ）を同次項ｑで除算した（ｓ／ｑ，ｔ／ｑ）＝（ｕ，ｖ）に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じた乗算結果に応じたものとなる。
【０００４】
このようなポリゴンレンダリングを用いた３次元コンピュータグラフィックシステムでは、描画を行う際に、テクスチャデータをテクスチャバッファから読み出し、この読み出したテクスチャデータを、立体モデルの表面に張り付け、リアリティの高い画像データを得るテクスチャマッピング処理を行う。
なお、立体モデルについてテクスチャマッピングを行なうと、各画素毎に、張り付けを行なうテクスチャデータが示す画像の拡大縮小率が変化する。
【０００５】
ところで、テクスチャマッピングを行なう際に、高画質を得る手法として、ＭＩＰ(Multum In Parvo) ＭＡＰ（複数解像度テクスチャ）フィルタリングがある。
このＭＩＰＭＡＰフィルタリングは、図９に示すように、複数の異なる縮小率のそれぞれに対応した、複数のフィルタ処理済みのテクスチャデータ２００，２０１，２０２，２０３を予め用意し、各画素の縮小率２０４に対応したテクスチャデータを選択２０５することで、縮小率６に応じた最適なテクスチャデータ２０６を使用するものであり、イメージの縮小に伴う情報欠落に起因するエイリアシングの影響を抑制できる。
【０００６】
以下、ＭＩＰＭＡＰフィルタリングを行なった場合のテクスチャマッピング処理装置を説明する。
図１０は、テクスチャマッピング装置２１０を説明するための図、図１１はテクスチャマッピング装置２１０における処理のフローチャートである。
ステップＳ１：先ず、テクスチャマッピング装置２１０は、三角形の各頂点ついての同次座標および同次項を示す（ｓ1 ，ｔ1 ，ｑ1 ），（ｓ2 ，ｔ2 ，ｑ2 ），（ｓ3 ，ｔ3 ，ｑ3 ）データを入力する。
ステップＳ２：次に、テクスチャマッピング装置２１０は、入力した各頂点の（ｓ1 ，ｔ1 ．ｑ1 ），（ｓ2 ，ｔ2 ，ｑ2 ），（ｓ3 ，ｔ3 ，ｑ3 ）データを線形補間して、三角形の内部の各画素の同次座標および同次項を示す（ｓ，ｔ，ｑ）データを求める。
【０００７】
ステップＳ３：テクスチャマッピング装置２１０は、内蔵した縮小率算出装置２１２において、三角形の内部の各画素の（ｓ，ｔ，ｑ）データから、各画素の縮小率ｌｏｄを求める。
ステップＳ４：テクスチャマッピング装置２１０は、各画素の（ｓ，ｔ，ｑ）データについて、ｓデータをｑデータで除算したｕデータと、ｔデータをｑデータで除算したｖデータとを算出し、テクスチャ座標データ（ｕ，ｖ）を求める。
次に、テクスチャマッピング装置２１０は、縮小率算出装置２１２で算出した縮小率ｌｏｄと、テクスチャ座標データ（ｕ，ｖ）とから、テクスチャバッファ２１１における物理アドレスであるテクスチャアドレス（Ｕ，Ｖ）を求める。
【０００８】
ステップＳ５：テクスチャマッピング装置２１０は、テクスチャアドレス（Ｕ，Ｖ）をテクスチャバッファ２１１に出力し、テクスチャデータ（Ｒ，Ｇ，Ｂ）を読み出す。
ステップＳ６：テクスチャマッピング装置２１０は、ステップＳ５で読み出しテクスチャデータに所定の処理を施した画素データＳ２１０をディスプレイバッファ２１３に書き込む。
これにより、テクスチャバッファ２１１に記憶されている、複数の異なる縮小率のそれぞれに対応した複数のテクスチャデータのうち、縮小率ｌｏｄに対応したテクスチャデータについてのアクセスが実現される。
【０００９】
また、高速な描画を実現するために、複数の画素について並行してテクスチャマッピング処理を行い、それらの画素データをディスプレイバッファに同時に書き込む高速テクスチャマッピング装置がある。
このような高速テクスチャマッピング装置では、図１２に示すように、三角形の頂点についての（ｓ１，ｔ１，ｑ１），（ｓ２，ｔ２，ｑ２），（ｓ３，ｔ３，ｑ３）データを、ｎ個のテクスチャマッピング装置２１０1 〜２１０n で並行して処理し、その処理結果である画素データＳ２１０1 〜Ｓ２１０n をディスプレイバッファに同時に書き込む。
すなわち、複数の画素についてのテクスチャマッピング処理が並行して（同時に）行なわれる。
【００１０】
なお、テクスチャマッピング処理は、単位図形である三角形を単位として行なわれ、テクスチャデータの縮小率などの処理条件が三角形を単位として決定され、同時に処理が行なわれる複数の画素のうち、当該三角形の内側に位置する画素についての処理結果のみが有効とされ、当該三角形の外側に位置する画素についての処理結果は無効とされる。
【００１１】
【発明が解決しようとする課題】
しかしながら、縮小率ｌｏｄを求める演算には、多数の乗算および除算が含まれており、膨大な演算量を要する。
従って、図１２に示すように、ｎ個のテクスチャマッピング装置２１０1 〜２１０n の各々に、縮小率算出装置２１２1 〜２１２n を内蔵すると、高速処理は実現できるが、装置が大規模化していまうという問題がある。
このような問題を解決するために、並行して処理を行なう複数のテクスチャマッピング装置のうち、一のテクスチャマッピング装置にのみ縮小率算出装置を内蔵し、当該テクスチャマッピン装置の処理対象となる画素を縮小率を求める上での代表点とし、当該縮小率算出装置で求められた縮小率を、全てのテクスチャマッピング装置で用いる方法が考えられる。
この場合には、同時に処理を行なう複数の画素のうち、代表点となる画素の位置が固定となる。
従って、同時に処理が行なわれる複数の画素のうちに、前述した単位図形である三角形の外側に位置する画素が代表点となる可能性がある。
しかしながら、当該三角形の内側と外側とでは、縮小率が大きく異なることがあり、処理対象となっている三角形の外側に位置する画素が代表点となると、当該三角形の内側に位置する画素について、最適なテクスチャデータを選択できない。その結果、画質が大きく低下するという問題がある。
【００１２】
本発明は上述した従来技術の問題点に鑑みてなされ、小規模な装置構成で、高画質を安定して提供できるグラフィック演算装置およびその方法を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上述した従来技術の問題点を解決し、上述した目的を達成するために、本発明の第１の観点のグラフィック演算装置は、立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、各画素についての画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付けるグラフィック演算装置であって、相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定手段と、前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定する縮小率決定手段と、前記同時に処理が実行される複数の画素の各々について、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを前記記憶手段から読み出す読み出し手段とを有する。
【００１４】
本発明の第１の観点のグラフィック演算装置では、先ず、代表点決定手段において、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素が決定される。
次に、縮小率決定手段において、前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率が決定される。
次に、読み出し手段において、前記同時に処理が実行される複数の画素の各々について、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータが、前記記憶手段から読み出される。
【００１５】
また、本発明の第２の観点のグラフィック演算装置は、立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、イメージを示すテクスチャデータを前記単位図形と対応付けるグラフィック演算装置であって、相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成手段と、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の画像データを生成するデータ補間手段と、各画素についての前記画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付けるテクスチャ処理手段とを有する。
ここで、前記テクスチャ処理手段は、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定部と、前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定する縮小率決定部と、前記同時に処理が実行される複数の画素の各々について、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを前記記憶手段から読み出す読み出し部とを有する。
【００１６】
本発明の第２の観点のグラフィック演算装置では、先ず、ポリゴンレンダリングデータ生成手段において、単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータが生成される。
次に、データ補間手段において、前記単位図形の頂点のポリゴンレンダリングデータが補間され、前記単位図形内に位置する画素の画像データが生成される。
次に、テクスチャ処理手段において、各画素についての前記画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率が決定され、当該決定した縮小率に応じたテクスチャデータが前記単位図形と対応付けられる。
ここで、テクスチャ処理手段では、代表点決定部において、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素が決定される。次に、縮小率決定部において、前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率が決定される。次に、読み出し部において、前記同時に処理が実行される複数の画素の各々について、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータが、記憶手段から読み出される。
【００１７】
また、本発明の第３の観点のグラフィック演算装置は、ディスプレイに表示する所定の形状を単位図形の組み合わせで表現するために、複数の画素についての演算を同時に行い、処理対象となっている前記単位図形の内側に位置する画素についての演算結果を有効なものとして用いて処理を行なうグラフィック演算装置であって、前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成装置と、前記ポリゴンレンダリングデータを用いてレンダリング処理を行なうレンダリング装置と、前記ポリゴンレンダリングデータ生成装置とレンダリング装置とを接続するバスとを有する。
ここで、前記レンダリング装置は、相互に異なる縮小率に対応した複数のテクスチャデータを記憶した記憶手段と、前記バスを介して入力した前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の画像データを生成するデータ補間手段と、各画素についての前記画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付けるテクスチャ処理手段とを有する。また、前記テクスチャ処理手段は、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定する代表点決定部と、前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定する縮小率決定部と、前記同時に処理が実行される複数の画素の各々について、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを前記記憶手段から読み出す読み出し部とを有する。
【００１８】
また、本発明の第１の観点のグラフィック演算方法は、立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、各画素についての画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、当該決定した縮小率に応じたテクスチャデータを前記単位図形と対応付けるグラフィック演算方法であって、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定し、前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、前記同時に処理が実行される複数の画素の各々について、予め用意された相互に異なる縮小率に対応した複数のテクスチャデータのうち、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを選択して対応付ける。
【００１９】
さらに、本発明の第２の観点のグラフィック演算方法は、立体モデルを共通の処理条件が適用される複数の単位図形の組み合わせで表現し、イメージを示すテクスチャデータを前記単位図形と対応付けるグラフィック演算方法であって、前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成し、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の画像データを生成し、同時に処理が実行される複数の画素のうち、処理対象となっている前記単位図形の内側に位置する画素のなかから、代表点となる画素を決定し、前記決定された代表点に対応する前記同次座標（ｓ，ｔ）および同次項ｑから縮小率を決定し、前記同時に処理が実行される複数の画素の各々について、予め用意された相互に異なる縮小率に対応した複数のテクスチャデータのうち、前記決定された縮小率、前記同次座標（ｓ，ｔ）および同次項ｑによって特定されるテクスチャデータを選択して対応付ける。
【００２０】
【発明の実施の形態】
以下、本実施形態においては、家庭用ゲーム機などに適用される、任意の３次元物体モデルに対する所望の３次元画像をＣＲＴ(Cathode Ray Tube)などのディスプレイ上に高速に表示する３次元コンピュータグラフィックシステムに、本発明の除算回路を適用した場合について説明する。
図１は、本実施形態の３次元コンピュータグラフィックシステム１のシステム構成図である。
３次元コンピュータグラフィックシステム１は、立体モデルを単位図形である三角形（ポリゴン）の組み合わせとして表現し、このポリゴンを描画することで表示画面の各画素の色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、３次元コンピュータグラフィックシステム１では、平面上の位置を表現する（ｘ，ｙ）座標の他に、奥行きを表すｚ座標を用いて３次元物体を表し、この（ｘ，ｙ，ｚ）の３つの座標で３次元空間の任意の一点を特定する。
【００２１】
図１に示すように、３次元コンピュータグラフィックシステム１は、メインメモリ２、Ｉ／Ｏインタフェース回路３、メインプロセッサ４およびレンダリング回路５が、メインバス６を介して接続されている。
以下、各構成要素の機能について説明する。
メインプロセッサ４は、例えば、ゲームの進行状況などに応じて、メインメモリ２から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理およびジオメトリ(Geometry)処理などを行い、ポリゴンレンダリングデータを生成する。メインプロセッサ４は、ポリゴンレンダリングデータＳ４を、メインバス６を介してレンダリング回路５に出力する。
Ｉ／Ｏインタフェース回路３は、必要に応じて、外部からポリゴンレンダリングデータを入力し、これをメインバス６を介してレンダリング回路５に出力する。
【００２２】
ここで、ポリゴンレンダリングデータは、ポリゴンの各３頂点の（ｘ，ｙ，ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）のデータを含んでいる。
ここで、（ｘ，ｙ，ｚ）データは、ポリゴンの頂点の３次元座標を示し、（Ｒ，Ｇ，Ｂ）データは、それそれ当該３次元座標における赤、緑、青の輝度値を示している。
データαは、これから描画する画素と、ディスプレイバッファ２１に既に記憶されている画素とのＲ，Ｇ，Ｂデータのブレンド（混合）係数を示している。
（ｓ，ｔ，ｑ）データのうち、（ｓ，ｔ）は、対応するテクスチャの同次座標を示しており、ｑは同次項を示している。ここで、「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じてテクスチャ座標データ（ｕ，ｖ）が得られる。テクスチャバッファ２０に記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ（ｕ，ｖ）を用いて行われる。
Ｆデータは、フォグのα値を示している。
すなわち、ポリゴンレンダリングデータは、三角形の各頂点の物理座標値と、それぞれの頂点の色とテクスチャおよびフォグの値のデータを示している。
【００２３】
以下、レンダリング回路５について詳細に説明する。
図１に示すように、レンダリング回路５は、ＤＤＡ(Digital Differential Anarizer) セットアップ回路１０、トライアングルＤＤＡ回路１１、テクスチャエンジン回路１２、メモリＩ／Ｆ回路１３、ＣＲＴコントローラ回路１４、ＲＡＭＤＡＣ回路１５、ＤＲＡＭ１６およびＳＲＡＭ１７を有する。
ＤＲＡＭ１６は、テクスチャバッファ２０、ディスプレイバッファ２１、ｚバッファ２２およびテクスチャＣＬＵＴバッファ２３として機能する。
【００２４】
ＤＤＡセットアップ回路１０
ＤＤＡセットアップ回路１０は、後段のトライアングルＤＤＡ回路１１において物理座標系上の三角形の各頂点の値を線形補間して、三角形の内部の各画素の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータＳ４が示す（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。
【００２５】
すなわち、ＤＤＡセットアップ回路１０は、各画素について、（ｓ，ｔ，ｑ）データのｘ方向の変分であるｄｓｄｘ，ｄｔｄｘ，ｄｑｄｘと、ｙ方向の変分であるｄｓｄｙ，ｄｔｄｙ，ｄｑｄｙとを生成する。
ＤＤＡセットアップ回路１０は、算出した変分データＳ１０をトライアングルＤＤＡ回路１１に出力する。
【００２６】
トライアングルＤＤＡ回路１１
トライアングルＤＤＡ回路１１は、ＤＤＡセットアップ回路１０から入力した変分データＳ１０を用いて、三角形内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）データを算出する。
また、トライアングルＤＤＡ回路１１は、並行して処理を行う８画素について、処理対象となる三角形の内部に位置するか否かを示すそれぞれ１ビットの有効ビットデータＩ1 〜Ｉ8 を生成する。具体的には、有効ビットデータＩ1 〜Ｉ8 は、三角形の内部に位置する画素について「１」とし、三角形の外部に位置する画素について「０」とする。
具体的には、図２に示すように、ｘ，ｙ座標系に位置する三角形２５０について有効ビットデータＩ1 〜Ｉ8 が決定される。
なお、図２において、実線は、同時に処理が行なわれる８（＝２×４）画素が属する矩形領域を示している。
トライアングルＤＤＡ回路１１は、各画素の（ｘ，ｙ）データと、当該（ｘ，ｙ）座標における（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）データと、有効ビットデータＩ1 〜Ｉ8 と、変分データＳ１０に含まれるｄｓｄｘ，ｄｔｄｘ，ｄｑｄｘ，ｄｓｄｙ，ｄｔｄｙ，ｄｑｄｙと、テクスチャ幅および高さのサイズであるＵＳＩＺＥおよびＶＳＩＺＥとを、ＤＤＡデータＳ１１としてテクスチャエンジン回路１２に出力する。
本実施形態では、トライアングルＤＤＡ回路１１は、並行して処理を行う矩形内に位置する８（＝２×４）画素分を単位として、ＤＤＡデータＳ１１をテクスチャエンジン回路１２に出力する。
【００２７】
テクスチャエンジン回路１２
テクスチャエンジン回路１２は、テクスチャデータの縮小率の選択処理、「ｓ／ｑ」および「ｔ／ｑ」の算出処理、テクスチャ座標データ（ｕ，ｖ）の算出処理、テクスチャアドレス（Ｕ，Ｖ）の算出処理、テクスチャバッファ２０からの（Ｒ，Ｇ，Ｂ，ｔα）データの読み出し処理、および、混合処理（テクスチャαブレンディング処理）を順に、例えばパイプライン方式で行う。
このとき、例えば、テクスチャデータの縮小率の選択処理と、「ｓ／ｑ」および「ｔ／ｑ」の算出処理とを並列に処理する場合もある。
なお、テクスチャエンジン回路１２は、所定の矩形領域内に位置する８画素についての処理を同時に並行して行う。
【００２８】
図３は、テクスチャエンジン回路１２の構成図である。
図３に示すように、テクスチャエンジン回路１２は、代表点決定回路３０１、ｓｔｑ選択回路３０２、縮小率演算回路３０４、テクスチャデータ読み出し回路３０５およびテクスチャブレンド回路３０６を有する。
【００２９】
〔代表点決定回路３０１〕
代表点決定回路３０１は、トライアングルＤＤＡ回路１１から入力した、ＤＤＡデータＳ１１に含まれる有効ビットデータＩ1 〜Ｉ8 から、代表点となる画素を決定し、当該決定した代表点を示す代表点指示データＳ３０１をｓｔｑ選択回路３０２に出力する。
具体的には、代表点決定回路３０１は、同時に処理される２行×４列の８画素のうち、処理対象となっている三角形の内部に位置するもののなかで、当該８画素が配置される矩形領域の中心に最も近い画素が代表点として決定する。
【００３０】
図４は、代表点決定回路３０１における代表点決定処理のフローチャートである。
ステップＳ１１：先ず、代表点決定回路３０１は、有効ビットデータＩ1 〜Ｉ8 に、「１」を示すものが少なくとも一つ存在するかを判断し、存在すれば、ステップＳ１２の処理を実行する。
ステップＳ１２：代表点決定回路３０１は、有効ビットデータＩ1 〜Ｉ8 のうち、「１」を示すものが一つであるか否かを判断し、一つである場合には、ステップＳ１５に示す処理を実行する。ステップＳ１５では、「１」を示す有効ビットデータに対応する画素を代表点として決定する。
【００３１】
ステップＳ１３：代表点決定回路３０１は、有効ビットデータＩ1 〜Ｉ8 に「１」を示すものが２つ以上ある場合に、「１」を示す有効ビットデータに対応する画素のうち、当該同時に処理が行なわれる画素が配置される矩形領域の中心に最も近い画素を、代表点として決定する。
このとき、当該矩形領域の中心に最も近い画素が複数ある場合には、これらのｘ座標が同じであるか否かが判断され、これらのｘ座標が異なる場合には、ステップＳ１６に示す処理が実行される。ステップＳ１６では、当該矩形領域の中心に最も近い複数の画素のうち、ｘ座標が最も小さいものが、代表点として決定される。
【００３２】
ステップＳ１４：代表点決定回路３０１は、前記矩形領域の中心に最も近い画素が複数あり、しかも、これらのｘ座標が同じ場合には、これら複数の画素のうち、ｙ座標が最も小さいものを代表点として決定する。
【００３３】
以下、代表点決定回路３０１における代表点の決定を具体例を挙げて説明する。
図５は、代表点決定回路３０１における代表点の決定を説明するための図である。
有効ビットデータＩ1 〜Ｉ8 に対応する画素の配置を図５（Ａ）に示すように設定する。ここで、同時に処理が実行される画素の矩形領域の中心はＡである。例えば、図５（Ｂ）に示すように、有効ビットデータＩ4 のみが「１」の場合には、代表点決定回路３０１は、有効ビットデータＩ4 に対応する画素を代表点として決定する。
【００３４】
また、図５（Ｃ）に示すように、有効ビットデータＩ6 およびＩ7 が「１」であり、これに対応する画素のｘ座標が異なる場合には、ｘ座標が小さい有効ビットデータＩ6 に対応する画素を代表点として決定する。
また、図５（Ｄ）に示すように、有効ビットデータＩ3 およびＩ7 が「１」であり、これに対応する画素のｘ座標が同じ場合には、ｙ座標が小さい有効ビットデータＩ7 に対応する画素を代表点として決定する。
さらに、図５（Ｅ）に示すように、有効ビットデータＩ2 ，Ｉ3 ，Ｉ6 およびＩ7 が「１」である場合には、ｘ座標およびｙ座標が最も小さい、有効ビットデータＩ6 に対応する画素を代表点として決定する。
【００３５】
また、前述した図２に示す三角形２５０については８画素単位に、図４に示すアルゴリズムに基づいて、図６に示すように代表点が決定される。図６では、「１」が丸印で囲まれている画素が代表点になる。
【００３６】
〔ｓｔｑ選択回路３０２〕
ｓｔｑ選択回路３０２は、ＤＤＡデータＳ１１に含まれる８画素分の（ｓ，ｔ，ｑ）データＳ１１ａ1 〜Ｓ１１ａ8 を入力し、これらのうち、代表点指示データＳ３０１によって示される画素に対応する（ｓ，ｔ，ｑ）データを選択し、これを（ｓ，ｔ，ｑ）データＳ３０２として縮小率演算回路３０４に出力する。
【００３７】
縮小率演算回路３０４は、（ｓ，ｔ，ｑ）データＳ３０２および選択データＳ３０３を用いて、テクスチャデータの縮小率を算出する。
すなわち、縮小率演算回路３０４は、代表点決定回路３０１において代表点として決定された画素についての縮小率を算出し、これを縮小率ｌｏｄとしてテクスチャデータ読み出し回路３０５に出力する。
【００３８】
ここで、縮小率は、元画像のテクスチャデータを、どの程度縮小したものであるかを示すものであり、元画像の縮小率を１／１とした場合には、１／２，１／４，１／８，．．．となる。
元画像を１／ｎ倍にした場合には、縮小率ｌｏｄは、下記式（１）で示される。
【００３９】
【数１】
ｌｏｄ  ＝  ｌｏｇ2 ｎ                            …（１）
【００４０】
以下、縮小率演算回路３０４における縮小率ｌｏｄの算出方法について述べる。
縮小率演算回路３０４は、入力した（ｓ，ｔ，ｑ）データＳ３０２および変分データＳ１１ｃを用いて、下記式（２）〜（５）に相当する演算を行い、ｄｕｄｘ，ｄｖｄｘ，ｄｕｄｙ，ｄｖｄｙデータを算出する。
【００４１】
【数２】
ｄｕｄｘ＝（ｑ×ｄｓｄｘ−ｓ×ｄｑｄｘ）×ＵＳＩＺＥ／ｑ2 …（２）
【００４２】
【数３】
ｄｖｄｘ＝（ｑ×ｄｔｄｘ−ｔ×ｄｑｄｘ）×ＶＳＩＺＥ／ｑ2 …（３）
【００４３】
【数４】
ｄｕｄｙ＝（ｑ×ｄｓｄｙ−ｓ×ｄｑｄｙ）×ＵＳＩＺＥ／ｑ2 …（４）
【００４４】
【数５】
ｄｖｄｙ＝（ｑ×ｄｔｄｙ−ｔ×ｄｑｄｙ）×ＶＳＩＺＥ／ｑ2 …（５）
【００４５】
次に、ｄｕｄｘ，ｄｖｄｘ，ｄｕｄｙ，ｄｖｄｙデータを用いて、下記式（６），（７）に相当する演算を行い、ｅｘ，ｅｙデータを算出する。
【００４６】
【数６】
ｅｘ＝（ｄｕｄｘ2 ＋ｄｖｄｘ2 ）1/2               …（６）
【００４７】
【数７】
ｅｙ＝（ｄｕｄｙ2 ＋ｄｖｄｙ2 ）1/2               …（７）
【００４８】
次に、ｅｘ，ｅｙデータのうち、大きい方をｅとして決定し、このｅを用いて、下記式（８）を演算し、縮小率ｌｏｄを得る。
【００４９】
【数８】
ｌｏｄ  ＝  ｌｏｇ2 ｅ                            …（８）
【００５０】
なお、上述した式（２）〜（５）に示す演算では、ｑの変分を無視できるほど小さいとし、ｄｑｄｘ＝ｄｑｄｙ＝０に近似してもよい。
なお、テクスチャバッファ２０には、例えば、図７に示すように、ｌｏｄ＝０，１，２，３，４のテクスチャデータ３２０，３２１，３２２，３２３が記憶されている。
なお、テクスチャバッファ２０の記憶領域のアドレス空間は、図７に示すように、Ｕ，Ｖ座標系で表現され、複数の縮小率に対応したテクスチャデータが記憶されている記憶領域の基準アドレス（開始アドレス）は、縮小率ｌｏｄに基づいて算出される。図７に示す例では、テクスチャデータ３２０，３２１，３２２，３２３の基準アドレスは、（ｕｂａｓｅ0 ，ｖｂａｓｅ0 ），（ｕｂａｓｅ1 ，ｖｂａｓｅ1 ），（ｕｂａｓｅ2 ，ｖｂａｓｅ2 ），（ｕｂａｓｅ3 ，ｖｂａｓｅ3 ）となる。
また、テクスチャバッファ２０に記憶されているテクスチャデータにおける各画素についてのテクスチャアドレス（Ｕ，Ｖ）は、基準アドレス（ｕｂａｓｅ，ｖｂａｓｅ）と、テクスチャ座標データ（ｕ，ｖ）とを用いて、例えば「Ｕ＝ｕｂａｓｅ＋ｕ／２lod 」および「Ｖ＝ｖｂａｓｅ＋ｖ／２lod 」から生成される。
【００５１】
〔テクスチャデータ読み出し回路３０５〕
テクスチャデータ読み出し回路３０５は、ＤＤＡデータＳ１１に含まれる８画素分の（ｓ，ｔ，ｑ）データＳ１１ａ1 〜Ｓ１１ａ8 と、縮小率演算回路３０４からの縮小率ｌｏｄと、テクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥとを入力し、８画素のそれぞれに対応した、テクスチャデータＳ１７をテクスチャバッファ２０から読み出し、これをテクスチャブレンド回路３０６に出力する。
【００５２】
図８は、テクスチャデータ読み出し回路３０５における処理のフローチャートである。
ステップＳ２１：テクスチャデータ読み出し回路３０５は、８画素分の（ｓ，ｔ，ｑ）データＳ１１ａ1 〜Ｓ１１ａ8 のそれぞれについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とを行い、除算結果「ｓ／ｑ」および「ｔ／ｑ」を算出する。
そして、除算結果「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じて、各画素に対応したテクスチャ座標データ（ｕ1 ，ｖ1 ）〜（ｕ8 ，ｖ8 ）を算出する。
【００５３】
ステップＳ２２：テクスチャデータ読み出し回路３０５は、例えば、予め用意したアドレステーブルを参照して、縮小率ｌｏｄに対応する基準アドレス（ｕｂａｓｅ，ｖｂａｓｅ）を得る。
そして、テクスチャデータ読み出し回路３０５は、基準アドレス（ｕｂａｓｅ，ｖｂａｓｅ）と、ステップＳ２１で算出したテクスチャ座標データ（ｕ1 ，ｖ1 ）〜（ｕ8 ，ｖ8 ）とを用いて、例えば「Ｕ＝ｕｂａｓｅ＋ｕ／２lod 」および「Ｖ＝ｖｂａｓｅ＋ｖ／２lod 」から、テクスチャバッファ２０のＵＶ座標系における物理アドレスであるテクスチャアドレス（Ｕ1 ，Ｖ1 ）〜（Ｕ8 ，Ｖ8 ）を生成する。
【００５４】
ステップＳ２３：テクスチャデータ読み出し回路３０５は、ステップＳ２２で生成したテクスチャアドレス（Ｕ1 ，Ｖ1 ）〜（Ｕ8 ，Ｖ8 ）を、図１に示すメモリＩ／Ｆ回路１３を介して、テクスチャバッファ２０に出力し、テクスチャデータである（Ｒ，Ｇ，Ｂ，ｔα）データＳ１７1 〜Ｓ１７8 を読み出す。
なお、ＳＲＡＭ１７には、テクスチャバッファ２０に記憶されているテクスチャデータのコピーが記憶されており、テクスチャエンジン回路１２は、実際には、メモリＩ／Ｆ回路１３を介してＳＲＡＭ１７に記憶されているテクスチャデータを読み出す。
【００５５】
ステップＳ２４：テクスチャデータ読み出し回路３０５は、ステップＳ２３で読み出した（Ｒ，Ｇ，Ｂ，ｔα）データＳ１７1 〜Ｓ１７8 をテクスチャブレンド回路３０６に出力する。
【００５６】
〔テクスチャブレンド回路３０６〕
テクスチャブレンド回路３０６は、ＤＤＡデータＳ１１に含まれる８画素分の（Ｒ，Ｇ，Ｂ，α）データＳ１１ｂ1 〜Ｓ１１ｂ8 と、テクスチャデータ読み出し回路３０５が読み出した（Ｒ，Ｇ，Ｂ，ｔα）データＳ１７1 〜Ｓ１７8 とを、対応する要素同士で乗算し、（Ｒ，Ｇ，Ｂ，α）データＳ３０６1 〜Ｓ３０６8 を生成する。
そして、（Ｒ，Ｇ，Ｂ，α）データＳ３０６1 〜Ｓ３０６8 が、（Ｒ，Ｇ，Ｂ，α）データＳ１２1 〜Ｓ１２8 として、メモリＩ／Ｆ回路１３に出力される。
【００５７】
なお、テクスチャエンジン回路１２は、フルカラー方式の場合には、テクスチャバッファ２０から読み出した（Ｒ，Ｇ，Ｂ，ｔα）データを直接用いる。一方、テクスチャエンジン回路１２は、インデックスカラー方式の場合には、予め作成したカラールックアップテーブル（ＣＬＵＴ）をテクスチャＣＬＵＴバッファ２３から読み出して、内蔵するＳＲＡＭに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ２０から読み出したカラーインデックスに対応する（Ｒ，Ｇ，Ｂ）データを得る。
【００５８】
メモリＩ／Ｆ回路１３
また、メモリＩ／Ｆ回路１３は、テクスチャエンジン回路１２から入力した（Ｒ，Ｇ，Ｂ，α）データＳ１２1 〜Ｓ１２8 、すなわち画素データＳ１２に対応するｚデータと、ｚバッファ２２に記憶されているｚデータとの比較を行い、入力した画素データＳ１２によって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かを判断し、手前に位置する場合には、画素データＳ１２に対応するｚデータでｚバッファ２２に記憶されたｚデータを更新する。
また、メモリＩ／Ｆ回路１３は、必要に応じて、画素データＳ１２に含まれる（Ｒ，Ｇ，Ｂ）データと、既にディスプレイバッファ２１に記憶されている（Ｒ，Ｇ，Ｂ）データとを、画素データＳ１２に対応するαデータが示す混合値で混合する、いわゆるαブレンディング処理を行い、混合後の（Ｒ，Ｇ，Ｂ）データをディスプレイバッファ２１に書き込む（打ち込む）。
【００５９】
なお、メモリＩ／Ｆ回路１３によるＤＲＡＭ１６に対してのアクセスは、１６画素について同時に行なわれる。なお、メモリＩ／Ｆ回路１３によるＤＲＡＭ１６に対してのアクセスは、例えば、８画素あるいは３２画素について同時に行うようにしてもよい。
【００６０】
ＣＲＴコントローラ回路１４
ＣＲＴコントローラ回路１４は、与えられた水平および垂直同期信号に同期して、図示しないＣＲＴに表示するアドレスを発生し、ディスプレイバッファ２１から表示データを読み出す要求をメモリＩ／Ｆ回路１３に出力する。この要求に応じて、メモリＩ／Ｆ回路１３は、ディスプレイバッファ２１から一定の固まりで表示データを読み出す。ＣＲＴコントローラ回路１４は、ディスプレイバッファ２１から読み出した表示データを記憶するＦＩＦＯ(First In First Out)回路を内蔵し、一定の時間間隔で、ＲＡＭＤＡＣ回路１５に、ＲＧＢのインデックス値を出力する。
【００６１】
ＲＡＭＤＡＣ回路１５
ＲＡＭＤＡＣ回路１５は、各インデックス値に対応するＲ，Ｇ，Ｂデータを記憶しており、ＣＲＴコントローラ回路１４から入力したＲＧＢのインデックス値に対応するデジタル形式のＲ，Ｇ，Ｂデータを、Ｄ／Ａコンバータに転送し、アナログ形式のＲ，Ｇ，Ｂデータを生成する。ＲＡＭＤＡＣ回路１５は、この生成されたＲ，Ｇ，ＢデータをＣＲＴに出力する。
【００６２】
以下、３次元コンピュータグラフィックシステム１の動作について説明する。
ポリゴンレンダリングデータＳ４が、メインバス６を介してメインプロセッサ４からＤＤＡセットアップ回路１０に出力され、ＤＤＡセットアップ回路１０において、三角形の辺と水平方向の差分を示す変分データＳ１０が生成される。
すなわち、（ｓ，ｔ，ｑ）のｘ方向の変分であるｄｓｄｘ，ｄｔｄｘ，ｄｑｄｘと、ｙ方向の変分であるｄｓｄｙ，ｄｔｄｙ，ｄｑｄｙが生成される。
そして、ＤＤＡセットアップ回路１０からトライアングルＤＤＡ回路１１に、変分データＳ１０が出力される。
【００６３】
次に、トライアングルＤＤＡ回路１１において、変分データＳ１０に基づいて、三角形内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）が生成される。
また、トライアングルＤＤＡ回路１１において、並行して処理を行う８画素について、処理対象となる三角形の内部に位置するか否かを示すそれぞれ１ビットの有効ビットデータが生成される。
そして、トライアングルＤＤＡ回路１１からテクスチャエンジン回路１２に、各画素の（ｘ，ｙ）データと、当該（ｘ，ｙ）座標における（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）データと、有効ビットデータＩ1 〜Ｉ8 と、ｄｓｄｘ，ｄｔｄｘ，ｄｑｄｘ，ｄｓｄｙ，ｄｔｄｙ，ｄｑｄｙと、テクスチャ幅および高さのサイズであるＵＳＩＺＥおよびＶＳＩＺＥとが、ＤＤＡデータＳ１１として出力される。
【００６４】
次に、図３に示すテクスチャエンジン回路１２の代表点決定回路３０１において、前述した図４に示すフローに従って代表点が決定され、当該決定された代表点を示す代表点指示データＳ３０１がｓｔｑ選択回路３０２に出力される。
そして、ｓｔｑ選択回路３０２において、入力されたＤＤＡデータＳ１１に含まれる８画素分の（ｓ，ｔ，ｑ）データＳ１１ａ1 〜Ｓ１１ａ8 のうち、代表点指示データＳ３０１によって示される画素に対応する（ｓ，ｔ，ｑ）データが選択し、これが（ｓ，ｔ，ｑ）データＳ３０２として縮小率演算回路３０４に出力される。
【００６５】
次に、縮小率演算回路３０４において、（ｓ，ｔ，ｑ）データＳ３０２および変分データＳ１１ｃを用いて、テクスチャデータの縮小率が算出され、この縮小率ｌｏｄがテクスチャデータ読み出し回路３０５に出力される。
【００６６】
次に、テクスチャデータ読み出し回路３０５において、図８に示すフローに基づいて、テクスチャバッファ２０からテクスチャデータＳ１７1 〜Ｓ１７8 が読み出され、この読み出されたテクスチャデータＳ１７1 〜Ｓ１７8 が、テクスチャブレンド回路３０６に出力される。
次に、テクスチャブレンド回路３０６において、ＤＤＡデータＳ１１に含まれる８画素分の（Ｒ，Ｇ，Ｂ，α）データＳ１１ｂ1 〜Ｓ１１ｂ8 と、テクスチャデータ読み出し回路３０５が読み出した（Ｒ，Ｇ，Ｂ，ｔα）データＳ１７1 〜Ｓ１７8 とが、対応する要素同士で乗算され、（Ｒ，Ｇ，Ｂ，α）データＳ３０６1 〜Ｓ３０６8 が生成される。
そして、ＤＤＡデータに含まれるαデータＳ１１ｄ1 〜Ｓ１１ｄ8 と、（Ｒ，Ｇ，Ｂ，α）データＳ３０６1 〜Ｓ３０６8 とが、（Ｒ，Ｇ，Ｂ，α）データＳ１２1 〜Ｓ１２8 、すなわち、画素データＳ１２として、メモリＩ／Ｆ回路１３に出力される。
【００６７】
そして、メモリＩ／Ｆ回路１３において、テクスチャエンジン回路１２から入力した画素データＳ１２に対応するｚデータと、ｚバッファ２２に記憶されているｚデータとの比較が行なわれ、入力した画素データＳ１２によって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かが判断され、手前に位置する場合には、画像データＳ１２に対応するｚデータでｚバッファ２２に記憶されたｚデータが更新される。
【００６８】
次に、メモリＩ／Ｆ回路１３において、必要に応じて、画像データＳ１２に含まれる（Ｒ，Ｇ，Ｂ）データと、既にディスプレイバッファ２１に記憶されている（Ｒ，Ｇ，Ｂ）データとが、画素データＳ１２に対応するαデータが示す混合値で混合され、混合後の（Ｒ，Ｇ，Ｂ）データがディスプレイバッファ２１に書き込まれる。
【００６９】
以上説明したように、３次元コンピュータグラフィックシステム１によれば、図４に示すように、代表点決定回路３０１において、有効ビットデータＩ1 〜Ｉ8 に基づいて、同時に処理を行なう複数画素のうち処理対象となっている三角形の内側に位置する画素のなかから代表点を動的に決定するため、代表点を当該三角形の内側に確実に決定することができる。
その結果、当該三角形の内側に位置する画素について、適切なテクスチャデータを確実に選択でき、高い画質を安定して提供できる。
また、３次元コンピュータグラフィックシステム１によれば、８画素について同時処理を行なうが、縮小率演算回路３０４を１つ設ければよく、装置が大規模化することはない。
【００７０】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、同時に処理が実行される画素数を８としたが、この数は任意であり、例えば、４であってもよい。なお、同時に処理が実行される画素数は、２のべき乗であることが望ましいが、例えば６などであってもよい。
【００７１】
また、図３に示す代表点決定回路３０１における処理は、単位図形の内側に位置する画素を代表点として選択するのであれば、図４および図５に示すものには特に限定されない。
また、上述した図１に示す３次元コンピュータグラフィックシステム１では、ＳＲＡＭ１７を用いる構成を例示したが、ＳＲＡＭ１７を設けない構成にしてもよい。
また、図１に示すテクスチャバッファ２０およびテクスチャＣＬＵＴバッファ２３を、ＤＲＡＭ１６の外部に設けてもよい。
【００７２】
さらに、図１に示す３次元コンピュータグラフィックシステム１では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ４で行なう場合を例示したが、レンダリング回路５で行なう構成にしてもよい。
【００７３】
【発明の効果】
以上説明したように、本発明のグラフィック演算装置およびその方法によれば、代表点決定手段において、同時に処理を行なう複数画素のうち処理対象となっている単位図形の内側に位置する画素のなかから代表点を動的に決定するため、代表点を当該単位図形の内側に確実に決定することができる。
その結果、当該単位図形の内側に位置する画素について、適切なテクスチャデータを確実に選択でき、高い画質を安定して提供できる。
また、本発明のグラフィック演算装置によれば、複数画素について同時処理を行なうが、縮小率決定手段を１つ設ければよく、装置が大規模化することを回避できる。
【図面の簡単な説明】
【図１】図１は、本発明の第１実施形態の３次元コンピュータグラフィックシステムのシステム構成図である。
【図２】図２は、図１に示すＤＤＡセットアップ回路における有効ビットデータの生成方法を説明するための図である。
【図３】図３は、図１に示すテクスチャエンジン回路の構成図である。
【図４】図４は、図３に示す代表点決定回路における処理のフローチャートである。
【図５】図５は、図３に示す代表点決定回路における処理を説明するための図である。
【図６】図６は、図２に示す三角形を処理対象としている場合の代表点の具体例を説明するための図である。
【図７】図７は、図１および図３に示すテクスチャバッファのアドレス空間を説明するための図である。
【図８】図８は、図３に示すテクスチャデータ読み出し回路における処理のフローチャートである。
【図９】図９は、ＭＩＰＭＡＰフィルタリング処理を説明するための図である。
【図１０】図１０は、従来の一般的なテクスチャマッピング装置を説明するための図である。
【図１１】図１１は、図１０に示すテクスチャマッピング装置における処理のフローチャートである。
【図１２】図１２は、高速処理を実現するテクスチャマッピング装置を説明するための図である。
【符号の説明】
１…３次元コンピュータグラフィックシステム、２…メインメモリ、３…Ｉ／Ｏインタフェース回路、４…メインプロセッサ、５…レンダリング回路、１０…ＤＤＡセットアップ回路、１１…トライアングルＤＤＡ回路、１２…テクスチャエンジン回路、１３…メモリＩ／Ｆ回路、１４…ＣＲＴコントローラ回路、１５…ＲＡＭＤＡＣ回路、１６…ＤＲＡＭ、１７…ＳＲＡＭ、２０…テクスチャバッファ、２１…ディスプレイバッファ、２２…Ｚバッファ、２３…テクスチャＣＬＵＴバッファ、３０１…代表点決定回路、３０２…ｓｔｑ選択回路、３０４…縮小率演算回路、３０５…テクスチャデータ読み出し回路、３０６…テクスチャブレンド回路、ｌｏｄ…縮小率
【図１】
0004042204.tif 000002
【図２】
0004042204.tif 000003
【図３】
0004042204.tif 000004
【図４】
0004042204.tif 000005
【図５】
0004042204.tif 000006
【図６】
0004042204.tif 000007
【図７】
0004042204.tif 000008
【図８】
0004042204.tif 000009
【図９】
0004042204.tif 000010
【図１０】
0004042204.tif 000011
【図１１】
0004042204.tif 000012
【図１２】
0004042204.tif 000013