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

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

Info

Publication number
JPH06348854A
JPH06348854A JP6123332A JP12333294A JPH06348854A JP H06348854 A JPH06348854 A JP H06348854A JP 6123332 A JP6123332 A JP 6123332A JP 12333294 A JP12333294 A JP 12333294A JP H06348854 A JPH06348854 A JP H06348854A
Authority
JP
Japan
Prior art keywords
packet
draw
bus
vertex
floating point
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
JP6123332A
Other languages
English (en)
Other versions
JP3491773B2 (ja
Inventor
Michael F Deering
マイケル・エフ・ディアリング
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】 システムの多様な制約を克服することによっ
て相対的に低いコストで高性能を達成するグラフィック
スアクセラレータを提案する。 【構成】 グラフィックスアクセラレータは、様々に異
なる幾何学入力データを標準フォーマットに変換するコ
マンドプリプロセッサと、三次元グラフィックス機能に
関して最適化された1組の浮動小数点プロセッサと、1
つの三角形の別個の部分についてエッジウォーキングと
走査補間の描出機能を同時に実行する1組の線引きプロ
セッサとを具備する。

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は、グラフィックスアクセラレータ2
4のブロック線図である。グラフィックスアクセラレー
タ24はコマンドプリプロセッサ30と、1組の浮動小
数点プロセッサ40〜43と、1組の線引き(dra
w)プロセッサ50〜54と、フレームバッファ100
と、ポストプロセッサ70と、ランダムアクセスメモリ
/デジタル/アナログ変換器(RAMDAC)72とか
ら構成されている。このRAMDAC72は、ルックア
ップテーブル機能を実現する市販の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を介して線引きプロセッサ5
0〜54へ転送する。文字書込み、画面スクロール及び
ブロック移動などのX11機能を線引きプロセッサ50
〜54と協調して実行するために、直接ポートデータは
コマンドプリプロセッサ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
が大きくなる順に分類する。各浮動小数点プロセッサ4
0〜43は、全ての線引きプロセッサ50〜54に対し
てCD−BUS80を介して線引きパケットを同報通信
する。線引きパケットは三角形、点及び線を含む最終幾
何学基本要素から構成されている。
【0032】線引きプロセッサ50〜54は、フレーム
バッファ100に対してVRAM制御チップとして機能
する。線引きプロセッサ50〜54は、浮動小数点プロ
セッサ40〜43の中の1つから受けた線引きパケット
に従って、又はコマンドプリプロセッサ30から受けた
直接ポートパケットに従って、フレームバッファ100
に画像を同時に描出する。
【0033】各々の線引きプロセッサ50〜54はエッ
ジウォーキング機能及び走査補間から成る走査変換機能
を実行する。線引きプロセッサ50〜54間でエッジウ
ォーキング機能と走査補間機能を反復することによっ
て、別個のエッジウォーキングプロセッサと走査補間プ
ロセッサとの間に大規模通信経路を設ける必要がなくな
るので、各々の線引きプロセッサ50〜54のピン数が
最小限に抑えられると共に、プリント回路基板の所要ス
ペースも狭くてすむようになる。
【0034】フレームバッファ100は5つ1組のVR
AMインタリーブバンクとして配列されている。線引き
プロセッサ50はインタリーブバンク−0 61に画素
データを書込み、線引きプロセッサ51はインタリーブ
バンク−1 62に画素データを書込み、線引きプロセ
ッサ52はインタリーブバンク−2 63に画素データ
を書込み、線引きプロセッサ53はインタリーブバンク
−3 64に画素データを書込み、線引きプロセッサ5
4はインタリーブバンク−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に結
合している。一実施例では、コマンドプリプロセッサ3
0は単一の集積回路チップとして実現されている。直接
ポートパイプラインは入力インタフェース541と、X
11演算回路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〜4
3は、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と、線引きプロセッサ5
0〜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はC
D−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は入力バッファ15
1と、描出回路152と、メモリ制御回路153とから
構成されている。入力バッファ151は、CD−BUS
80のデータ部分185を介して幾何学データを受信す
る二重緩衝構造を呈する。また、入力バッファ151
は、コマンドプリプロセッサ30及び浮動小数点プロセ
ッサ40〜43とのデータ転送を調整するために、CD
−BUS80の制御部分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…インタリーブバンク、
70…ポストプロセッサ、72…ランダムアクセスメモ
リ/デジタル/アナログ変換器、80…コマンドバス
(CD−BUS)、82…浮動小数点コマンドバス(C
F−BUS)、84…ビデオバス、100…フレームバ
ッファ、540…交替タプルレジスタ、541…入力イ
ンタフェース、542…バケットバッファ、543…フ
ォーマット変換器、544…変換器シーケンサ、545
…VCS演算回路、546…DMA制御装置、547…
プリミティブアセンブリ回路、548…シーケンサ、5
49…頂点レジスタ、550…32−16回路、551
…X11演算回路、552…内部レジスタ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 3D幾何学パイプラインと、直接ポート
    パイプラインとを有し、ホストバスを介して入力頂点パ
    ケットと、直接ポートデータとをアクセスするコマンド
    プリプロセッサであって、その3D幾何学パイプライン
    は、定義済み頂点フォーマットに従って、入力頂点パケ
    ットを再フォーマットされた頂点パケットに再フォーマ
    ットし、3D幾何学パイプラインは再フォーマットされ
    た頂点パケットを出力幾何学パケットへと組立て且つそ
    の出力幾何学パケットを浮動小数点バスを介して転送
    し、直接ポートパイプラインは直接ポートデータを線引
    きバスを介して転送するようなコマンドプリプロセッサ
    と;浮動小数点バスを介して通信するためにそのバスに
    結合しており、各々が浮動小数点バスを介して出力幾何
    学パケットを受け、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
US071,699 1993-06-04
US08/071,699 US5392393A (en) 1993-06-04 1993-06-04 Architecture for a high performance three dimensional graphics accelerator

Publications (2)

Publication Number Publication Date
JPH06348854A true JPH06348854A (ja) 1994-12-22
JP3491773B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195603A (ja) * 1999-10-28 2001-07-19 Nintendo Co Ltd 3次元グラフィックスのための頂点キャッシュ
JP2001243461A (ja) * 2000-02-29 2001-09-07 Sony Corp グラフィックス描画装置
WO2010016299A1 (ja) 2008-08-07 2010-02-11 三菱電機株式会社 半導体集積回路装置、設備機器制御装置、及び機器状態表示装置

Families Citing this family (142)

* 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
DE69521741T2 (de) 1994-05-03 2002-05-23 Sun Microsystems Inc Direktzugriffspeicher und System für Rasterpuffer
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
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
US5630101A (en) * 1994-11-22 1997-05-13 Minnesota Mining And Manufacturing Company System for communication of image information between multiple-protocol imaging devices
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
US6025853A (en) * 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
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
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
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
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of 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次元画像処理装置
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
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
US5821949A (en) * 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
US6115047A (en) * 1996-07-01 2000-09-05 Sun Microsystems, Inc. Method and apparatus for implementing efficient floating point Z-buffering
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
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
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
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a 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 富士通マイクロエレクトロニクス株式会社 図形選別ユニット及び図形描画装置
US7136068B1 (en) 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US7038692B1 (en) * 1998-04-07 2006-05-02 Nvidia Corporation Method and apparatus for providing a vertex cache
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
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
US6452600B1 (en) 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
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
AU2001239559A1 (en) * 2000-03-23 2001-10-03 Sony Computer Entertainment Inc. Image processing apparatus and method
US6924807B2 (en) 2000-03-23 2005-08-02 Sony Computer Entertainment Inc. Image processing apparatus and method
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6859862B1 (en) 2000-04-07 2005-02-22 Nintendo Co., Ltd. Method and apparatus for software management of on-chip cache
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 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、デバイス、方法及びコンピュータプログラム
US6664962B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Shadow mapping in a low cost graphics system
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6664958B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Z-texturing
US6606689B1 (en) 2000-08-23 2003-08-12 Nintendo Co., Ltd. Method and apparatus for pre-caching data in audio memory
US7184059B1 (en) 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6609977B1 (en) 2000-08-23 2003-08-26 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US7134960B1 (en) * 2000-08-23 2006-11-14 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US6639595B1 (en) 2000-08-23 2003-10-28 Nintendo Co., Ltd. Achromatic lighting in a graphics system and method
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
US6580430B1 (en) 2000-08-23 2003-06-17 Nintendo Co., Ltd. Method and apparatus for providing improved fog effects in a graphics system
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
US6999100B1 (en) 2000-08-23 2006-02-14 Nintendo Co., Ltd. Method and apparatus for anti-aliasing in a graphics system
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
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
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in 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
US7418574B2 (en) * 2002-10-31 2008-08-26 Lockheed Martin Corporation Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
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
US8860722B2 (en) * 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US8736620B2 (en) * 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
US20060230377A1 (en) * 2004-10-01 2006-10-12 Lockheed Martin Corporation Computer-based tool and method for designing an electronic circuit and related system
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
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
US8314803B2 (en) 2007-08-15 2012-11-20 Nvidia Corporation Buffering deserialized pixel data in a graphics processor unit pipeline
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
US8576228B2 (en) * 2008-01-18 2013-11-05 Sony Corporation Composite transition nodes for use in 3D data generation
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
US9766894B2 (en) * 2014-02-06 2017-09-19 Optimum Semiconductor Technologies, Inc. Method and apparatus for enabling a processor to generate pipeline control signals
US9558000B2 (en) 2014-02-06 2017-01-31 Optimum Semiconductor Technologies, Inc. Multithreading using an ordered list of hardware contexts
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195603A (ja) * 1999-10-28 2001-07-19 Nintendo Co Ltd 3次元グラフィックスのための頂点キャッシュ
JP4644353B2 (ja) * 1999-10-28 2011-03-02 任天堂株式会社 3次元グラフィックスのための頂点キャッシュ
JP2001243461A (ja) * 2000-02-29 2001-09-07 Sony Corp グラフィックス描画装置
WO2010016299A1 (ja) 2008-08-07 2010-02-11 三菱電機株式会社 半導体集積回路装置、設備機器制御装置、及び機器状態表示装置
US8823723B2 (en) 2008-08-07 2014-09-02 Mitsubishi Electric Corporation Semiconductor integrated circuit device, facility appliance control device, and appliance state display apparatus

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3491773B2 (ja) グラフィックアクセラレータ及び幾何学オブジェクト描出方法
KR100301222B1 (ko) 고성능3차원그래픽가속기용명령전처리기
US5821949A (en) Three-dimensional graphics accelerator with direct data channels for improved performance
US5874969A (en) Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
US6025853A (en) Integrated graphics subsystem with message-passing architecture
US5764228A (en) Graphics pre-processing and rendering system
US5764243A (en) Rendering architecture with selectable processing of multi-pixel spans
KR100325902B1 (ko) 고성능3차원그래픽가속기를위한부동소숫점처리기및그처리기능수행방법
EP0875855B1 (en) Graphics processing system
US5798770A (en) Graphics rendering system with reconfigurable pipeline sequence
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
US5727192A (en) Serial rendering system with auto-synchronization on frame blanking
US5745125A (en) Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
JP3860859B2 (ja) 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム
US7522171B1 (en) On-the-fly reordering of 32-bit per component texture images in a multi-cycle data transfer
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
US6847369B2 (en) Optimized packing of loose data in a graphics queue
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

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