JPH0935075A - 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム - Google Patents

高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム

Info

Publication number
JPH0935075A
JPH0935075A JP8146206A JP14620696A JPH0935075A JP H0935075 A JPH0935075 A JP H0935075A JP 8146206 A JP8146206 A JP 8146206A JP 14620696 A JP14620696 A JP 14620696A JP H0935075 A JPH0935075 A JP H0935075A
Authority
JP
Japan
Prior art keywords
clipping
primitive
vertex
input
output
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.)
Granted
Application number
JP8146206A
Other languages
English (en)
Other versions
JP3860859B2 (ja
Inventor
Louise A Koss
ルイス・エイ・コス
Mary Louise Nash
マリー・ルイス・ナッシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH0935075A publication Critical patent/JPH0935075A/ja
Application granted granted Critical
Publication of JP3860859B2 publication Critical patent/JP3860859B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】 グラフィックス・プリミティブのクリッピン
グが改善されたコンピュータ・グラフィックス・ハステ
ムにおける形状アクセレレータを得る。 【解決手段】 クリッピング・プロセッサを含むグラフ
ィックス・アクセレレータで使用するためのグラフィッ
クス処理回路は、前記クリッピング・プロセッサの頂点
データ入力に動作可能に接続された頂点入力データ・パ
ス(129)を備える。クリッピング・プリプロセッサ
(112)は、前記頂点入力データ・パスに動作可能に
接続された頂点データ入力と、前記クリッピング・プロ
セッサの制御入力に動作可能に接続された制御出力(1
09,111)とを備える。前記クリッピング・プリプ
ロセッサは、前記頂点入力データ・パスからのプリミテ
ィブ頂点データとクリップ領域の間の関係の評価を行
い、この評価に基づいて制御出力に信号をもたらすよう
に構成配置される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・グ
ラフィックス・システムにおける形状アクセレレータに
関する。さらに具体的には、グラフィックス・プリミテ
ィブのクリッピングが改善された形状アクセレレータに
関する。
【0002】
【従来の技術】コンピュータ・グラフィックス・システ
ムは一般に、オブジェクトのグラフィックス表示を2次
元の表示画面に表示するために使用されている。現在の
コンピュータ・グラフィックス・システムはきわめて細
かい表示を行うことができ、各種の用途で使用されてい
る。
【0003】典型的なコンピュータ・グラフィックス・
システムでは、表示画面に表示されるオブジェクトは、
複数のグラフィックス・プリミティブに分割される。プ
リミティブはグラフィックス・ピクチャの基本的な構成
要素であり、点、線、ポリライン、ベクトル、および三
角形や四辺形などの多角形を含む。通常、画面に表示さ
れる1つまたは複数のオブジェクトのビューを表すグラ
フィックス・プリミティブを、2次元の表示画面にレン
ダリングないし描画するハードウェア/ソフトウェア方
式が実施されている。
【0004】通常、レンダリング対象の3次元オブジェ
クトを画定するプリミティブは、各プリミティブをプリ
ミティブ・データによって定義しているホスト・コンピ
ュータによって与えられる。例えば、プリミティブが三
角形である場合、ホスト・コンピュータは、プリミティ
ブをその頂点のx、y、z座標によって、また各頂点の
R、G、Bカラー値によって定義することができる。レ
ンダリング・ハードウェアは、プリミティブ・データを
補間して、各プリミティブを表すためにオンになってい
る表示画面ピクセル、および各ピクセルのR、G、B値
を計算する。
【0005】コンピュータ・グラフィックス・システム
の基本的な構成要素は、一般に、形状エンジン、すなわ
ち形状アクセレレータ、ラスタライザおよびフレーム・
バッファを含む。システムは、テクスチャ・マッピング
・ハードウェアも含むことができる。形状アクセレレー
タは、表示されるビューを構成するプリミティブを定義
するプリミティブ・データをホスト・コンピュータから
受け取る。形状アクセレレータは、プリミティブ・デー
タを使用して、各プリミティブに対して、変換、四辺形
の三角形への分解、ライティング、クリッピングおよび
平面式計算を実行する。形状アクセレレータの出力は、
ラスタライザとテクスチャ・マッピング・ハードウェア
によって使用されるデータをレンダリングして、各プリ
ミティブ内の各ピクセルのデータを生成する。ラスタラ
イザからのピクセル・データとテクスチャ・マッピング
・ハードウェアからのピクセル・データは結合され、ビ
デオ表示画面に表示するためにフレーム・バッファ内に
格納される。
【0006】「クリッピング」は、形状アクセレレータ
がプリミティブのどの部分をいわゆる「クリップ領域」
内に表示すべきかを決定する操作である。クリップ領域
は、ウィンドウなどの2次元面積かまたは3次元ビュー
体積である。クリップ領域内に表示されるプリミティブ
は、1次元(例えば線)または2次元(例えば多角形)
である。
【0007】点、線、および多角形をクリップするため
の様々な技法が開発されている。それらの技法には、C
ohen−Sutherland線クリッピング、パラ
メトリック線クリッピング、Weiler多角形クリッ
ピング、Liang−Barsky多角形クリッピン
グ、および、Sutherland−Hodgman多
角形クリッピングがある。これらの技法は、特に3次元
クリップ領域に対して多角形をクリップするのに適用す
る場合の計算中心グラフィックス操作である。
【0008】
【発明が解決しようとする課題】形状アクセレレータの
動作の速度を増すために、クリッピング操作専用の特殊
目的回路を実施することが周知である。それにもかかわ
らず、性能をさらに改善する必要がある。特に、形状ア
クセレレータによるデータの処理および計算の効率を向
上させる必要がある。
【0009】
【課題を解決するための手段】1つの一般態様では、本
発明は、クリッピング・プロセッサの頂点データ入力に
頂点入力データ・パスが動作可能に接続されたクリッピ
ング・プロセッサを含むグラフィックス・アクセレレー
タで使用するためのグラフィックス処理回路を特徴とす
る。クリッピング・プロセッサ回路は、頂点入力データ
・パスに動作可能に接続された頂点データ入力と、クリ
ッピング・プロセッサの制御入力に動作可能に接続され
た制御出力とを有する。クリッピング・プロセッサは、
頂点入力データ・パスからのプリミティブ頂点データと
クリップ領域の間の関係の評価を実行し、この評価に基
づいて制御出力に信号を提供するように構成配置され
る。
【0010】グラフィックス・アクセレレータは、使用
可能入力を有し、かつその頂点データ入力からのプリミ
ティブ頂点データに基づいてプリミティブの表示パラメ
ータを生成する頂点処理回路を含む。グラフィックス処
理回路は、頂点入力データ・パスと頂点処理回路の頂点
データ入力との間に第1の回路パスを含み、かつ制御出
力と頂点処理回路の使用可能入力との間に第2の回路パ
スを有する。クリッピング・プリプロセッサは、それぞ
れシフト・レジスタ内にメモリ・セルを含むx、y、お
よびz座標プリプロセシング回路と、メモリ・セルの出
力に動作可能に接続された組合せ論理回路とを含む。ク
リッピング・プリプロセッサ回路は、頂点座標レジス
タ、および頂点入力データ・パスに動作可能に接続され
たウィンドウ・エッジ座標レジスタ、および頂点座標レ
ジスタの出力に動作可能に接続された第1の入力とウィ
ンドウ・エッジ座標レジスタの出力に動作可能に接続さ
れた第2の入力とを有する比較器、ならびに比較器の比
較出力に動作可能に接続された入力を有するマッチング
回路を含む。比較器は、浮動小数点比較器でよい。マッ
チング回路は、それぞれ比較出力に動作可能に接続され
た並列入力を有するシフト・レジスタを含む。マッチン
グ回路は、トリビアル受容出力とトリビアル拒否出力を
有する。クリップ・コード・バスは、クリッピング・プ
リプロセッサとクリッピング・プロセッサの間に動作可
能に接続される。クリッピング・プリプロセッサは、そ
れぞれ使用可能線を有する頂点処理回路を含む。クリッ
ピング・プリプロセッサは、少なくとも3つの頂点処理
回路を含む。
【0011】他の一般態様では、本発明は、クリップ領
域の外側にある座標だけを有する第1のプリミティブの
定義から表示パラメータを生成するステップと、同時に
座標がすべてクリップ領域の外側にあるか判定するステ
ップと、判定ステップが座標がすべてクリップ領域の外
側にあると判定した場合に生成ステップを停止するステ
ップを含むグラフィックス処理方法を特徴とする。
【0012】生成ステップは第1のグラフィックス・プ
ロセッサ部分によって実施され、この方法は、判定ステ
ップが座標がすべてクリップ領域の外側にあると判定し
た場合に、表示パラメータを第2のグラフィックス・プ
ロセッサ部分に転送することを抑制するステップを含
む。この方法はまた、第1のプリミティブと異なりかつ
またクリップ領域の外側にある座標だけを有する第2の
プリミティブの定義から表示パラメータを生成するステ
ップと、第2のプリミティブの座標がすべてクリップ領
域の外側にあると判定しないステップを含む。この方法
はさらに、第1のプリミティブと異なりかつクリップ領
域の内側にある座標だけを有する第2のプリミティブの
定義から表示パラメータを生成するステップと、第2の
プリミティブの座標がすべてクリップ領域の内側にある
と判定するステップを含む。生成ステップは第1のグラ
フィックス・プロセッサ部分によって実施され、この方
法は、プリミティブ用のクリップ・コードを第2のグラ
フィックス・プロセッサ部分に転送するステップを含
む。この方法は、第1のプリミティブと異なる個数の頂
点を有する第2のプリミティブの定義から表示パラメー
タを生成するステップを含む。
【0013】他の一般態様では、本発明は、第1の座標
の最小値より小さい第1の半空間を画定するステップ
と、第1の座標の最大値より大きい第2の半空間を画定
するステップと、第2の座標の最小値より小さい第3の
半空間を画定するステップと、第2の座標の最大値より
大きい第4の半空間を画定するステップと、第3の座標
の最小値より小さい第5の半空間を画定するステップ
と、第3の座標の最大値より大きい第6の半空間を画定
するステップと、第1のプリミティブを構成する頂点が
すべて半空間のうちの1つの半空間の内側にあるかどう
か判定するステップと、判定ステップが第1のプリミテ
ィブを構成する頂点がすべて半空間のうちの1つの半空
間の内側にあると判定した場合に、第1のトリビアル拒
否信号を生成するステップを含むグラフィックス処理方
法を特徴とする。
【0014】判定ステップは、浮動小数点比較ステップ
を含む。この方法は、第1のプリミティブを構成する頂
点のすべてが、すべての半空間の外側にあるかどうか判
定するステップと、このステップが第1のプリミティブ
を構成する頂点のすべてがすべての半空間の外側にある
と判定した場合に、第1のトリビアル受容信号を生成す
るステップを含む。この方法はさらに、第2のプリミテ
ィブを構成する異なる個数の頂点がすべて半空間のうち
のいずれかの半空間の内側にあるかどうか判定するステ
ップと、このステップが第2のプリミティブを構成する
頂点がすべて半空間のうちのいずれかの半空間の内側に
あると判定した場合に、第2のトリビアル拒否信号を生
成するステップを含む。
【0015】本発明による改善されたクリッピング・プ
リプロセシングを有する形状アクセレレータは、クリッ
ピング領域の内側に完全に入るかまたはクリッピング領
域の完全に外側にあるプリミティブの計算負担が大幅に
軽減できるので有利である。これにより、グラフィック
ス・アクセレレータが所定の時間中により多くのプリミ
ティブを表示できるようになる。さらに、本発明による
クリッピング・プリプロセシングは、比較的小さい回路
を使用して実施できる。これにより、あまり費用のかか
らない形状アクセレレータが実施でき、また集積回路上
にグラフィックス処理特徴用の余地を残すことができ
る。さらに、クリッピング・プリプロセシングがクリッ
プ・コードを生成する場合、これらは、全特徴クリッパ
によって再生成する必要がなく、したがってクリッパの
性能がさらに改善できる。
【0016】本発明をよりよく理解するために、参照す
ることによって本明細書に組み込まれる添付図面を参照
する。
【0017】
【発明の実施の形態】図1は、本発明によるクリッピン
グ・プリプロセシングを組み込むのに適したコンピュー
タ・グラフィックス・システムの第1の実施形態のブロ
ック図である。図示の例証としての実施形態は、基板と
チップの数、これらを区画する態様、バス幅、およびデ
ータ転送レートに関して例示的なものに過ぎないことを
理解すべきである。他の多数の実施形態が使用できる。
図示のように、システムは、フロント・エンド基板1
0、テクスチャ・マッピング基板12、およびフレーム
・バッファ基板14を含む。フロント・エンド基板10
は、52ビット・バス16によってホスト・コンピュー
タ15と通信を行う。フロント・エンド基板10は、レ
ンダリング対象のプリミティブをバス16によってホス
ト・コンピュータ15から受け取る。プリミティブは、
プリミティブが三角形である場合の頂点などのプリミテ
ィブのすべての部分に対するx、y、zベクトル座標デ
ータ、R、G、Bカラー・データおよびテクスチャS、
T座標によって規定される。次いで、プリミティブを3
次元で表すデータは、フロント・エンド基板10によっ
て、85ビット・バス18によってテクスチャ・マッピ
ング基板12およびフレーム・バッファ基板14に与え
られる。テクスチャ・マッピング基板12は、受け取っ
たプリミティブ・データを補間して、プリミティブを表
す画面表示ピクセルを計算し、各プリミティブ・ピクセ
ルの対応する合成テクスチャ・データを決定する。合成
テクスチャ・データは、図面が見やすいように図1では
単一のバスとして示されている5本の55ビット・バス
28によってフレーム・バッファ基板14に提供され
る。
【0018】フレーム・バッファ基板14もフロント・
エンド基板10から受け取ったプリミティブ・データを
補間して、各プリミティブを表す表示画面上のピクセル
を計算し、各ピクセルのオブジェクト・カラー値を決定
する。次いで、フレーム・バッファ基板14は、ピクセ
ルごとに、オブジェクト・カラー値を、テクスチャ・マ
ッピング基板12から提供される合成テクスチャ・デー
タと組み合わせて、各ピクセルの得られた画像のR、
G、B値を生成する。各ピクセルのR、G、Bカラー制
御信号はそれぞれ、表示画面27のピクセルを制御する
ためにR、G、Bライン29によって提供され、テクス
チャ・マップされたプリミティブを表す得られた画像を
表示画面27に表示する。
【0019】フロント・エンド基板10、テクスチャ・
マッピング基板12およびフレーム・バッファ基板14
はそれぞれパイプライン化されており、複数のプリミテ
ィブに対して同時に動作する。テクスチャ・マッピング
基板12とフレーム・バッファ基板14が、前にフロン
ト・エンド基板10によって提供されたプリミティブに
対して動作している間に、フロント・エンド基板10
は、テクスチャ・マッピング基板12およびフレーム・
バッファ14中のパイプラインがいっぱいになるまで動
作し続け、新しいプリミティブを提供し続ける。
【0020】フロント・エンド基板10は、ディストリ
ビュータ・チップ30、3個の3次元(3−D)形状ア
クセレレータ・チップ32A、32Bおよび32C、2
次元(2−D)形状アクセレレータ・チップ34ならび
にコンセントレータ・チップ36を含む。ディストリビ
ュータ・チップ30は、バス16によってホスト・コン
ピュータ15からX、Y、Z座標データおよびカラー・
プリミティブ・データを受け取り、3−Dプリミティブ
・データを3−D形状アクセレレータ・チップ32A、
32Bおよび32Cに均等に分配する。このようにする
と、プリミティブの3つのグループが同時に操作される
ので、システムの帯域幅が増加する。データは、40ビ
ット・バス38Aによって3−D形状アクセレレータ・
チップ32Aおよび32Bに提供され、また40ビット
・バス38Bによってチップ32Cに提供される。バス
32Aおよび32Bはどちらも、60MHzの速度でデ
ータを転送し、2個の3−D形状アクセレレータ・チッ
プをサポートするのに十分な帯域幅を提供する。2−D
プリミティブ・データは、44ビット・バス40によっ
て40MHzの速度で2−D形状アクセレレータ・チッ
プ34に提供される。
【0021】各3−D形状アクセレレータ・チップ32
A−Cは、受け取ったプリミティブを画定するx、y、
z座標を対応する画面空間座標に変換し、その画面空間
座標に関するオブジェクトのR、G、B値およびテクス
チャのS、T値を決定し、プリミティブの四辺形を三角
形に圧縮解除し、各三角形を画定する三角形平面式を計
算する。各3−D形状アクセレレータ・チップ32A−
Cはまた、ビュー・クリッピング操作を行って、複数の
ウィンドウが表示されている場合、またはプリミティブ
の一部が表示画面27に表されたビュー体積を超えた場
合に、得られた画像が正確に画面表示されるようにす
る。3−D形状アクセレレータ・チップ32Aおよび3
2Bおよび32Cからの出力データはそれぞれ、44ビ
ット・バス42Aおよび42Bによって60MHzの速
度でコンセントレータ・チップ36に提供される。2次
元形状アクセレレータ・チップ34も、46ビット・バ
ス44によって45MHzの速度で出力データをコンセ
ントレータ・チップ36に提供する。コンセントレータ
・チップ36は、3−D形状アクセレレータ・チップ3
2A−Cから受け取った3−Dプリミティブ出力データ
を組み合わせ、プリミティブをこれらがディストリビュ
ータ・チップ30によって分配される前に有していた元
の順序に並べ換え、組み合わされたプリミティブ出力デ
ータをバス18によってテクスチャ・マッピング基板1
2およびフレーム・バッファ基板14に提供する。
【0022】テクスチャ・マッピング基板12は、テク
スチャ・マッピング・チップ46と、キャッシュ・メモ
リとして配置されることが好ましいローカル・メモリ4
8を含む。本発明の好ましい実施形態では、ローカル・
メモリは、複数個のSDRAM(同期ダイナミック・ラ
ンダム・アクセス・メモリ)によって形成される。キャ
ッシュ・メモリ48は、フレーム・バッファ基板14に
レンダリングされるプリミティブと関連するテクスチャ
MIPマップ・データを記憶する。テクスチャMIPマ
ップ・データは、ホスト・コンピュータ15のメイン・
メモリ17から、バス40を通り、2−D形状アクセレ
レータ・チップ34を介し、かつ24ビット・バス24
を通ってダウンロードされる。
【0023】テクスチャ・マッピング・チップ46は、
バス18によって、表示画面27にレンダリングされる
プリミティブを表すプリミティブ・データを逐次受け取
る。上述したように、3−D形状アクセレレータ・チッ
プ32A−Cによって提供されるプリミティブは、線お
よび三角形を含む。テクスチャ・マッピング基板12
は、点や線のテクスチャ・マッピングは行わず、三角形
のプリミティブだけに動作する。三角形のプリミティブ
を表すデータは、少なくとも1つの頂点に関するx、
y、zオブジェクト・ピクセル座標、少なくとも1つの
頂点のオブジェクト・カラーR、G、B値、少なくとも
1つの頂点に対応するテクスチャ・マップの部分のS、
Tの座標、および三角形の平面式を含む。テクスチャ・
マッピング・チップ46は、オブジェクト・ピクセルの
z座標およびオブジェクト・カラーR、G、B値を無視
する。テクスチャ・マッピング・チップ46は、x、y
ピクセル座標を補間し、プリミティブを表す各x、y画
面表示ピクセルに対応するSおよびT座標を補間する。
各ピクセルに関して、テクスチャ・マッピング・チップ
46は、キャッシュ・メモリ48からそれに対応するテ
クスチャMIPの部分にアクセスし、ピクセルの合成テ
クスチャ・データを計算する。このデータは、複数のテ
クセルの加重平均を含む。
【0024】各ピクセルのテクスチャ・データは、テク
スチャ・マッピング・チップ46によって、5本のバス
28によってフレーム・バッファ基板14に提供され
る。5本のバス28はそれぞれ、フレーム・バッファ基
板上に設けられた5個のフレーム・バッファ・コントロ
ーラ・チップ50A、50B、50C、50Dおよび5
0Eに結合され、合成テクスチャ・データをフレーム・
バッファ・コントローラ・チップ50A−Eに並列に提
供する。フレーム・バッファ・コントローラ・チップ5
0A〜Eはそれぞれ、関連するVRAM(ビデオ・ラン
ダム・アクセス・メモリ)チップ51A〜Eのグループ
に結合される。さらに、フレーム・バッファ基板14
は、4個のビデオ・フォーマット・チップ52A、52
B、52Cおよび52Dと、RAMDAC(ランダム・
アクセス・メモリ・ディジタル・アナログ変換器)54
を含む。フレーム・バッファ・コントローラ・チップ5
0A−Eは、表示画面27の異なる非重畳セグメントを
制御する。各フレーム・バッファ・コントローラ・チッ
プ50A−Eは、バス18によってフロント・エンド基
板10からプリミティブ・データを受け取り、またバス
28によってテクスチャ・マッピング基板12から合成
テクスチャ・マッピング・データを受け取る。フレーム
・バッファ・コントローラ・チップ50A−Eは、プリ
ミティブ・データを補間して、プリミティブを表すチッ
プのそれぞれのセグメントにおける画面表示ピクセル座
標、および各ピクセル座標の対応するオブジェクトR、
B、Gカラー値を計算する。合成テクスチャ・データが
テクスチャ・マッピング基板12から提供されるこれら
のプリミティブ(すなわち、三角形)に対して、フレー
ム・バッファ・コントローラ・チップ50A−Eは、ピ
クセルごとに、オブジェクト・カラー値と合成テクスチ
ャ・データを組み合わせて、表示画面27に表示される
各ピクセルの最終的なR、G、B値を生成する。
【0025】オブジェクト・カラー値とテクスチャ・カ
ラー値を組み合わせる態様は、様々な方法で制御するこ
とができる。例えば、置換モードでは、オブジェクト・
カラー値をテクスチャ・カラー値と置き換えるだけで、
テクスチャ・カラー値だけをピクセルのレンダリングに
使用できる。あるいは、変調モードでは、オブジェクト
・カラー値とテクスチャ・カラー値を乗算して、ピクセ
ルの最終的なR、G、B値を生成することができる。さ
らに、対応するテクスチャ・カラー値をオブジェクト・
カラー値と組み合わせる態様を規定する比率を指定する
カラー制御ワードを各テクセルに関して記憶することが
できる。各ピクセルに対応しかつバス28によってフレ
ーム・バッファ・コントローラ・チップに提供される合
成テクセル・データに関して合成カラー制御ワードを決
定でき、したがってコントローラ・チップが対応する合
成制御ワードによって指定された比率を使用して、各ピ
クセルの最終的なR、G、B値を決定することができ
る。
【0026】フレーム・バッファ・コントローラ・チッ
プ50A〜Eによって生成された、各ピクセルのR、
G、B値を含む得られた画像のビデオ・データは、対応
するVRAMチップ51A〜Eに記憶される。VRAM
チップ51A〜Eの各グループは8個のVRAMチップ
を含み、40個のVRAMチップがフレーム・バッファ
基板上に配置されるようになっている。ビデオ・フォー
マット・チップ52A〜Dはそれぞれ、10個のVRA
Mチップの異なる組に接続され、それらからデータを受
け取る。ビデオ・データは、VRAMチップ51A−E
から直列にシフト・アウトされ、それぞれ64ビット・
バス58A、58B、58Cおよび58Dによって33
MHzの速度で4個のビデオ・フォーマット・チップ5
2A、52B、52Cおよび52Dに提供される。ビデ
オ・フォーマット・チップ52A−Dは、RAMDAC
54によって処理できるようにビデオ・データをフォー
マットし、かつフォーマットされたデータを32ビット
・バス60A、60B、60Cおよび60Dによって3
3MHzの速度でRAMDAC54に提供する。RAM
DAC54は、ディジタル・カラー・データをアナログ
R、G、Bカラー制御信号に変換し、各ピクセルのR、
G、B制御信号をアナログR,G,B制御ライン29に
沿って画面表示27に提供する。
【0027】本発明の一実施形態では、いくつかのプリ
ミティブ・レンダリング・タスクを複数のプリミティブ
上で並行して実行できるように、テクスチャ・マッピン
グ基板12とフレーム・バッファ基板14上のハードウ
ェアを複製し、それによってシステムの帯域幅を増加さ
せる。そのような本発明の他の実施形態の例を図2に示
す。図2はいくつかのハードウェアが複製された本発明
のコンピュータ・グラフィックス・システムのブロック
図である。図2のシステムは、4個の3−D形状アクセ
レレータ・チップ32A、32B、32Cおよび32
D、それぞれキャッシュ・メモリ48Aおよび48Bと
関連した2個のテクスチャ・マッピング・チップ46A
および46B、およびそれぞれVRAMチップ51A−
Jのグループと関連した10個のフレーム・バッファ・
コントローラ・チップ50A〜Jを含む。図2のシステ
ムの動作は、上述の図1のシステムの動作と同じであ
る。図2の実施形態のハードウェアの複製では、いくつ
かのプリミティブ・レンダリング動作を複数のプリミテ
ィブ上で並列に実行できるので、システムの帯域幅が増
加する。
【0028】形状アクセレレータ32A、32Bおよび
32Cを表わす簡単化したブロック図を図3に示す。ホ
スト・コンピュータ15からのプリミティブ・データ
は、入力FIFO100を介して、第1の頂点RAM
(バッファ0)102と第2の頂点RAM(バッファ
1)104とを含むダブルバッファ頂点RAMに供給さ
れる。形状アクセレレータは、パイプライン構成中に別
個の2個のプロセッサを含む。左側スタック110は、
クリップ・コード論理112、レジスタ・ファイル11
4、マルチプレクサ116、浮動小数点ALU118、
および浮動小数点マルチプレクサ120を含む。左側ス
タック110の動作は、左側スタック制御ユニット12
2によって制御される。左側スタック110からの結果
は、第1のプリミティブRAM(バッファ0)132と
第2のプリミティブRAM(バッファ1)134とを含
むダブルバッファ・プリミティブRAMを介して、右側
スタック130に供給される。右側スタックは、カラー
・クランパ/コンパレータ138、レジスタ・ファイル
140、マルチプレクサ142、浮動小数点ALU14
4、浮動小数点マルチプレクサ146、および浮動小数
点分割/平方根ユニット148を含む。右側スタック1
30からの結果は、出力FIFO150を介して、テク
スチャ・マッピング基板12およびフレーム・バッファ
基板14(図1参照)に供給される。右側スタック13
0の動作は、ライティング、クリッピング、および平面
式生成論理を含む右側スタック制御ユニット152によ
って制御される。スタック制御ユニットは階層的に設計
されており、各ユニットが高レベル・ディスパッチャと
スタックの様々な機能用の複数の低レベルコントローラ
を含む。ハンドシェーキング制御ユニット107は、左
側スタック制御ユニット122と右側スタック制御ユニ
ット152の間の対話を制御する。クリッピング・パラ
メータおよびライティング・パラメータは、ホスト・コ
ンピュータ15によってクリッピング/ライティングR
AM154に供給される。
【0029】形状アクセレレータは、変換、四辺形と三
角形の圧縮解除、ライティング(またはシェーディン
グ)、クリッピング、およびランダムに配向し画定され
た四辺形(クワッド)、三角形およびベクトルの平面式
(またはスロープ)計算を実行する。出力は、ピクセル
・データにレンダリングするためにフレーム・バッファ
基板14内のスキャン変換器に供給され、かつ、ピクセ
ル毎のテクスチャ・カラー値を生成するためにテクスチ
ャ・マッピング基板12に供給される。
【0030】図3の例では、サイズおよびコストを制限
するために右側スタック130だけが分割器を含む。右
側スタック130は分割器を含み、左側スタックは分割
器を含まないので、形状アクセレレータの機能性の区分
化は、左側スタック110が、変換、部分スロープ計
算、クリップ・チェック、圧縮解除、およびライティン
グの事前計算を実行することである。右側スタック13
0は、ライティング、クリッピング、および平面式計算
を実行する。動作の基本的な流れは、プリミティブ・デ
ータをホスト・コンピュータ15から入力FIFO10
0に入れることである。プリミティブ・データは、頂点
RAMバッファ102および104の一方に入れられ
る。左側スタック110は、変換、圧縮解除、部分スロ
ープ計算を実行し、その結果をローカル・バス129を
介してプリミティブRAMバッファ132および134
内に入れる。左側スタック110がプリミティブに対し
てその動作を完了すると、そのコントローラ122は、
ハンドシェーキング制御ユニット107を介して、右側
スタック130のコントローラ152にプリミティブに
対する動作を開始するように告知する。次いで、左側ス
タック110は、次のプリミティブに対する作業を開始
できる。同時に、右側スタック130は、プリミティブ
RAMバッファ内にあるプリミティブに対して、ライテ
ィング、クリッピング(必要な場合)、および平面式計
算を実行する。他の実施形態では、左側スタック110
と右側スタック130はどちらも、分割器を含む同一の
ハードウェアを含む。この構成では、機能性は、各スタ
ックが異なるプリミティブに対して同じ動作を実行する
ように区分化される。
【0031】次に、図3および図4を参照して、本発明
の形状アクセレレータ内でクリッピング・プリプロセシ
ングを実行する回路の構造について詳細に説明する。ク
リップ・コード論理112は、シーケンシャル・ディジ
タル・クリッピング・プリプロセシング回路であり、出
力バス129を介して左側スタック110の出力ポート
に動作可能に接続された入力ポートと、クリップ・コー
ド・バス113に動作可能に接続された出力ポートとを
有する。トリビアル受容出力線109とトリビアル拒否
出力線111は、ハンドシェーキング制御ユニット10
7の入力に供給され、トリビアル拒否出力線111は、
左側スタック制御ユニット122の入力にも供給され
る。
【0032】クリッピング・プリプロセシング回路は、
最大クリッピング・エクステント・レジスタ200、ク
リッピング頂点座標レジスタ202、および最小クリッ
ピング・エクステント・レジスタ204を含む。これら
はそれぞれ左側スタック110のローカル・バス129
に動作可能に接続された入力ポートを有する。第1の浮
動小数点比較器206は、頂点座標レジスタ202の出
力ポートから第2のレジスタ出力バス203に動作可能
に接続された第1の入力ポートと、最大クリッピング・
エクステント・レジスタ200の出力ポートから第1の
レジスタ出力バス201に動作可能に接続された第2の
入力ポートとを有する。第2の浮動小数点比較器208
は、第2のレジスタ出力バス203に動作可能に接続さ
れた第1の入力ポートと、最小クリッピング・エクステ
ント・レジスタ204の出力ポートから第3のレジスタ
出力バス205に動作可能に接続された第2の入力ポー
トとを有する。
【0033】浮動小数点比較器206、208は、それ
ぞれ受け取った2つの浮動小数点数を比較し、どちらが
大きいかを示す信号を提供する。特に、第1の浮動小数
点比較器206は、頂点座標レジスタ202から受け取
った値が最大レジスタ200から受け取った値よりも大
きい場合に、最大出力線210に論理ハイ信号(2進数
1)を提供する。反対に、第2の浮動小数点比較器20
8は、頂点座標レジスタ202から受け取った値が最小
レジスタ204から受け取った値よりも小さい場合に、
最小出力線212に論理ハイ信号を提供する。
【0034】浮動小数点比較器は、2つの32ビットI
EEE−754標準浮動小数点フォーマット数に対して
動作する。このフォーマットでの最上位ビットは、1が
その数が負であることを示し、0がその数が正であるこ
とを示す符号ビットである。次の8つの最上位ビットは
指数部であり、最後の23ビットは仮数部である。
【0035】比較器は、符号付きの値に対して動作する
ために、追加の回路を有する絶対値比較器として実施さ
れる。特に、図5も参照すると、第2の比較器208
は、頂点座標レジスタ202の出力ポートからの第2の
出力バス203に動作可能に接続された第1の入力ポー
トを有する絶対値比較器213を含む。絶対値比較器2
13は、最小クリッピング・エクステント・レジスタ2
04の出力ポートからの第3の出力バス205に動作可
能に接続された第2の入力ポートを有する。
【0036】絶対値比較器213は、まず、その2つの
入力ポートで受け取った数をそれらの符号ビットをスワ
ッピングすることによって修正し、次いで第1の出力N
DD0および第2の出力NCD0上で信号を生成する絶
対値の比較を行う。第1の出力NDD0上の論理ハイ出
力は2つの数が等しいことを示し、論理ロー出力はそれ
らが等しくないことを示す。第1の出力NDD0上の論
理ロー出力と結合する第2の出力NCD0上の論理ハイ
出力は、第1の入力ポートからの修正された数が、第2
の入力ポートからの修正された数よりも大きいことを示
す。2つの出力NDD0および出力NCD0は、比較器
出力調整回路214に提供される。
【0037】図6も参照すると、比較器出力調整回路2
14は、頂点座標レジスタ202からの符号ビット(符
号A)に応答する第1の入力と、最小クリッピング・エ
クステント・レジスタ204からの符号ビット(符号
B)に応答する第2の入力と、絶対値比較器213の第
1の出力NDD0の反転出力に応答する第3の入力とを
有するANDゲート216を含む。ANDゲートの出力
は、NCD0に応答する第1のデータ入力とNCD0の
反転出力に応答する第2のデータ入力とを有するマルチ
プレクサ218の選択入力に動作可能に接続される。マ
ルチプレクサ218は、比較器出力調整回路214の出
力の役目をするデータ出力SNCD0を有する。排他的
NORゲート215は、データ出力SNCD0に動作可
能に接続された第1の入力と、絶対値比較器213の第
1の出力NDD0に動作可能に接続された第2の入力と
を有する。排他的NORゲート215の出力は、第2の
比較器208の最小出力線212の役目をする。第1の
比較器206は、排他的NORゲート215を含まない
点を除いて、第2の比較器と同じである。その代わり、
マルチプレクサのデータ出力SNCD0が最大出力21
0として使用される。
【0038】再び図3および図4を参照すると、第1の
比較器206からの最大出力線210および第2の比較
器208からの最小出力線212はそれぞれ、一連の各
頂点クリップ・コード・シフト・レジスタ220、24
4、246、248のそれぞれの並列入力線に動作可能
に接続される。プリプロセシング回路112は、2つま
たはそれ以上のシフト・レジスタを含み、シフト・レジ
スタの個数はプリプロセシング回路によって処理される
頂点の個数に対応する。この例示的な実施形態では、4
つのシフト・レジスタが備えられているが、第2のシフ
ト・レジスタ244、第3のシフト・レジスタ246、
および第4のシフト・レジスタ248は構造的に第1の
シフト・レジスタ220と同じであるので、第1のシフ
ト・レジスタ220についてのみ詳細に説明する。
【0039】第1の頂点クリップ・コード・シフト・レ
ジスタ220は、一連の単一ビット・メモリ・セルを構
成するシフト・レジスタ記憶要素を含む。この実施形態
は3次元座標空間に対して動作するので、この実施形態
には6個のメモリ・セル232、234、236、23
8、240、242がある。この回路はまた、他の種類
の座標空間を使用して動作するように構成できるが、そ
の場合異なる個数のメモリ・セルを使用することにな
る。
【0040】第1の頂点クリップ・コード・シフト・レ
ジスタ220は、第1の頂点ロード制御線224、第1
のセル232用の第1の並列入力線226、第2のセル
234用の第2の並列入力線228を有する。第1の並
列入力線226は最小出力線212に動作可能に接続さ
れ、第2の並列入力線228は最大出力線210に接続
される。頂点ロード制御線224は、左側スタック制御
ユニット122によって駆動される。
【0041】メモリ・セル232、234、236、2
38、240、242は、2つの要素によってそれらの
内容をシフトするように接続され、2ビット並列ロード
を同時に実行する。特に、頂点ロード制御線224上で
ロード信号を受け取ると、第1のメモリ・セル232の
内容は第3のメモリ・セル236にシフトされ、一方、
第2のメモリ・セル234の内容は第4のメモリ・セル
238にシフトされる。同様に、第3のメモリ・セル2
36の内容は第5のメモリ・セル240にシフトされ、
一方、第4のメモリ・セル238の内容は第6のメモリ
・セル242にシフトされる。同時に、最小出力線21
2上の信号は第1のメモリ・セル内に並列にロードさ
れ、最大出力線210上の信号は第2のメモリ・セル内
に並列にロードされる。第2のシフト・レジスタ24
4、第3のシフト・レジスタ246、および第4のシフ
ト・レジスタ248はそれぞれ、それらの別個の頂点ロ
ード制御入力線245、247、249の制御下で同様
に独立して動作する。
【0042】シフト・レジスタ220、244、24
6、248は、受容/拒否回路250の異なる入力に動
作可能に接続される並列出力を有する。受容/拒否回路
250は、使用可能なすべてのシフト・レジスタ内のす
べてのビットが0である場合に、トリビアル受容線10
9にトリビアル受容信号をアサートし、すべてのシフト
・レジスタ内の同じビットが1にセットされている場合
に、トリビアル拒否線111にトリビアル拒否信号をア
サートする。
【0043】図4および図8を参照すると、受容/拒否
回路250はトリビアル受容回路251を含む。トリビ
アル受容回路251は、第1のシフト・レジスタ220
の並列出力からの6つの信号線に動作可能に接続された
6つの入力線を有する第1のORゲート252を含む。
同様に、第2のORゲート254、第3のORゲート2
56、および第4のORゲート258はそれぞれ、第2
のシフト・レジスタ244、第3のシフト・レジスタ2
46および第4のシフト・レジスタ248の6つの出力
線にそれぞれ動作可能に接続された6つの入力線を有す
る。第1のORゲート、第2のORゲート、第3のOR
ゲート、および第4のORゲートはそれぞれ、第1のN
ANDゲート272、第2のNANDゲート274、第
3のNANDゲート276、第4のNANDゲート27
8の第1の入力線に動作可能に接続される。これらのN
ANDゲートはまた、第1の頂点使用可能線262、第
2の頂点使用可能線264、第3の頂点使用可能線26
6、および第4の頂点使用可能線268に動作可能に接
続された第2の入力線を有する。4つのNANDゲート
は、出力NANDゲート280の4つの入力のうちの1
つの入力に動作可能に接続された出力線を有する。NA
NDゲートの出力線は、トリビアル受容出力109の役
目をする。
【0044】図4および図9を参照すると、受容/拒否
回路250はトリビアル拒否回路350も含む。この回
路は、第1のNORゲート352、第2のNORゲート
354、第3のNORゲート356、第4のNORゲー
ト358、第5のNORゲート360、および第6のN
ORゲート362を含むNORゲートの第1のバンクを
含む。これらのNORゲートはそれぞれ、第1のシフト
・レジスタ220の出力線のうちの1つの出力線に動作
可能に接続された第1の入力線を有し、またそれぞれ第
1の頂点使用可能線262の反転出力に動作可能に接続
された第2の入力線を有する。同様にして、第1のNO
Rゲート364、第2のNORゲート366、第3のN
ORゲート368、第4のNORゲート370、第5の
NORゲート372、および第6のNORゲート374
を含むNORゲートの第2のバンクは、第2のシフト・
レジスタ244の出力および第2の頂点使用可能線26
4の反転出力に動作可能に接続される。さらに、NOR
ゲート376、378、380、382、384、38
6の第3のバンクは、第3のシフト・レジスタ246の
出力および第3の頂点使用可能線266の反転出力に動
作可能に接続され、NORゲート388、390、39
2、394、396、398の第4のバンクは、第4の
シフト・レジスタ248の出力線および第4の頂点使用
可能線268の反転出力に動作可能に接続される。
【0045】各バンク内の第1のNORゲート352、
364、376、388(すなわちその対応するシフト
・レジスタの第1のメモリ・セルの出力線に動作可能に
接続された入力線を有するNORゲート)の出力線は、
第1の4入力NORゲート400の入力線のうちの1つ
の入力線に動作可能に接続される。同様に、各バンクの
第2のNORゲート354、366、378、390の
出力線は、第2の4入力NORゲート402の入力線の
うちの4つの入力に動作可能に接続される。各バンクの
第3のNORゲート、第4のNORゲート、および第5
のNORゲートも、第3の4入力NORゲート、第4の
4入力NORゲート、および第5の4入力NORゲート
(図示せず)に動作可能に接続された出力線を有する。
各バンク内の第6のNORゲート362、374、38
6、398は、第6の4入力NORゲート410の1つ
の入力線に動作可能に接続された出力線を有する。第1
の4入力NORゲート、第2の4入力NORゲート、第
3の4入力NORゲート、第4の4入力NORゲート、
第5の4入力NORゲート、および第6の4入力NOR
ゲートの出力はそれぞれ、6入力ORゲート412の1
つの入力線に動作可能に接続される。この6入力ORゲ
ートの出力は、トリビアル拒否出力線111の役目をす
る。
【0046】動作に際して、図3〜10を参照すると、
クリッピング・プリプロセシング回路112は、左側ス
タック110からクリップすべきプリミティブの各頂点
のクリッピング・エクステントと変換された座標を受け
取る。クリッピング・エクステントは、プリミティブの
各座標の最大値と最小値を含む。例えば、3次元座標の
場合、これらのエクステントは、xの最小値xmin 、x
の最大値xmax 、yの最小値ymin 、yの最大値ymax
、zの最小値zmin 、およびzの最大値zmaxを含む。
【0047】左側スタック110内のプリミティブの第
1の頂点に関して変換動作が終了し、プリミティブの第
1の頂点の変換された第1の座標(例えばx座標)が得
られたらクリッピング・プリプロセシング300を開始
する(ステップ302)。クリッピング・プリプロセシ
ングの進行中に、左側スタック110が変換動作を終了
する。
【0048】また、クリッピング・プリプロセシングの
およその開始時に、左側スタック制御ユニット122
は、プリミティブ内の頂点の数に等しい数のいくつかの
頂点使用可能線262、264、266、268に使用
可能信号を提供する(ステップ304)。線セグメント
の場合、第1の頂点使用可能信号と第2の頂点使用可能
信号をアサートする。三角形の場合、第1の頂点使用可
能信号、第2の頂点使用可能信号、および第3の頂点使
用可能信号をアサートする。四辺形の場合、4つの頂点
使用可能線上の4つの信号すべてをアサートする。この
実施形態では、ポイント・プリミティブがサポートされ
ていないが、そのようなプリミティブは、単一の使用可
能信号を使用可能にすることによって対処できる。ベク
トルの場合は、4つのうち2つの頂点使用可能線上の信
号の任意の組合せをアサートできる。回路は、任意の数
の頂点を有するプリミティブを処理できるように、任意
の数の頂点使用可能線および関連する回路を含むことが
できる。
【0049】パースペクティブが使用可能である場合、
次いで左側スタック110は、浮動小数点マルチプレク
サ120を使用して、変換された頂点に関するパースペ
クティブ係数Wによって、プリミティブの第1の頂点の
第1の座標に関する最大クリップ・エクステントおよび
最小クリップ・エクステントを乗算することによってそ
れらを修正する(ステップ306)。パースペクティブ
・モードが使用可能である場合、その側面が一定のデカ
ルト座標を有しない特性を有するビュー体積が切頭角錐
になるので、この修正が必要となる。したがって、パー
スペクティブ・モードでは、最大クリップ・エクステン
トおよび最小クリップ・エクステントは、プリミティブ
の各頂点で異なる。
【0050】任意選択の修正ステップ306の後、プリ
ミティブの第1の頂点の第1の座標(例えばx座標)を
クリップ比較レジスタ202内にロードし、この第1の
座標の最小クリップ・エクステントを最小クリップ・エ
クステント・レジスタ204内にロードし、この第1の
座標の最大クリップ・エクステントを最大クリップ・エ
クステント・レジスタ200内にロードする(ステップ
308)。第1の浮動小数点比較器206および第2の
浮動小数点比較器208は、これらの値を比較し、第1
の比較器206が最大フラグ・ビットを生成し、一方、
第2の比較器208が最小フラグ・ビットを生成する。
これらの値が安定したら、左側スタック制御ユニット1
22は、頂点ロード制御線224上に信号をアサートす
ることによって、第1のシフト・レジスタ220の第1
のセル232内に最小フラグ・ビットをロードし、第1
のシフト・レジスタ220の第2のセル234内に最大
フラグ・ビットをロードする(ステップ310)。頂点
の単一の座標に関するこのようなフラグ・ビットの対は
「クリップ・サブコード」と呼ばれる。同時に、シフト
・レジスタは、2つのセルによってその内容の残りをシ
フトする。
【0051】次に、頂点に関する座標が残っている場合
(ステップ312の「NO」ブランチ)、クリップ・エ
クステントを修正するステップ(ステップ306)、ク
リップ・エクステント内に座標をロードするステップ
(ステップ308)、およびクリップ・サブコードを生
成、ロードおよびシフトするステップ(ステップ31
0)を、第1の頂点の残りの座標について繰り返す。第
1の頂点に関するすべてのクリップ・サブコードが生
成、記憶されており(ステップ312の「YES」ブラ
ンチ)、かつプリミティブ内に頂点が残っている場合
(ステップ316の「NO」ブランチ)、上述のステッ
プを繰り返して、残りの頂点の各座標に関するサブコー
ドを生成する。
【0052】プリミティブ内のすべての頂点に関してサ
ブコードが生成、記憶されている場合(ステップ316
の「YES」ブランチ)、受容/拒否回路250は、そ
れぞれトリビアル受容出力線109上およびトリビアル
拒否出力線111上にトリビアル受容信号およびトリビ
アル拒否信号を生成する(ステップ318)。プリミテ
ィブがトリビアル拒否またはトリビアル受容されない場
合は、第1のシフト・レジスタ220、第2のシフト・
レジスタ244、第3のシフト・レジスタ246、およ
び第4のシフト・レジスタ248に記憶されるクリップ
・コードは、クリップ・コード・バス113によって右
側スタック130に転送され(ステップ322)、プリ
ミティブのプリプロセシングが完了する(ステップ32
4)。頂点がトリビアル拒否かまたはトリビアル受容さ
れる場合は、クリップ・コードは転送されない。
【0053】シフト・レジスタ内のデータの転送を図7
に示す。特に、頂点の最小xフラグおよび最大xフラグ
は、まず第1のメモリ・セル232内および第2のメモ
リ・セル234内にそれぞれ記憶される。次いでフラグ
は、それぞれ第3のメモリ・セル236および第4のメ
モリ・セル238へ2だけシフトされる。一方、yクリ
ップ・コードは、それぞれ第1のメモリ・セル内および
第2のメモリ・セル内に挿入される。次に、xクリップ
・コードは再び、今度は第3のメモリ・セルおよび第4
のメモリ・セルから第5のメモリ・セル240および第
6のメモリ・セル242にそれぞれ転送され、yクリッ
プ・コードは、それぞれ第1のメモリ・セルおよび第2
のメモリ・セルから第3のメモリ・セルおよび第4のメ
モリ・セルに転送され、zクリップ・コードは、第1の
メモリ・セルおよび第2のメモリ・セル内にロードされ
る。
【0054】サブコードをこのようにシフトすることに
よって、各座標に関するクリップ・サブコードを含むク
リップ・コード・ワードをシフト・レジスタ内にアセン
ブルする。座標に関するクリップ・サブコードはすべて
1つの大きい組合せ回路内で同時に生成でき、シフト・
レジスタは不要になることに留意されたい。この回路は
より大きい集積回路面積を必要とするので、この実施形
態ではこれは行わない。さらに、残りの頂点に関して変
換計算を実行する際に、連続的な方法で左側スタック1
10による変換計算から頂点座標が得られるので、クリ
ッピング・プリプロセッサは、座標に対して同時に動作
する必要がない。
【0055】トリビアル拒否出力線111は、左側スタ
ック制御ユニット122の入力に動作可能に接続され
る。トリビアル拒否信号をアサートすると、プリミティ
ブに関する圧縮解除および部分スロープ計算が、左側ス
タック制御ユニット122によって、例えば左側スタッ
ク110に対して使用可能入力をアサート解除すること
によって直ちに停止する。また、この信号をアサートす
ると、左側スタック制御ユニット122が左側スタック
110からプリミティブRAMバッファ132、134
のうちの一方へ転送されたプリミティブに関するデータ
を検証するのが防止され、したがって拒否されたプリミ
ティブ頂点データが右側スタック130へ転送されるの
が効率的に防止される。これにより、左側スタック11
0および右側スタック130が、圧縮解除、部分スロー
プ計算、クリッピング、ライティング、および全く表示
されない頂点データに関するその他の計算を実行する手
間が省ける。その結果、どちらのスタックもより効率的
に動作できる。
【0056】トリビアル拒否出力線111も、ハンドシ
ェーキング制御ユニット107の入力に動作可能に接続
される。ハンドシェーキング制御装置は、この線に応答
して、トリビアル拒否線の状態を示すトリビアル拒否フ
ラグを、内部レジスタを介して右側スタック制御ユニッ
ト152に提供する。右側スタック制御ユニット152
は、そのプリミティブが一連のプリミティブまたはプリ
ミティブの「チャック」のうちの最後の1つである場合
にこのフラグを使用して、そのプリミティブに送るパラ
メータがない場合でも、チャック終端の指示をコンセン
トレータに送るかどうか判断する。チャック内の最後の
プリミティブがクリッピング領域の外側にある場合にこ
の指示を送ると、コンセントレータがプリミティブ・デ
ータの流れと同期したままになる。
【0057】クリップ・コード・バス113は、右側ス
タック制御ユニット152の入力に直接動作可能に接続
される。トリビアル受容線109は、ハンドシェーキン
グ制御ユニット107の入力に動作可能に接続される。
ハンドシェーキング制御ユニット107は、この線に応
答して、トリビアル受容線の状態を示すトリビアル受容
フラグを、内部レジスタを介して右側スタック制御ユニ
ット152に提供する。トリビアル受容フラグおよびク
リップ・コードは、右側スタックの一部として実施され
るクリッピング・プロセッサによって使用される。この
クリッピング・プロセッサは、一時記憶用のクリッピン
グ/ライティングRAM154を使用し、I.E.Sutherla
ndおよびG.W.hodgman が「Reentrant Polygon Clippinn
g 」CACM、17(1)、1974年1月、34−3
2に記載した方法など、周知のクリッピング方法を適用
できる。
【0058】右側スタック制御ユニット152は、トリ
ビアル受容フラグのアサートされた状態に応答して、ク
リッピング・プロセッサを使用可能にするのを止める。
これは、トリビアル受容フラグのアサートは、プリミテ
ィブがクリップ体積内に完全に入ることを示すために行
われ、したがってそれに対してクリッピング処理を実行
する必要はない。事前受容されたプリミティブに関して
クリッピング・プロセッサを使用可能にするのを止める
ことによって、右側スタック130は、他の動作を自由
に実行できるようになる。
【0059】トリビアル受容出力線109上のトリビア
ル受容信号とトリビアル拒否出力線111上のトリビア
ル拒否信号のどちらにもアサートしない場合、クリッピ
ング・プロセッサは、プリミティブに対してクリッピン
グ動作を実行する。クリップ・コード論理112はすべ
ての拒否可能なプリミティブをトリビアル拒否しないの
で、これらの動作の結果さらに表示されないプリミティ
ブが生じる。クリップ・コード論理112がすべての拒
否可能なプリミティブをトリビアル拒否しない理由は、
図11に示す3次元クリップ領域420を参照すればよ
り容易に理解できよう。まず、すべての頂点が、最小値
x座標xmin と最大x座標xmax の間にx座標を有し、
最小値y座標ymin と最大y座標ymax の間にy座標を
有し、最小値z座標zmin と最大z座標zmax の間にz
座標を有するプリミティブについて考える。これらの頂
点はすべてクリップ領域内に入るので、プリミティブ全
体はクリップ領域内に必ず入る。これは、トリビアル受
容状態に対応する。
【0060】一方、トリビアル拒否の場合には、すべて
のプリミティブの頂点は、クリップ領域の外側の6つの
半空間のいずれか1つの半空間内に必ずある。これらの
半空間は、頂点のx座標がxmin より下にある空間、x
座標がxmax より上にある空間、y座標がymin より下
にある空間、y座標がymax より上にある空間、z座標
がzmin より下にある空間、z座標がxmax より上にあ
る空間を含む。プリミティブは、これらの半空間のうち
の複数の半空間内にその頂点を有することができるが、
まだ全体的にクリッピング領域の外側にある。例えば、
三角形プリミティブ422は、x座標がxmax より上に
ある半空間内に2つの頂点424、426と、その体積
中にない頂点428とを有することができるが、y座標
がymaxより上にある半空間内に挿入される。クリッピ
ング・プリプロセッサ112は、このプリミティブよう
なプリミティブを除去せず、スタック110、130は
どちらもそれに対してより多くの処理を実行し、その後
右側スタック130内のクリッピング・プリプロセッサ
がそれを表示する必要がないと決定する。しかしなが
ら、結局、多くの場合、クリッピング・プリプロセシン
グではさらに、処理の速度が大幅に上がり、したがって
性能の全体的な改善が得られる。さらに、クリッピング
・プリプロセッサはクリップコードを生成するので、ク
リッピングを実行する場合にクリッピング・プリプロセ
ッサはそれらを再計算する必要がない。クリップコード
は、クリッピング・プリプロセッサがどの頂点をクリッ
プするかを決定するのを助ける。
【0061】上記の回路はまた、多角形および三角形ス
トリップを処理するように作成することができる。ポリ
ラインは、一連の頂点によって画定される終端間線の連
続で構成されるプリミティブである。ポリラインの頂点
を受容するたびに、新しいセグメントがポリライン中に
画定され、次いでクリッピング・プリプロセッサを動作
させて、このセグメントがトリビアル受容またはトリビ
アル拒否できるかを判定する。この動作は、新しい頂点
に関する座標を受容するたびに、2つのシフト・レジス
タを交互に使用することによって行う。一方のシフト・
レジスタは、新しい頂点に関するクリップ・コードを受
容し、他方のシフト・レジスタには最後の頂点からのク
リップ・コードだけが残り、次いで新たに画定されたセ
グメントに関するトリビアル受容信号およびトリビアル
拒否信号がこれらのクリップ・コードから生成される。
【0062】三角形ストリップは、一連の頂点によって
画定される隣接する三角形の連続で構成されるプリミテ
ィブである。第1の三角形が三角形ストリップ内に画定
されると、他の頂点は、受容されるたびに、受容された
最後の2つの頂点とともに新しい三角形を画定する。こ
れらの頂点は、クリップ・コード・プリプロセッサが2
つではなく3つのシフト・レジスタを交互に使用する点
を除いて、ポリラインの場合とまったく同様にして処理
される。
【0063】本明細書で図示説明した回路は単なる例と
して挙げたものである。例えば、ゲート・レベルに直接
に設計され、Synopsysが市販している論理合成
ソフトウェアを使用した大規模カスタム集積回路で、回
路を実現することが好ましい。論理合成ソフトウェア
は、Veralogなどの高水準言語で書かれた回路記
述を最適化し、論理ゲートに変換する。5ボルトで動作
する1ミクロンFETを作成するCMOSプロセス、
3.3ボルトで動作する0.6ミクロン描画ゲート長デ
バイスを作成するCMOSプロセス、あるいはディジタ
ル回路を実現する任意のその他適切なプロセスを使用し
て、回路を実現してもよい。論理合成ソフトウェアへの
入力は、構造的というよりも機能的なものであるので、
論理合成ソフトウェアによって生成される実際の回路
は、本明細書で開示したものと異なるものであることも
ある。
【0064】以上本発明の好ましい実施形態について図
示説明したが、添付の図面によって規定されているよう
に、本発明の範囲から逸脱することなく、本発明に様々
な変更および修正を加えることができることが、当業者
には明らかであろう。なお、本発明による実施態様を列
挙すると、概ね以下の通りである。
【0065】(1) 頂点データ入力と制御入力とを有
し、かつその頂点データ入力からのプリミティブ頂点デ
ータに基づきかつその制御入力の制御下で、クリップ領
域に対して関してプリミティブをクリップするように構
成配置されるクリッピング・プロセッサを含むグラフィ
ックス・アクセレレータで使用するためのグラフィック
ス処理回路において、クリッピング・プロセッサの頂点
データ入力に動作可能に接続された頂点入力データ・パ
ス(129)と、頂点入力データ・パスに動作可能に接
続された頂点データ入力と、クリッピング・プロセッサ
の制御入力に動作可能に接続された制御出力(109、
111)とを有するクリッピング・プリプロセッサ回路
(112)とを備えており、クリッピング・プリプロセ
ッサが、頂点入力データ・パスからのプリミティブ頂点
データとクリップ領域の間の関係の評価を行い、この評
価に基づいて制御出力に信号をもたらすように構成配置
される装置。
【0066】(2) クリッピング・プリプロセッサがx
座標プリプロセシング回路、y座標プリプロセシング回
路、およびz座標プリプロセシング回路を含み、かつx
座標プリプロセシング回路、y座標プリプロセシング回
路、およびz座標プリプロセシング回路がそれぞれシフ
ト・レジスタ内にメモリ・セルを含みかつメモリ・セル
の出力に動作可能に接続された組合せ論理回路を含むこ
とを特徴とする、上記(1) に記載の装置。
【0067】(3) クリッピング・プリプロセッサ回路
が、頂点入力データ・パスに動作可能に接続された頂点
座標レジスタと、頂点入力データ・パスに動作可能に接
続されたウィンドウ・エッジ座標レジスタと、頂点座標
レジスタの出力に動作可能に接続された第1の入力とウ
ィンドウ・エッジ座標レジスタの出力に動作可能に接続
された第2の入力とを有し、かつ比較出力を有する比較
器と、比較出力に動作可能に接続された複数の入力を有
するマッチング回路とを含むことを特徴とする、上記
(1) に記載の装置。
【0068】(4) クリッピング・プリプロセッサ回路
がトリビアル受容出力とトリビアル拒否出力とを有する
ことを特徴とする、上記(1) に記載の装置。
【0069】(5) さらにクリッピング・プリプロセッ
サとクリッピング・プロセッサの間に動作可能に接続さ
れたクリップ・コード・バスを含むことを特徴とする、
上記(1) に記載の装置。
【0070】(6) クリップ領域の境界の外側にある座
標だけを有する第1のプリミティブの定義から表示パラ
メータを生成するステップと、生成ステップと同時に実
行される、プリミティブの座標がすべてクリップ領域の
境界の外側にあるかどうか判定するステップと、プリミ
ティブの座標がすべてクリップ領域の境界の外側にある
と判定ステップが判定した場合に、判定ステップの結果
に応答して生成ステップを停止するステップとを含むグ
ラフィックス処理方法。
【0071】(7) さらに、プリミティブの座標がすべ
てクリップ領域の境界の外側にあると判定ステップが判
定した場合に、判定ステップの結果に応答してプリミテ
ィブの表示パラメータを第2のグラフィックス・プロセ
ッサ部分に転送することを抑制するステップを含み、さ
らに、第1のプリミティブと異なりかつまたクリップ領
域の境界の外側にある座標だけを有する第3のプリミテ
ィブの定義から表示パラメータを生成するステップと、
第3のプリミティブの座標がすべてクリップ領域の境界
の外側にあると判定しないステップとを含む、生成ステ
ップが第1のグラフィックス・プロセッサ部分によって
実行されることを特徴とする、上記(6) に記載の方法。
【0072】(8) さらに、第1のプリミティブと異な
りかつクリップ領域の境界の内側にある座標だけを有す
る第2のプリミティブの定義から表示パラメータを生成
するステップと、第2のプリミティブの座標がすべてク
リップ領域の境界の内側にあることを判定するステップ
とを含むことを特徴とする、上記(6) に記載の方法。
【0073】(9) 第1の座標の最小値(Xmin )より
下にある第1の半空間を定義するステップと、第1の座
標の最大値(Xmax )より上にある第2の半空間を定義
するステップと、第2の座標の最小値(Ymin )より下
にある第3の半空間を定義するステップと、第2の座標
の最大値(Ymax )より上にある第4の半空間を定義す
るステップと、第3の座標の最小値(Zmin )より下に
ある第5の半空間を定義するステップと、第3の座標の
最大値(Zmax )より上にある第6の半空間を定義する
ステップと、第1のプリミティブを構成する第1の複数
の頂点がすべて、第1、第2、第3、第4、第5および
第6の半空間のうちの1つの半空間の内側にあるかどう
か判定するステップと、第1のプリミティブを構成する
第1の複数の頂点がすべて、第1、第2、第3、第4、
第5および第6の半空間のうちの1つの半空間の内側に
あると判定ステップが判定した場合に、第1のトリビア
ル拒否信号を生成するステップとを含むグラフィックス
処理方法。
【0074】(10) 第1のプリミティブを構成する第1
の複数の頂点がすべて、第1、第2、第3、第4、第5
および第6の半空間のすべての半空間の外側にあるかど
うか更に判定するステップと、第1のプリミティブを構
成する第1の複数の頂点がすべて、第1、第2、第3、
第4、第5および第6の半空間のすべての半空間の外側
にあると更に判定するステップが判定した場合に、第1
のトリビアル受容信号を生成するステップと、 第2の
プリミティブを構成する第1と異なる数の第2の複数の
頂点がすべて、第1、第2、第3、第4、第5および第
6の半空間のいずれか1つの半空間の内側にあるかどう
か更に判定するステップと、第2のプリミティブを構成
する第2の複数の頂点がすべて、第1、第2、第3、第
4、第5および第6の半空間のいずれか1つの半空間の
内側にあると更に判定するステップが判定した場合に、
第2のトリビアル拒否信号を生成するステップとを含む
ことを特徴とする、上記(9) に記載の方法。
【0075】
【発明の効果】以上、記述した本発明のクリッピング・
プリプロセシングを有する形状アクセレレータは、クリ
ッピング領域の内側に完全に入るかまたはクリッピング
領域の完全に外側にあるプリミティブの計算負担が大幅
に軽減できるので、グラフィックス・アクセレレータが
所定の時間中により多くのプリミティブを表示できる。
さらに、本発明によるクリッピング・プリプロセシング
は、比較的小さい回路を使用して実施できので、あまり
費用のかからない形状アクセレレータが実施でき、また
集積回路上にグラフィックス処理特徴用の余地を残すこ
とができる。さらに、クリッピング・プリプロセシング
がクリップ・コードを生成する場合、これらは、全特徴
クリッパによって再生成する必要がなく、したがってク
リッパの性能がさらに改善できる。
【図面の簡単な説明】
【図1】本発明を組み込むコンピュータ・グラフィック
ス・システムの第1の実施形態のブロック図である。
【図2】本発明を組み込むコンピュータ・グラフィック
ス・システムの第2の実施形態のブロック図である。
【図3】図1および図2のグラフィックス・システムに
接続して使用する本発明による形状アクセレレータのブ
ロック図である。
【図4】図3の形状アクセレレータの一部をなすクリッ
ピング・プリプロセシング回路のブロック図である。
【図5】図4のクリッピング・プリプロセシング回路用
の浮動小数点比較器のブロック図である。
【図6】図5の浮動小数点比較器の比較器出力調整ブロ
ックのブロック図である。
【図7】図4のクリッピング・プリプロセシング回路中
の第1のシフト・レジスタの動作を示すデータ・フロー
・ダイヤグラムである。
【図8】図4のクリッピング・プリプロセシング回路の
トリビアル受容回路の論理図である。
【図9】図4のクリッピング・プリプロセシング回路の
トリビアル拒否回路の論理図である。
【図10】単一のプリミティブ用の図4のクリッピング
・プリプロセシング回路の動作を示すフローチャートで
ある。
【図11】クリップ領域および図3の形状アクセレレー
タによってレンダリングされる三角形プリミティブを示
す図である。
【符号の説明】
10 フロント・エンド基板10 12 テクスチャ・マッピング基板 14 フレーム・バッファ基板 16 52ビット・バス 15 ホスト・コンピュータ 18 85ビット・バス 28 55ビット・バス 29 R、G、Bライン 30 ディストリビュータ・チップ 32A、32B、32C 3−Dアクセレレータ・チッ
プ 34 2−Dアクセレレータ・チップ 36 コンセントレータ・チップ 50A、50B、50C、50D、50E、50Jフレ
ーム・バッファ・コントローラ・チップ 51A〜J VRAMチップ 52A〜D ビデオ・フォーマット・チップ 109 トリビアル受容出力 111 トリビアル拒否出力 110 左側スタック 130 右側スタック 112 クリップ・コード論理(クリッピング・プリプ
ロセッサ回路) 122 左側スタック制御ユニット 129 頂点入力データ・パス 152 右側スタック制御ユニット

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 頂点データ入力と制御入力とを有し、か
    つその頂点データ入力からのプリミティブ頂点データに
    基づきかつその制御入力の制御下で、クリップ領域に対
    して関してプリミティブをクリップするように構成配置
    されるクリッピング・プロセッサを含むグラフィックス
    ・アクセレレータで使用するためのグラフィックス処理
    回路において、 クリッピング・プロセッサの頂点データ入力に動作可能
    に接続された頂点入力データ・パス(129)と、 頂点入力データ・パスに動作可能に接続された頂点デー
    タ入力と、クリッピング・プロセッサの制御入力に動作
    可能に接続された制御出力(109、111)とを有す
    るクリッピング・プリプロセッサ回路(112)とを備
    えており、 クリッピング・プリプロセッサが、頂点入力データ・パ
    スからのプリミティブ頂点データとクリップ領域の間の
    関係の評価を行い、この評価に基づいて制御出力に信号
    をもたらすように構成配置される装置。
JP14620696A 1995-06-08 1996-06-07 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム Expired - Lifetime JP3860859B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/488,639 US5720019A (en) 1995-06-08 1995-06-08 Computer graphics system having high performance primitive clipping preprocessing
US488-639 1995-06-08

Publications (2)

Publication Number Publication Date
JPH0935075A true JPH0935075A (ja) 1997-02-07
JP3860859B2 JP3860859B2 (ja) 2006-12-20

Family

ID=23940506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14620696A Expired - Lifetime JP3860859B2 (ja) 1995-06-08 1996-06-07 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム

Country Status (4)

Country Link
US (1) US5720019A (ja)
EP (1) EP0747861B1 (ja)
JP (1) JP3860859B2 (ja)
DE (1) DE69624868T2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3203180B2 (ja) * 1996-03-27 2001-08-27 三菱電機株式会社 幾何学演算装置
JPH10293853A (ja) * 1997-04-21 1998-11-04 Mitsubishi Electric Corp クリップ処理装置
US5956047A (en) 1997-04-30 1999-09-21 Hewlett-Packard Co. ROM-based control units in a geometry accelerator for a computer graphics system
US6184902B1 (en) * 1997-04-30 2001-02-06 Hewlett-Packard Company Centralized branch intelligence system and method for a geometry accelerator
US6057852A (en) * 1997-04-30 2000-05-02 Hewlett-Packard Company Graphics accelerator with constant color identifier
US5930519A (en) * 1997-04-30 1999-07-27 Hewlett Packard Company Distributed branch logic system and method for a geometry accelerator
US5920326A (en) * 1997-05-30 1999-07-06 Hewlett Packard Company Caching and coherency control of multiple geometry accelerators in a computer graphics system
US5969726A (en) * 1997-05-30 1999-10-19 Hewlett-Packard Co. Caching and coherency control of multiple geometry accelerators in a computer graphics system
US6057862A (en) * 1997-07-01 2000-05-02 Memtrax Llc Computer system having a common display memory and main memory
US6118462A (en) 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US20010013867A1 (en) * 1998-04-27 2001-08-16 Kenshiu Watanabe Object search method and object search system
US6577316B2 (en) * 1998-07-17 2003-06-10 3Dlabs, Inc., Ltd Wide instruction word graphics processor
US6693719B1 (en) * 1998-09-16 2004-02-17 Texas Instruments Incorporated Path to trapezoid decomposition of polygons for printing files in a page description language
US6288724B1 (en) * 1998-09-16 2001-09-11 Texas Instruments Incorporated Clipping and trapezoid decomposition of polygons for printing files in a page description language
US6229518B1 (en) 1998-10-07 2001-05-08 Seiko Epson Corporation Apparatus and method for controlling a software cursor
US6271862B1 (en) * 1998-10-07 2001-08-07 Seiko Epson Corporation Apparatus and method for determining line clipping intersection points
US6732259B1 (en) 1999-07-30 2004-05-04 Mips Technologies, Inc. Processor having a conditional branch extension of an instruction set architecture
US7242414B1 (en) * 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
JP2002536763A (ja) * 1999-02-12 2002-10-29 エムアイピーエス テクノロジーズ, インコーポレイテッド 命令セット構造の比較拡張を有するプロセッサ
US6181352B1 (en) 1999-03-22 2001-01-30 Nvidia Corporation Graphics pipeline selectively providing multiple pixels or multiple textures
US6359630B1 (en) * 1999-06-14 2002-03-19 Sun Microsystems, Inc. Graphics system using clip bits to decide acceptance, rejection, clipping
US6697832B1 (en) 1999-07-30 2004-02-24 Mips Technologies, Inc. Floating-point processor with improved intermediate result handling
US6714197B1 (en) 1999-07-30 2004-03-30 Mips Technologies, Inc. Processor having an arithmetic extension of an instruction set architecture
US6912559B1 (en) 1999-07-30 2005-06-28 Mips Technologies, Inc. System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
US7346643B1 (en) * 1999-07-30 2008-03-18 Mips Technologies, Inc. Processor with improved accuracy for multiply-add operations
US6631392B1 (en) 1999-07-30 2003-10-07 Mips Technologies, Inc. Method and apparatus for predicting floating-point exceptions
US6515660B1 (en) 1999-12-14 2003-02-04 Intel Corporation Apparatus and method for dynamic triangle stripping
US6686924B1 (en) * 2000-02-02 2004-02-03 Ati International, Srl Method and apparatus for parallel processing of geometric aspects of video graphics data
US6967664B1 (en) * 2000-04-20 2005-11-22 Ati International Srl Method and apparatus for primitive processing in a graphics system
US6996596B1 (en) 2000-05-23 2006-02-07 Mips Technologies, Inc. Floating-point processor with operating mode having improved accuracy and high performance
US7561155B1 (en) * 2000-10-23 2009-07-14 Evans & Sutherland Computer Corporation Method for reducing transport delay in an image generator
US20030095137A1 (en) * 2001-11-16 2003-05-22 Chung-Yen Lu Apparatus and method for clipping primitives in a computer graphics system
JP4300001B2 (ja) * 2002-07-31 2009-07-22 ソニー株式会社 クリッピング装置
US7439988B1 (en) 2005-12-05 2008-10-21 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives with respect to a clipping plane
US7616218B1 (en) 2005-12-05 2009-11-10 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives
US7292254B1 (en) 2005-12-05 2007-11-06 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives with reduced sensitivity to vertex ordering
US7714877B1 (en) 2005-12-19 2010-05-11 Nvidia Corporation Apparatus, system, and method for determining clipping distances
US7420572B1 (en) 2005-12-19 2008-09-02 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives with accelerated context switching
US8068120B2 (en) * 2008-03-07 2011-11-29 Via Technologies, Inc. Guard band clipping systems and methods

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945500A (en) * 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US4888712A (en) * 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US5003497A (en) * 1988-12-15 1991-03-26 Sun Micosystems Inc Method for three-dimensional clip checking for computer graphics
US5051737A (en) * 1989-02-23 1991-09-24 Silicon Graphics, Inc. Efficient graphics process for clipping polygons
US5079719A (en) * 1989-06-09 1992-01-07 Sun Microsystems, Inc. Method and apparatus for clipping polygons
US5208909A (en) * 1989-10-23 1993-05-04 International Business Machines Corporation Pre-drawing pick detection in a graphics display system
FR2693012A1 (fr) * 1992-06-26 1993-12-31 Thomson Csf Procédé de visualisation d'images synthétiques de volumes en temps réel.

Also Published As

Publication number Publication date
DE69624868T2 (de) 2003-09-11
US5720019A (en) 1998-02-17
DE69624868D1 (de) 2003-01-02
JP3860859B2 (ja) 2006-12-20
EP0747861A1 (en) 1996-12-11
EP0747861B1 (en) 2002-11-20

Similar Documents

Publication Publication Date Title
JP3860859B2 (ja) 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム
US6115047A (en) Method and apparatus for implementing efficient floating point Z-buffering
US5801711A (en) Polyline and triangle strip data management techniques for enhancing performance of computer graphics system
US5729672A (en) Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US6577317B1 (en) Apparatus and method for geometry operations in a 3D-graphics pipeline
US5963210A (en) Graphics processor, system and method for generating screen pixels in raster order utilizing a single interpolator
US5821950A (en) Computer graphics system utilizing parallel processing for enhanced performance
US5877773A (en) Multi-pass clipping in a geometry accelerator
US5926406A (en) System and method for calculating floating point exponential values in a geometry accelerator
JPH11272880A (ja) 固定小数点ライティング・ユニットを用いたロ―カル・アイ・ベクトルの高速計算方法
JP3839871B2 (ja) 三角形を表わす画素データを生成する装置
US7310103B2 (en) Pipelined 2D viewport clip circuit
US5696944A (en) Computer graphics system having double buffered vertex ram with granularity
US5784075A (en) Memory mapping techniques for enhancing performance of computer graphics system
US6677953B1 (en) Hardware viewport system and method for use in a graphics pipeline
US6778188B2 (en) Reconfigurable hardware filter for texture mapping and image processing
US5732248A (en) Multistep vector generation for multiple frame buffer controllers
US5704025A (en) Computer graphics system having per pixel depth cueing
US5892516A (en) Perspective texture mapping circuit having pixel color interpolation mode and method thereof
US5657436A (en) Preprocessing apparatus and method for line scan conversion in a computer graphics system
JP3839870B2 (ja) 四辺形を表わす画素データを生成する装置および方法
US5623527A (en) Method and apparatus for determining an integer power of a floating point number
JPH11345218A (ja) 画像処理装置およびその方法
US6885375B2 (en) Stalling pipelines in large designs
US6847378B2 (en) System and method for performing scale and bias operations by preclamping input image data

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060814

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: 20060905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060925

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: 20100929

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

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: 20130929

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130929

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: 20130929

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: 20130929

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term