(57)【特許請求の範囲】
【請求項１】
ポリゴン内部の位置の変化量に対するパラメータの変化量を計算するセットアップ回路と、前記セットアップ回路の出力信号をラスタライジングするＤＤＡ処理回路と、前記ＤＤＡ処理回路の出力信号に基づいてピクセルに関する情報を求めるピクセルパイプライン回路とを具備し、
前記セットアップ回路は、
Ｎ（Ｎは自然数）ビットの入力データの上位Ｎ−ｎ（ｎは、自然数で、Ｎ＞ｎを満たす）ビットをモニタし、前記上位Ｎ−ｎビットが全て同じ値である場合には、第１信号を出力し、前記上位Ｎ−ｎビットが異なる値を含む場合には、第２信号を出力する演算精度変更回路と、前記入力データが入力され、前記第１信号を受けると、前記入力データの演算を１回の動作により実行し、前記第２信号を受けると、前記入力データの演算を複数回の繰り返し動作により実行する演算器とを有し、
前記セットアップ回路を構成する前記演算器は、ｎビットタイプの演算器であり、
前記セットアップ回路のスループットは、前記演算器の演算精度にかかわらず、常に前記ＤＤＡ処理回路のスループット以上であり、
前記演算器に最も多く入力される前記入力データは、ｎビットデータである
ことを特徴とする３Ｄグラフィックス処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３Ｄグラフィックス処理装置のセットアップ回路に関する。
【０００２】
【従来の技術】
３Ｄグラフィックス処理装置は、ポリゴン内部の位置の変化量に対するパラメータの変化量を計算するセットアップ回路と、ラスタライジング、即ち、ベクトルや線要素からなるグラフィックオブジェクトをドット形式に変換するＤＤＡ( Digital Differential Analyzer )処理回路と、ドットマトリックスを構成する各ピクセルについて最終的な色情報や奥行き情報などを求めるピクセルパイプライン回路とを備えている。
【０００３】
３Ｄグラフィックス処理装置を構成するこれらの回路のうち、セットアップ回路の演算量は、ポリゴンの大きさに比例して多くなる。従来の３Ｄグラフィックス処理装置では、演算量が多い大きなポリゴンに対しては、高精度のセットアップ回路、即ち、多ビットを一度に処理できる大きなビット数を有する演算器から構成されるセットアップ回路を用いて演算を行っていた。
【０００４】
しかし、大きなビット数を有する演算器のサイズは、必然的に大きくなる。この場合、当然に、セットアップ回路の面積も、大きくなる。セットアップ回路の面積が大きくなると、例えば、３Ｄグラフィックス処理装置が形成されるチップのサイズが大きくなるため、コストの増大などの問題が生じる。
【０００５】
図１１は、従来のセットアップ回路を示している。
【０００６】
セットアップ回路１１は、ポリゴンの頂点座標Ａ（ｘ０，ｙ０），Ｂ（ｘ１，ｙ１），Ｃ（ｘ２，ｙ２）及び頂点パラメータＡ（ｐ０），Ｂ（ｐ１），Ｃ（ｐ２）に基づいて、ポリゴン内部の位置の変化量に対するパラメータの変化量（ｄｐ／ｄｘ，ｄｐ／ｄｙ）を求める。このパラメータの変化量は、ＤＤＡ処理回路１２に供給される。
【０００７】
セットアップ回路１１は、ポリゴンの頂点座標の差分求める加算器１と、ポリゴンの頂点パラメータの差分を求める加算器２と、１／ｅ０を求める乗算器３、加算器４及び除算器５と、頂点座標の差分と頂点パラメータの差分とを乗算する乗算器６と、乗算器６の出力信号を加算する加算器７と、加算器７の出力信号と１／ｅ０とを乗算してポリゴン内部の位置の変化量に対するパラメータの変化量を求める乗算器８とから構成される。
【０００８】
このようなセットアップ回路１１では、仕様として予め決定されたポリゴンの最大サイズとパラメータ（色情報、奥行き情報など）に基づいて、各演算器１，２，・・・８のビット数（又は演算精度）が決定される。即ち、セットアップ回路１１を構成する各演算器１，２，・・・８のビット数は、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを１回の演算で求めることができるビット数に設定される。
【０００９】
例えば、最大サイズのポリゴンの頂点座標が１６ビット、頂点パラメータが８ビットで表される場合には、加算器１は、１６ビット、加算器２は、８ビット、乗算器３は、１６×１６ビット、加算器４は、３２ビット、除算器５は、３２ビット、乗算器６は、８×１６ビット、加算器７は、２０ビット、乗算器８は、２０×３２ビットとなる（従来では、演算器の演算精度は、そのビット数によって一義的に決まる）。
【００１０】
【発明が解決しようとする課題】
このように、従来の３Ｄグラフィックス処理装置では、セットアップ回路を構成する各演算器のビット数は、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを１回の演算（スループット＝“１”）で処理することができるビット数に設定されていた。このため、セットアップ回路の面積（ハードサイズ）が大きくなり、コストの増大などの問題が生じていた。
【００１１】
本発明の目的は、セットアップ回路を構成する各演算器のビット数を最大にしなくても、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを演算する精度を確保できる３Ｄグラフィックス処理装置を提案することにある。
【００１２】
本発明の３Ｄグラフィックス処理装置は、ポリゴン内部の位置の変化量に対するパラメータの変化量を計算するセットアップ回路と、前記セットアップ回路の出力信号をラスタライジングするＤＤＡ処理回路と、前記ＤＤＡ処理回路の出力信号に基づいてピクセルに関する情報を求めるピクセルパイプライン回路とを備え、前記セットアップ回路は、Ｎ（Ｎは自然数）ビットの入力データの上位Ｎ−ｎ（ｎは、自然数で、Ｎ＞ｎを満たす）ビットをモニタし、前記上位Ｎ−ｎビットが全て同じ値である場合には、第１信号を出力し、前記上位Ｎ−ｎビットが異なる値を含む場合には、第２信号を出力する演算精度変更回路と、前記入力データが入力され、前記第１信号を受けると、前記入力データの演算を１回の動作により実行し、前記第２信号を受けると、前記入力データの演算を複数回の繰り返し動作により実行する演算器とを有し、前記セットアップ回路を構成する前記演算器は、ｎビットタイプの演算器であり、前記セットアップ回路のスループットは、前記演算器の演算精度にかかわらず、常に前記ＤＤＡ処理回路のスループット以上であり、前記演算器に最も多く入力される前記入力データは、ｎビットデータである。
【００３０】
【発明の実施の形態】
以下、図面を参照しながら、本発明の３Ｄグラフィックス処理装置について詳細に説明する。
【００３１】
［概要］
３Ｄグラフィックス処理装置において、セットアップ回路を構成する各演算器のビット数を、仕様として予め決定された最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを１回の演算（スループット＝“１”）で処理できるビット数に設定することは、セットアップ回路の面積の増大を招く。
【００３２】
ところで、３Ｄグラフィックス処置においては、ポリゴンサイズやパラメータは、固定されるものではなく、度々、変化するものである。つまり、最大サイズのポリゴンが用いられることは少ない。通常は、最大でない所定サイズのポリゴンが高頻度で使用されており、それ以外のサイズのポリゴンが使用されることは希である。
【００３３】
そこで、まず、本発明の３Ｄグラフィックス処理装置では、セットアップ回路を構成する各演算器のビット数は、高頻度で使用される最大でない所定サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを所定のスループット（例えば、スループット＝“１”）で処理できるビット数に設定する。
【００３４】
この場合、従来の３Ｄグラフィックス処理装置では、所定サイズを超えるサイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙについては、セットアップ回路内の各演算器の演算精度（ビット数）が低すぎるため、これを処理することができない。
【００３５】
そこで、本発明の３Ｄグラフィックス処理装置では、所定サイズを超えるサイズのポリゴンについては、セットアップ回路内の各演算器を複数回繰り返して使用することにより（各演算器の演算精度を高くすることにより）、ｄｐ／ｄｘ及びｄｐ／ｄｙの演算を実行する。
【００３６】
ここで、所定のスループットとは、▲１▼  スループット＝“１”、又は、▲２▼  セットアップ回路の出力信号を受けるＤＤＡ処理回路のスループット又はそれよりも高いスループットを意味する。
【００３７】
これにより、セットアップ回路を構成する各演算器のビット数を最大にしなくても、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを求めることができる。
【００３８】
ところで、本発明の３Ｄグラフィックス処理装置では、上述のように、ポリゴンサイズやパラメータに応じて、各演算器を繰り返し使用する回数を変更している。この場合、所定サイズ以下のサイズのポリゴンについては、所定のスループット（例えば、スループット＝“１”）で、ｄｐ／ｄｘ及びｄｐ／ｄｙを求めることができるが、高い演算精度が要求される所定サイズを超えるポリゴンについては、ｄｐ／ｄｘ及びｄｐ／ｄｙを求めるために、各演算器を繰り返し使用しなければならないため、セットアップ回路のスループットが低下する。
【００３９】
しかし、この点は、通常の３Ｄグラフィックス処理装置においては、問題とはならない。
【００４０】
例えば、図１に示すように、セットアップ回路１１を構成する各演算器のビット数は、小さなポリゴン（高頻度で使用される所定サイズのポリゴン）を所定のスループット（例えば、ＤＤＡ処理回路のスループット）で処理できるビット数に設定される。
【００４１】
この場合、図２に示すように、その小さなポリゴンのサイズよりも大きなサイズのポリゴンを処理しようとすると、セットアップ回路１１内の各演算器を繰り返し使用する回数が多くなるため、セットアップ回路１１における演算時間が増え、そのスループットが低下する。
【００４２】
しかし、図２に示すように、ＤＤＡ処理回路１２においても、大きなポリゴンを処理するために、スループットが低下する。つまり、大きなサイズのポリゴンを処理する場合には、ＤＤＡ処理回路１２におけるスループットが大幅に低下するため、セットアップ回路１１のスループットがＤＤＡ処理回路１２のスループットよりも低くならない限り、セットアップ回路１１のスループットの低下は、問題とならない。
【００４３】
従って、例えば、セットアップ回路１１を構成する各演算器のビット数を最大にして、大きなポリゴンに対するセットアップ回路１１のスループットを“１”（１回の演算で処理が終了すること）にしても、全く意味がない。
【００４４】
このようなことから、本発明の３Ｄグラフィックス処理装置では、セットアップ回路を構成する各演算器のビット数は、最大にすることなく、高頻度で使用される最大でない所定サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを所定のスループットで求めることができるビット数に設定し、それよりも大きなサイズのポリゴンについては、セットアップ回路内の各演算器を複数回繰り返し使用し（各演算器の演算精度を変更し）、ｄｐ／ｄｘ及びｄｐ／ｄｙを求める。
【００４５】
［第１実施の形態］
図３は、本発明の第１実施の形態に関わるセットアップ回路を示している。
【００４６】
セットアップ回路１１は、ポリゴンの頂点座標Ａ（ｘ０，ｙ０），Ｂ（ｘ１，ｙ１），Ｃ（ｘ２，ｙ２）及び頂点パラメータＡ（ｐ０），Ｂ（ｐ１），Ｃ（ｐ２）に基づいて、ポリゴン内部の位置の変化量に対するパラメータの変化量（ｄｐ／ｄｘ，ｄｐ／ｄｙ）を求める。このパラメータの変化量は、ＤＤＡ処理回路１２に供給される。
【００４７】
セットアップ回路１１は、図４に示すような計算を行う回路である。
【００４８】
即ち、３点Ａ（ｘ０，ｙ０），Ｂ（ｘ１，ｙ１），Ｃ（ｘ２，ｙ２）を結ぶことにより形成される三角形（ポリゴン）があり、この三角形の各点にパラメータＡ（ｐ０），Ｂ（ｐ１），Ｃ（ｐ２）が与えられるものとする。この場合、三角形内部の位置の微小変化量に対するパラメータの変化量（ｄｐ／ｄｘ，ｄｐ／ｄｙ）は、式（１）〜（３）で与えられる。セットアップ回路１１は、このパラメータの変化量（ｄｐ／ｄｘ，ｄｐ／ｄｙ）を計算する回路である。
【００４９】
セットアップ回路１１は、ポリゴンの頂点座標の差分求める加算器１Ａと、ポリゴンの頂点パラメータの差分を求める加算器２Ａと、１／ｅ０を求める乗算器３Ａ、加算器４Ａ及び除算器５Ａと、頂点座標の差分と頂点パラメータの差分とを乗算する乗算器６Ａと、乗算器６Ａの出力信号を加算する加算器７Ａと、加算器７Ａの出力信号と１／ｅ０とを乗算してポリゴン内部の位置の変化量に対するパラメータの変化量を求める乗算器８Ａとを有する。
【００５０】
さらに、本発明では、セットアップ回路１１は、演算精度変更回路１０を有している。演算精度変更回路１０は、頂点座標の差分（ポリゴンサイズの依存する）及び頂点パラメータの差分をモニタし、これらの差分（入力信号のビット数）に基づいて、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａの演算精度を変更する。
【００５１】
各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａのビット数は、高頻度で使用される最大でない所定サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを所定のスループットで処理できるビット数に固定されているため、演算精度の変更は、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数を変更することにより行う。各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数を自由に変更できれば、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａのビット数が所定のビット数に固定されていても、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを求めることができる。
【００５２】
なお、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数は、演算精度変更回路１０により決定され、演算精度変更回路１０から、演算精度制御線９を経由して、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａに伝達される。
【００５３】
この場合、例えば、ポリゴンのサイズが小さいときには、セットアップ回路１１は、低い精度を有していれば足りるため、例えば、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを１回だけ動かすことにより、ｄｐ／ｄｘ及びｄｐ／ｄｙを計算することができる。このときのセットアップ回路１１のスループットは、“１”となる。
【００５４】
また、例えば、ポリゴンのサイズが大きいときには、セットアップ回路１１には、高い精度が要求されるため、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを複数回繰り返し動かすことにより、パラメータの変化量（ｄｐ／ｄｘ，ｄｐ／ｄｙ）を計算できる。但し、このときのセットアップ回路１１のスループットは、低下する。
【００５５】
このように、本発明のセットアップ回路によれば、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａのビット数は、高頻度で使用される最大でない所定サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを所定のスループットで処理できるビット数に固定されている。つまり、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａのビット数は、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙをスループット“１”で処理できる最大ビット数に固定されないため、セットアップ回路１１の面積が大きくなることがなく、コストの増加を抑えることができる。
【００５６】
例えば、本発明のセットアップ回路１１では、最大サイズのポリゴンの頂点座標が１６ビット、頂点パラメータが８ビットで表される場合においては、乗算器３Ａは、８×８ビット、加算器４Ａは、８ビット、除算器５Ａは、８ビット、乗算器６Ａは、８×８ビット、加算器７Ａは、８ビット、乗算器８Ａは、８×８ビットに設定される。
【００５７】
なお、この場合、従来（図１１）では、乗算器３は、１６×１６ビット、加算器４は、３２ビット、除算器５は、３２ビット、乗算器６は、８×１６ビット、加算器７は、２０ビット、乗算器８は、２０×３２ビットとなるため、本発明のセットアップ回路１１によれば、大幅な回路面積の縮小が可能であることが分かる。
【００５８】
一方、本発明のセットアップ回路１１では、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａの演算精度の変更は、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数を変更することにより行う。この場合、ポリゴンのサイズが大きくなればなるほど、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数が増え、スループットが低下する。
【００５９】
しかし、ポリゴンのサイズが大きくなることによるスループットの低下は、上述したように、ＤＤＡ処理装置のスループットを下回らない限り、問題とはならない。
【００６０】
図５は、演算精度変更回路の一例を示している。
【００６１】
演算精度変更回路１０は、簡単なロジック回路、例えば、ＡＮＤ回路、ＮＯＲ回路及びＯＲ回路の組み合せにより構成できる。例えば、頂点座標又は頂点パラメータが１６ビットである場合には、図３の加算器２，３から出力される１６ビットの出力信号（差分）の上位８ビットの値をモニタする。
【００６２】
これら上位８ビットが全て同じ値（“０”又は“１”）である場合には、これら上位８ビットを使用していないことから、ポリゴンのサイズが小さいと判断され、ＯＲ回路の出力信号が“１”となる。この場合、図３の各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａは、１回のみ動作するため、セットアップ回路の演算精度は、低くなるが、スループットは、“１”となる。
【００６３】
一方、これら上位８ビットが全て同じ値（“０”又は“１”）でない場合には、これら上位８ビットを使用していることから、ポリゴンのサイズが大きいと判断され、ＯＲ回路の出力信号が“０”となる。この場合、図３の各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａは、複数回繰り返して動作するため、セットアップ回路の演算精度は、高くなるが、スループットは、低下する。
【００６４】
図６は、図３の乗算器３Ａ及び加算器４Ａのみを示したブロック図である。このブロック図に対応する従来のブロック図を、図７に示す。図６と図７を比較すると明らかなように、本発明の乗算器３Ａのビット数は、従来の乗算器３のビット数の１／２になっており、また、本発明の加算器４Ａのビット数は、従来の加算器４のビット数の１／２になっている。
【００６５】
一般に、乗算器及び加算器は、そのビット数を２倍にすると、その面積が３倍になる。従って、本発明のセットアップ回路では、乗算器のサイズは、従来サイズの１／３、加算器のサイズは、従来サイズの１／３になる。また、本発明のセットアップ回路では、乗算器３Ａ及び加算器４Ａのビット数が、従来の乗算器３及び加算器４のビット数よりも小さくなるが、乗算器３Ａ及び加算器４Ａを複数回繰り返し動作させることにより、演算精度を高くすることができる。
【００６６】
図８は、セットアップ回路の動作を示すフローチャートである。
【００６７】
まず、演算精度変更回路は、頂点座標の差分又は頂点パラメータの差分に基づいて、各演算器に必要な演算精度を判定する。そして、この演算精度から、ポリゴン内の位置の変化量に対するパラメータの変化量を計算するために必要な各演算器の繰り返し動作回数（ループ回数）を決定する（ステップＳＴ１〜２）。
【００６８】
このループ回数は、各演算器に伝達される。各演算器では、このループ回数に基づいてループ変数をセットする。ループ変数は、ループ回数がＮ（Ｎは、自然数）の場合には、Ｎ＋１にセットされる（ステップＳＴ３）。
【００６９】
この後、１回目の演算を行い、その演算が終了した後に、ループ変数を“１”減らす（ステップＳＴ４〜５）。ループ変数が“０”か否かをチェックし、“０”（ループ回数“０”）の場合には、各演算器における演算動作を終了させる（ステップＳＴ６）。ループ変数が“０”でない場合には、２回目の演算を行い、その演算が終了した後に、ループ変数を“１”減らす（ステップＳＴ４〜５）。
【００７０】
そして、ループ変数が“０”になるまで、ステップＳＴ４〜６の動作を繰り返し行う。
【００７１】
本発明のセットアップ回路では、各演算器のビット数が小さく設定されるため、その面積は小さい。また、各演算器の演算精度が低くて構わない場合には、例えば、ループ変数が“１”に設定され、高いスループットで演算処理が行われる。また、各演算器に関して、高い演算精度が必要な場合には、ループ変数を大きな値とし、必要な演算精度を確保する。この場合には、ループ変数の増加に応じて、スループットも低下する。
【００７２】
［第２実施の形態］
図９は、本発明の第２実施の形態に関わるセットアップ回路の一部を示している。
【００７３】
本例は、図３のセットアップ回路の点線で囲んだ部分、即ち、２つの乗算器と１つの加算器からなる演算器の変形例に関する。
【００７４】
各乗算器は、８×８ビットタイプとなっており、その前段には、セレクタが配置される。セレクタは、２つの入力データ（各１６ビット）のうちの１つを選択し、選択された入力データを乗算器に転送する。また、加算器は、１６ビットタイプとなっており、その後段には、セレクタ及びレジスタからなる回路が配置される。
【００７５】
コントローラ２１は、演算精度変更回路から出力されるループ回数を表す信号に基づいて、ループ変数をセットする。コントローラ２１は、ループ変数の値に基づいてセレクタを制御し、加算器の出力データを、その入力データとしてフィードバックさせるか否かを決定する。
【００７６】
ループ回数“０”（ループ変数“１”）で演算処理が可能な場合には、演算精度は、低くなるが、スループットは、“１”となる。ループ回数“３”（ループ変数“４”）で演算処理を行う場合には、演算精度は、高くなるが、入力データの下位×下位、上位×下位、下位×上位、上位×上位の演算を行わなければならないため、スループットは、“１／４”となる。
【００７７】
このような３Ｄグラフィックス処理装置においても、セットアップ回路を構成する各演算器のビット数を最大にしなくても、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを演算できるため、製造コストの低下を実現できる。
【００７８】
［第３実施の形態］
図１０は、本発明の第３実施の形態に関わるセットアップ回路を示している。
【００７９】
本例は、演算精度変更回路の変形例に関する。
【００８０】
図３のセットアップ回路では、頂点座標の差分及び頂点パラメータの差分に基づいて各演算器の演算精度（ループ回数）を決定していたが、本例のセットアップ回路では、各演算器の演算精度（ループ回数）は、頂点座標の差分のみに基づいて決定する。
【００８１】
また、各演算器の演算精度（ループ回数）を決定するに当たっては、複数の頂点座標の差分のうち、少なくとも１つの差分をモニタすればよい。
【００８２】
当然に、図３のセットアップ回路においても、複数の頂点座標の差分のうちの少なくとも１つの差分及び複数の頂点パラメータの差分のうちの少なくとも１つの差分をモニタすればよいことになる。
【００８３】
セットアップ回路１１は、ポリゴンの頂点座標Ａ（ｘ０，ｙ０），Ｂ（ｘ１，ｙ１），Ｃ（ｘ２，ｙ２）及び頂点パラメータＡ（ｐ０），Ｂ（ｐ１），Ｃ（ｐ２）に基づいて、ポリゴン内部の位置の変化量に対するパラメータの変化量（ｄｐ／ｄｘ，ｄｐ／ｄｙ）を求める。このパラメータの変化量は、ＤＤＡ処理回路１２に供給される。セットアップ回路１１は、図４に示すような計算を行う。
【００８４】
セットアップ回路１１は、ポリゴンの頂点座標の差分求める加算器１Ａと、ポリゴンの頂点パラメータの差分を求める加算器２Ａと、１／ｅ０を求める乗算器３Ａ、加算器４Ａ及び除算器５Ａと、頂点座標の差分と頂点パラメータの差分とを乗算する乗算器６Ａと、乗算器６Ａの出力信号を加算する加算器７Ａと、加算器７Ａの出力信号と１／ｅ０とを乗算してポリゴン内部の位置の変化量に対するパラメータの変化量を求める乗算器８Ａとを有する。
【００８５】
さらに、本発明では、セットアップ回路１１は、演算精度変更回路１０を有している。演算精度変更回路１０は、頂点座標の差分をモニタし、この差分に基づいて、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａの演算精度を変更する。
【００８６】
各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａのビット数は、高頻度で使用される最大でない所定サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを所定のスループットで処理できるビット数に固定されているため、演算精度の変更は、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数を変更することにより行う。各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数を自由に変更できれば、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａのビット数が所定のビット数に固定されていても、最大サイズのポリゴンについてｄｐ／ｄｘ及びｄｐ／ｄｙを求めることができる。
【００８７】
なお、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数は、演算精度変更回路１０により決定され、演算精度変更回路１０から、演算精度制御線９を経由して、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａに伝達される。
【００８８】
このように、本発明のセットアップ回路によれば、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａのビット数は、高頻度で使用される最大でない所定サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを所定のスループットで処理できるビット数に固定されている。つまり、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａのビット数は、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙスループット“１”で処理するための最大ビット数に固定されないため、セットアップ回路１１の面積が大きくなることがなく、コストの増加を抑えることができる。
【００８９】
また、本発明のセットアップ回路１１では、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａの演算精度の変更は、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数を変更することにより行う。この場合、ポリゴンのサイズが大きくなればなるほど、各演算器３Ａ，４Ａ，５Ａ，６Ａ，７Ａ，８Ａを繰り返し使用する回数が増え、スループットが低下する。
【００９０】
しかし、ポリゴンのサイズが大きくなることによるスループットの低下は、上述したように、ＤＤＡ処理装置のスループットを下回らない限り、問題とはならない。
【００９１】
［その他］
本発明は、３Ｄグラフィックス処理装置のセットアップ回路に適用するのが最も効果的であるが、本発明の原理は、これ以外の演算回路などに応用することも可能である。
【００９２】
【発明の効果】
以上、説明したように、本発明によれば、セットアップ回路を構成する各演算器のビット数を最大にしなくても、最大サイズのポリゴンのｄｐ／ｄｘ及びｄｐ／ｄｙを演算することができる精度を確保できる３Ｄグラフィックス処理装置を提供できる。
【図面の簡単な説明】
【図１】本発明のセットアップ回路を含むシステムの一例を示す図。
【図２】本発明のセットアップ回路を含むシステムの一例を示す図。
【図３】本発明の第１実施の形態に関わるセットアップ回路を示す図。
【図４】セットアップ回路が行う演算を説明する図。
【図５】演算精度変更回路の一例を示す図。
【図６】本発明のｅ０を求める回路を示す図。
【図７】従来のｅ０を求める回路を示す図。
【図８】本発明のセットアップ回路の動作を示す図。
【図９】本発明の第２実施の形態に関わるセットアップ回路の一部を示す図。
【図１０】本発明の第３実施の形態に関わるセットアップ回路を示す図。
【図１１】従来のセットアップ回路の一部を示す図。
【符号の説明】
１，１Ａ，２，２Ａ，４，４Ａ，７，７Ａ  ：加算器、
３，３Ａ，６，６Ａ，８，８Ａ  ：乗算器、
５，５Ａ                      ：除算器、
９                            ：演算精度制御線、
１０                            ：演算精度変更回路、
１１                            ：セットアップ回路、
１２                            ：ＤＤＡ処理回路、
１３                            ：ピクセルパイプライン回路、
２１                            ：コントローラ。
【図１】
0004198899.tif 000002
【図２】
0004198899.tif 000003
【図３】
0004198899.tif 000004
【図４】
0004198899.tif 000005
【図５】
0004198899.tif 000006
【図６】
0004198899.tif 000007
【図７】
0004198899.tif 000008
【図８】
0004198899.tif 000009
【図９】
0004198899.tif 000010
【図１０】
0004198899.tif 000011
【図１１】
0004198899.tif 000012