JP3821880B2 - 色に奥行き指示を与える装置 - Google Patents
色に奥行き指示を与える装置 Download PDFInfo
- Publication number
- JP3821880B2 JP3821880B2 JP14426696A JP14426696A JP3821880B2 JP 3821880 B2 JP3821880 B2 JP 3821880B2 JP 14426696 A JP14426696 A JP 14426696A JP 14426696 A JP14426696 A JP 14426696A JP 3821880 B2 JP3821880 B2 JP 3821880B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- depth
- vertex
- value
- color
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
この発明は、コンピュータ・グラフィックス・システムにおける色のレンダリングに関し、より詳細には、画素ごとに奥行き指示(depth cue、深さキュー)を与える方法および装置に関する。
【0002】
【従来の技術】
2次元のビデオ表示画面に物体のグラフィック表示を表すために、コンピュータ・グラフィックス・システムが一般に使用される。現在のコンピュータ・グラフィックス・システムは非常に詳細な表示を供給し、様々な応用で使用される。
【0003】
典型的なコンピュータ・グラフィックス・システムで、表示画面に表される物体はグラフィックスのプリミティブに分解される。プリミティブは、グラフィックス表示の基本成分であり、点、線、ベクトルおよび三角形のような多角形を含むことができる。典型的に、ハードウェア/ソフトウェア方式を実行して、表示画面に表される1またはそれ以上の物体を表すグラフィックスのプリミティブをレンダリングするまたは描く。
【0004】
典型的に、レンダリングされる3次元の物体のプリミティブは、ホスト・コンピュータによってプリミティブ・データに関して定義される。例えば、プリミティブが三角形である場合、ホスト・コンピューターはその頂点のX,Y,Z座標およびそれぞれのR,G,Bの色の値に関してプリミティブを定義することができる。レンダリングするハードウェアは、プリミティブ・データを補間して、それぞれのプリミティブを表す表示画面の画素およびそれぞれの画素についてR,G,B値を計算する。
【0005】
初期のグラフィックス・システムでは、複雑な3次元の物体を表すまたはモデル化するに十分現実的な方法で画像を表示することができなかった。そのようなシステムによって表示された画像は、モデル化される物体に存在するテクスチャ、隆起(bumps)、スクラッチ(scratch)、影、およびその他の表面の詳細を欠いた極端になめらかな表面を表していた。
【0006】
その結果、改善された表面の詳細をもつ画像を表示するための方法が開発された。テクスチャ・マッピングはそのような方法の1つであり、原画像を3次元の物体の表面にマッピングし(テクスチャといわれる)、その後結果の画像を表示するために、テクスチャされた3次元の物体を2次元のグラフィックス表示画面にマッピングすることを含む。テクスチャ・マッピングされた表面の詳細の属性は、一般に、色、正反射、乱れ(perturbation)、鏡面性(specularity)、影、表面の不規則、および段階付け(grading)を含む。
【0007】
テクスチャ・マッピングは、テクスチャの1つまたはそれ以上の点要素(テクセル)を、テクスチャがマッピングされる物体の表示される部分のそれぞれの点要素(画素)に当てはめることを含む。テクスチャ・マッピング・ハードウェアは、一般に、物体を表す表示画面の画素にテクスチャ・マップのテクセルを対応させる方法を示す情報を備えている。テクスチャ・マップのそれぞれのテクセルは、2次元のテクスチャ・マップでの位置を識別するSおよびT座標によって定義される。それぞれの画素について、そこにマッピングされる対応する1または複数のテクセルがテクスチャ・マップからアクセスされ、テクスチャされた物体を表示画面に表すために、その画素について生成される最終的なR,G,B値に組み入れられる。
【0008】
奥行きの指示は、より現実的な表示を与えるためのもう一つの技法である。奥行きの指示において、物体の色は、観察者から物体までの距離に基づいて少しずつ背景色(奥行き指示の色として知られる)と混合される。通常この距離は、物体の奥行き、すなわちZ値で近似される。奥行きの指示は、大気による光の強度の減衰をシミュレートするために使用することができる。従って物体は、観察者から遠ざかるにつれて、より暗く見える。奥行き指示の色として任意の色を使用することができるが、黒が最も頻繁に使用される。
【0009】
ハードウェアの幾何学的加速器をもつ先行技術のグラフィックス・システムは、典型的に、奥行きの指示を計算する総括された(lumped)モデルを使用していた。奥行き指示は、頂点ごとに実行された。奥行き指示の変倍係数は、それぞれの頂点についてそのZ座標値に基づいて決定された。そして色の値が、照明の方程式および奥行き指示の変倍係数に基づいてそれぞれの頂点について計算された。色の値は、レンダリング・パラメータとしてハードウェア・ラステライザ(rasterizer)すなわちスキャン・コンバータに供給された。
【0010】
ハードウェアで実現されるテクスチャ・マッピングの出現は、奥行き指示を与えるプロセスを複雑にした。上述したように、テクスチャ・マッピングは、2次元の画素マップ(すなわちテクスチャ)の内容を用いて3次元の多角形の内部に色を与える技法である。テクスチャ・マッピングのハードウェアは、典型的に、1画素ごとにテクスチャの色すなわちテクセルを供給する。テクセルはラステライザによって1画素ごとに色の値と結合されて、ディスプレイの結果の画素の色の値を与える。
【0011】
【発明が解決しようとする課題】
奥行き指示の付与は、陰付けされる多角形およびテクスチャ・マッピングされた多角形に適用されることができる。しかし、1頂点ごとに奥行き指示を与える総括されたモデルは、ハードウェアで実現されるテクスチャ・マッピングをもつシステムでは機能しない。奥行き指示を与えられた頂点パラメータはラステライザで補間され、個々の画素のパラメータを生成する。そして画素のパラメータは、テクスチャ・マッピングのハードウェアからの対応するテクセルと混合されて、結果の画素の色の値を与える。しかし、ラステライザによって使用される色の値に適用される奥行き指示の付与は、テクスチャ・マッピングされる値に適切に作用しないで、不正確な結果の色の値を与える。
【0012】
【課題を解決するための手段】
この発明は、コンピュータ・グラフィックス・システムに関する。1画素ごとに奥行き指示を与える装置および方法を提供する。表示される三角形の奥行き指示の変倍係数の関数および頂点パラメータに応じる第1の回路は、その三角形のそれぞれの頂点について奥行き指示の変倍係数の値を決定する。三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じる第2の回路は、三角形の奥行き指示のレンダリング・パラメータを決定する。三角形の選ばれた頂点の奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じる第3の回路は、三角形のそれぞれの画素について1画素ごとの奥行き指示の変倍係数の値を決定する。三角形の頂点パラメータに応じる第4の回路は、三角形のそれぞれの画素について1画素ごとの色の値を決定する。1画素ごとの奥行き指示の変倍係数の値、1画素ごとの色の値および奥行き指示の色に応じる第5の回路は、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定する。
【0013】
好ましい実施例で、コンピュータ・グラフィックス・システムは、テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェアを含む。この場合、装置はさらに、画素ごとの色の値およびテクスチャ・マッピングされた色の値を混合する回路を含み、画素ごとの結果の色の値を与える。第5の回路は、画素ごとの奥行き指示の変倍係数の値、画素ごとの結果の色の値および奥行き指示の色を使用して、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定する。
【0014】
本発明は、1画素ごとに奥行き指示を与える方法および装置を提供する。奥行き指示の付与は、典型的にはテクスチャ・マッピングされた色の値と混合した後の、三角形の結果の画素ごとの色の値に関して行われる。この技法は、テクスチャ・マッピングの使用の有無にかかわらず正確な奥行き指示の付与を提供する。
【0015】
【発明の実施の形態】
図1は、本発明に従う1画素ごとの奥行き指示の組み入れに適したコンピュータ・グラフィックス・システムの第1の実施例のブロック図である。図示される具体化は、基板およびチップの数、それらが区分される方法、バスの幅およびデータ転送速度に関して単なる典型であることを理解されたい。多数の他の具体化を使ってもよい。図示されるように、システムはフロント・エンド基板10、テクスチャ・マッピング基板12およびフレーム・バッファ基板14を含む。フロント・エンド基板は、52ビットのバス16を通してホスト・コンピュータ15に連絡している。フロント・エンド基板は、レンダリングされるプリミティブをバス16を通してホスト・コンピュータから受け取る。プリミティブは、プリミティブが三角形である場合、例えば頂点のようなプリミティブの部分に関して、X,Y,Zベクトル座標のデータ、R,G,B色データおよびテクスチャS,T座標によって規定される。
【0016】
3次元のプリミティブを表すデータは、フロント・エンド基板10によって、64ビットのバス18を通してテクスチャ・マッピング基板12およびフレーム・バッファ基板14に供給される。テクスチャ・マッピング基板は、プリミティブを表す画面表示画素を計算するために受け取ったプリミティブ・データを補間し、プリミティブのそれぞれの画素について対応する結果のテクスチャ・データを決定する。結果のテクスチャ・データは、図をわかりやすくするために図1に単一のバスとして示される55ビットのバス28を通してフレーム・バッファ基板に供給される。
【0017】
またフレーム・バッファ基板14は、フロント・エンド基板1Oから受け取ったプリミティブ・データを補間して、それぞれのプリミティブを表す表示画面の画素を計算し、それぞれの画素について物体の色の値を決定する。フレーム・バッファ基板は、画素毎に、物体の色の値をテクスチャ・マッピング基板から供給される結果のテクスチャ・データと組み合わせ、それぞれの画素について結果の画像R,G,B値を生成する。それぞれの画素のR,G,B色制御信号がR,G,B線29上に供給され、表示画面の画素を制御し、表示画面上にテクスチャ・マッピングされたプリミティブを表す結果の画像を表示する。
【0018】
フロント・エンド基板10、テクスチャ・マッピング基板12、およびフレーム・バッファ基板14はそれぞれパイプラインで結ばれていることが好ましく、複数のプリミティブについて同時に操作する。テクスチャ・マッピングおよびフレーム・バッファの基板はフロント・エンド基板から供給されるプリミティブについて操作し、一方、フロント・エンド基板は、基板12および14のパイプラインが満杯になるまで新しいプリミティブについて操作および供給を続ける。
【0019】
フロント・エンド基板10は、分配器チップ30、3次元(3D)加速器チップ32A、32Bおよび32C、2次元(2D)加速器チップ34、および集線器チップ36を含みうる。分配器チップ30は、バス16を通してホスト・コンピュータからX,Y,Z座標および色のプリミティブ・データを受け取り、3次元のプリミティブ・データを3D加速器チップ32A、32Bおよび32Cに一様に分配する。このように3つのグループのプリミティブが同時に操作されるので、システムの帯域幅は増大する。データは、40ビットのバス38Aを通して3D加速器チップ32Aおよび32Bに供給され、40ビットのバス38Bを通してチップ32Cに供給される。バス38Aおよび38Bは、60MHzの速度でデータを転送し、2つの3D加速器チップを支持するに十分な帯域幅を与える。2Dのプリミティブ・データは、44ビットのバス40を通して40MHzの速度で2D加速器チップ34に供給される。
【0020】
それぞれの3D加速器チップは、受け取ったプリミティブを定義するX,Y,Z座標を対応する画面の空間座標に変換し、画面の空間座標について物体のR,G,B値およびテクスチャS,T値を決定し、四辺形を三角形に分解し、それぞれの三角形を定義する三角形の平面方程式を計算する。またそれぞれの3D加速器チップは、画面内に複数のウィンドウが表示される場合またはプリミティブの部分が表示画面に表示される画像の量を越えてしまう場合、画像のクリッピング操作を実行して、結果の画像の正確な画面表示を保証する。それぞれの3D加速器チップによって実行される適切な操作を、以下でより詳細に説明する。3D加速器チップ32A、32Bおよび32Cからの出力データは、44ビットのバス42Aおよび42Bを通して60MHzの速度で集線器チップ36に供給される。2D加速器チップ34もまた、46ビットのバス44を通って45MHzの速度で集線器チップ36に出力データを供給する。集線器チップ36は、3D加速器チップ32Aないし32Cから受け取った3Dプリミティブを結合し、分配器チップ30によって分配される前のオリジナルの順序にプリミティブを並べ直し、結合されたプリミティブの出力データをバス18を通してテクスチャ・マッピングおよびフレーム・バッファの基板に供給する。
【0021】
テクスチャ・マッピング基板12は、テクスチャ・マッピング・チップ46およびキャッシュ・メモリとして配置されることが好ましいローカル・メモリ48を含む。本発明の好ましい実施例では、キャッシュ・メモリは複数のSDRAM(同期(syncronous)動的ランダム・アクセス・メモリ)チップから形成される。キャッシュ・メモリ48は、フレーム・バッファ基板でレンダリングされるプリミティブに関連するテクスチャMIPマップ・データを格納する。テクスチャMIPマップ・データは、ホスト・コンピュータ15の主メモリ17からバス40を通り、2D加速器チップ34、そして24ビットのバス24を通してダウンロードされる。
【0022】
テクスチャ・マッピング・チップ46は、表示画面上にレンダリングされるプリミティブを表すプリミティブ・データを、バス18を介して連続して受け取る。上述のように3D加速器チップ32AないしCから供給されるプリミティブは、点、線および三角形を含む。テクスチャ・マッピング基板は、点および線のテクスチャ・マッピングは行わず、三角形のプリミティブに関してのみ操作する。三角形のプリミティブを表すデータは、一つの頂点に関する物体のX,Y,Z画素座標、同一の頂点の物体の色のRGB値、同一の頂点に対応するテクスチャ・マップの部分のS,T座標、および三角形の平面方程式を含む。テクスチャ・マッピング・チップ46は、物体の画素のZ座標および物体の色のR,G,B値を無視する。チップ46は、X,Y画素座標を補間して、プリミティブを表すそれぞれのX,Y画面表示画素に対応するSおよびT座標を計算する。それぞれの画素について、テクスチャ・マッピング・チップは、キャッシュ・メモリから対応するテクスチャMIPマップの部分にアクセスし、複数のテクセル(texel)の加重平均を含みうる画素について結果のテクスチャ・データを計算する。
【0023】
それぞれの画素についての結果のテクスチャ・データは、テクスチャ・マッピング・チップ46によって5つのバス28を通してフレーム・バッファ基板に供給される。5つのバス28はそれぞれフレーム・バッファ基板に備えられた5つのフレーム・バッファ制御器チップ50A、50B、50C、50Dおよび50Eに結合され、結果のテクスチャ・データをフレーム・バッファ制御器チップに平行に供給する。フレーム・バッファ制御器チップ50A、50B、50C、50Dおよび50Eはそれぞれ、関連するVRAM(ビデオ・ランダム・アクセス・メモリ)チップ51AないしEに結合される。フレーム・バッファ基板はさらに、4つのビデオ形式チップ52A、52B、52Cおよび52DならびにRAMDAC(ランダム・アクセス・メモリ・デジタル-アナログ・コンバータ)54を含みうる。フレーム・バッファ制御器チップは、表示画面の別々の、重複しないセグメントを制御する。それぞれのフレーム・バッファ制御器チップは、フロント・エンド基板からバス18を通してプリミティブ・データを受け取り、テクスチャ・マッピング基板からバス28を通して結果のテクスチャ・マッピング・データを受け取る。フレーム・バッファ制御器チップはプリミティブ・データを補間して、プリミティブを表すそれぞれのセグメントの画面表示の画素の座標、およびそれぞれの画素の座標について対応する物体R,G,B色の値を計算する。テクスチャ・マッピング基板から結果のテクスチャ・データが供給されるプリミティブ(すなわち三角形)について、フレーム・バッファ制御器チップは画素ごとに物体の色の値と結果のテクスチャ・データを結合して、表示画面上に表示されるそれぞれの画素の最終的なR,G,B値を生成する。物体の色の値とテクスチャの色の値が結合される方法を定義する混合モードは、フロント・エンド基板10がバス18を通して供給するレンダリング・モード制御ワードによって制御される。
【0024】
フレーム・バッファ制御器チップ50AないしEによって生成される、それぞれの画素のR,G,B値を含む結果の画像ビデオ・データは、対応するVRAMチップ51AないしEに格納される。VRAMチップ51AないしEのそれぞれのグループは8つのVRAMチップを含み、従って、40のVRAMチップがフレーム・バッファ基板上に位置する。それぞれのビデオ形式チップ52AないしDはVRAMチップの異なるセットに接続され、そこからデータを受け取る。ビデオ・データはVRAMチップから連続的にシフトされ、64ビットのバス58A、58B、58Cおよび58Dを通って27MHzの速度で4つのビデオ形式チップ52A、52B、52Cおよび52Dにそれぞれ供給される。ビデオ形式チップは、RAMDACによって処理できるようにビデオ・データをフォーマットし、フォーマットされたデータを32ビットのバス60A、60B、60Cおよび60Dを通して33MHzの速度でRAMDAC54に供給する。それからRAMDAC54は、デジタルの色データをアナログのR,G,B色制御信号に変換し、それぞれの画素についてのR,G,B制御信号を、R,G,B制御ライン29に沿って画面ディスプレイ(図示しない)に供給する。
【0025】
本発明のある実施例では、テクスチャ・マッピング基板12およびフレーム・バッファ基板14上のハードウェアが複製されるため、あるプリミティブをレンダリングするタスクを複数のプリミティブに関して平行して実行することができ、結果としてシステムの帯域幅が増える。本発明のこのような代替実施例が図2に示されており、複製されたハードウェアを有する本発明のコンピュータ・グラフィックス・システムのブロック図を示している。図2のシステムは、4つの3D加速器チップ32A、32B、32Cおよび32Dと、キャッシュ・メモリ48Aおよび48Bにそれぞれ関連する2つのテクスチャ・マッピング・チップ46Aおよび46Bと、VRAMチップのグループにそれぞれ関連する10のフレーム・バッファ・チップ50Aないし50Jを含む。図2のシステムの動作は、上述された図1のシステムの動作と同様である。図2の実施例におけるハードウェアの複製は、あるプリミティブをレンダリングする操作を複数のプリミティブについて平行して実行することができるので、システムの帯域幅の増加を可能にする。
【0026】
本発明に従った画素ごとの奥行き指示の付与が、図3に関して示されている。「幾何学的加速器」とよばれる図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に関する奥行き指示の変倍係数の偏導関数とを含む、奥行き指示のレンダリング・パラメータを、スキャン・コンバータに供給する。
【0027】
スキャン・コンバータの中の画素ジェネレータ112は、それぞれのレンダリング・パラメータを独立して補間して、三角形のそれぞれの画素についてXおよびY座標ならびに色の値を計算する。画素ごとの色は拡散した色の値R、G、Bおよびαを含み、また鏡面の色の値Rs、Gs、Bsおよびαsを含みうる。さらに画素ジェネレータ112は、1画素ごとに奥行き指示の変倍係数を計算する。画素ジェネレータ112によって計算される画素ごとの値は、テクスチャ混合ユニット114に供給される。テクスチャ混合ユニット114はまた、テクスチャ・マッピング・チップ46(図1)からテクセルを受け取る。テクセルは、それぞれの画素についてのテクスチャの色の値Rt、Gt、Bt、αtである。画素ジェネレータ112からの画素ごとの色の値とテクスチャ・マッピング・チップからテクセルは、前もって選択される混合演算方法に従って結合され、結果の色の値を供給する。結果の色の値は、奥行き指示混合ユニット116に供給される。奥行き指示混合ユニット116に供給される画素ごとの奥行き指示の変倍係数は、パイプラインで送られるデータが同期されたままであることを保証するためにテクスチャ混合ユニット114を通過するが使用されない。奥行き指示混合ユニット116は、それぞれの画素について、画素ごとの奥行き指示の変倍係数および奥行き指示の色をそれぞれの画素についての結果の色の値と結合して、それぞれの画素について奥行き指示を与えられた色を供給する。
【0028】
画素ごとの奥行き指示の付与は、頂点ごとの奥行き指示の付与よりも精度がよい。なぜなら色および奥行き指示の変倍係数の2つの独立した補間は線形近似だからである。独立した補間は混合されて、最終的な結果を生成する。混合は2つの1次方程式の乗算を含み、2次方程式を作る。2次方程式は、1次方程式よりも所望の曲線に近接して近似することができる。
【0029】
ここで、図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)奥行き指示の勾配
それぞれの頂点についての奥行き指示の変倍係数は、次のように決定される。
【0030】
【数1】
頂点のZが奥行き指示の最小Zよりも小さい場合、
変倍係数 = 最小Zの変倍係数
頂点のZが奥行き指示の最大Zよりも大きい場合、
変倍係数 = 最大Zの変倍係数
それ以外の場合、
変倍係数 = 最小Zの変倍係数+(頂点のZ−奥行き指示の最小Z) × 奥行き
指示の勾配
これは、三角形の頂点0における奥行き指示の変倍係数の始点値を与える。
【0031】
また辺計算ユニット110は、以下の方程式に従って奥行き指示の勾配、dDC/dXおよびdDC/dE1を計算する。
【0032】
【数2】
ここでXiおよびYi(i=0,1,2)は頂点iの座標であり、DCi(i=0,1,2)は頂点iの奥行き指示の変倍係数であり、intは整数値であり、
【0033】
【数3】
画素ジェネレータはこれらの値を使用して、画素ごとの奥行き指示の変倍係数を決定する。
【0034】
画素ジェネレータ112のブロック図が、図4に示されている。幾何学的加速器からのレンダリング・パラメータは、レンダリング・パラメータ・レジスタ130に入れられる。それぞれのレンダリング・パラメータは、レジスタ130から、アルファ補間回路131、赤の補間回路132、緑の補間回路133、青の補間回路134、奥行き指示の変倍係数の補間回路135、赤の鏡面の補間回路136、緑の鏡面の補間回路137、および青の鏡面の補間回路138に供給される。補間回路131ないし138は同一の回路を含み、異なるパラメータを独立して同時に、高いスループットで操作する。
【0035】
一般に三角形のそれぞれの画素について、それぞれのパラメータが計算される。頂点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)に供給される。
【0036】
画素ジェネレータ112のそれぞれの補間回路を表すブロック図が図5に示されている。辺ステッパ(stepper)は、それぞれの三角形の辺に沿ってパラメータを計算する。図5に示すように、辺ステッパは2つの段階を含む。第1の辺ステッパ180は、辺E1に沿ってそれぞれの画素のXおよびY値を生成し、第2の辺ステッパ182は、色およびZ値を計算する。XおよびYの計算の結果は、色およびZの計算のために必要であるので、2つの辺ステッパは高いパフォーマンスであることが好ましい。
【0037】
第1のタイル・クリッパ(tile clipper)184および第2のタイル・クリッパ186を含むタイル・クリッパは、それぞれのスキャン・コンバータに対応するVRAMチップ(図1)内に画素およびスパンを限定する。上述したように、スキャン・コンバータは、対応するVRAMチップを用いて並行に高いスループットで動作する個別のフレーム・バッファ制御器チップに分けられる。それぞれのVRAMチップは、(X方向の16画素)×(Y方向の2画素)を含む表示画面のタイルを処理することが好ましい。タイル・クリッパは、補間回路によって処理される画素を、対応するVRAMの16×2画素の範囲内に制限する。これによって、対応するVRAMチップの範囲外の画素についての不必要なサイクルを排除して、パフォーマンスを改善する。タイル・クリッパは、レンダリングされる三角形のそれぞれのスパンを、対応するVRAMチップの範囲内の最大16画素の副スパンに分割する。不必要な画素がスパン・ステッパで生成されないようにすることによって、レンダリングのパフォーマンスが大幅に改善される。
【0038】
タイル・クリッパの出力は、スパン/画素FIFO 190を通ってスパン・ステッパ192に供給される。好ましい実施例で、スパン/画素FIFOは64エントリの深さである。スパン・ステッパ192は、三角形のそれぞれのスパンについて、辺情報に基づいて画素パラメータを生成する。スパンは定数のY値をもち、三角形のタイプによってXの正または負の方向のいずれかにステップされうる。スパン・ステッパ192の出力は、レンダリングされる三角形のそれぞれの画素についてのパラメータ値のセットである。図4に関連して上述したように、画素ジェネレータ112は、赤、緑、青、アルファ、奥行き指示の変倍係数、赤の鏡面、緑の鏡面および青の鏡面について補間された、画素ごとのパラメーター値を与える。レンダリング・パラメータから、辺のステッピングおよびスパンのステッピングによって画素ごとのパラメーター値を生成する補間回路は、当業者に知られている。
【0039】
上述したように、図3に示されるテクスチャ混合ユニット114は、画素ジェネレータ112によって生成される拡散した値とテクスチャ・マッピング・ユニットから受け取るテクスチャの色の値とを混合して、中間の色の値を供給する。画素ジェネレータ112によって生成される鏡面の色の値は、任意にこれらの中間の色の値に加えられて、結果の色の値を供給する。好ましい実施例で、テクスチャ混合ユニット114はいくつかのテクスチャ混合モードをもち、その中の1つが、それぞれの三角形をレンダリングするときに使用するために選択される。「変更なし」モードでは、拡散した色の値がテクスチャの色による修正なしで使用される。これは、レンダリングされる三角形がテクスチャを必要としない場合、またはグラフィックス・システムがテクスチャ・マッピングを含まない場合に該当する。このケースでは、拡散した色の値は変更されない。「置き換え」モードでは、画素ジェネレータからの拡散した色の値が、テクスチャ・マップの色の値と置き換えられる。先行技術の頂点ごとの奥行き指示の色は、置き換えモードでは、奥行き指示情報が失われるため、まったく無効であったことに留意されたい。「調整」モードでは、拡散した色の値はテクスチャ・マップの色の値と掛け合わせられる。「転写(decal)」モードでは、画素ジェネレータからの拡散した色の値が、テクセルのアルファ値に基づく混合の割合に従ってテクスチャ・マップの色の値と混合される。テクスチャの混合の後、任意に鏡面の色の値が加えられて、結果の色の値を生成する。テクスチャ混合ユニット114によって出力される結果の色の値は、奥行き指示混合ユニット116に供給される。
【0040】
奥行き指示混合ユニット116は、1画素ごとに、それぞれの色の値に奥行き指示を与える。奥行き指示混合ユニット116は、以下の方程式を実行する。
【0041】
【数4】
奥行き指示を与えられた画素の色 =
画素の色 × 奥行き指示の変倍係数 + 奥行き指示の色 × (1 - 奥行き指示の変倍係数)
上記の方程式で用いられる画素の色は、テクスチャ混合ユニット114から受け取った結果の色の値である。奥行き指示の変倍係数は、画素ジェネレータ112によって計算された画素ごとの値である。奥行き指示の色は、ホスト・コンピューターによって特定され、それぞれの三角形について固定されている。奥行き指示の色は典型的には黒であるが、他の色の値であってもよい。結果は、三角形のそれぞれの画素についての奥行き指示を与えられた画素の色の値である。
【0042】
奥行き指示を与える画素ごとの方法は、頂点ごとの奥行き指示の付与よりも正確な表示を与える。これは、奥行き指示を与えられた画素の色の値の方程式の形式に起因する。スキャン・コンバータで線形に補間される頂点ごとの奧行き指示の場合、最終的な画素の色は1次方程式によって表される。色および奥行き指示の変倍係数の両方が線形に補間されて、混合される画素ごとの奥行き指示の場合、より大きい精度を与える2次方程式によって最終的な画素の色が表される。
【0043】
奥行き指示を与える画素ごとの方法は、テクスチャ・マッピングされる多角形に正確な奧行き指示を与える。奥行き指示の付与は、テクスチャ・マップが加えられた後に実行されなければならない。そうしないと奥行き指示情報は歪められ、または(例えば置き換えのテクセル混合モードで)失われさえする。
【0044】
ここで説明された回路は、例えばSynopsysから市販されている論理統合ソフトウェアを使用する大規模なカスタム集積回路で実行されることが好ましい。論理統合ソフトウェアは、Verilogのような、高級言語で論理ゲートに書き込まれる回路の説明を最適化し、翻訳する。回路は、5ボルトで動作する1ミクロンのFETを生成するCMOSプロセス、3.3ボルトで動作する0.6ミクロンで引かれた(drawn)ゲート長のデバイスを生成するCMOSプロセス、またはデジタル回路を実行するに適した他のプロセスを使用して実行することができる。論理統合ソフトウェアへの入力は構造的というより機能的であるので、論理統合ソフトウェアによって生成される実際の回路は、ここで示されるものと異なってもよい。
【0045】
本発明は例として次の実施態様を含む。
【0046】
(1)コンピュータ・グラフィックス・システムで、色に奥行き指示を与える装置であって、
複数の画素として表示される三角形の奥行き指示の変倍係数の関数および頂点パラメータに応じて、三角形のそれぞれの頂点について頂点ごとの奥行き指示の変倍係数の値を決定する第1の回路(110)と、
三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じて、三角形の奥行き指示のレンダリング・パラメータを決定する第2の回路(110)と、
三角形の選択される頂点の頂点ごとの奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じて、三角形のそれぞれの画素について画素ごとの奥行き指示の変倍係数の値を決定する第3の回路(135)と、
三角形の頂点のパラメータに応じて、三角形のそれぞれの画素について画素ごとの色の値を決定する第4の回路(131, 132, 133, 134, 136, 137, 138)と、
画素ごとの奥行き指示の変倍係数の値、画素ごとの色の値および奥行き指示の色に応じて、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定する第5の回路(116)と、
によって特徴付けられる、上記装置。
【0047】
(2)第5の回路が、次式に従って奥行き指示を与えられた画素ごとの色の値を決定する手段を含む、上記(1)の装置。
【0048】
【数5】
奥行き指示を与えられた画素の色 =
画素の色 × 奥行き指示の変倍係数 + 奥行き指示の色 × (1-奥行き指示の変倍係数)
(3)テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェアをもつコンピュータ・グラフィックス・システムで、色に奥行き指示を与える装置であって、
複数の画素として表示される三角形の奥行き指示の変倍係数の関数および頂点パラメータに応じて、三角形のそれぞれの頂点について頂点ごとの奥行き指示の変倍係数の値を決定する第1の回路(110)と、
三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じて、三角形の奥行き指示のレンダリング・パラメータを決定する第2の回路(110)と、
三角形の選択された頂点の頂点ごとの奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じて、三角形のそれぞれの画素について画素ごとの奥行き指示の変倍係数の値を決定する第3の回路(135)と、
三角形の頂点パラメータに応じて、三角形のそれぞれの画素について画素ごとの色の値を決定する第4の回路(131, 132, 133, 134, 136, 137, 138)と、
画素ごとの結果の色の値を与えるために、画素ごとの色の値およびテクスチャ・マッピングされた色の値を混合する第5の回路(114)と、
画素ごとの奥行き指示の変倍係数の値、画素ごとの結果の色の値および奥行き指示の色に応じて、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定する第6の回路(116)と、
によって特徴付けられる上記装置。
【0049】
(4)選択された頂点に隣接する三角形の辺に沿った奥行き指示の変倍係数の第1の勾配および画素の行方向に沿った奥行き指示の変倍係数の第2の勾配を決定する手段を含む、上記(1)および(3)の装置。
(5)上記第3の回路が、上記辺に沿ったそれぞれの画素の行での奥行き指示の変倍係数の値を決定する辺ステッパと、三角形の中のそれぞれの画素の行について画素ごとの奥行き指示の変倍係数の値を決定するスパン・ステッパとを含む、上記(1)および(3)の装置。
(6)第6の回路が、次式に従って奥行き指示を与えられた画素ごとの色の値を決定する上記(3)の装置。
【0050】
【数6】
奥行き指示を与えられた画素の色 =
画素の色 × 奥行き指示の変倍係数 + 奥行き指示の色 × (1−奥行き指示の変倍係数)
(7)幾何学的加速器ハードウェア(32A, 32B, 32C, 32D)およびビデオ表示画面にグラフィック表示を生成するスキャン・コンバータ(50Aないし50J)を含むコンピュータ・グラフィックス・システムで、グラフィック表示の色に奥行き指示を与える方法であって、
第1の回路(110)で、三角形の奥行き指示の変倍係数および頂点パラメータに応じて、複数の画素として表示される三角形のそれぞれの頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
第2の回路(110)で、三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じて、三角形の奥行き指示のレンダリング・パラメータを決定するステップと、
第3の回路(135)で、三角形の選択された頂点の頂点ごとの奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じて、三角形のそれぞれの画素について画素ごとの奥行き指示の変倍係数の値を決定するステップと、
第4の回路(131, 132, 133, 134, 136, 137, 138)で、三角形の頂点パラメータに応じて、三角形のそれぞれの画素について画素ごとの色の値を決定するステップと、
第5の回路(116)で、画素ごとの奥行き指示の変倍係数の値、画素ごとの色の値および奥行き指示の色に応じて、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定するステップと、
を含む、上記方法。
【0051】
(8)上記コンピュータ・グラフィックス・システムが、テクスチャ・マッピングされる色の値を生成するテクスチャ・マッピング・ハードウェアを含み、上記方法がさらに、画素ごとの結果の色の値を与えるために、画素ごとの色の値およびテクスチャ・マッピングされた色の値を混合するステップを含み、奥行き指示を与えられた画素ごとの色の値を決定するステップが、画素ごとの色の値およびテクスチャ・マッピングされた色の値を混合するステップに従って画素ごとの結果の色の値を使用する、上記(7)の奥行き指示を与える方法。
【0052】
(9)幾何学的加速器ハードウェア(32A, 32B, 32C, 32D)、テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェア(46A, 46B, 48A, 48B)、およびビデオ表示画面にグラフィック表示を生成するスキャン・コンバータ(50Aないし50J)を含むコンピュータ・グラフィックス・システムで、グラフィック表示の色に奥行き指示を与える方法であって、
第1の回路(110)で、三角形の奥行き指示の変倍係数および頂点パラメータ応じて、複数の画素として表示される三角形のそれぞれの頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
第2の回路(110)で、三角形の頂点ごとの奥行き指示の変倍係数の値および頂点パラメータに応じて、三角形の奥行き指示のレンダリング・パラメータを決定するステップと、
第3の回路(135)で、三角形の選択された頂点の頂点ごとの奥行き指示の変倍係数の値および奥行き指示のレンダリング・パラメータに応じて、三角形のそれぞれの画素について画素ごとの奥行き指示の変倍係数の値を決定するステップと、
第4の回路(131, 132, 133, 134, 136, 137, 138)で、三角形の頂点パラメータ応じて、三角形のそれぞれの画素について画素ごとの色の値を決定するステップと、
第5の回路(114)で、画素ごとの結果の色の値を与えるために、画素ごとの色の値とテクスチャ・マッピングされた色の値とを混合するステップと、
第6の回路(116)で、画素ごとの奥行き指示の変倍係数の値、画素ごとの結果の色の値および奥行き指示の色に応じて、三角形のそれぞれの画素について、奥行き指示を与えられた画素ごとの色の値を決定するステップと、
を含む、上記方法。
【0053】
【発明の効果】
本発明によると、コンピュータ・グラフィックス・システムで、三角形のそれぞれの画素について、画素ごとに色に奥行き指示を与えることにより、テクスチャ・マッピングの有無にかかわらず精度のよいグラフィックス表示を提供することができる。
【図面の簡単な説明】
【図1】本発明を組み入れたコンピュータ・グラフィックス・システムの第1の実施例のブロック図である。
【図2】本発明を組み入れたコンピュータ・グラフィックス・システムの第2の実施例のブロック図である。
【図3】本発明による画素ごとの奥行き指示の付与を組み入れたスキャン・コンバータのブロック図である。
【図4】図3に示される画素ジェネレータのブロック図である。
【図5】図4に示されるそれぞれのパラメータの補間回路を表わすブロック図である。
【図6】Z軸に関する奥行き関数である奥行き指示の変倍係数のグラフである。
【図7】三角形をレンダリングするプロセスの図である。
【符号の説明】
10 フロント・エンド基板
12 テクスチャ・マッピング基板
14 フレーム・バッファ基板
32A−D 3D加速器
110 辺計算ユニット
112 画素ジェネレータ
114 テクスチャの混合
116 奥行き指示の混合
130 レンダリング・パラメータ・レジスタ
180, 182 辺ステッパ
184, 186 タイル・クリッパ
190 スパン/画素FIFO
192 スパン・ステッパ
Claims (8)
- コンピュータ・グラフィックス・システムにおいて、色に奥行き指示を与える装置であって、
複数の画素として表示される三角形について、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記三角形の各頂点について頂点ごとの奥行き指示の変倍係数の値を求め、前記三角形について、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記三角形の奥行き指示の勾配を計算する辺計算ユニット(110)と、
前記三角形の選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記三角形の各画素について画素ごとの奥行き指示の変倍係数の値を計算する第1の手段(135)と、
前記三角形の前記頂点パラメータは頂点の色の値を含み、該頂点パラメータに基づいて前記三角形の各画素について画素ごとの色の値を計算する第2の手段(131、132、133、134、136、137、138)と、
前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとの色の値および予め定められた奥行き指示の色に基づいて、前記三角形の各画素について、画素ごとに奥行き指示を与えられた色の値を計算する第3の手段(116)と、
を含む装置。 - テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェアをもつコンピュータ・グラフィックス・システムにおいて、色に奥行き指示を与える装置であって、
複数の画素として表示される三角形について、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記三角形の各頂点について頂点ごとの奥行き指示の変倍係数の値を求め、前記三角形について、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記三角形の奥行き指示の勾配を計算する辺計算ユニット(110)と、
前記三角形の選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記三角形の各画素について画素ごとの奥行き指示の変倍係数の値を計算する第1の手段(135)と、
前記三角形の前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記三角形の各画素について画素ごとの色の値を計算する第2の手段(131、132、133、134、136、137、138)と、
前記画素ごとの色の値と前記テクスチャ・マッピングされた色の値を混合して前記画素ごとに得られる色の値を与える第4の手段(114)と、
前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとに得られる色の値および予め定められた奥行き指示の色に基づいて、前記三角形の各画素について、画素ごとに奥行き指示を与えられた色の値を決定する第3の手段(116)と、
を含む装置。 - 幾何学的加速ハードウェアとビデオ表示画面にグラフィック表示を生成するスキャン・コンバータとを含むコンピュータ・グラフィックス・システムにおいて、前記グラフィック表示の色に奥行き指示を与える方法であって、
辺計算ユニット(110)において、複数の画素として表示される三角形について、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記三角形の各頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
辺計算ユニット(110)において、前記三角形について、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記三角形の奥行き指示の勾配を計算するステップと、
第1の手段(135)において、前記三角形の選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記三角形の各画素について画素ごとの奥行き指示の変倍係数の値を計算するステップと、
第2の手段(131、132、133、134、136、137、138)において、
前記三角形の前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記三角形の各画素について画素ごとの色の値を計算するステップと、
第3の手段(116)において、前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとの色の値および予め定められた奥行き指示の色に基づいて、前記三角形の各画素について、画素ごとに奥行き指示を与えられた色の値を計算するステップと、
を含む、奥行き指示を与える方法。 - 幾何学的加速ハードウェア、テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェア、およびビデオ表示画面にグラフィック表示を生成するスキャン・コンバータを含むコンピュータ・グラフィックス・システムにおいて、前記グラフィック表示の色に奥行き指示を与える方法であって、
辺計算ユニット(110)において、複数の画素として表示される三角形について、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記三角形の各頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
辺計算ユニット(110)において、前記三角形について、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記三角形の奥行き指示の勾配を計算するステップと、
第1の手段(135)において、前記三角形の選択された頂点について前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記三角形の各画素について画素ごとの奥行き指示の変倍係数の値を計算するステップと、
第2の手段(131、132、133、134、136、137、138)において、
前記三角形の前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記三角形の各画素について画素ごとの色の値を計算するステップと、
第4の手段(114)において、前記画素ごとの色の値と前記テクスチャ・マッピングされた色の値を混合して前記画素ごとに得られる色の値を与えるステップと、
第3の手段(116)において、前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとに得られる色の値および予め定められた奥行き指示の色に基づいて、前記三角形の各画素について、画素ごとに奥行き指示を与えられた色の値を決定するステップと、
を含む、奥行き指示を与える方法。 - コンピュータ・グラフィックス・システムにおいて、色に奥行き指示を与える装置であって、
複数の画素として表示されるグラフィックス・プリミティブについて、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記グラフィックス・プリミティブの各頂点について頂点ごとの奥行き指示の変倍係数の値を求め、前記グラフィックス・プリミティブについて、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記グラフィックス・プリミティブの奥行き指示の勾配を計算する辺計算ユニット(110)と、
前記グラフィックス・プリミティブの選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの奥行き指示の変倍係数の値を計算する第1の手段(135)と、
前記グラフィックス・プリミティブの前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの色の値を計算する第2の手段(131、132、133、134、136、137、138)と、
前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとの色の値および予め定められた奥行き指示の色に基づいて、前記グラフィックス・プリミティブの各画素について、画素ごとに奥行き指示を与えられた色の値を決定する第3の手段(116)と、
を含む装置。 - テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェアをもつコンピュータ・グラフィックス・システムにおいて、色に奥行き指示を与える装置であって、
複数の画素として表示されるグラフィックス・プリミティブについて、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記グラフィックス・プリミティブの各頂点について頂点ごとの奥行き指示の変倍係数の値を求め、前記グラフィックス・プリミティブについて、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記グラフィックス・プリミティブの奥行き指示の勾配を計算する辺計算ユニット(110)と、
前記グラフィックス・プリミティブの選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの奥行き指示の変倍係数の値を計算する第1の手段(135)と、
前記グラフィックス・プリミティブの前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの色の値を計算する第2の手段(131、132、133、134、136、137、138)と、
前記画素ごとの色の値と前記テクスチャ・マッピングされた色の値を混合して前記画素ごとに得られる色の値を与える第4の手段(114)と、
前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとに得られる色の値および予め定められた奥行き指示の色に基づいて、前記グラフィックス・プリミティブの各画素について、画素ごとに奥行き指示を与えられた色の値を決定する第3の手段(116)と、
を含む装置。 - 幾何学的加速ハードウェアとビデオ表示画面にグラフィック表示を生成するスキャン・コンバータとを含むコンピュータ・グラフィックス・システムにおいて、前記グラフィック表示の色に奥行き指示を与える方法であって、
辺計算ユニット(110)において、複数の画素として表示されるグラフィックス・プリミティブについて、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記グラフィックス・プリミティブの各頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
辺計算ユニット(110)において、前記グラフィックス・プリミティブについて、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記グラフィックス・プリミティブの奥行き指示の勾配を計算するステップと、
第1の手段(135)において、前記グラフィックス・プリミティブの選択された頂点についての前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの奥行き指示の変倍係数の値を計算するステップと、
第2の手段(131、132、133、134、136、137、138)において、
前記グラフィックス・プリミティブの前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの色の値を計算するステップと、
第3の手段(116)において、前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとの色の値および予め定められた奥行き指示の色に基づいて、前記グラフィックス・プリミティブの各画素について、画素ごとに奥行き指示を与えられた色の値を決定するステップと、
を含む、奥行き指示を与える方法。 - 幾何学的加速ハードウェア、テクスチャ・マッピングされた色の値を生成するテクスチャ・マッピング・ハードウェア、およびビデオ表示画面にグラフィック表示を生成するスキャン・コンバータを含むコンピュータ・グラフィックス・システムにおいて、前記グラフィック表示の色に奥行き指示を与える方法であって、
辺計算ユニット(110)において、複数の画素として表示されるグラフィックス・プリミティブについて、頂点の座標データを含む頂点パラメータおよび奥行き指示の変倍係数の関数に基づいて、前記グラフィックス・プリミティブの各頂点について頂点ごとの奥行き指示の変倍係数を決定するステップと、
辺計算ユニット(110)において、前記グラフィックス・プリミティブについて、頂点ごとの奥行き指示の変倍係数の値および前記頂点パラメータに基づいて、前記グラフィックス・プリミティブの奥行き指示の勾配を計算するステップと、
第1の手段(135)において、前記グラフィックス・プリミティブの選択された頂点について前記頂点ごとの奥行き指示の変倍係数の値および前記奥行き指示の勾配に基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの奥行き指示の変倍係数の値を計算するステップと、
第2の手段(131、132、133、134、136、137、138)において、
前記グラフィックス・プリミティブの前記頂点パラメータは色の値を含み、該頂点パラメータに基づいて、前記グラフィックス・プリミティブの各画素について画素ごとの色の値を計算するステップと、
第4の手段(114)において、前記画素ごとの色の値と前記テクスチャ・マッピングされた色の値を混合して前記画素ごとに得られる色の値を与えるステップと、
第3の手段(116)において、前記画素ごとの奥行き指示の変倍係数の値、前記画素ごとに得られる色の値および予め定められた奥行き指示の色に基づいて、前記グラフィックス・プリミティブの各画素について、画素ごとに奥行き指示を与えられた色の値を決定するステップと、
を含む、奥行き指示を与える方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/488,641 US5704025A (en) | 1995-06-08 | 1995-06-08 | Computer graphics system having per pixel depth cueing |
US488,641 | 1995-06-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH096988A JPH096988A (ja) | 1997-01-10 |
JP3821880B2 true JP3821880B2 (ja) | 2006-09-13 |
Family
ID=23940513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14426696A Expired - Lifetime JP3821880B2 (ja) | 1995-06-08 | 1996-06-06 | 色に奥行き指示を与える装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5704025A (ja) |
JP (1) | JP3821880B2 (ja) |
DE (1) | DE19620858B4 (ja) |
FR (1) | FR2735259B1 (ja) |
GB (1) | GB2302001B (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3226153B2 (ja) * | 1996-03-18 | 2001-11-05 | シャープ株式会社 | マルチメディアデータ表示装置 |
JP3763136B2 (ja) * | 1996-12-27 | 2006-04-05 | ソニー株式会社 | 描画方法および描画装置 |
US5914724A (en) * | 1997-06-30 | 1999-06-22 | Sun Microsystems, Inc | Lighting unit for a three-dimensional graphics accelerator with improved handling of incoming color values |
US7796132B1 (en) * | 1999-11-18 | 2010-09-14 | Namco Bandai Games Inc. | Image generation system and program |
US20040257360A1 (en) * | 2001-10-22 | 2004-12-23 | Frank Sieckmann | Method and device for producing light-microscopy, three-dimensional images |
DE10331231B4 (de) * | 2003-07-10 | 2005-12-15 | Eads Deutschland Gmbh | Verfahren zur Übertragung von Tiefeninformationen in den Tiefenspeicher einer Grafikkarte für die Darstellung von 3D-Panoramabildern |
JP2005100176A (ja) * | 2003-09-25 | 2005-04-14 | Sony Corp | 画像処理装置およびその方法 |
DE602004026291D1 (de) * | 2004-07-30 | 2010-05-12 | St Microelectronics Srl | Farbinterpolation mit datenabhängiger Triangulation |
US7312801B2 (en) * | 2005-02-25 | 2007-12-25 | Microsoft Corporation | Hardware accelerated blend modes |
US7545385B2 (en) * | 2005-12-22 | 2009-06-09 | Samsung Electronics Co., Ltd. | Increased color depth, dynamic range and temporal response on electronic displays |
DE102007008767B3 (de) * | 2007-02-22 | 2008-07-24 | Tomtec Imaging Systems Gmbh | Verfahren und Vorrichtung zur Darstellung von 3D Bilddatensätzen auf 2D Bildern |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5063375A (en) * | 1987-07-27 | 1991-11-05 | Sun Microsystems, Inc. | Method and apparatus for shading images |
JP2618951B2 (ja) * | 1988-02-16 | 1997-06-11 | 株式会社東芝 | 三次元図形処理装置 |
US5237650A (en) * | 1989-07-26 | 1993-08-17 | Sun Microsystems, Inc. | Method and apparatus for spatial anti-aliased depth cueing |
US5179638A (en) * | 1990-04-26 | 1993-01-12 | Honeywell Inc. | Method and apparatus for generating a texture mapped perspective view |
CA2038412C (en) * | 1990-04-26 | 2001-10-16 | Glenn M. Courtright | Polygon sort engine |
-
1995
- 1995-06-08 US US08/488,641 patent/US5704025A/en not_active Expired - Lifetime
-
1996
- 1996-03-29 FR FR9603953A patent/FR2735259B1/fr not_active Expired - Lifetime
- 1996-05-23 DE DE19620858A patent/DE19620858B4/de not_active Expired - Fee Related
- 1996-06-05 GB GB9611672A patent/GB2302001B/en not_active Expired - Lifetime
- 1996-06-06 JP JP14426696A patent/JP3821880B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5704025A (en) | 1997-12-30 |
GB2302001B (en) | 1999-09-22 |
DE19620858B4 (de) | 2004-11-18 |
DE19620858A1 (de) | 1996-12-12 |
GB9611672D0 (en) | 1996-08-07 |
FR2735259A1 (fr) | 1996-12-13 |
GB2302001A (en) | 1996-12-18 |
JPH096988A (ja) | 1997-01-10 |
FR2735259B1 (fr) | 1999-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5896136A (en) | Computer graphics system with improved blending | |
US6891548B2 (en) | System and method for calculating a texture-mapping gradient | |
US6914610B2 (en) | Graphics primitive size estimation and subdivision for use with a texture accumulation buffer | |
US6226012B1 (en) | Method and apparatus for accelerating the rendering of graphical images | |
US6469700B1 (en) | Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps | |
US5719600A (en) | Gradient calculation system and method | |
US20050068333A1 (en) | Image processing apparatus and method of same | |
JP3888478B2 (ja) | データ同期装置 | |
JPH0814854B2 (ja) | 三次元図形表示装置 | |
US6184893B1 (en) | Method and system for filtering texture map data for improved image quality in a graphics computer system | |
JP3821880B2 (ja) | 色に奥行き指示を与える装置 | |
US20050068326A1 (en) | Image processing apparatus and method of same | |
US5760792A (en) | Fifo logical addresses for control and error recovery | |
US20020135587A1 (en) | System and method for implementing accumulation buffer operations in texture mapping hardware | |
US6859209B2 (en) | Graphics data accumulation for improved multi-layer texture performance | |
US5732248A (en) | Multistep vector generation for multiple frame buffer controllers | |
WO2002058044A2 (en) | A reduced texture bandwidth method for providing filtering between texture mipmap levels | |
EP0890925A2 (en) | Computer system including a three-dimensional graphics accelerator which includes improved texture mapping capabilities | |
US7053902B1 (en) | Image processing apparatus and method of processing images that stops operation of pixel processing circuits when pixel data to be processed is not needed | |
US5838332A (en) | Graphic image rendering | |
US20020089511A1 (en) | Apparatus and method for gradient mapping in a graphics processing system | |
US20050017982A1 (en) | Dynamic imposter generation with MIP map anti-aliasing | |
US6529196B1 (en) | Efficient stroking of vectors with arbitrary endpoints | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
US6750862B1 (en) | Method and system for performing enhanced lighting functions for texture map data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050705 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050929 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060620 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060621 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100630 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100630 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110630 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120630 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 7 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130630 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |