JP3491773B2 - グラフィックアクセラレータ及び幾何学オブジェクト描出方法 - Google Patents

グラフィックアクセラレータ及び幾何学オブジェクト描出方法

Info

Publication number
JP3491773B2
JP3491773B2 JP12333294A JP12333294A JP3491773B2 JP 3491773 B2 JP3491773 B2 JP 3491773B2 JP 12333294 A JP12333294 A JP 12333294A JP 12333294 A JP12333294 A JP 12333294A JP 3491773 B2 JP3491773 B2 JP 3491773B2
Authority
JP
Japan
Prior art keywords
packet
bus
vertex
floating point
processor
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
Application number
JP12333294A
Other languages
English (en)
Other versions
JPH06348854A (ja
Inventor
マイケル・エフ・ディアリング
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH06348854A publication Critical patent/JPH06348854A/ja
Application granted granted Critical
Publication of JP3491773B2 publication Critical patent/JP3491773B2/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
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータグラフィッ
クスシステムの分野に関する。さらに特定すれば、本発
明は、コンピュータシステムにおける高性能三次元グラ
フィックスアクセラレータのアーキテクチャに関する。
【0002】
【従来の技術】三次元グラフィックスアクセラレータ
は、コンピュータシステムの専用グラフィックス描出
(レンダリング)サブシステムである。典型的には、コ
ンピュータシステムのホストプロセッサで実行されてい
るアプリケーションプログラムが、表示装置に表示すべ
き三次元グラフィックス要素を定義する三次元幾何学入
力データを生成する。アプリケーションプログラムは、
通常、ホストプロセッサからグラフィックスアクセラレ
ータへ幾何学入力データを転送する。その後、グラフィ
ックスアクセラレータは対応するグラフィックス要素を
表示装置に描出する。
【0003】高性能三次元グラフィックスシステムのデ
ザインアーキテクチャは、歴史的には、システム性能と
システムコストの均衡を具現化してきた。典型的なデザ
インの目標は、システムコストの上昇を最小限に抑えつ
つシステム性能を向上させることである。ところが、従
来のグラフィックスシステムは、通常、システムの様々
な制約条件に起因する性能の限界、あるいは高いコスト
という問題を抱えている。
【0004】たとえば、市販のビデオランダムアクセス
メモリ(VRAM)チップの場合、最短読取り−変更−
書込みサイクル時間が描出性能に対する基本的制約であ
るので、典型的には、高性能グラフィックスシステムは
複数のVRAMバンクから成るインタリーブフレームバ
ッファを実現している。複数のインタリーブVRAMバ
ンクを実現すると、フレームバッファへの並列画素描出
が可能になり、総描出性能を向上させることができる。
残念ながら、インタリーブVRAMバンクごとに別個の
アドレス指定論理が必要であるために、そのような高性
能システムのコストは高くなり且つ電力消費も増大す
る。
【0005】これに対し、グラフィックスシステムは、
コストと電力消費を最小に抑えるために、単一の集積回
路チップで描出プロセッサを実現しても良い。残念なが
ら、そのようなシステムでは、単一の集積回路チップで
利用できるインタフェースピンの数が限定されるため
に、描出性能低下という問題を生じる。インタフェース
ピンの数が限定されると、フレームバッファのインタリ
ーブファクタが小さくなるので、並列処理の描出性能に
関わる利点は得られなくなってしまう。
【0006】 グラフィックスシステムのもう1つの制
約は、類似する線引き(ドロー)機能(すなわち描画機
能)を定義する様々に異なる三次元幾何学入力データフ
ォーマットの急増である。グラフィックスシステムは、
典型的には、様々に異なる多くの幾何学入力データフォ
ーマットを支援することが要求される。従来のグラフィ
ックスシステムの中には、グラフィックスプロセッサの
マイクロコードで様々に異なる幾何学フォーマットを支
援するものがある。ところが、そのような方法をとる
と、グラフィックスプロセッサのマイクロコードの大き
さと複雑さが大幅に増すので、システムコストは高くな
り、システム性能は低下する。従来の別のグラフィック
スシステムは、様々に異なるフォーマットをグラフィッ
クスプロセッサの標準フォーマットに変換するためにホ
ストプロセッサを採用することにより、様々に異なる幾
何学フォーマットを支援する。残念ながら、ホストプロ
セッサによるそのようなフォーマット変換は、グラフィ
ックスシステム全体の性能を大幅に制限しかねないシス
テムボトルネックを発生させる。
【0007】加えて、従来のグラフィックスシステム
は、多くの場合、変換、クリップ試験、面確定、照明、
クリッピング、画面スペース変換及びセットアップの各
機能を市販のデジタル信号処理(DSP)チップを使用
して実行する。ところが、そのようなDSPチップは通
常は三次元コンピュータグラフィックスに合わせて最適
化されていない。典型的なDSPチップに設けられてい
る内部レジスタは、多くの三次元グラフィックス処理ア
ルゴリズムの内部ループに対応するには数が少なすぎ
る。そのようなシステムにおいては、DSPチップによ
り与えられる限られた数の内部高速レジスタを補うため
に、典型的にはオンチップデータキャッシュ又はSRA
Mを採用する。ところが、そのようなオンチップデータ
キャッシュは、通常、制御不可能な実現スケジューリン
グアルゴリズムである。さらに、そのようなオンチップ
SRAMは通常は多重処理環境に適していない。
【0008】また、DSPチップは多重処理環境で機能
するために、通常は支援チップの分類を要求する。残念
ながら、グラフィックスシステムに支援チップを追加す
ることによって、プリント回路基板の面積は拡大し、シ
ステムの電力消費は増加し、発熱も増し、システムコス
トも高くなる。
【0009】従来のグラフィックスシステムは、グラフ
ィックス処理性能を向上させるために、並列処理パイプ
ラインを採用する場合が多い。たとえば、グラフィック
スシステムにおける陰形を付けられた三角形の走査変換
機能は、典型的には、エッジウォーキング及び走査補間
の線形パイプラインによって実行される。通常、そのよ
うなシステムでは、エッジウォーキング機能を実行する
のはエッジウォーキングプロセッサであり、走査補間機
能を実行するのは、エッジウォーキングプロセッサから
パラメータを受け1組の並列走査補間プロセッサであ
る。
【0010】ところが、そのようなシステムは、基板模
様の幾何学形状で一般に現れる相対的に長く細い三角形
を描出するときに、並列処理速度の利点を得ることがで
きない。長く細い三角形について走査変換を実行する場
合、エッジウォーキングプロセッサと、走査補間プロセ
ッサとの間のパラメータデータフローは大幅に増加す
る。残念ながら、パラメータデータフローが増加する
と、三角形の描出速度は低下し、グラフィックスシステ
ム性能も低下する。
【0011】
【発明が解決しようとする課題】以下に説明する通り、
本発明の目的は、先に論じた多様なシステム制約を克服
することにより、相対的に安いコストで高性能を達成す
るグラフィックスアクセラレータを提供することであ
る。
【0012】
【課題を解決するための手段】本発明のグラフィックス
アクセラレータは、様々に異なる幾何学入力データフォ
ーマットを変換するコマンドプロセッサと、三次元グラ
フィックス機能に合わせて最適化された1組の浮動小数
点プロセッサと、1つの幾何学オブジェクトの複数の別
個の部分についてエッジウォーキングと走査補間の描出
機能を同時に実行する1組の描画プロセッサとを具備す
る。
【0013】 以下コンピュータシステムにおける高性
能三次元グラフィックスアクセラレータを開示する。グ
ラフィックスアクセラレータは、幾何学入力データを様
々に異なるフォーマットから変換するコマンドプリプロ
セッサを具備する。コマンドプリプロセッサは3D(三
次元)幾何学パイプラインと、直接データパイプライン
の双方を実現する。コマンドプリプロセッサの3D幾何
学パイプラインは、プログラム入出力アクセス又は直接
メモリアクセスのいずれかを使用して、ホストバスを介
して入力頂点パケットをアクセスする。コマンドプリプ
ロセッサは入力頂点パケットを再フォーマットした頂点
パケットへと再フォーマットし、次に、その再フォーマ
ットした頂点パケットを、任意にデータ置き換え及びデ
ータ圧縮を伴って、出力幾何学パケットとして浮動小数
点バスを介して利用可能な浮動小数点プロセッサへ転送
する。
【0014】 4つ1組の浮動小数点プロセッサが浮動
小数点バスを介して通信するように結合している。第1
の利用可能な浮動小数点プロセッサは浮動小数点バスを
介して出力幾何学パケットを受け、画面スペース幾何学
オブジェクトに関わるパラメータを含む線引きパケット
を生成する。浮動小数点プロセッサは描画パケット(線
引きパケット)を描画バス(線引きバス)を介して5つ
1組の描画プロセッサ(線引きプロセッサ)へ転送す
る。各々の浮動小数点プロセッサは、三次元グラフィッ
クス機能を実行するために特殊化した機能及び命令を実
現する。
【0015】 コマンドプリプロセッサは浮動小数点プ
ロセッサへの出力幾何学パケットの転送と、描画プロセ
ッサへの描画パケットの流れとを制御する。5つの描画
プロセッサは各々の描画パケットを描画バスを介して同
時に受ける。各描画プロセッサはエッジウォーキング機
能及び走査補間機能を実行して、描画パケットにより定
義される三次元三角形を描出する。各々の描画プロセッ
サは、5つの描画プロセッサが併せて三角形全体を描出
するように、1本の走査線に沿って4つおきの画素を描
出する。各描画プロセッサは、5バンクインタリーブフ
レームバッファの別々のインタリーブバンクに画素を書
込む。加えて、各々の描画プロセッサはコマンドプリプ
ロセッサの直接ポートパイプラインから直接ポートデー
タを受けて、それを処理する。
【0016】
【実施例】コンピュータシステムにおける高性能三次元
グラフィックスアクセラレータのアーキテクチャを説明
する。以下の説明中、本発明を完全に理解させるため
に、説明の便宜上、特定のアプリケーション、特定の
数、特定の装置、特定の構成及び特定の回路を記載す
る。しかしながら、それらの特定の詳細な事項がなくと
も本発明を実施しうることは当業者には明白であろう。
また、場合によっては、本発明を無用にわかりにくくし
ないために、周知のシステムを概略的な形態又はブロッ
ク線図の形態で示す。
【0017】そこで図1を参照すると、ホストプロセッ
サ20と、メモリサブシステム22と、グラフィックス
アクセラレータ24と、表示装置26とを含むコンピュ
ータシステムのブロック線図が示されている。ホストプ
ロセッサ20と、メモリサブシステム22と、グラフィ
ックスアクセラレータ24とは、それぞれ、ホストバス
28を介して通信するように結合している。
【0018】表示装置26は多様なラスタ表示モニタを
代表するものである。ホストプロセッサ20は多様なコ
ンピュータプロセッサ、多重プロセッサ及びCPUを代
表するものであり、また、メモリサブシステム22は、
ランダムアクセスメモリ及び大容量記憶装置を含む多様
なメモリサブシステムを代表している。ホストバス28
はホストプロセッサと、CPUと、メモリサブシステム
と、専用サブシステムとの通信のための多様な通信用バ
ス又はホストコンピュータバスを代表するものである。
ホストプロセッサ20は、プログラム入出力(I/O)
プロトコルに従ってグラフィックスアクセラレータ24
との間でホストバス28を介して情報を転送し合う。ま
た、グラフィックスアクセラレータ24は直接メモリア
クセス(DMA)プロトコルに従ってメモリサブシステ
ム22をアクセスする。
【0019】ホストプロセッサ20で実行されているグ
ラフィックスアプリケーションプログラムは、表示装置
26に表示すべき画像を定義する三次元幾何学情報を含
む幾何学データアレイを生成する。ホストプロセッサ2
0は、その幾何学データアレイをメモリサブシステム2
2へ転送する。その後、グラフィックスアクセラレータ
24は、DMAアクセスサイクルを使用して、ホストバ
ス28を介して幾何学データアレイを読取る。あるい
は、ホストプロセッサ20は、プログラムI/Oを伴う
幾何学データアレイをホストバス28を介してグラフィ
ックスアクセラレータ24へ転送する。
【0020】幾何学データアレイ中の三次元幾何学情報
は、頂点座標(頂点)と、頂点位置と、一般にはモデル
空間と呼ばれている三次元空間の中の三角形、ベクトル
及び点を定義する他の情報とを含む入力頂点パケットの
ストリームから構成されている。各々の入力頂点パケッ
トは、頂点垂線と、頂点カラーと、ファセット垂線と、
ファセットカラーと、テクスチャマップ座標と、ピック
idと、ヘッダと、その他の情報とを含めた三次元頂点
情報の何らかの組合わせを含んでいれば良い。
【0021】ヘッダなし入力頂点パケットは、隣接する
三角形から成る「ジグザグ」パターンの形態をとる1つ
の三角形ストリップを定義していても良い。また、ヘッ
ダなし入力頂点パケットは、三角形から成る「スタース
トリップ」の形態をとる三角形ストリップを定義しても
良い。加えて、ヘッダなし入力頂点パケットは隔離三角
形から成るストリップを定義しても良い。ヘッダを有す
る入力頂点パケットは三角形ごとに三角形ストリップフ
ォーマットを変更しても良く、また、「ジグザグ」フォ
ーマット、「スター」フォーマット及び隔離三角形の間
で変化しても良い。
【0022】 図2は、グラフィックスアクセラレータ
24のブロック線図である。グラフィックスアクセラレ
ータ24はコマンドプリプロセッサ30と、1組の浮動
小数点プロセッサ40〜43と、1組の線引き(dra
w)プロセッサ(すなわち描画プロセッサ)50〜54
と、フレームバッファ100と、ポストプロセッサ70
と、ランダムアクセスメモリ/デジタル/アナログ変換
器(RAMDAC)72とから構成されている。このR
AMDAC72は、ルックアップテーブル機能を実現す
る市販のRAMDACに類似するものである。一実施例
についていえば、コマンドプリプロセッサ30、浮動小
数点プロセッサ40〜43,描画プロセッサ50〜54
及びポストプロセッサ70は、それぞれ、個別の集積回
路チップである。
【0023】コマンドプリプロセッサ30はホストバス
28を介して通信するように結合している。コマンドプ
リプロセッサ30は、ホストバス28を介するメモリサ
ブシステム22からの幾何学データアレイのDMA読取
りを実行する。ホストプロセッサ20は仮想メモリポイ
ンタをコマンドプリプロセッサ30へ転送する。仮想メ
モリポインタはメモリサブシステム22にある幾何学デ
ータアレイを指示する。コマンドプリプロセッサ30は
それらの仮想メモリポインタを、ホストプロセッサ20
からの介入なしにメモリサブシステム22に対するDM
A読取りを実行するための物理メモリアドレスに変換す
る。コマンドプリプロセッサ30は3D幾何学パイプラ
インと、直接ポートパイプラインという2つのデータパ
イプラインを実現する。
【0024】 直接ポートパイプラインでは、コマンド
プリプロセッサ30はホストバス28を介して直接ポー
トデータを受け、その直接ポートデータを描画コマンド
バス(CD−BUS)80を介して描画プロセッサ50
〜54へ転送する。文字書込み、画面スクロール及びブ
ロック移動などのX11機能を描画プロセッサ50〜5
4と協調して実行するために、直接ポートデータはコマ
ンドプリプロセッサ30によって任意に処理される。直
接ポートデータは描画プロセッサ50〜54へのレジス
タ書込みと、フレームバッファ100への個別画素書込
みとを含んでいても良い。
【0025】3D幾何学パイプラインでは、コマンドプ
リプロセッサ30は幾何学データアレイから入力頂点パ
ケットのストリームをアクセスし、入力頂点パケット内
部に含まれている情報を再順序付けし、入力頂点パケッ
ト中の情報を任意に削除する。コマンドプリプロセッサ
30は入力頂点パケットからの情報を正規化要素順序を
有する再フォーマットされた頂点パケットへと再順序付
けする。次に、コマンドプリプロセッサ30は出力幾何
学パケットを浮動小数点コマンドバス(CF−BUS)
82を介して浮動小数点プロセッサ40〜43の中の1
つへ転送する。出力幾何学パケットは、任意の変更及び
データ置き換えを伴う再フォーマットされた頂点パケッ
トから構成されている。
【0026】コマンドプリプロセッサ30は、各々の入
力頂点パケットの中の情報を様々に異なる数のフォーマ
ットから32ビットIEEE浮動小数点数のフォーマッ
トへと変換する。コマンドプリプロセッサ30は8ビッ
ト固定小数点数と、16ビット固定小数点数と、32ビ
ット又は64ビットIEEE浮動小数点数とを変換す
る。
【0027】コマンドプリプロセッサ30はヘッダフィ
ールドを再フォーマット又は挿入し、定数を挿入し且つ
順次ピックidを生成、挿入し、さらに、定数順次ピッ
クidを任意に挿入する。コマンドプリプロセッサ30
はヘッダの連鎖ビットを検査して、入力頂点パケットか
らの情報を、点線及び三角形を含む完全に隔離された幾
何学プリミティブを含む再フォーマットされた頂点パケ
ットへと再組立てする。
【0028】コマンドプリプロセッサ30は、浮動小数
点プロセッサ40〜43からCF−BUS82の制御部
分を介して制御信号及び状態信号を受ける。制御信号及
び状態信号は、出力幾何学パケットを受けるための浮動
小数点プロセッサ40〜43内部における入力バッファ
の可用性を指示する。
【0029】浮動小数点プロセッサ40〜43は、各
々、ほぼ同様である。各々の浮動小数点プロセッサ40
〜43は、並列入出力パケット通信ハードウェアと共
に、32ビットマイクロコード駆動浮動小数点コアを実
現する。浮動小数点プロセッサ40〜43の各々は、乗
算、ALU、逆数、逆数平方根及び整数の演算を含む浮
動小数点機能を実現する。各々の浮動小数点プロセッサ
40〜43は、特殊化グラフィックス命令と特殊化グラ
フィックス機能の広範囲にわたる組合わせを実現する。
各浮動小数点プロセッサ40〜43は、グラフィックス
アクセラレータ24により実現される最大の共通三次元
グラフィックス処理マイクロコード内部ループを実行す
るために要求される数の高速内部レジスタを実現するよ
うに最適化されている。
【0030】一実施例では、各々の浮動小数点プロセッ
サ40〜43は単一の集積回路チップにおいて実現され
る。浮動小数点プロセッサ40〜43ごとに要求される
唯一の支援チップは、制御記憶装置(CS)の外部マイ
クロコードを提供する4つ1組の外部SRAMチップで
ある。
【0031】 各々の浮動小数点プロセッサ40〜43
は、描画プロセッサ50〜54による走査変換のために
三角形をセットアップする機能を実行する。セットアッ
プ機能の第1のステップは、三角形の3つの頂点をyが
大きくなる順に分類する。各浮動小数点プロセッサ40
〜43は、全ての描画プロセッサ50〜54に対してC
D−BUS80を介して描画パケットを同報通信する。
描画パケットは三角形、点及び線を含む最終幾何学基本
要素(プリミティブ)から構成されている。
【0032】 描画プロセッサ50〜54は、フレーム
バッファ100に対してVRAM制御チップとして機能
する。描画プロセッサ50〜54は、浮動小数点プロセ
ッサ40〜43の中の1つから受けた描画パケットに従
って、又はコマンドプリプロセッサ30から受けた直接
ポートパケットに従って、フレームバッファ100に画
像を同時に描出する。
【0033】 各々の描画プロセッサ50〜54はエッ
ジウォーキング機能及び走査補間から成る走査変換機能
を実行する。描画プロセッサ50〜54間でエッジウォ
ーキン機能と走査補間機能を反復することによって、別
個のエッジウォーキングプロセッサと走査補間プロセッ
サとの間に大規模通信経路を設ける必要がなくなるの
で、各々の描画プロセッサ50〜54のピン数が最小限
に抑えられると共に、プリント回路基板の所要スペース
も狭くてすむようになる。
【0034】 フレームバッファ100は5つ1組のV
RAMインタリーブバンクとして配列されている。描画
プロセッサ50はインタリーブバンク−0 61に画素
データを書込み、描画プロセッサ51はインタリーブバ
ンク−1 62に画素データを書込み、描画プロセッサ
52はインタリーブバンク−2 63に画素データを書
込み、描画プロセッサ53はインタリーブバンク−3
64に画素データを書込み、描画プロセッサ54はイン
タリーブバンク−4 65に画素データを書込む。
【0035】 各々の描画プロセッサ50〜54は対応
するインタリーブバンク61〜65の内部で見える画素
のみを描出する。フレームバッファ100において正し
い組合わせラスタ化画像を発生するために、描画プロセ
ッサ50〜54は1つの描画パケットにより定義される
三角形基本要素(プリミティブ)を同時に描出する。各
描画プロセッサ50〜54は最終ラスタ化画像の走査線
ごとに、それに沿って4つおきに画素をラスタ化する。
各々の描画プロセッサ50〜54は右へ0画素、1画
素、2画素、3画素又は4画素分のスペースだけバイア
スさせた走査線をスタートさせる。
【0036】 各々の描画プロセッサ50〜54は深さ
キューイングを任意に実行する。描出される三角形、ベ
クトル又はドットの各画素は、浮動小数点プロセッサで
深さキューイングを実行していた従来のグラフィックス
システムに見られた性能劣化を生じることなく、描画プ
ロセッサ50〜54の中で深さキューイングされるであ
ろう。各描画プロセッサ50〜54は矩形ウィンドウク
リッピング機能、ブレンド機能及びその他の画素処理機
能を任意に実行する。
【0037】ポストプロセッサ70はフレームバッファ
100からビデオバス84を介してインタリーブ画素デ
ータを受ける。ポストプロセッサ70はカラールックア
ップテーブル機能と、カーソル機能とを実行する。RA
MDAC72はポストプロセッサ70から受けた画素デ
ータを表示装置26に対するビデオ信号73に変換す
る。
【0038】 図3は、コマンドプリプロセッサ30の
ブロック線図である。コマンドプリプロセッサ30は、
図示する通り、3D幾何学パイプライン及び直接ポート
パイプラインを介して通信するようにホストバス28に
結合している。一実施例では、コマンドプリプロセッサ
30は単一の集積回路チップとして実現されている。直
接ポートパイプラインは入力インタフェース541と、
X11演算回路551とから構成されている。入力イン
タフェース541はホストバス28を介して直接ポート
データを受け、CD−BUS80を介して描画プロセッ
サ50〜54へ直接ポートデータを転送する。直接ポー
トデータは描画プロセッサ50〜54へのレジスタ書込
みと、フレームバッファ100への個別画素書込みとを
含む。文字書込み、画面スクロール及びブロック移動な
どのX11機能を描画プロセッサ50〜54と協調して
実行するために、直接ポートデータは任意にX11演算
回路551へ転送される。
【0039】3D幾何学パイプラインはインタフェース
541と、バケットバッファ542と、フォーマット変
換器543と、1組の頂点レジスタ549及び交替タプ
ルレジスタ540から成る頂点バッファとから構成され
ている。3D幾何学パイプラインにおけるフォーマット
変換はVCS演算回路545と、変換器シーケンサ54
4とにより制御される。出力幾何学パケットはプリミテ
ィブアセンブリ回路547と、シーケンサ548とによ
って組立てられる。32−16回路550は任意にデー
タ圧縮を実行する。1組の内部レジスタ552は、ホス
トバス28を介して、3D幾何学パイプライン及び直接
ポートパイプラインの動作を制御するようにプログラム
される。DMA制御装置546は、ホストバス28を介
してバケットバッファ542へのDMA転送を実行す
る。
【0040】入力インタフェース541は、ホストバス
28とコマンドプリプロセッサ30の異なるクロック動
作環境をインタフェースするバーストバッファを含む。
バーストバッファは、バケットバッファ542へ転送さ
れる入力頂点パケットに対して、1組の一時レジスタと
して機能する。フォーマット変換器回路543はバケッ
トバッファ542から入力頂点パケットをアクセスし、
再フォーマットされた頂点パケットを頂点レジスタ54
9へ組立てる。フォーマット変換器回路543は、事前
プログラムフォーマット変換演算に従って、VCS演算
回路545により制御される。フォーマット変換は変換
器シーケンサ544により順序付けされる。
【0041】プリミティブアセンブリ回路547は、シ
ーケンサ548の制御の下で、頂点レジスタ549から
再フォーマットされた頂点パケットをアクセスし、出力
幾何学パケットをCF−BUS82を介して転送する。
プリミティブアセンブリ回路547は交替タプルレジス
タ540からの交替タプルを随意置き換える。また、プ
リミティブアセンブリ回路547は、32−16回路5
50を使用して、出力幾何学パケット中のデータに対す
るデータ圧縮を随意実行する。
【0042】フォーマット変換器543は、1つの三角
形ストリップを定義する入力頂点パケットを処理する。
各入力頂点パケット中のヘッダビットは置き換え型を指
定する。この置き換え型は、三角形ストリップ中の次の
三角形を形成するための後続入力頂点パケットと、以前
の入力頂点パケットとの組合わせを定義する。フォーマ
ット変換器543は、三角形ストリップ中の最後の3つ
の頂点を保持するレジスタスタックを実現する。フォー
マット変換器543は三角形ストリップ中の最後の3つ
の頂点を最古、中間、最新とラベル付けする。
【0043】「ジグザグ」パターンをもつ三角形ストリ
ップは、置き換え型replace_oldestを指定するヘッダを
有する新たな入力頂点パケットに対応する。置き換え型
replace_oldestは、フォーマット変換器543に最古の
頂点を中間の頂点と置き換えさせ、中間の頂点を最新の
頂点と置き換えさせると共に、最新の頂点を新たな入力
頂点パケット中の頂点に設定させる。前述のパターンは
PHIGS−PLUS単純三角形ストリップに対応す
る。「スター」パターンをもつ三角形ストリップは、置
き換え型replace_middlestを指定するヘッダを有する新
たな入力頂点パケットに対応する。置き換え型replace_
middlestは、フォーマット変換器543に最古の頂点を
変化しないままにさせ、中間頂点を最新の頂点と置き換
えさせると共に、最新の頂点を新たな入力頂点パケット
の中に頂点に設定される。
【0044】一般化三角形ストリップを開始するため
に、新たな入力頂点パケットは、置き換え型restart を
指定するヘッダを有する。置き換え型restart はフォー
マット変換器543に最古の頂点及び中間の頂点を無効
とマークさせると共に、最新の頂点を新たな入力頂点パ
ケットの中の頂点に設定させる。プリミティブアセンブ
リ回路547は、置き換え動作が頂点レジスタ549で
3つの有効頂点を生成するたびに、頂点レジスタ549
及び交替タプルレジスタ540から1つの三角形に関わ
る出力幾何学パケットを転送する。入力頂点パケットの
ヘッダにおける置き換え型restart は、ポリラインに関
わる移動動作に対応する。置き換え型restart は、単一
のデータ構造であるメモリサブシステム22中の幾何学
データアレイに、複数の連結していない可変長三角形ス
トリップを指定させることができる。そのような能力
は、ホストバス28を介してDMAシーケンスを開始す
るために要求されるオーバヘッドを減少させる。
【0045】メモリサブシステム中の幾何学データアレ
イからコマンドプリプロセッサ30が受ける入力頂点パ
ケットにおける置き換え型は、三角形ストリップをその
ストリップの中央で「ジグザグ」パターンから「スタ
ー」パターンへ変化させることができる。そのような能
力はコンパクトなデータ構造の中で複雑な幾何学形状を
表現することを可能にし、その一方で、ホストバス28
を介して要求される入力データ帯域幅は最小である。フ
ォーマット変換器543は、置き換え型replace_oldest
が現れるたびに、その後、再フォーマットされた頂点パ
ケットにおける出力三角形の面取りを正規化するため
に、頂点レジスタ549における頂点順序を再配列す
る。プリミティブアセンブリ回路547は、頂点レジス
タ549から頂点が転送されてゆくにつれて、出力三角
形の前面が常に時計回りの頂点順序によって定義される
ように、頂点順序を再配列する。
【0046】入力頂点パケット中のヘッダビットは、各
三角形ストリップの初期面順序付けを指定する。加え
て、コマンドプリプロセッサ30は、ヘッダで指定され
ている初期面順序付けを反転させる状態ビットを伴うレ
ジスタを含む。ホストプロセッサ20で実行されている
アプリケーションプログラムは、そのアプリケーション
プログラムにより維持されるモデルマトリクスを反映す
るために、状態ビットを維持する。また、コマンドプリ
プロセッサ30は「ジグザグ」パターンの三角形ごとに
面順序付けを反転させる。
【0047】 プリミティブアセンブリ回路547は頂
点レジスタ549から次に利用可能な浮動小数点プロセ
ッサ40〜43へ各フォーマットされた頂点パケットを
転送する。次に利用可能な浮動小数点プロセッサ40〜
43は、CF−BUS82の制御部分を介して各浮動小
数点プロセッサ40〜43の入力バッファ状態を感知す
ることにより確定される。コマンドプリプロセッサ30
は、浮動小数点プロセッサ40〜43への各再フォーマ
ットされた頂点パケットの転送の順序付けのレコード、
すなわち、「スコアボード」を維持する。コマンドプリ
プロセッサ30は、CD−BUS80の制御部分を介し
て制御信号を転送することにより、浮動小数点プロセッ
サ40〜43の出力バッファを制御する。コマンドプリ
プロセッサ30は、順次描出順序が要求されるときに再
フォーマットされた頂点パケットが浮動小数点プロセッ
サ40〜43を介して適正な順序で処理されるように保
証する。順次描出が要求されない場合には、浮動小数点
プロセッサ40〜43の出力端子における第1の描画パ
ケットを第1番目に描出する。
【0048】フォーマット変換器543はポリライン
と、ポリポリラインとをさらに再フォーマットする。加
えて、フォーマット変換器54は三角形ストリップデー
タをポリライン辺に任意に変換する。三角形の辺のハイ
ライティングを要求する動作中には、三角形処理は線処
理と混合されないので、そのような能力は浮動小数点プ
ロセッサ40〜43に関わるマイクロコードの複雑さを
軽減させる。
【0049】 三角形ストリップの中にある三角形の辺
のハイライティングを処理するために、コマンドプリプ
ロセッサ30はその三角形ストリップに関わる入力頂点
パケットを再フォーマットされた頂点パケットへと組立
て、それらの再フォーマットされた頂点パケットを出力
幾何学パケットとしてCF−BUS82を介して浮動小
数点プロセッサ40〜43に渡す。その後、コマンドプ
リプロセッサ30はホストバス28を介して元の三角形
ストリップ入力頂点パケットをアクセスし、それらの入
力頂点パケットを、ハイライティングされる辺を表わす
隔離ベクトルを含む再フォーマットされた頂点パケット
へと組立てる。次に、コマンドプリプロセッサ30は浮
動小数点プロセッサ40〜43と、描画プロセッサ50
〜54とを介して隔離ベクトルを処理して、ハイライテ
ィング機能を実行する。
【0050】一実施例では、CF−BUS82のデータ
部分は16ビット幅であり、また、CD−BUS80の
データ部分は16は16ビット幅である。コマンドプリ
プロセッサ30は、CF−BUS82を介して浮動小数
点プロセッサ40〜43へ転送する前に、再フォーマッ
トされた頂点パケットのカラー成分と正規データ成分を
32−16回路550を使用して任意に圧縮する。32
−16回路550は、カラーデータ及び正規データを3
2ビットIEEE浮動小数点フォーマットから16ビッ
ト固定小数点フォーマットへと圧縮する。その後、浮動
小数点プロセッサ40〜43は圧縮カラーデータ成分及
び正規データ成分を伴う再フォーマットされた頂点パケ
ットを受け、カラー成分と正規データ成分を32ビット
IEEE浮動小数点値へ圧縮解除して戻す。
【0051】再フォーマットされた頂点パケットのカラ
ー成分はフレームバッファ100では8ビット値として
表現されているので、再フォーマットされた頂点パケッ
トのカラー成分と正規データ成分の圧縮は、グラフィッ
クスアクセラレータ24の最終的な画質にはほとんど影
響を及ぼさない。同様に、16ビット符号なし正確度を
有する再フォーマットされた頂点パケットの正規データ
成分は、約1マイルでプラス又はマイナス1インチの分
解能を表わす。一方、再フォーマットされた頂点パケッ
トのカラー成分及び正規データ成分のデータ圧縮は、C
F−BUS82を介するデータ転送帯域幅を約25パー
セント縮小する。
【0052】図4は、浮動小数点プロセッサ40と、制
御記憶装置(CS)149とを含む浮動小数点プロセッ
サセクション45のブロック線図である。浮動小数点プ
ロセッサ40は入力回路141と、出力回路145と、
レジスタファイル142と、1組の関数装置143と、
制御装置144と、SRAMインタフェース回路146
とから構成されている。浮動小数点プロセッサ40はC
S149へ転送するための内部サブルーチンスタック及
びブロックロード/記憶命令と、整数関数とを実現す
る。浮動小数点プロセッサ40はCF−BUS82のデ
ータ部分181を介して出力幾何学パケットを受ける。
コマンドプリプロセッサ30はCF−BUS82の制御
部分182を介して制御信号を転送して、入力バッファ
141をイネーブル、ディスエーブルする。
【0053】 関数装置143は浮動小数点乗算器と、
浮動小数点ALUと、浮動小数点逆数演算と、逆数平方
根演算と、整数ALUとを実現する。出力回路145は
CD−BUS80のデータ部分183を介して描画パケ
ットを転送する。描画プロセッサ50〜54へのデータ
転送を同期させると共に、CD−BUS80におけるバ
スアクティビティとコマンドプリプロセッサ30とを協
調させるために、出力回路145はCD−BUS80の
制御部分184を介して制御信号をも転送する。一実施
例では、入力回路141と出力回路145は、それぞ
れ、幾何学データをバッファリングする64個のレジス
タを含む。レジスタファイル142は160個の32ビ
ットレジスタから構成されている。
【0054】SRAMインタフェース146は、制御記
憶装置データバス148と制御記憶装置アドレスバス1
47を介して制御記憶装置(CS)149と通信する。
一実施例では、制御記憶装置アドレスバス147は17
ビット幅であり、制御記憶装置データバス148は32
ビット幅である。制御記憶装置149は4つの128k
×8ビットSRAMから構成されている。
【0055】入力回路141に含まれるレジスタは、1
対の32ビットレジスタファイルとして二重緩衝方式で
配列されている。同様に、出力回路145に含まれるレ
ジスタは1対の32ビットレジスタ二重緩衝レジスタフ
ァイルとして配列されている。浮動小数点プロセッサ4
0で実行されているマイクロコードは、入力回路141
及び出力回路145のレジスタを特殊なレジスタファイ
ルとしてアクセスする。浮動小数点プロセッサ40に関
わる命令セットは、レジスタファイルを要求し且つ放棄
するための指令と、CD−BUS80を介して伝送完了
データパケットを待ち行列に入れるための指令とを含
む。
【0056】 浮動小数点プロセッサ40は、描画プロ
セッサ50〜54による走査変換のために三角形セット
アップ機能を実現する。三角形セットアップ機能の第1
の段階は三角形の3つの頂点をyが大きくなる順に分類
する。浮動小数点プロセッサ40は、頂点のy座標の最
後の3回の比較の結果に基づいて、ハードウェアでレジ
スタファイル142の1セクションを再順序付けする特
殊命令を実現する。
【0057】浮動小数点プロセッサ40において実現さ
れるクリップ試験機能は、クリップ条件ビットから成る
ベクトルを計算する。浮動小数点プロセッサ40〜43
は、クリップ条件ビットを特殊なクリップレジスタへシ
フトしつつ、複数対のクリップ条件ビットを計算する特
殊クリップ試験命令を実現する。クリップ条件ビットを
計算した後、特殊ブランチ命令はクリップレジスタに含
まれているクリップ条件ビットを適切なクリップ条件へ
と復号する。浮動小数点プロセッサ40は、三角形及び
ベクトルをクリッピングするための別個のブランチ命令
を実現する。特殊ブランチ命令は同一の命令の中で複数
のクリップ条件の試験を可能にする。
【0058】 図5は、描画プロセッサ50のブロック
線図である。描画プロセッサ50は入力バッファ151
と、描出回路152と、メモリ制御回路153とから構
成されている。入力バッファ151は、CD−BUS8
0のデータ部分185を介して幾何学データを受信する
二重緩衝構造を呈する。また、入力バッファ151は、
コマンドプリプロセッサ30及び浮動小数点プロセッサ
40〜43とのデータ転送を調整するために、CD−B
US80の制御部分186を介して制御信号を転送す
る。入力バッファ151は、描出回路152により旧幾
何学データが描出されている間に新たな幾何学データが
入力バッファ151にロードされるように構成されてい
る。
【0059】描出回路152は、走査変換機能の低速化
を防止するために、1回の画素サイクルでエッジウォー
キング機能を実行する。エッジウォーキング回路は単一
の外部エッジウォーキングチップについて要求されるよ
り1〜5回は多い頻度で次の走査線へ進まなければなら
ないので、エッジウォーキング機能は高速で実行されて
いる。
【0060】 描出回路152は三角形、エイリアシン
グ防止ベクトル、エイリアシングを含むベクトル、エイ
リアシング防止ドット及びエイリアシングを含むデータ
についてラスタ化アルゴリズムを実行する。メモリ制御
回路153は、画素データをメモリバス188を介して
インタリーブバンク−0 61へ転送するために要求さ
れるアドレス信号と制御信号を発生する。各々の描画プ
ロセッサ50〜54は、32ビット内部処理装置を使用
して部分画素の正確度を可能にする正確度の高いDDA
アルゴリズムを実現する。エイリアシングを伴う線とド
ット、並びにエイリアシング防止された線とドットは先
に説明した分散方式で描出され、その場合、各々の描画
プロセッサ50〜54は1本の走査線に沿って4つおき
に画素を処理する。
【0061】 各々の描画プロセッサ50〜54は、コ
マンドプリプロセッサ30のX11演算回路と協調し
て、X11演算の描出部分をさらに実現する。X11演
算は垂直スクロール、ラスタ演算及びステンシル演算に
関わる複数群の画素の読取りと書込みを含む。以上の明
細書の中では、本発明の特定の実施例に関連して本発明
を説明したが、特許請求の範囲に記載されている本発明
のより広い趣旨から逸脱せずに様々な変形や変更を実施
しうることは明白であろう。従って、この明細書及び図
面は限定的なものではなく、例示として考えられるべき
である。
【図面の簡単な説明】
【図1】 ホストプロセッサと、メモリサブシステム
と、グラフィックスアクセラレータと、表示装置とを含
むコンピュータシステムのブロック線図。
【図2】 コマンドプリプロセッサと、1組の浮動小数
点プロセッサと、1組の描画プロセッサと、フレームバ
ッファと、ポストプロセッサと、ランダムアクセスメモ
リ/デジタル/アナログ変換器(RAMDAC)とから
構成されているグラフィックスアクセラレータのブロッ
ク線図。
【図3】 直接ポートデータパイプラインと共に、3D
幾何学パイプラインの再フォーマットされた回路を示す
コマンドプリプロセッサのブロック線図。
【図4】 制御記憶装置(CS)と、入力回路と、出力
回路と、レジスタファイルと、1組の機能単位と、制御
回路と、SRAMインタフェース回路とを含む浮動小数
点プロセッサセクションのブロック線図。
【図5】 入力バッファと、描出回路と、メモリ制御回
路とから構成されている描画プロセッサのブロック線
図。
【符号の説明】
20…ホストプロセッサ、22…メモリサブシステム、
24…グラフィックスアクセラレータ、26…表示装
置、28…ホストバス、30…コマンドプリプロセッ
サ、40〜43…浮動小数点プロセッサ、50〜54…
描画プロセッサ、61〜65…インタリーブバンク、7
0…ポストプロセッサ、72…ランダムアクセスメモリ
/デジタル/アナログ変換器、80…コマンドバス(C
D−BUS)、82…浮動小数点コマンドバス(CF−
BUS)、84…ビデオバス、100…フレームバッフ
ァ、540…交替タプルレジスタ、541…入力インタ
フェース、542…バケットバッファ、543…フォー
マット変換器、544…変換器シーケンサ、545…V
CS演算回路、546…DMA制御装置、547…プリ
ミティブアセンブリ回路、548…シーケンサ、549
…頂点レジスタ、550…32−16回路、551…X
11演算回路、552…内部レジスタ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−213175(JP,A) 特開 昭62−229375(JP,A) 特開 平4−169980(JP,A) 特開 平3−48333(JP,A) 米国特許5317682(US,A) (58)調査した分野(Int.Cl.7,DB名) G06T 11/00 G06T 1/20 G06T 11/80 CSDB(日本国特許庁)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 三次元幾何学パイプラインと、直接ポー
    トパイプラインとを有し、ホストバスを介して入力頂点
    パケットと、直接ポートデータとをアクセスするコマン
    ドプリプロセッサであって、その三次元幾何学パイプラ
    インは、定義済み頂点フォーマットに従って、入力頂点
    パケットを再フォーマットされた頂点パケットに再フォ
    ーマットし、三次元幾何学パイプラインは再フォーマッ
    トされた頂点パケットを出力幾何学パケットへと組立て
    且つその出力幾何学パケットを浮動小数点バスを介して
    転送し、直接ポートパイプラインは直接ポートデータを
    描画バスを介して転送するようなコマンドプリプロセッ
    サと; 浮動小数点バスを介して通信するためにそのバスに結合
    しており、各々が浮動小数点バスを介して出力幾何学パ
    ケットを受け、1つの幾何学オブジェクトを定義するパ
    ラメータを含む描画パケットを生成し、且つ描画パケッ
    トを描画バスを介して転送する少なくとも1つの浮動小
    数点プロセッサと; 描画バスを介して描画パケットを同時に受け、各々が、
    幾何学オブジェクトに対応する画素のサブセットを描出
    するように、エッジウォーキング機能及び走査補間機能
    を実行する複数の描画プロセッサと; 各々が描画プロセッサの中の1つから画素のサブセット
    を受け複数のインタリーブバンクから成るフレームバッ
    ファとを具備するグラフィックスアクセラレータ。
  2. 【請求項2】 幾何学オブジェクトを描出する方法にお
    いて、 ホストバスを介して入力頂点パケットをアクセスし、且
    つその入力頂点パケットを定義済み頂点フォーマットに
    従って再フォーマットされた頂点パケットへと再フォー
    マットする過程と; 再フォーマットされた頂点パケットを出力幾何学パケッ
    トに組立て且つその出力幾何学パケットを浮動小数点バ
    スを介して転送する過程と; 再フォーマットされた頂点パケットを浮動小数点バスを
    介して受け、且つ1つの幾何学オブジェクトを定義する
    パラメータを含むように描画パケットを生成する過程
    と; 描画パケットを描画バスを介して転送する過程と; 描画バスを介して描画パケットを受け、且つ幾何学オブ
    ジェクトに対応する画素のサブセットが描出されるよう
    に、幾何学オブジェクトに対応するエッジウォーキング
    機能及び走査補間機能を実行する過程と; その画素のサブセットをインタリーブフレームバッファ
    のインタリーブバンクへ転送する過程とから成る方法。
JP12333294A 1993-06-04 1994-05-13 グラフィックアクセラレータ及び幾何学オブジェクト描出方法 Expired - Lifetime JP3491773B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/071,699 US5392393A (en) 1993-06-04 1993-06-04 Architecture for a high performance three dimensional graphics accelerator
US071,699 1993-06-04

Publications (2)

Publication Number Publication Date
JPH06348854A JPH06348854A (ja) 1994-12-22
JP3491773B2 true JP3491773B2 (ja) 2004-01-26

Family

ID=22102997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12333294A Expired - Lifetime JP3491773B2 (ja) 1993-06-04 1994-05-13 グラフィックアクセラレータ及び幾何学オブジェクト描出方法

Country Status (5)

Country Link
US (2) US5392393A (ja)
EP (1) EP0627700B1 (ja)
JP (1) JP3491773B2 (ja)
KR (2) KR100328421B1 (ja)
DE (1) DE69430884T2 (ja)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3098342B2 (ja) * 1992-11-26 2000-10-16 富士通株式会社 並列処理装置における処理順序指定方式
US5712664A (en) * 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
JPH07225852A (ja) * 1994-02-15 1995-08-22 Fujitsu Ltd 動画生成方法および装置
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
EP0681279B1 (en) * 1994-05-03 2001-07-18 Sun Microsystems, Inc. Frame buffer random access memory and system
WO1995034051A1 (en) * 1994-06-06 1995-12-14 Spectragraphics Corporation Method and apparatus for capturing and distributing graphical data
JPH10502181A (ja) * 1994-06-20 1998-02-24 ネオマジック・コーポレイション メモリインタフェースのないグラフィックスコントローラ集積回路
EP0693737A3 (en) * 1994-07-21 1997-01-08 Ibm Method and apparatus for managing tasks in a multiprocessor system
US5630101A (en) * 1994-11-22 1997-05-13 Minnesota Mining And Manufacturing Company System for communication of image information between multiple-protocol imaging devices
US6275869B1 (en) 1994-11-22 2001-08-14 Eastman Kodak Company System for network communication of image information between imaging devices according to multiple protocols
EP0734010B1 (en) * 1995-03-21 2005-01-26 Sun Microsystems, Inc. Video frame signature capture
US5696534A (en) * 1995-03-21 1997-12-09 Sun Microsystems Inc. Time multiplexing pixel frame buffer video output
US5764228A (en) * 1995-03-24 1998-06-09 3Dlabs Inc., Ltd. Graphics pre-processing and rendering system
US5594854A (en) * 1995-03-24 1997-01-14 3Dlabs Inc. Ltd. Graphics subsystem with coarse subpixel correction
US6025853A (en) * 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
JP2716397B2 (ja) * 1995-04-20 1998-02-18 新潟日本電気株式会社 グラフィクスコントローラ
FR2735253B1 (fr) * 1995-06-08 1999-10-22 Hewlett Packard Co Synchronisation de donnees entre plusieurs dispositifs de restitution asynchrones de donnees
WO1997002546A1 (fr) * 1995-07-03 1997-01-23 Tsuneo Ikedo Circuit graphique pour ordinateur
US5877779A (en) * 1995-07-06 1999-03-02 Sun Microsystems, Inc. Method and apparatus for efficient rendering of three-dimensional scenes
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US6525722B1 (en) 1995-08-04 2003-02-25 Sun Microsystems, Inc. Geometry compression for regular and irregular mesh structures
US6747644B1 (en) 1995-08-04 2004-06-08 Sun Microsystems, Inc. Decompression of surface normals in three-dimensional graphics data
US5842004A (en) * 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US5794016A (en) * 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
US5812138A (en) * 1995-12-19 1998-09-22 Cirrus Logic, Inc. Method and apparatus for dynamic object indentification after Z-collision
US5850346A (en) * 1995-12-27 1998-12-15 Mitsubishi Electric Information Technology Center America, Inc. System for embedding hidden source information in three-dimensional computer model data
US5736987A (en) * 1996-03-19 1998-04-07 Microsoft Corporation Compression of graphic data normals
KR100207664B1 (ko) * 1996-04-02 1999-07-15 윤종용 격자점 데이터들의 병렬적인 액세스를 가능하게 하는 삼차원 데이터 저장 방법
US5821950A (en) * 1996-04-18 1998-10-13 Hewlett-Packard Company Computer graphics system utilizing parallel processing for enhanced performance
JP3402926B2 (ja) * 1996-05-15 2003-05-06 シャープ株式会社 3次元画像処理装置
US5821949A (en) * 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
US6115047A (en) * 1996-07-01 2000-09-05 Sun Microsystems, Inc. Method and apparatus for implementing efficient floating point Z-buffering
US5874969A (en) * 1996-07-01 1999-02-23 Sun Microsystems, Inc. Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
US6046746A (en) * 1996-07-01 2000-04-04 Sun Microsystems, Inc. Method and apparatus implementing high resolution rendition of Z-buffered primitives
US5745125A (en) * 1996-07-02 1998-04-28 Sun Microsystems, Inc. Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
US6343309B1 (en) 1996-09-30 2002-01-29 International Business Machines Corporaton Method and apparatus for parallelizing a graphics pipeline
JP3763136B2 (ja) * 1996-12-27 2006-04-05 ソニー株式会社 描画方法および描画装置
CA2227531C (en) * 1997-01-20 2003-03-18 Hitachi, Ltd. Graphics processing unit and graphics processing system
JPH10269377A (ja) 1997-03-27 1998-10-09 Toshiba Corp 表示制御システムおよび3次元グラフィクスデータの表示制御方法
US6278645B1 (en) * 1997-04-11 2001-08-21 3Dlabs Inc., Ltd. High speed video frame buffer
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory
US6282625B1 (en) 1997-06-25 2001-08-28 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6417848B1 (en) 1997-08-25 2002-07-09 Ati International Srl Pixel clustering for improved graphics throughput
US6191791B1 (en) * 1997-09-30 2001-02-20 Hewlett-Packard Company Methods for high precision, memory efficient surface normal compression and expansion
US6532016B1 (en) * 1997-10-23 2003-03-11 Texas Instruments Incorporated Method of processing print data using parallel raster image processing
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
JP4275790B2 (ja) * 1998-03-19 2009-06-10 富士通マイクロエレクトロニクス株式会社 図形選別ユニット及び図形描画装置
US7038692B1 (en) * 1998-04-07 2006-05-02 Nvidia Corporation Method and apparatus for providing a vertex cache
US7136068B1 (en) 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US6650327B1 (en) * 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor
JP3983394B2 (ja) 1998-11-09 2007-09-26 株式会社ルネサステクノロジ 幾何学処理プロセッサ
US6204854B1 (en) * 1998-12-04 2001-03-20 France Telecom Method and system for encoding rotations and normals in 3D generated scenes
US6452603B1 (en) * 1998-12-23 2002-09-17 Nvidia Us Investment Company Circuit and method for trilinear filtering using texels from only one level of detail
US6377265B1 (en) * 1999-02-12 2002-04-23 Creative Technology, Ltd. Digital differential analyzer
JP3169933B2 (ja) * 1999-03-16 2001-05-28 四国日本電気ソフトウェア株式会社 並列描画装置
US6919895B1 (en) 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US6452600B1 (en) 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US6411301B1 (en) 1999-10-28 2002-06-25 Nintendo Co., Ltd. Graphics system interface
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6717577B1 (en) * 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US7796132B1 (en) * 1999-11-18 2010-09-14 Namco Bandai Games Inc. Image generation system and program
US7483042B1 (en) * 2000-01-13 2009-01-27 Ati International, Srl Video graphics module capable of blending multiple image layers
JP4568950B2 (ja) * 2000-02-29 2010-10-27 ソニー株式会社 グラフィックス描画装置
US6924807B2 (en) 2000-03-23 2005-08-02 Sony Computer Entertainment Inc. Image processing apparatus and method
TW477912B (en) * 2000-03-23 2002-03-01 Sony Computer Entertainment Inc Image processing apparatus and method
US6859862B1 (en) 2000-04-07 2005-02-22 Nintendo Co., Ltd. Method and apparatus for software management of on-chip cache
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US7119813B1 (en) 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
US7405734B2 (en) * 2000-07-18 2008-07-29 Silicon Graphics, Inc. Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units
JP3466173B2 (ja) * 2000-07-24 2003-11-10 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、デバイス、方法及びコンピュータプログラム
US6609977B1 (en) 2000-08-23 2003-08-26 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US6606689B1 (en) 2000-08-23 2003-08-12 Nintendo Co., Ltd. Method and apparatus for pre-caching data in audio memory
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6639595B1 (en) 2000-08-23 2003-10-28 Nintendo Co., Ltd. Achromatic lighting in a graphics system and method
US6580430B1 (en) 2000-08-23 2003-06-17 Nintendo Co., Ltd. Method and apparatus for providing improved fog effects in a graphics system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6664958B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Z-texturing
US6999100B1 (en) 2000-08-23 2006-02-14 Nintendo Co., Ltd. Method and apparatus for anti-aliasing in a graphics system
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7134960B1 (en) * 2000-08-23 2006-11-14 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7002591B1 (en) 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US6664962B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Shadow mapping in a low cost graphics system
US7184059B1 (en) 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US7079133B2 (en) * 2000-11-16 2006-07-18 S3 Graphics Co., Ltd. Superscalar 3D graphics engine
US6697074B2 (en) * 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
US6803916B2 (en) 2001-05-18 2004-10-12 Sun Microsystems, Inc. Rasterization using two-dimensional tiles and alternating bins for improved rendering utilization
US7092035B1 (en) * 2001-07-09 2006-08-15 Lsi Logic Corporation Block move engine with scaling and/or filtering for video or graphics
US6961803B1 (en) * 2001-08-08 2005-11-01 Pasternak Solutions Llc Sliced crossbar architecture with no inter-slice communication
US7003588B1 (en) 2001-08-22 2006-02-21 Nintendo Co., Ltd. Peripheral devices for a video game system
US7373432B2 (en) * 2002-10-31 2008-05-13 Lockheed Martin Programmable circuit and related computing machine and method
US8736620B2 (en) * 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8860722B2 (en) * 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US8711155B2 (en) * 2004-05-14 2014-04-29 Nvidia Corporation Early kill removal graphics processing system and method
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
WO2006039710A2 (en) * 2004-10-01 2006-04-13 Lockheed Martin Corporation Computer-based tool and method for designing an electronic circuit and related system and library for same
US8089486B2 (en) * 2005-03-21 2012-01-03 Qualcomm Incorporated Tiled prefetched and cached depth buffer
US7616207B1 (en) * 2005-04-25 2009-11-10 Nvidia Corporation Graphics processing system including at least three bus devices
US10026140B2 (en) 2005-06-10 2018-07-17 Nvidia Corporation Using a scalable graphics system to enable a general-purpose multi-user computer system
KR100706917B1 (ko) * 2005-08-03 2007-04-12 엠텍비젼 주식회사 실시간 이미지 스케일링 장치, 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
US7436412B2 (en) * 2005-08-24 2008-10-14 Qualcomm Incorporated Graphics engine with efficient interpolation
US7525548B2 (en) 2005-11-04 2009-04-28 Nvidia Corporation Video processing with multiple graphical processing units
US7750915B1 (en) * 2005-12-19 2010-07-06 Nvidia Corporation Concurrent access of data elements stored across multiple banks in a shared memory resource
US7768517B2 (en) 2006-02-21 2010-08-03 Nvidia Corporation Asymmetric multi-GPU processing
US8134566B1 (en) 2006-07-28 2012-03-13 Nvidia Corporation Unified assembly instruction set for graphics processing
US7973797B2 (en) * 2006-10-19 2011-07-05 Qualcomm Incorporated Programmable blending in a graphics processing unit
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US8022958B2 (en) * 2007-04-04 2011-09-20 Qualcomm Incorporated Indexes of graphics processing objects in graphics processing unit commands
US8775777B2 (en) * 2007-08-15 2014-07-08 Nvidia Corporation Techniques for sourcing immediate values from a VLIW
US8521800B1 (en) 2007-08-15 2013-08-27 Nvidia Corporation Interconnected arithmetic logic units
US8599208B2 (en) * 2007-08-15 2013-12-03 Nvidia Corporation Shared readable and writeable global values in a graphics processor unit pipeline
US8736624B1 (en) 2007-08-15 2014-05-27 Nvidia Corporation Conditional execution flag in graphics applications
US8314803B2 (en) 2007-08-15 2012-11-20 Nvidia Corporation Buffering deserialized pixel data in a graphics processor unit pipeline
US20090046105A1 (en) * 2007-08-15 2009-02-19 Bergland Tyson J Conditional execute bit in a graphics processor unit pipeline
US9183607B1 (en) 2007-08-15 2015-11-10 Nvidia Corporation Scoreboard cache coherence in a graphics pipeline
US8576228B2 (en) * 2008-01-18 2013-11-05 Sony Corporation Composite transition nodes for use in 3D data generation
EP2309458B1 (en) * 2008-08-07 2020-09-02 Mitsubishi Electric Corporation Semiconductor integrated circuit device, facility apparatus control device, and apparatus state display device
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US9401046B2 (en) * 2011-02-07 2016-07-26 Intel Corporation Micropolygon splatting
US8640047B2 (en) 2011-06-01 2014-01-28 Micorsoft Corporation Asynchronous handling of a user interface manipulation
CN102495726B (zh) 2011-11-15 2015-05-20 无锡德思普科技有限公司 机会多线程方法及处理器
US9411595B2 (en) 2012-05-31 2016-08-09 Nvidia Corporation Multi-threaded transactional memory coherence
US9824009B2 (en) 2012-12-21 2017-11-21 Nvidia Corporation Information coherency maintenance systems and methods
US10102142B2 (en) 2012-12-26 2018-10-16 Nvidia Corporation Virtual address based memory reordering
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering
US9558000B2 (en) 2014-02-06 2017-01-31 Optimum Semiconductor Technologies, Inc. Multithreading using an ordered list of hardware contexts
US9766894B2 (en) * 2014-02-06 2017-09-19 Optimum Semiconductor Technologies, Inc. Method and apparatus for enabling a processor to generate pipeline control signals
US11488349B2 (en) 2019-06-28 2022-11-01 Ati Technologies Ulc Method and apparatus for alpha blending images from different color formats
US11869123B2 (en) * 2021-08-03 2024-01-09 Adobe Inc. Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3924759A1 (de) * 1989-07-26 1991-02-07 Fraunhofer Ges Forschung Multiprozessorsystem fuer die graphische datenverarbeitung
US5317682A (en) * 1989-10-24 1994-05-31 International Business Machines Corporation Parametric curve evaluation method and apparatus for a computer graphics display system
US5159665A (en) * 1989-11-27 1992-10-27 Sun Microsystems, Inc. Graphics accelerator system
US5379376A (en) * 1990-06-04 1995-01-03 International Business Machines Corporation Bi-directional graphics attribute conversion profile
US5293480A (en) * 1990-08-06 1994-03-08 At&T Bell Laboratories High resolution graphics system architecture
US5220650A (en) * 1991-01-22 1993-06-15 Hewlett-Packard Company High speed method for rendering antialiased vectors
US5307449A (en) * 1991-12-20 1994-04-26 Apple Computer, Inc. Method and apparatus for simultaneously rendering multiple scanlines

Also Published As

Publication number Publication date
EP0627700A2 (en) 1994-12-07
EP0627700A3 (en) 1995-02-01
JPH06348854A (ja) 1994-12-22
EP0627700B1 (en) 2002-07-03
KR950001541A (ko) 1995-01-03
US5392393A (en) 1995-02-21
KR100328421B1 (ko) 2002-06-22
US5440682A (en) 1995-08-08
DE69430884D1 (de) 2002-08-08
KR950001544A (ko) 1995-01-03
KR100301223B1 (ko) 2001-10-24
DE69430884T2 (de) 2003-02-27

Similar Documents

Publication Publication Date Title
JP3491773B2 (ja) グラフィックアクセラレータ及び幾何学オブジェクト描出方法
KR100301222B1 (ko) 고성능3차원그래픽가속기용명령전처리기
US5874969A (en) Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
KR100325902B1 (ko) 고성능3차원그래픽가속기를위한부동소숫점처리기및그처리기능수행방법
US6025853A (en) Integrated graphics subsystem with message-passing architecture
US5764228A (en) Graphics pre-processing and rendering system
EP0817117B1 (en) Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities and method for processing geometry data in said graphics accelerator
US5764243A (en) Rendering architecture with selectable processing of multi-pixel spans
EP0817009A2 (en) Three-dimensional graphics accelerator with direct data channels
US6924808B2 (en) Area pattern processing of pixels
EP0631252B1 (en) Draw processor for a high performance three dimensional graphics accelerator
US10055883B2 (en) Frustum tests for sub-pixel shadows
US6704026B2 (en) Graphics fragment merging for improving pixel write bandwidth
US6864892B2 (en) Graphics data synchronization with multiple data paths in a graphics accelerator
US20030142105A1 (en) Optimized packing of loose data in a graphics queue
US5914724A (en) Lighting unit for a three-dimensional graphics accelerator with improved handling of incoming color values
Kugler The Setup for Triangle Rasterization.
US6975317B2 (en) Method for reduction of possible renderable graphics primitive shapes for rasterization
US5732248A (en) Multistep vector generation for multiple frame buffer controllers
US7256796B1 (en) Per-fragment control for writing an output buffer
US6885375B2 (en) Stalling pipelines in large designs
JP3104643B2 (ja) 画像処理装置及び画像処理方法
US5946003A (en) Method and apparatus for increasing object read-back performance in a rasterizer machine
JP2005078357A (ja) 画像処理装置およびその方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101114

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 10

EXPY Cancellation because of completion of term