(57)【特許請求の範囲】
【請求項１】
コンピュータ・グラフィックス・システムにおいて、色に奥行き指示を与える装置であって、
複数の画素として表示される三角形について、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記三角形の各頂点について頂点ごとの奥行き指示の変倍係数の値を求め、前記三角形について、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記三角形の奥行き指示の勾配を計算する辺計算ユニット（１１０）と、
前記三角形の選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記三角形の各画素について画素ごとの奥行き指示の変倍係数の値を計算する第１の手段（１３５）と、
前記三角形の前記頂点パラメータは頂点の色の値を含み、該頂点パラメータに基づいて前記三角形の各画素について画素ごとの色の値を計算する第２の手段（１３１、１３２、１３３、１３４、１３６、１３７、１３８）と、
前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとの色の値および予め定められた奥行き指示の色に基づいて、前記三角形の各画素について、画素ごとに奥行き指示を与えられた色の値を計算する第３の手段（１１６）と、
を含む装置。
【請求項２】
テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェアをもつコンピュータ・グラフィックス・システムにおいて、色に奥行き指示を与える装置であって、
複数の画素として表示される三角形について、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記三角形の各頂点について頂点ごとの奥行き指示の変倍係数の値を求め、前記三角形について、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記三角形の奥行き指示の勾配を計算する辺計算ユニット（１１０）と、
前記三角形の選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記三角形の各画素について画素ごとの奥行き指示の変倍係数の値を計算する第１の手段（１３５）と、
前記三角形の前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記三角形の各画素について画素ごとの色の値を計算する第２の手段（１３１、１３２、１３３、１３４、１３６、１３７、１３８）と、
前記画素ごとの色の値と前記テクスチャ・マッピングされた色の値を混合して前記画素ごとに得られる色の値を与える第４の手段（１１４）と、
前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとに得られる色の値および予め定められた奥行き指示の色に基づいて、前記三角形の各画素について、画素ごとに奥行き指示を与えられた色の値を決定する第３の手段（１１６）と、
を含む装置。
【請求項３】
幾何学的加速ハードウェアとビデオ表示画面にグラフィック表示を生成するスキャン・コンバータとを含むコンピュータ・グラフィックス・システムにおいて、前記グラフィック表示の色に奥行き指示を与える方法であって、
辺計算ユニット（１１０）において、複数の画素として表示される三角形について、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記三角形の各頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
辺計算ユニット（１１０）において、前記三角形について、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記三角形の奥行き指示の勾配を計算するステップと、
第１の手段（１３５）において、前記三角形の選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記三角形の各画素について画素ごとの奥行き指示の変倍係数の値を計算するステップと、
第２の手段（１３１、１３２、１３３、１３４、１３６、１３７、１３８）において、
前記三角形の前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記三角形の各画素について画素ごとの色の値を計算するステップと、
第３の手段（１１６）において、前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとの色の値および予め定められた奥行き指示の色に基づいて、前記三角形の各画素について、画素ごとに奥行き指示を与えられた色の値を計算するステップと、
を含む、奥行き指示を与える方法。
【請求項４】
幾何学的加速ハードウェア、テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェア、およびビデオ表示画面にグラフィック表示を生成するスキャン・コンバータを含むコンピュータ・グラフィックス・システムにおいて、前記グラフィック表示の色に奥行き指示を与える方法であって、
辺計算ユニット（１１０）において、複数の画素として表示される三角形について、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記三角形の各頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
辺計算ユニット（１１０）において、前記三角形について、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記三角形の奥行き指示の勾配を計算するステップと、
第１の手段（１３５）において、前記三角形の選択された頂点について前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記三角形の各画素について画素ごとの奥行き指示の変倍係数の値を計算するステップと、
第２の手段（１３１、１３２、１３３、１３４、１３６、１３７、１３８）において、
前記三角形の前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記三角形の各画素について画素ごとの色の値を計算するステップと、
第４の手段（１１４）において、前記画素ごとの色の値と前記テクスチャ・マッピングされた色の値を混合して前記画素ごとに得られる色の値を与えるステップと、
第３の手段（１１６）において、前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとに得られる色の値および予め定められた奥行き指示の色に基づいて、前記三角形の各画素について、画素ごとに奥行き指示を与えられた色の値を決定するステップと、
を含む、奥行き指示を与える方法。
【請求項５】
コンピュータ・グラフィックス・システムにおいて、色に奥行き指示を与える装置であって、
複数の画素として表示されるグラフィックス・プリミティブについて、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記グラフィックス・プリミティブの各頂点について頂点ごとの奥行き指示の変倍係数の値を求め、前記グラフィックス・プリミティブについて、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記グラフィックス・プリミティブの奥行き指示の勾配を計算する辺計算ユニット（１１０）と、
前記グラフィックス・プリミティブの選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの奥行き指示の変倍係数の値を計算する第１の手段（１３５）と、
前記グラフィックス・プリミティブの前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの色の値を計算する第２の手段（１３１、１３２、１３３、１３４、１３６、１３７、１３８）と、
前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとの色の値および予め定められた奥行き指示の色に基づいて、前記グラフィックス・プリミティブの各画素について、画素ごとに奥行き指示を与えられた色の値を決定する第３の手段（１１６）と、
を含む装置。
【請求項６】
テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェアをもつコンピュータ・グラフィックス・システムにおいて、色に奥行き指示を与える装置であって、
複数の画素として表示されるグラフィックス・プリミティブについて、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記グラフィックス・プリミティブの各頂点について頂点ごとの奥行き指示の変倍係数の値を求め、前記グラフィックス・プリミティブについて、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記グラフィックス・プリミティブの奥行き指示の勾配を計算する辺計算ユニット（１１０）と、
前記グラフィックス・プリミティブの選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの奥行き指示の変倍係数の値を計算する第１の手段（１３５）と、
前記グラフィックス・プリミティブの前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの色の値を計算する第２の手段（１３１、１３２、１３３、１３４、１３６、１３７、１３８）と、
前記画素ごとの色の値と前記テクスチャ・マッピングされた色の値を混合して前記画素ごとに得られる色の値を与える第４の手段（１１４）と、
前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとに得られる色の値および予め定められた奥行き指示の色に基づいて、前記グラフィックス・プリミティブの各画素について、画素ごとに奥行き指示を与えられた色の値を決定する第３の手段（１１６）と、
を含む装置。
【請求項７】
幾何学的加速ハードウェアとビデオ表示画面にグラフィック表示を生成するスキャン・コンバータとを含むコンピュータ・グラフィックス・システムにおいて、前記グラフィック表示の色に奥行き指示を与える方法であって、
辺計算ユニット（１１０）において、複数の画素として表示されるグラフィックス・プリミティブについて、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記グラフィックス・プリミティブの各頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
辺計算ユニット（１１０）において、前記グラフィックス・プリミティブについて、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記グラフィックス・プリミティブの奥行き指示の勾配を計算するステップと、
第１の手段（１３５）において、前記グラフィックス・プリミティブの選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの奥行き指示の変倍係数の値を計算するステップと、
第２の手段（１３１、１３２、１３３、１３４、１３６、１３７、１３８）において、
前記グラフィックス・プリミティブの前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの色の値を計算するステップと、
第３の手段（１１６）において、前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとの色の値および予め定められた奥行き指示の色に基づいて、前記グラフィックス・プリミティブの各画素について、画素ごとに奥行き指示を与えられた色の値を決定するステップと、
を含む、奥行き指示を与える方法。
【請求項８】
幾何学的加速ハードウェア、テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェア、およびビデオ表示画面にグラフィック表示を生成するスキャン・コンバータを含むコンピュータ・グラフィックス・システムにおいて、前記グラフィック表示の色に奥行き指示を与える方法であって、
辺計算ユニット（１１０）において、複数の画素として表示されるグラフィックス・プリミティブについて、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記グラフィックス・プリミティブの各頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
辺計算ユニット（１１０）において、前記グラフィックス・プリミティブについて、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記グラフィックス・プリミティブの奥行き指示の勾配を計算するステップと、
第１の手段（１３５）において、前記グラフィックス・プリミティブの選択された頂点について前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの奥行き指示の変倍係数の値を計算するステップと、
第２の手段（１３１、１３２、１３３、１３４、１３６、１３７、１３８）において、
前記グラフィックス・プリミティブの前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの色の値を計算するステップと、
第４の手段（１１４）において、前記画素ごとの色の値と前記テクスチャ・マッピングされた色の値を混合して前記画素ごとに得られる色の値を与えるステップと、
第３の手段（１１６）において、前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとに得られる色の値および予め定められた奥行き指示の色に基づいて、前記グラフィックス・プリミティブの各画素について、画素ごとに奥行き指示を与えられた色の値を決定するステップと、
を含む、奥行き指示を与える方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータ・グラフィックス・システムにおける色のレンダリングに関し、より詳細には、画素ごとに奥行き指示(depth cue、深さキュー)を与える方法および装置に関する。
【０００２】
【従来の技術】
２次元のビデオ表示画面に物体のグラフィック表示を表すために、コンピュータ・グラフィックス・システムが一般に使用される。現在のコンピュータ・グラフィックス・システムは非常に詳細な表示を供給し、様々な応用で使用される。
【０００３】
典型的なコンピュータ・グラフィックス・システムで、表示画面に表される物体はグラフィックスのプリミティブに分解される。プリミティブは、グラフィックス表示の基本成分であり、点、線、ベクトルおよび三角形のような多角形を含むことができる。典型的に、ハードウェア/ソフトウェア方式を実行して、表示画面に表される１またはそれ以上の物体を表すグラフィックスのプリミティブをレンダリングするまたは描く。
【０００４】
典型的に、レンダリングされる３次元の物体のプリミティブは、ホスト・コンピュータによってプリミティブ・データに関して定義される。例えば、プリミティブが三角形である場合、ホスト・コンピューターはその頂点のX,Y,Z座標およびそれぞれのR,G,Bの色の値に関してプリミティブを定義することができる。レンダリングするハードウェアは、プリミティブ・データを補間して、それぞれのプリミティブを表す表示画面の画素およびそれぞれの画素についてR,G,B値を計算する。
【０００５】
初期のグラフィックス・システムでは、複雑な３次元の物体を表すまたはモデル化するに十分現実的な方法で画像を表示することができなかった。そのようなシステムによって表示された画像は、モデル化される物体に存在するテクスチャ、隆起(bumps)、スクラッチ(scratch)、影、およびその他の表面の詳細を欠いた極端になめらかな表面を表していた。
【０００６】
その結果、改善された表面の詳細をもつ画像を表示するための方法が開発された。テクスチャ・マッピングはそのような方法の１つであり、原画像を３次元の物体の表面にマッピングし(テクスチャといわれる)、その後結果の画像を表示するために、テクスチャされた３次元の物体を２次元のグラフィックス表示画面にマッピングすることを含む。テクスチャ・マッピングされた表面の詳細の属性は、一般に、色、正反射、乱れ(perturbation)、鏡面性(specularity)、影、表面の不規則、および段階付け(grading)を含む。
【０００７】
テクスチャ・マッピングは、テクスチャの１つまたはそれ以上の点要素(テクセル)を、テクスチャがマッピングされる物体の表示される部分のそれぞれの点要素(画素)に当てはめることを含む。テクスチャ・マッピング・ハードウェアは、一般に、物体を表す表示画面の画素にテクスチャ・マップのテクセルを対応させる方法を示す情報を備えている。テクスチャ・マップのそれぞれのテクセルは、２次元のテクスチャ・マップでの位置を識別するSおよびT座標によって定義される。それぞれの画素について、そこにマッピングされる対応する１または複数のテクセルがテクスチャ・マップからアクセスされ、テクスチャされた物体を表示画面に表すために、その画素について生成される最終的なR,G,B値に組み入れられる。
【０００８】
奥行きの指示は、より現実的な表示を与えるためのもう一つの技法である。奥行きの指示において、物体の色は、観察者から物体までの距離に基づいて少しずつ背景色(奥行き指示の色として知られる)と混合される。通常この距離は、物体の奥行き、すなわちZ値で近似される。奥行きの指示は、大気による光の強度の減衰をシミュレートするために使用することができる。従って物体は、観察者から遠ざかるにつれて、より暗く見える。奥行き指示の色として任意の色を使用することができるが、黒が最も頻繁に使用される。
【０００９】
ハードウェアの幾何学的加速器をもつ先行技術のグラフィックス・システムは、典型的に、奥行きの指示を計算する総括された(lumped)モデルを使用していた。奥行き指示は、頂点ごとに実行された。奥行き指示の変倍係数は、それぞれの頂点についてそのZ座標値に基づいて決定された。そして色の値が、照明の方程式および奥行き指示の変倍係数に基づいてそれぞれの頂点について計算された。色の値は、レンダリング・パラメータとしてハードウェア・ラステライザ(rasterizer)すなわちスキャン・コンバータに供給された。
【００１０】
ハードウェアで実現されるテクスチャ・マッピングの出現は、奥行き指示を与えるプロセスを複雑にした。上述したように、テクスチャ・マッピングは、２次元の画素マップ(すなわちテクスチャ)の内容を用いて３次元の多角形の内部に色を与える技法である。テクスチャ・マッピングのハードウェアは、典型的に、１画素ごとにテクスチャの色すなわちテクセルを供給する。テクセルはラステライザによって１画素ごとに色の値と結合されて、ディスプレイの結果の画素の色の値を与える。
【００１１】
【発明が解決しようとする課題】
奥行き指示の付与は、陰付けされる多角形およびテクスチャ・マッピングされた多角形に適用されることができる。しかし、１頂点ごとに奥行き指示を与える総括されたモデルは、ハードウェアで実現されるテクスチャ・マッピングをもつシステムでは機能しない。奥行き指示を与えられた頂点パラメータはラステライザで補間され、個々の画素のパラメータを生成する。そして画素のパラメータは、テクスチャ・マッピングのハードウェアからの対応するテクセルと混合されて、結果の画素の色の値を与える。しかし、ラステライザによって使用される色の値に適用される奥行き指示の付与は、テクスチャ・マッピングされる値に適切に作用しないで、不正確な結果の色の値を与える。
【００１２】
【課題を解決するための手段】
この発明は、コンピュータ・グラフィックス・システムに関する。１画素ごとに奥行き指示を与える装置および方法を提供する。表示される三角形の奥行き指示の変倍係数の関数および頂点パラメータに応じる第１の回路は、その三角形のそれぞれの頂点について奥行き指示の変倍係数の値を決定する。三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じる第２の回路は、三角形の奥行き指示のレンダリング・パラメータを決定する。三角形の選ばれた頂点の奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じる第３の回路は、三角形のそれぞれの画素について１画素ごとの奥行き指示の変倍係数の値を決定する。三角形の頂点パラメータに応じる第４の回路は、三角形のそれぞれの画素について１画素ごとの色の値を決定する。１画素ごとの奥行き指示の変倍係数の値、１画素ごとの色の値および奥行き指示の色に応じる第５の回路は、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定する。
【００１３】
好ましい実施例で、コンピュータ・グラフィックス・システムは、テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェアを含む。この場合、装置はさらに、画素ごとの色の値およびテクスチャ・マッピングされた色の値を混合する回路を含み、画素ごとの結果の色の値を与える。第５の回路は、画素ごとの奥行き指示の変倍係数の値、画素ごとの結果の色の値および奥行き指示の色を使用して、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定する。
【００１４】
本発明は、１画素ごとに奥行き指示を与える方法および装置を提供する。奥行き指示の付与は、典型的にはテクスチャ・マッピングされた色の値と混合した後の、三角形の結果の画素ごとの色の値に関して行われる。この技法は、テクスチャ・マッピングの使用の有無にかかわらず正確な奥行き指示の付与を提供する。
【００１５】
【発明の実施の形態】
図１は、本発明に従う１画素ごとの奥行き指示の組み入れに適したコンピュータ・グラフィックス・システムの第１の実施例のブロック図である。図示される具体化は、基板およびチップの数、それらが区分される方法、バスの幅およびデータ転送速度に関して単なる典型であることを理解されたい。多数の他の具体化を使ってもよい。図示されるように、システムはフロント・エンド基板10、テクスチャ・マッピング基板12およびフレーム・バッファ基板14を含む。フロント・エンド基板は、52ビットのバス16を通してホスト・コンピュータ15に連絡している。フロント・エンド基板は、レンダリングされるプリミティブをバス16を通してホスト・コンピュータから受け取る。プリミティブは、プリミティブが三角形である場合、例えば頂点のようなプリミティブの部分に関して、X,Y,Zベクトル座標のデータ、R,G,B色データおよびテクスチャS,T座標によって規定される。
【００１６】
３次元のプリミティブを表すデータは、フロント・エンド基板10によって、64ビットのバス18を通してテクスチャ・マッピング基板12およびフレーム・バッファ基板14に供給される。テクスチャ・マッピング基板は、プリミティブを表す画面表示画素を計算するために受け取ったプリミティブ・データを補間し、プリミティブのそれぞれの画素について対応する結果のテクスチャ・データを決定する。結果のテクスチャ・データは、図をわかりやすくするために図１に単一のバスとして示される55ビットのバス28を通してフレーム・バッファ基板に供給される。
【００１７】
またフレーム・バッファ基板14は、フロント・エンド基板1Oから受け取ったプリミティブ・データを補間して、それぞれのプリミティブを表す表示画面の画素を計算し、それぞれの画素について物体の色の値を決定する。フレーム・バッファ基板は、画素毎に、物体の色の値をテクスチャ・マッピング基板から供給される結果のテクスチャ・データと組み合わせ、それぞれの画素について結果の画像R,G,B値を生成する。それぞれの画素のR,G,B色制御信号がR,G,B線29上に供給され、表示画面の画素を制御し、表示画面上にテクスチャ・マッピングされたプリミティブを表す結果の画像を表示する。
【００１８】
フロント・エンド基板10、テクスチャ・マッピング基板12、およびフレーム・バッファ基板14はそれぞれパイプラインで結ばれていることが好ましく、複数のプリミティブについて同時に操作する。テクスチャ・マッピングおよびフレーム・バッファの基板はフロント・エンド基板から供給されるプリミティブについて操作し、一方、フロント・エンド基板は、基板12および14のパイプラインが満杯になるまで新しいプリミティブについて操作および供給を続ける。
【００１９】
フロント・エンド基板10は、分配器チップ30、３次元(3D)加速器チップ32A、32Bおよび32C、２次元(2D)加速器チップ34、および集線器チップ36を含みうる。分配器チップ30は、バス16を通してホスト・コンピュータからX,Y,Z座標および色のプリミティブ・データを受け取り、３次元のプリミティブ・データを３Ｄ加速器チップ32A、32Bおよび32Cに一様に分配する。このように３つのグループのプリミティブが同時に操作されるので、システムの帯域幅は増大する。データは、40ビットのバス38Aを通して３Ｄ加速器チップ32Aおよび32Bに供給され、40ビットのバス38Bを通してチップ32Cに供給される。バス38Aおよび38Bは、60MHzの速度でデータを転送し、２つの３Ｄ加速器チップを支持するに十分な帯域幅を与える。２Ｄのプリミティブ・データは、44ビットのバス40を通して40MHzの速度で２Ｄ加速器チップ34に供給される。
【００２０】
それぞれの３Ｄ加速器チップは、受け取ったプリミティブを定義するX,Y,Z座標を対応する画面の空間座標に変換し、画面の空間座標について物体のR,G,B値およびテクスチャS,T値を決定し、四辺形を三角形に分解し、それぞれの三角形を定義する三角形の平面方程式を計算する。またそれぞれの３Ｄ加速器チップは、画面内に複数のウィンドウが表示される場合またはプリミティブの部分が表示画面に表示される画像の量を越えてしまう場合、画像のクリッピング操作を実行して、結果の画像の正確な画面表示を保証する。それぞれの３Ｄ加速器チップによって実行される適切な操作を、以下でより詳細に説明する。３Ｄ加速器チップ32A、32Bおよび32Cからの出力データは、44ビットのバス42Aおよび42Bを通して60MHzの速度で集線器チップ36に供給される。２Ｄ加速器チップ34もまた、46ビットのバス44を通って45MHzの速度で集線器チップ36に出力データを供給する。集線器チップ36は、３Ｄ加速器チップ32Aないし32Cから受け取った３Ｄプリミティブを結合し、分配器チップ30によって分配される前のオリジナルの順序にプリミティブを並べ直し、結合されたプリミティブの出力データをバス18を通してテクスチャ・マッピングおよびフレーム・バッファの基板に供給する。
【００２１】
テクスチャ・マッピング基板12は、テクスチャ・マッピング・チップ46およびキャッシュ・メモリとして配置されることが好ましいローカル・メモリ48を含む。本発明の好ましい実施例では、キャッシュ・メモリは複数のSDRAM(同期(syncronous)動的ランダム・アクセス・メモリ)チップから形成される。キャッシュ・メモリ48は、フレーム・バッファ基板でレンダリングされるプリミティブに関連するテクスチャMIPマップ・データを格納する。テクスチャMIPマップ・データは、ホスト・コンピュータ15の主メモリ17からバス40を通り、２Ｄ加速器チップ34、そして24ビットのバス24を通してダウンロードされる。
【００２２】
テクスチャ・マッピング・チップ46は、表示画面上にレンダリングされるプリミティブを表すプリミティブ・データを、バス18を介して連続して受け取る。上述のように３Ｄ加速器チップ32AないしCから供給されるプリミティブは、点、線および三角形を含む。テクスチャ・マッピング基板は、点および線のテクスチャ・マッピングは行わず、三角形のプリミティブに関してのみ操作する。三角形のプリミティブを表すデータは、一つの頂点に関する物体のX,Y,Z画素座標、同一の頂点の物体の色のRGB値、同一の頂点に対応するテクスチャ・マップの部分のS,T座標、および三角形の平面方程式を含む。テクスチャ・マッピング・チップ46は、物体の画素のZ座標および物体の色のR,G,B値を無視する。チップ46は、X,Y画素座標を補間して、プリミティブを表すそれぞれのX,Y画面表示画素に対応するSおよびT座標を計算する。それぞれの画素について、テクスチャ・マッピング・チップは、キャッシュ・メモリから対応するテクスチャMIPマップの部分にアクセスし、複数のテクセル(texel)の加重平均を含みうる画素について結果のテクスチャ・データを計算する。
【００２３】
それぞれの画素についての結果のテクスチャ・データは、テクスチャ・マッピング・チップ46によって５つのバス28を通してフレーム・バッファ基板に供給される。５つのバス28はそれぞれフレーム・バッファ基板に備えられた５つのフレーム・バッファ制御器チップ50A、50B、50C、50Dおよび50Eに結合され、結果のテクスチャ・データをフレーム・バッファ制御器チップに平行に供給する。フレーム・バッファ制御器チップ50A、50B、50C、50Dおよび50Eはそれぞれ、関連するVRAM(ビデオ・ランダム・アクセス・メモリ)チップ51AないしEに結合される。フレーム・バッファ基板はさらに、４つのビデオ形式チップ52A、52B、52Cおよび52DならびにRAMDAC(ランダム・アクセス・メモリ・デジタル-アナログ・コンバータ)54を含みうる。フレーム・バッファ制御器チップは、表示画面の別々の、重複しないセグメントを制御する。それぞれのフレーム・バッファ制御器チップは、フロント・エンド基板からバス18を通してプリミティブ・データを受け取り、テクスチャ・マッピング基板からバス28を通して結果のテクスチャ・マッピング・データを受け取る。フレーム・バッファ制御器チップはプリミティブ・データを補間して、プリミティブを表すそれぞれのセグメントの画面表示の画素の座標、およびそれぞれの画素の座標について対応する物体R,G,B色の値を計算する。テクスチャ・マッピング基板から結果のテクスチャ・データが供給されるプリミティブ(すなわち三角形)について、フレーム・バッファ制御器チップは画素ごとに物体の色の値と結果のテクスチャ・データを結合して、表示画面上に表示されるそれぞれの画素の最終的なR,G,B値を生成する。物体の色の値とテクスチャの色の値が結合される方法を定義する混合モードは、フロント・エンド基板10がバス18を通して供給するレンダリング・モード制御ワードによって制御される。
【００２４】
フレーム・バッファ制御器チップ50AないしEによって生成される、それぞれの画素のR,G,B値を含む結果の画像ビデオ・データは、対応するVRAMチップ51AないしEに格納される。VRAMチップ51AないしEのそれぞれのグループは８つのVRAMチップを含み、従って、40のVRAMチップがフレーム・バッファ基板上に位置する。それぞれのビデオ形式チップ52AないしDはVRAMチップの異なるセットに接続され、そこからデータを受け取る。ビデオ・データはVRAMチップから連続的にシフトされ、64ビットのバス58A、58B、58Cおよび58Dを通って27MHzの速度で４つのビデオ形式チップ52A、52B、52Cおよび52Dにそれぞれ供給される。ビデオ形式チップは、RAMDACによって処理できるようにビデオ・データをフォーマットし、フォーマットされたデータを32ビットのバス60A、60B、60Cおよび60Dを通して33MHzの速度でRAMDAC54に供給する。それからRAMDAC54は、デジタルの色データをアナログのR,G,B色制御信号に変換し、それぞれの画素についてのR,G,B制御信号を、R,G,B制御ライン29に沿って画面ディスプレイ(図示しない)に供給する。
【００２５】
本発明のある実施例では、テクスチャ・マッピング基板12およびフレーム・バッファ基板14上のハードウェアが複製されるため、あるプリミティブをレンダリングするタスクを複数のプリミティブに関して平行して実行することができ、結果としてシステムの帯域幅が増える。本発明のこのような代替実施例が図２に示されており、複製されたハードウェアを有する本発明のコンピュータ・グラフィックス・システムのブロック図を示している。図２のシステムは、４つの３Ｄ加速器チップ32A、32B、32Cおよび32Dと、キャッシュ・メモリ48Aおよび48Bにそれぞれ関連する２つのテクスチャ・マッピング・チップ46Aおよび46Bと、VRAMチップのグループにそれぞれ関連する10のフレーム・バッファ・チップ50Aないし50Jを含む。図２のシステムの動作は、上述された図１のシステムの動作と同様である。図２の実施例におけるハードウェアの複製は、あるプリミティブをレンダリングする操作を複数のプリミティブについて平行して実行することができるので、システムの帯域幅の増加を可能にする。
【００２６】
本発明に従った画素ごとの奥行き指示の付与が、図3に関して示されている。「幾何学的加速器」とよばれる図3の左の部分は、３次元の加速器チップ32A、32Bおよび32C(図1)の回路を表す。「スキャン・コンバータ」とよばれる図3の右の部分は、フレーム・バッファ制御器チップ50A、50B、50C、50Dおよび50Eの回路を表す。グラフィックス・システムは、表示される物体を三角形、ベクトルおよび点に分解するが、奥行き指示の付与は三角形にのみ適用される。幾何学的加速器の中の辺計算ユニット110は、ホスト・コンピューターから頂点パラメータを受け取る。頂点パラメータは、それぞれの頂点についてX、Y、Z座標、正規化座標(NX, NY, NZ)、色の値(R,G,Bおよびα)、およびテクスチャ・マッピングの値(SおよびT)を含みうる。辺計算ユニット110はまた、以下で述べるが、奥行き指示パラメータも受け取る。一般に、辺計算ユニットは、三角形をレンダリングするためにスキャン・コンバータによって要求されるすべてのレンダリング・パラメータを計算する。それらのパラメータは、始点の色の値R、G、Bおよびαを含む。レンダリング・パラメータはまた、XおよびYが最大である三角形の辺E1に関するそれぞれの色のパラメータの偏導関数を含む。さらに辺計算ユニット110は、三角形の最上の頂点の奥行き指示の変倍係数の値とXおよび辺E1に関する奥行き指示の変倍係数の偏導関数とを含む、奥行き指示のレンダリング・パラメータを、スキャン・コンバータに供給する。
【００２７】
スキャン・コンバータの中の画素ジェネレータ112は、それぞれのレンダリング・パラメータを独立して補間して、三角形のそれぞれの画素についてXおよびY座標ならびに色の値を計算する。画素ごとの色は拡散した色の値R、G、Bおよびαを含み、また鏡面の色の値Rs、Gs、Bsおよびαsを含みうる。さらに画素ジェネレータ112は、１画素ごとに奥行き指示の変倍係数を計算する。画素ジェネレータ112によって計算される画素ごとの値は、テクスチャ混合ユニット114に供給される。テクスチャ混合ユニット114はまた、テクスチャ・マッピング・チップ46(図1)からテクセルを受け取る。テクセルは、それぞれの画素についてのテクスチャの色の値Rt、Gt、Bt、αtである。画素ジェネレータ112からの画素ごとの色の値とテクスチャ・マッピング・チップからテクセルは、前もって選択される混合演算方法に従って結合され、結果の色の値を供給する。結果の色の値は、奥行き指示混合ユニット116に供給される。奥行き指示混合ユニット116に供給される画素ごとの奥行き指示の変倍係数は、パイプラインで送られるデータが同期されたままであることを保証するためにテクスチャ混合ユニット114を通過するが使用されない。奥行き指示混合ユニット116は、それぞれの画素について、画素ごとの奥行き指示の変倍係数および奥行き指示の色をそれぞれの画素についての結果の色の値と結合して、それぞれの画素について奥行き指示を与えられた色を供給する。
【００２８】
画素ごとの奥行き指示の付与は、頂点ごとの奥行き指示の付与よりも精度がよい。なぜなら色および奥行き指示の変倍係数の2つの独立した補間は線形近似だからである。独立した補間は混合されて、最終的な結果を生成する。混合は2つの１次方程式の乗算を含み、２次方程式を作る。２次方程式は、１次方程式よりも所望の曲線に近接して近似することができる。
【００２９】
ここで、図3に示されるユニットによって実行される操作をより詳細に説明する。上述したように、辺計算ユニット110は始点の奥行き指示の変倍係数と変倍係数の辺E1およびXに関する偏導関数を決定する。それぞれの頂点についての奥行き指示の変倍係数の始点の値は頂点のZ値に依存する。奥行き指示の範囲は、最小Z値および最大Z値をもつZ領域で確定される。Z値が奥行き指示の最小Zより大きいまたは奥行き指示の最小Zより小さい頂点については、異なった奥行き指示の変倍係数が設定される。2つの限界値Zの間の変倍係数は、最小Zの変倍係数と最大Zの変倍係数の間のなめらかな勾配の関数として計算される。奥行き指示の変倍係数の関数は、図6に示されている。辺計算ユニットは、図6に示される奥行き指示の変倍係数の関数に関連して、ホスト・コンピューターから以下のパラメータを受け取る。
(1)奥行き指示の最小Z
(2)奥行き指示の最大Z
(3)最小Zの変倍係数
(4)最大Zの変倍係数
(5)奥行き指示の勾配
それぞれの頂点についての奥行き指示の変倍係数は、次のように決定される。
【００３０】
【数１】
頂点のZが奥行き指示の最小Zよりも小さい場合、
変倍係数 = 最小Zの変倍係数
頂点のZが奥行き指示の最大Zよりも大きい場合、
変倍係数 = 最大Zの変倍係数
それ以外の場合、
変倍係数 = 最小Zの変倍係数＋(頂点のZ−奥行き指示の最小Z) × 奥行き
指示の勾配
これは、三角形の頂点0における奥行き指示の変倍係数の始点値を与える。
【００３１】
また辺計算ユニット110は、以下の方程式に従って奥行き指示の勾配、dDC/dXおよびdDC/dE1を計算する。
【００３２】
【数２】
0003821880.tif 000002
ここでXiおよびYi(i=0,1,2)は頂点iの座標であり、DCi(i=0,1,2)は頂点iの奥行き指示の変倍係数であり、intは整数値であり、
【００３３】
【数３】
0003821880.tif 000003
画素ジェネレータはこれらの値を使用して、画素ごとの奥行き指示の変倍係数を決定する。
【００３４】
画素ジェネレータ112のブロック図が、図4に示されている。幾何学的加速器からのレンダリング・パラメータは、レンダリング・パラメータ・レジスタ130に入れられる。それぞれのレンダリング・パラメータは、レジスタ130から、アルファ補間回路131、赤の補間回路132、緑の補間回路133、青の補間回路134、奥行き指示の変倍係数の補間回路135、赤の鏡面の補間回路136、緑の鏡面の補間回路137、および青の鏡面の補間回路138に供給される。補間回路131ないし138は同一の回路を含み、異なるパラメータを独立して同時に、高いスループットで操作する。
【００３５】
一般に三角形のそれぞれの画素について、それぞれのパラメータが計算される。頂点V0、V1およびV2をもつ三角形が図7に示されている。補間回路はまず最初に三角形の辺E1に沿って頂点V0から頂点V2へステップし、三角形のそれぞれの画素の行についてパラメータの始点値を決定する。画素の行150、152、154、その他が図7に示されている。画素の行150、152、154について、画素160、162および164で始点のパラメータ値が決定される。三角形のそれぞれの画素の行の長さは、スパンとして知られている。従って、例えば図7に関して、画素の行154は画素164から画素168までのスパンをもつ。それぞれの画素の行についての始点のパラメータ値は、頂点V0でのパラメータの始点値および辺E1のパラメータの勾配から決定される。それぞれの画素の行についての始点値が決定された後、補間回路はそれぞれの画素の行をX方向にステップし、画素の行の始点値およびXの関数としてのパラメータ値の勾配を使って、それぞれの画素でのパラメータの値を決定する。三角形のそれぞれの画素についてのパラメータ値は、テクスチャ混合ユニット114(図3)に供給される。
【００３６】
画素ジェネレータ112のそれぞれの補間回路を表すブロック図が図5に示されている。辺ステッパ(stepper)は、それぞれの三角形の辺に沿ってパラメータを計算する。図5に示すように、辺ステッパは2つの段階を含む。第１の辺ステッパ180は、辺E1に沿ってそれぞれの画素のXおよびY値を生成し、第２の辺ステッパ182は、色およびZ値を計算する。XおよびYの計算の結果は、色およびZの計算のために必要であるので、2つの辺ステッパは高いパフォーマンスであることが好ましい。
【００３７】
第１のタイル・クリッパ(tile clipper)184および第２のタイル・クリッパ186を含むタイル・クリッパは、それぞれのスキャン・コンバータに対応するVRAMチップ(図1)内に画素およびスパンを限定する。上述したように、スキャン・コンバータは、対応するVRAMチップを用いて並行に高いスループットで動作する個別のフレーム・バッファ制御器チップに分けられる。それぞれのVRAMチップは、(X方向の16画素)×(Y方向の2画素)を含む表示画面のタイルを処理することが好ましい。タイル・クリッパは、補間回路によって処理される画素を、対応するVRAMの16×2画素の範囲内に制限する。これによって、対応するVRAMチップの範囲外の画素についての不必要なサイクルを排除して、パフォーマンスを改善する。タイル・クリッパは、レンダリングされる三角形のそれぞれのスパンを、対応するVRAMチップの範囲内の最大16画素の副スパンに分割する。不必要な画素がスパン・ステッパで生成されないようにすることによって、レンダリングのパフォーマンスが大幅に改善される。
【００３８】
タイル・クリッパの出力は、スパン/画素FIFO 190を通ってスパン・ステッパ192に供給される。好ましい実施例で、スパン/画素FIFOは64エントリの深さである。スパン・ステッパ192は、三角形のそれぞれのスパンについて、辺情報に基づいて画素パラメータを生成する。スパンは定数のY値をもち、三角形のタイプによってXの正または負の方向のいずれかにステップされうる。スパン・ステッパ192の出力は、レンダリングされる三角形のそれぞれの画素についてのパラメータ値のセットである。図4に関連して上述したように、画素ジェネレータ112は、赤、緑、青、アルファ、奥行き指示の変倍係数、赤の鏡面、緑の鏡面および青の鏡面について補間された、画素ごとのパラメーター値を与える。レンダリング・パラメータから、辺のステッピングおよびスパンのステッピングによって画素ごとのパラメーター値を生成する補間回路は、当業者に知られている。
【００３９】
上述したように、図3に示されるテクスチャ混合ユニット114は、画素ジェネレータ112によって生成される拡散した値とテクスチャ・マッピング・ユニットから受け取るテクスチャの色の値とを混合して、中間の色の値を供給する。画素ジェネレータ112によって生成される鏡面の色の値は、任意にこれらの中間の色の値に加えられて、結果の色の値を供給する。好ましい実施例で、テクスチャ混合ユニット114はいくつかのテクスチャ混合モードをもち、その中の1つが、それぞれの三角形をレンダリングするときに使用するために選択される。「変更なし」モードでは、拡散した色の値がテクスチャの色による修正なしで使用される。これは、レンダリングされる三角形がテクスチャを必要としない場合、またはグラフィックス・システムがテクスチャ・マッピングを含まない場合に該当する。このケースでは、拡散した色の値は変更されない。「置き換え」モードでは、画素ジェネレータからの拡散した色の値が、テクスチャ・マップの色の値と置き換えられる。先行技術の頂点ごとの奥行き指示の色は、置き換えモードでは、奥行き指示情報が失われるため、まったく無効であったことに留意されたい。「調整」モードでは、拡散した色の値はテクスチャ・マップの色の値と掛け合わせられる。「転写(decal)」モードでは、画素ジェネレータからの拡散した色の値が、テクセルのアルファ値に基づく混合の割合に従ってテクスチャ・マップの色の値と混合される。テクスチャの混合の後、任意に鏡面の色の値が加えられて、結果の色の値を生成する。テクスチャ混合ユニット114によって出力される結果の色の値は、奥行き指示混合ユニット116に供給される。
【００４０】
奥行き指示混合ユニット116は、１画素ごとに、それぞれの色の値に奥行き指示を与える。奥行き指示混合ユニット116は、以下の方程式を実行する。
【００４１】
【数４】
奥行き指示を与えられた画素の色 =
画素の色 × 奥行き指示の変倍係数 ＋ 奥行き指示の色 × (1 - 奥行き指示の変倍係数)
上記の方程式で用いられる画素の色は、テクスチャ混合ユニット114から受け取った結果の色の値である。奥行き指示の変倍係数は、画素ジェネレータ112によって計算された画素ごとの値である。奥行き指示の色は、ホスト・コンピューターによって特定され、それぞれの三角形について固定されている。奥行き指示の色は典型的には黒であるが、他の色の値であってもよい。結果は、三角形のそれぞれの画素についての奥行き指示を与えられた画素の色の値である。
【００４２】
奥行き指示を与える画素ごとの方法は、頂点ごとの奥行き指示の付与よりも正確な表示を与える。これは、奥行き指示を与えられた画素の色の値の方程式の形式に起因する。スキャン・コンバータで線形に補間される頂点ごとの奧行き指示の場合、最終的な画素の色は１次方程式によって表される。色および奥行き指示の変倍係数の両方が線形に補間されて、混合される画素ごとの奥行き指示の場合、より大きい精度を与える２次方程式によって最終的な画素の色が表される。
【００４３】
奥行き指示を与える画素ごとの方法は、テクスチャ・マッピングされる多角形に正確な奧行き指示を与える。奥行き指示の付与は、テクスチャ・マップが加えられた後に実行されなければならない。そうしないと奥行き指示情報は歪められ、または(例えば置き換えのテクセル混合モードで)失われさえする。
【００４４】
ここで説明された回路は、例えばSynopsysから市販されている論理統合ソフトウェアを使用する大規模なカスタム集積回路で実行されることが好ましい。論理統合ソフトウェアは、Verilogのような、高級言語で論理ゲートに書き込まれる回路の説明を最適化し、翻訳する。回路は、5ボルトで動作する1ミクロンのFETを生成するCMOSプロセス、3.3ボルトで動作する0.6ミクロンで引かれた(drawn)ゲート長のデバイスを生成するCMOSプロセス、またはデジタル回路を実行するに適した他のプロセスを使用して実行することができる。論理統合ソフトウェアへの入力は構造的というより機能的であるので、論理統合ソフトウェアによって生成される実際の回路は、ここで示されるものと異なってもよい。
【００４５】
本発明は例として次の実施態様を含む。
【００４６】
（１）コンピュータ・グラフィックス・システムで、色に奥行き指示を与える装置であって、
複数の画素として表示される三角形の奥行き指示の変倍係数の関数および頂点パラメータに応じて、三角形のそれぞれの頂点について頂点ごとの奥行き指示の変倍係数の値を決定する第１の回路(110)と、
三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じて、三角形の奥行き指示のレンダリング・パラメータを決定する第２の回路(110)と、
三角形の選択される頂点の頂点ごとの奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じて、三角形のそれぞれの画素について画素ごとの奥行き指示の変倍係数の値を決定する第３の回路(135)と、
三角形の頂点のパラメータに応じて、三角形のそれぞれの画素について画素ごとの色の値を決定する第４の回路(131, 132, 133, 134, 136, 137, 138)と、
画素ごとの奥行き指示の変倍係数の値、画素ごとの色の値および奥行き指示の色に応じて、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定する第５の回路(116)と、
によって特徴付けられる、上記装置。
【００４７】
（２）第５の回路が、次式に従って奥行き指示を与えられた画素ごとの色の値を決定する手段を含む、上記(1)の装置。
【００４８】
【数５】
奥行き指示を与えられた画素の色 =
画素の色 × 奥行き指示の変倍係数 ＋ 奥行き指示の色 × (1-奥行き指示の変倍係数)
（３）テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェアをもつコンピュータ・グラフィックス・システムで、色に奥行き指示を与える装置であって、
複数の画素として表示される三角形の奥行き指示の変倍係数の関数および頂点パラメータに応じて、三角形のそれぞれの頂点について頂点ごとの奥行き指示の変倍係数の値を決定する第１の回路(110)と、
三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じて、三角形の奥行き指示のレンダリング・パラメータを決定する第２の回路(110)と、
三角形の選択された頂点の頂点ごとの奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じて、三角形のそれぞれの画素について画素ごとの奥行き指示の変倍係数の値を決定する第３の回路(135)と、
三角形の頂点パラメータに応じて、三角形のそれぞれの画素について画素ごとの色の値を決定する第４の回路(131, 132, 133, 134, 136, 137, 138)と、
画素ごとの結果の色の値を与えるために、画素ごとの色の値およびテクスチャ・マッピングされた色の値を混合する第５の回路(114)と、
画素ごとの奥行き指示の変倍係数の値、画素ごとの結果の色の値および奥行き指示の色に応じて、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定する第６の回路(116)と、
によって特徴付けられる上記装置。
【００４９】
（４）選択された頂点に隣接する三角形の辺に沿った奥行き指示の変倍係数の第１の勾配および画素の行方向に沿った奥行き指示の変倍係数の第２の勾配を決定する手段を含む、上記(1)および(3)の装置。
（５）上記第３の回路が、上記辺に沿ったそれぞれの画素の行での奥行き指示の変倍係数の値を決定する辺ステッパと、三角形の中のそれぞれの画素の行について画素ごとの奥行き指示の変倍係数の値を決定するスパン・ステッパとを含む、上記(1)および(3)の装置。
（６）第６の回路が、次式に従って奥行き指示を与えられた画素ごとの色の値を決定する上記(3)の装置。
【００５０】
【数６】
奥行き指示を与えられた画素の色 =
画素の色 × 奥行き指示の変倍係数 ＋ 奥行き指示の色 × (1−奥行き指示の変倍係数)
（７）幾何学的加速器ハードウェア(32A, 32B, 32C, 32D)およびビデオ表示画面にグラフィック表示を生成するスキャン・コンバータ(50Aないし50J)を含むコンピュータ・グラフィックス・システムで、グラフィック表示の色に奥行き指示を与える方法であって、
第１の回路(110)で、三角形の奥行き指示の変倍係数および頂点パラメータに応じて、複数の画素として表示される三角形のそれぞれの頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
第２の回路(110)で、三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じて、三角形の奥行き指示のレンダリング・パラメータを決定するステップと、
第３の回路(135)で、三角形の選択された頂点の頂点ごとの奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じて、三角形のそれぞれの画素について画素ごとの奥行き指示の変倍係数の値を決定するステップと、
第４の回路(131, 132, 133, 134, 136, 137, 138)で、三角形の頂点パラメータに応じて、三角形のそれぞれの画素について画素ごとの色の値を決定するステップと、
第５の回路(116)で、画素ごとの奥行き指示の変倍係数の値、画素ごとの色の値および奥行き指示の色に応じて、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定するステップと、
を含む、上記方法。
【００５１】
（８）上記コンピュータ・グラフィックス・システムが、テクスチャ・マッピングされる色の値を生成するテクスチャ・マッピング・ハードウェアを含み、上記方法がさらに、画素ごとの結果の色の値を与えるために、画素ごとの色の値およびテクスチャ・マッピングされた色の値を混合するステップを含み、奥行き指示を与えられた画素ごとの色の値を決定するステップが、画素ごとの色の値およびテクスチャ・マッピングされた色の値を混合するステップに従って画素ごとの結果の色の値を使用する、上記(7)の奥行き指示を与える方法。
【００５２】
（９）幾何学的加速器ハードウェア(32A, 32B, 32C, 32D)、テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェア(46A, 46B, 48A, 48B)、およびビデオ表示画面にグラフィック表示を生成するスキャン・コンバータ(50Aないし50J)を含むコンピュータ・グラフィックス・システムで、グラフィック表示の色に奥行き指示を与える方法であって、
第１の回路(110)で、三角形の奥行き指示の変倍係数および頂点パラメータ応じて、複数の画素として表示される三角形のそれぞれの頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
第２の回路(110)で、三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じて、三角形の奥行き指示のレンダリング・パラメータを決定するステップと、
第３の回路(135)で、三角形の選択された頂点の頂点ごとの奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じて、三角形のそれぞれの画素について画素ごとの奥行き指示の変倍係数の値を決定するステップと、
第４の回路(131, 132, 133, 134, 136, 137, 138)で、三角形の頂点パラメータ応じて、三角形のそれぞれの画素について画素ごとの色の値を決定するステップと、
第５の回路(114)で、画素ごとの結果の色の値を与えるために、画素ごとの色の値とテクスチャ・マッピングされた色の値とを混合するステップと、
第６の回路(116)で、画素ごとの奥行き指示の変倍係数の値、画素ごとの結果の色の値および奥行き指示の色に応じて、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定するステップと、
を含む、上記方法。
【００５３】
【発明の効果】
本発明によると、コンピュータ・グラフィックス・システムで、三角形のそれぞれの画素について、画素ごとに色に奥行き指示を与えることにより、テクスチャ・マッピングの有無にかかわらず精度のよいグラフィックス表示を提供することができる。
【図面の簡単な説明】
【図１】本発明を組み入れたコンピュータ・グラフィックス・システムの第１の実施例のブロック図である。
【図２】本発明を組み入れたコンピュータ・グラフィックス・システムの第２の実施例のブロック図である。
【図３】本発明による画素ごとの奥行き指示の付与を組み入れたスキャン・コンバータのブロック図である。
【図４】図3に示される画素ジェネレータのブロック図である。
【図５】図4に示されるそれぞれのパラメータの補間回路を表わすブロック図である。
【図６】Z軸に関する奥行き関数である奥行き指示の変倍係数のグラフである。
【図７】三角形をレンダリングするプロセスの図である。
【符号の説明】
１０        フロント・エンド基板
１２        テクスチャ・マッピング基板
１４        フレーム・バッファ基板
３２Ａ−Ｄ  ３Ｄ加速器
１１０      辺計算ユニット
１１２      画素ジェネレータ
１１４      テクスチャの混合
１１６      奥行き指示の混合
１３０      レンダリング・パラメータ・レジスタ
１８０, １８２  辺ステッパ
１８４, １８６  タイル・クリッパ
１９０      スパン/画素FIFO
１９２      スパン・ステッパ
【図１】
0003821880.tif 000004
【図２】
0003821880.tif 000005
【図３】
0003821880.tif 000006
【図４】
0003821880.tif 000007
【図５】
0003821880.tif 000008
【図６】
0003821880.tif 000009
【図７】
0003821880.tif 000010