JPH0798766A - グラフィックス・アクセラレータにおいてグラフィックス・ジオメトリ・データを前処理する方法および装置 - Google Patents

グラフィックス・アクセラレータにおいてグラフィックス・ジオメトリ・データを前処理する方法および装置

Info

Publication number
JPH0798766A
JPH0798766A JP6136711A JP13671194A JPH0798766A JP H0798766 A JPH0798766 A JP H0798766A JP 6136711 A JP6136711 A JP 6136711A JP 13671194 A JP13671194 A JP 13671194A JP H0798766 A JPH0798766 A JP H0798766A
Authority
JP
Japan
Prior art keywords
vertex
packet
geometry
floating point
register
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
JP6136711A
Other languages
English (en)
Other versions
JP3491774B2 (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 JPH0798766A publication Critical patent/JPH0798766A/ja
Application granted granted Critical
Publication of JP3491774B2 publication Critical patent/JP3491774B2/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
    • G06T11/002D [Two Dimensional] image generation
    • 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)
  • Processing Or Creating Images (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 コンピュータ装置における高性能三次元グラ
フィックス・アクセラレータ用の、ジオメトリ入力デー
タを種々のフォーマットから翻訳するコマンド・プリプ
ロセッサを得る。 【構成】 コマンド・プリプロセッサは、ホストプロセ
ッサにより翻訳パラメータでプリプログラムされる再フ
ォーマット制御レジスタのセットを含む。再フォーマッ
ト制御レジスタ内の翻訳パラメータは翻訳オペレーショ
ンを指定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ・グラフィ
ックス装置の分野に関するものである。更に詳しくいえ
ば、本発明は高性能三次元グラフィックス・アクセラレ
ータ用コマンド・プリプロセッサに関するものである。
【0002】
【従来の技術】三次元グラフィックス・アクセラレータ
はコンピュータ装置用の特殊化されたグラフィックス表
現サブシステムである。コンピュータ装置のホストプロ
セッサで実行するアプリケーション・プログラムは、表
示装置で表示するための三次元グラフィックス要素を定
める三次元ジオメトリ入力データを生成する。アプリケ
ーションはジオメトリ入力データをホストプロセッサか
らグラフィックス・アクセラレータへ転送する、その
後、グラフィックス・アクセラレータは対応するグラフ
ィックス要素を表示装置で表現する。
【0003】従来のアクセラレータ・プログラムは、三
次元グラフィックス要素を定めるために好適なフォーマ
ットに従って三次元ジオメトリ入力データを生成する。
好適なフォーマットの例はPHIGS規格である。しか
し、予め定められている異なるフォーマットおよび既存
のフォーマットの変形の拡散が最近生じている。異なる
フォーマットが類似の作図機能を定めるとしても、予め
定められている異なるフォーマットの多くをサポートす
るために、高性能グラフィックス・アクセラレータが典
型的に求められる。
【0004】いくつかの従来のグラフィックス装置は、
ジオメトリ入力データを種々の所定のフォーマットに従
って処理するために、グラフィックス・アクセラレータ
をマイクロコーディングすることにより、種々の所定の
フォーマットをサポートする。そのような装置において
は、グラフィックス・アクセラレータは対応するグラフ
ィックス要素を表現する(レンダリング)する前に、種
々のフォーマットを分解および翻訳するためのマイクロ
コード・タスクを含む。不幸なことに、そのようなマイ
クロコード・タスクはグラフィックス・アクセラレータ
・マイクロコードのサイズを非常に大きくし、かつその
マイクロコードを非常に複雑にするから、グラフィック
ス・アクセラレータのコストが増大し、表現性能が低下
する。
【0005】別の従来のグラフィックス装置は、種々の
所定のフォーマットをグラフィックス・アクセラレータ
のための簡単にしたフォーマットへ翻訳するために、ホ
ストプロセッサを採用することにより種々のフォーマッ
トをサポートする。不幸なことに、ホストプロセッサに
よるフォーマット翻訳は、グラフィックス・アクセラレ
ータへのスループットを大幅に減少させることにより、
グラフィックス装置全体の性能を低下させることがある
システムの隘路である。
【0006】
【発明が解決しようとする課題】本発明は、グラフィッ
クス・アクセラレータにおいて、種々のジオメトリ入力
データ・フォーマットを共通フォーマットへ翻訳するこ
とにより、より高性能で、コストが比較的低いグラフィ
ックス・アクセラレータを可能にするコマンド・プリプ
ロセッサを提供することを目的とする。
【0007】
【課題を解決するための手段】この明細書ではコンピュ
ータ装置における高性能三次元グラフィックス・アクセ
ラレータ用コマンド・プリプロセッサを開示する。この
コマンド・プリプロセッサはジオメトリ入力データを種
々のフォーマットから標準的な再フォーマットされた頂
点パケットへ翻訳する。コマンド・プリプロセッサは3
Dジオメトリ・パイプラインおよび直接ポート・データ
・パイプラインをインプリメントする。
【0008】コマンド・プリプロセッサの3Dジオメト
リ・パイプラインは、プログラムされた入力/出力また
は直接メモリ・アクセスのいずれかを用いてホストバス
を介して入力頂点パケットをアクセスする。コマンド・
プリプロセッサは入力頂点パケットを再フォーマットさ
れた頂点パケットへ再フォーマットし、それから再フォ
ーマットされた頂点パケットを、出力ジオメトリ・パケ
ットとして浮動小数点バスを介して転送する。この場合
には、希望によりデータを置換したり、データを圧縮し
たりする。
【0009】コマンド・プリプロセッサは再フォーマッ
ト化制御レジスタを含む。ホストプロセッサは一組の翻
訳パラメータを再フォーマット化制御レジスタへプリプ
ログラムする。再フォーマット化制御レジスタ中の翻訳
パラメータは翻訳オペレーションおよび再フォーマット
された頂点パケットを指定する。
【0010】コマンド・プリプロセッサは、直接メモリ
・アクセス・プロトコルに従ってホストバスを介して入
力頂点パケットをアクセスする。入力頂点パケットはグ
ラフィックス・プリミティブを定めるジオメトリ入力デ
ータを含む。コマンド・プリプロセッサは入力頂点パケ
ットをバケット・バッファに格納する。
【0011】コマンド・プリプロセッサは、ジオメトリ
入力データをバケット・バッファから読出し、再フォー
マット化制御レジスタにおいて指定されている翻訳パラ
メータに従ってそのジオメトリ入力データを翻訳する。
【0012】コマンド・プリプロセッサは、再フォーマ
ットされたジオメトリ・データを頂点バッファから読出
し、再フォーマット化制御レジスタにおいて指定されて
いるパラメータに従ってタップル置換(tupple
substitution)およびデータ圧縮を行うこ
とにより出力ジオメトリ・パケットを生成する。
【0013】三角形のためのプリミティブが再フォーマ
ットされた頂点パケット中に3つの頂点を含み、ベクト
ルのためのプリミティブが再フォーマットされた頂点パ
ケット中に2つの頂点を含み、ドットのためのプリミテ
ィブが再フォーマットされた頂点パケット中に1つの頂
点を含むように、再フォーマットされた頂点パケットが
三角形と、ベクトルと、ドットとのためのプリミティブ
を再フォーマットされた頂点パケットが含むかどうかを
翻訳パラメータが指定する。
【0014】翻訳パラメータは、再フォーマットされた
頂点パケットのための、バケット・バッファからの一組
のソース・タップルを指定する。翻訳パラメータは再フ
ォーマットされた頂点パケットのヘッダのソースを指定
する。翻訳パラメータはバケット・バッファ中の入力頂
点パケットに含まれている頂点のリオーダーリングを指
定する。翻訳パラメータはジオメトリ入力データに対す
るデータ変換オペレーションを指定する。
【0015】この明細書においては、コンピュータ装置
における高性能三次元グラフィックス・アクセラレータ
用コマンド・プリプロセッサを開示するものである。説
明の目的のための以下の説明においては、本発明を完全
に理解できるようにするために、特定の応用、特定の
数、特定の装置、特定の構成、および特定の回路につい
て述べる。しかし、本発明はそのような特定の詳細無し
で実施できることが当業者には明らかであろう。他の場
合には、本発明を不必要にあいまいにしないようにする
ために、周知の装置は線図で、またはブロック図の態様
で示す。
【0016】
【実施例】まず、ホストプロセッサ20と、メモリ・サ
ブシステム22と、グラフィックス・アクセラレータ2
4と、表示装置26とを含むコンピュータ装置のブロッ
ク図が示されている図1を参照する。ホストプロセッサ
20と、メモリ・サブシステム22と、グラフィックス
・アクセラレータ24とはホストバス28を介して通信
するためにおのおの結合される。
【0017】表示装置26は多様なラスタ表示モニタを
代表するものである。ホストプロセッサ20は多様なコ
ンピュータ・プロセッサ、マルチプロセッサおよびCP
Uを代表し、メモリ・サブシステム22は、ランダム・
アクセス・メモリおよび大容量記憶装置を含めた多様な
メモリ・サブシステムを代表する。ホストバス28は、
ホストプロセッサと、CPUと、メモリ・サブシステム
および特殊なサブシステムとの間の通信のための多様な
通信バスまたはホストコンピュータ・バスを代表するも
のである。
【0018】ホストプロセッサ20と、プログラムされ
た入力/出力(I/O)プロトコルに従って、ホストバ
スを介して情報をグラフィックス・アクセラレータ24
との間でやり取りする。また、グラフィックス・アクセ
ラレータ24は直接メモリ・アクセス(DMA)プロト
コルに従ってメモリ・サブシステム22をアクセスす
る。
【0019】ホストプロセッサ20で実行しているグラ
フィックス・アプリケーション・プログラムは、表示装
置26で表示するための画像を定める三次元ジオメトリ
情報を含むジオメトリ入力データ・アレイを生成する。
ホストプロセッサ20はそれらのジオメトリ入力データ
・アレイをメモリ・サブシステム22へ転送する。その
後で、グラフィックス・アクセラレータ24はDMAア
クセス・サイクルを用いて、ホストバス28を介してジ
オメトリ入力データ・アレイを読み込む。あるいは、ホ
ストプロセッサ20は、プログラムされたI/Oによ
り、ホストバス28を介してジオメトリ入力データ・ア
レイをグラフィックス・アクセラレータ24へ転送す
る。
【0020】ジオメトリ入力データ・アレイ中の三次元
情報は、頂点座標(頂点)を含む入力頂点パケットのス
トリームと、モデル空間と一般に呼ばれる三次元空間中
の三角形、ベクトルおよび点を定めるその他の情報を含
む。各入力頂点パケットは、頂点の法線、頂点の色、フ
ァセットの法線、ファセットの色、テクスチャ・マップ
座標、ピック−id、ヘッダおよびその他の情報を含む
三次元頂点情報の任意の組み合わせを含むことができ
る。
【0021】ヘッダ無し入力頂点パケットは隣接する三
角形の「ジグザグ」パターンの態様で三角形ストリップ
を定めることができる。ヘッダ無し入力頂点パケットは
三角形の「スター・ストリップ」パターンの態様で三角
形ストリップを定めることもできる。また、ヘッダ無し
入力頂点パケットは分離された三角形のストリップを定
めることができる。ヘッダを持つ入力頂点パケットは各
三角形にたいする三角形ストリップ・フォーマットを変
更でき、かつ「ジグザグ」フォーマットと、「スター」
フォーマットと、分離された三角形との間で変更でき
る。
【0022】図2はグラフィックス・アクセラレータ2
4のブロック図である。このグラフィックス・アクセラ
レータ24はコマンド・プリプロセッサ30と、一組の
浮動小数点プロセッサ40〜43と、一組の線引きプロ
セッサ50〜54と、フレーム・バッファ100と、ポ
ストプロセッサ70と、ランダム・アクセス・メモリ/
デジタル−アナログ変換器(RAMDAC)72とで構
成される。RAMDAC72は、ルックアップ・テーブ
ル機能を実現する市販のRAMDACに類似する。一実
施例においては、コマンド・プリプロセッサ30と、浮
動小数点プロセッサ40〜43と、線引きプロセッサ5
0〜54と、ホストプロセッサ70とはおのおの個々の
集積回路チップである。
【0023】コマンド・プリプロセッサ30はホストバ
ス28を介して通信するように結合される。コマンド・
プリプロセッサ30はメモリ・サブシステム32から
の、ホストバス28を介するジオメトリ入力データ・ア
レイのDMA読出しを行う。ホストプロセッサ20は仮
想メモリ・ポインタをコマンド・プリプロセッサ30へ
転送する。仮想メモリ・ポインタはメモリ・サブシステ
ム22中のジオメトリ入力データ・アレイを指示する。
コマンド・プリプロセッサ30は、ホストプロセッサ2
0からの介在無しにメモリ・サブシステム22へのDM
A読出しを行うために、仮想メモリ・ポインタを物理的
メモリ・アドレスへ変換する。
【0024】コマンド・プリプロセッサ30は、3Dジ
オメトリ・パイプラインと、直接ポート・パイプライン
との2つのデータ・パイプラインを実現する。直接ポー
ト・パイプラインにおいては、コマンド・プリプロセッ
サ30は直接ポート・データをホストバス28を介して
受け、その直接ポート・データをコマンド線引きバス
(CD−BUS)80を介して線引きプロセッサ50〜
54へ転送する。キャラクタ書込み、スクリーン・スク
ロール、および線引きプロセッサ50〜54と協力して
のブロック移動のようなX11機能を実行するために、
直接ポート・データは希望により処理される。直接ポー
ト・データは線引きプロセッサ50〜54へのレジスタ
書込みと、フレーム・バッファ100への個々の画素書
込みとを含むこともできる。
【0025】3Dジオメトリ・パイプラインにおいて
は、コマンド・プリプロセッサ30は、ジオメトリ入力
データ・アレイからの入力頂点パケットのストリームを
アクセスし、入力頂点パケットに含まれている情報を再
オーダし、希望によっては入力頂点パケット中の情報を
削除する。コマンド・プリプロセッサ30は、入力頂点
パケットからの情報を、標準化された要素オーダを有す
る再フォーマットされた頂点パケットへ再オーダする。
それから、コマンド・プリプロセッサ30は出力ジオメ
トリ・パケットをコマンド−浮動小数点バス(CF−B
US)82を介して浮動小数点プロセッサ40〜43の
1つへ転送する。出力ジオメトリ・パケットは再フォー
マットされた頂点パケットを含む。この場合には、希望
により変更したり、データを置換できる。
【0026】コマンド・プリプロセッサ30は異なる数
のフォーマットからの各入力頂点パケット中の情報を、
32ビットIEEE浮動小数点数フォーマットへ変換す
る。コマンド・プリプロセッサ30は8ビット浮動小数
点数と、16ビット固定小数点数と、32ビットまたは
64ビットIEEE浮動小数点数を変換する。コマンド
・プリプロセッサ30はヘッダ・フィールドを再フォー
マットまたは挿入し、定数を挿入し、順次ピック−id
を発生して、挿入する。コマンド・プリプロセッサ30
はヘッダの連鎖ビットを検査し、入力頂点パケットから
の情報を、点と、線と、三角形とを含む完全に分離され
たジオメトリ・プリミティブを含んでいる再フォーマッ
トされた頂点パケットへ再び組み立てる。
【0027】コマンド・プリプロセッサ30は出力ジオ
メトリ・パケットをコマンド−浮動小数点バス(CF−
BUS)82を介して浮動小数点プロセッサ40〜43
の1つへ転送する。コマンド・プリプロセッサ30は制
御信号および状態信号を浮動小数点プロセッサ40〜4
3からCF−BUS82の制御部を介して受ける。制御
信号および状態信号は、出力ジオメトリ・パケットを受
けるために、浮動小数点プロセッサ40〜43内の入力
バッファの利用可能性を指示する。
【0028】浮動小数点プロセッサ40〜43はおのお
の十分に類似する。各浮動小数点プロセッサ40〜43
は、並列の入力および出力パケット通信ハードウェアと
ともに、32ビットマイクロコードによりドライブされ
る浮動小数点コアを実現する。各浮動小数点プロセッサ
40〜43は、乗算と、ALU演算と、逆数(reci
procal)演算と、逆数平方根(reciproc
al squareroot)演算と、整数演算とを含
めた浮動小数点関数を実行する。各浮動小数点プロセッ
サ40〜43は、特殊化されたグラフィックス命令およ
び諸機能の広い分類を実行する。グラフィックス・アク
セラレータ24により実現された最大共通三次元グラフ
ィックス処理マイクロコード内部ループを実行するため
に求められる数の高速内部レジスタを実現するために、
各浮動小数点プロセッサ40〜43は最適にされる。
【0029】一実施例においては、各浮動小数点プロセ
ッサ40〜43は、単一の集積回路チップで実現され
る。各浮動小数点プロセッサ40〜43のために求めら
れる唯一のサポートチップは、制御記憶装置(CS)に
外部マイクロコードを供給する4つのSRAMチップの
セットである。
【0030】各浮動小数点プロセッサ40〜43は、線
引きプロセッサ50〜54による走査変換のための三角
形を調製するための機能を実行する。この調製機能の最
初の過程は、三角形の3つの頂点をyの昇順で分類する
過程を含む。各浮動小数点プロセッサ40〜43は、線
引きパケットをCD−BUS80を介して全ての線引き
プロセッサ50〜54へ同報通信する。線引きパケット
は、三角形と、点と、線とを含めた最後のジオメトリ・
プリミティブを備える。
【0031】線引きプロセッサ50〜54はフレーム・
バッファ100のVRAM制御チップとして機能する。
線引きプロセッサ50〜54は、浮動小数点プロセッサ
40〜43の1つから受けた線引きパケットに従って、
またはコマンド・プリプロセッサ30から受けた直接ポ
ート・パケットに従って、画像をフレーム・バッファ1
00へ同時に供給する。
【0032】各線引きプロセッサ50〜54はエッジウ
ォーキング(edgewalking)機能の走査変換
機能および走査補間を実行する。線引きプロセッサ50
〜54の間におけるエッジウォーキング機能および走査
補間機能を反復することにより、別々のエッジウォーキ
ングプロセッサおよび走査補間プロセッサの間の大規模
通信通路の必要性を解消し、それにより各線引きプロセ
ッサ50〜54のピンの数を最少にし、プリント回路板
のスペースに対する要求を減少する。
【0033】フレーム・バッファ100は、5つの一組
のVRAMインターリーブ・バンクとして構成される。
線引きプロセッサ50は画素データをインターリーブb
ank_0 61へ書込み、線引きプロセッサ51は画
素データをインターリーブbank_1 62へ書込
み、線引きプロセッサ52は画素データをインターリー
ブbank_2 63へ書込み、線引きプロセッサ53
は画素データをインターリーブbank_3 64へ書
込み、線引きプロセッサ54は画素データをインターリ
ーブbank_4 65へ書込む。
【0034】各線引きプロセッサ50〜54は、対応す
るインターリーブ・バンク61〜65内で見ることがで
きる画素だけを表現する。線引きプロセッサ50〜54
は、線引きパケットにより定められた三角形プリミティ
ブを同時に表現して、正しく組み合わされてラスタ化さ
れた画像をフレーム・バッファ100の内部に生ずる。
各線引きプロセッサ50〜54は、最後のラスタ化され
た画像の各走査線に沿う5番目ごとの画素をラスタ化す
る。各線引きプロセッサ50〜54は、画素スペース0
個分、1個分、2個分、3個分、または4個分だけ右へ
偏倚させられた走査線をスタートさせる。
【0035】各線引きプロセッサ50〜54は深さキュ
ーイングを希望により行う。表現される三角形、ベクト
ルまたは点の各画素は、浮動小数点プロセッサで深さキ
ューイングを行う従来のグラフィックス装置の低性能と
いう不利益なしに、線引きプロセッサ50〜54内で深
さキューを行うことができる。各線引きプロセッサ50
〜54は長方形ウィンドウ・クリッピング機能、混合機
能およびその他の画素処理機能を希望により実行する。
【0036】ホストプロセッサ70はインターリーブさ
れた画素データをフレーム・バッファ100からビデオ
バス84を介して受ける。ホストプロセッサ70は色ル
ックアップ・テーブル機能およびカーソル機能を実行す
る。RAMDAC72はホストプロセッサ70から受け
た画素データを、表示装置26に対するビデオ信号73
に変換する。
【0037】図3はコマンド・プリプロセッサ30のブ
ロック図である。このコマンド・プリプロセッサ30
は、3Dジオメトリ・パイプラインおよび直接ポート・
パイプラインを介して通信するために、コマンド・プリ
プロセッサ30がホストバス28へ結合されていること
が示されている。一実施例においては、コマンド・プリ
プロセッサ30は1つの集積回路チップで実現される。
【0038】直接ポート・パイプラインは入力インタフ
ェース541とX11オペレーション回路551を備え
る。この入力インタフェース541は直接ポートデータ
をホストバス28を介して受け、その直接ポートデータ
をCD−BUS80を介して線引きプロセッサ50〜5
4へ転送する。直接ポートデータは線引きプロセッサ5
0〜54へのレジスタ書込みと、フレーム・バッファ1
00への個々の画素書込みとを含む。線引きプロセッサ
50〜54と協力してのキャラクタ書込み機能、スクリ
ーン・スクロール機能、およびブロック移動機能のよう
なX11機能を実行するために、希望により直接ポート
データはX11オペレーション回路551へ転送され
る。
【0039】3Dジオメトリ・パイプラインは入力イン
タフェース541と、バケット・バッファ542と、フ
ォーマット変換器543と、一組の頂点レジスタ549
と別のタップル・レジスタ540とを含む頂点バッファ
とを備える。3Dジオメトリ・パイプラインにおけるフ
ォーマット変換はVCSオペレーション回路545と変
換器シーケンサ544により制御される。出力ジオメト
リ・パケットはプリミティブ・アセンブリ回路547と
シーケンサ548により構成される。32−16回路5
50がデータ圧縮を希望により行う。一組の内部レジス
タ552がホストバス28を介してプログラムされて、
3Dジオメトリ・パイプラインおよび直接ポート・パイ
プラインの動作を制御する。DMA制御器546はホス
トバス28を介するバケット・バッファ542へのDM
A転送を行う。
【0040】入力インタフェース541は、ホストバス
28の種々のクロッキング環境とコマンド・プリプロセ
ッサ30の種々のクロッキング環境の間でインタフェー
スするためのバースト・バッファを有する。バースト・
バッファは、バケット・バッファ542へ転送される頂
点パケットを入力するための一組の一時的保持レジスタ
として機能する。フォーマット変換器回路543はバケ
ット・バッファ542からの入力頂点パケットをアクセ
スし、再フォーマットされた頂点パケットを頂点レジス
タ549に組み込む。フォーマット変換器回路543
は、予めプログラムされたフォーマット変換オペレーシ
ョンに従ってVCSオペレーション回路545により制
御される。フォーマット変換は変換器シーケンサ544
によりシーケンスさせられる。
【0041】シーケンサ548の制御の下にあるプリミ
ティブ・アセンブリ回路547は、頂点パケット549
からの再フォーマットされた頂点パケットをアクセス
し、出力ジオメトリ・パケットをCF−BUS82を介
して転送する。プリミティブ・アセンブリ回路547
は、別のタップル・レジスタ540からの別のタップル
を希望により置換する。プリミティブ・アセンブリ回路
547は出力ジオメトリ・パケット内のデータに対し
て、32−16回路550を用いてデータ圧縮も希望に
より行う。
【0042】フォーマット変換器543は、三角形スト
リップを定める入力頂点パケットを処理する。各入力頂
点パケット中のヘッダ・ビットは交換型を指定する。交
換型は後の入力頂点パケットと前の入力頂点パケットの
組み合わせを定めて、三角形ストリップ中の次の三角形
を形成する。フォーマット変換器543は、三角形スト
リップ中の最後の3つの頂点を保持する。フォーマット
変換器543は三角形ストリップ中の最後の3つの頂点
を、最も古い、中間、および最も新しいと名づける。
【0043】「ジグザグ」パターンを持つ三角形ストリ
ップは、交換型replace_olderestを指
定するヘッダを有する新しい入力頂点パケットに対応す
る。その交換型replace_olderestはフ
ォーマット変換器543に最も古い頂点を中間頂点で置
換させ、中間頂点を最も新しい頂点で置換させ、かつ最
も新しい頂点を新しい入力頂点パケット中の頂点へセッ
トさせる。以上のパターンはPHIGS_PLUS単純
三角形ストリップに対応する。
【0044】「スター」パターンを持つ三角形ストリッ
プは、交換型replace_middlestを指定
するヘッダを有する新しい入力頂点パケットに対応す
る。その交換型replace_middlestはフ
ォーマット変換器543に最も古い頂点を不変のままに
させ、中間頂点を最も新しい頂点で置換させ、かつ最も
新しい頂点を新しい入力頂点パケット中の頂点へセット
させる。
【0045】一般化された三角形ストリップを開始する
ために、新しい入力頂点パケットは交換型restar
tを指定するヘッダを有する。交換型restartは
フォーマット変換器543に最も古い頂点と中間頂点を
無効であるとマークさせ、かつ最も新しい頂点を新しい
入力頂点パケット中の頂点へセットさせる。
【0046】交換オペレーションが3つの有効な頂点を
頂点レジスタ549中に発生する時は、プリミティブ・
アセンブリ回路547は頂点レジスタ549および別の
タップル・レジスタ540からの三角形に対する出力ジ
オメトリ・パケットを、CF−BUS82を介して常に
転送する。
【0047】入力頂点パケットのヘッダ中のresta
rt交換型はポリライン(polyline)の移動オ
ペレーションに対応する。restart交換型は単一
データ構造、すなわち、メモリ・サブシステム22中の
ジオメトリ・データ・アレイ、が接続されていない多数
の可変長三角形ストリップを指定することを可能にす
る。そのような性能により、ホストバス28を介するD
MAシーケンスを開始させるために求められるオーバヘ
ッドが減少させられる。
【0048】コード・プリプロセッサ30により受けら
れたメモリ・サブシステム中のジオメトリ・データ・ア
レイからの入力頂点パケット中の交換型によって、三角
形ストリップを「ジグザグ」パターンからストリップの
中間内の「スター」パターンへ変更することが可能にな
る。その性能によって、ホストバス28において必要と
する入力データ帯域幅をできるだけ狭くして、コンパク
トなデータ構造中の複雑なジオメトリを表現することが
可能にされる。
【0049】フォーマット変換器543はどのrepl
ace_olderest交換型の後でも頂点レジスタ
549は頂点順序を改めて、再フォーマットされた頂点
パケット中の出力三角形の表面仕上げ(facing)
を正規化する。出力三角形の正面が頂点の時間回り順序
で常に定められるように、順序が頂点レジスタ549か
ら転送されるにつれてプリミティブ・アセンブリ回路5
47は頂点の順序を改める。
【0050】入力頂点パケット中のヘッダ・ビットは各
三角形ストリップの面の最初の順序づけを指定する。ま
た、コマンド・プリプロセッサ30は、ヘッダにおいて
指定されている面の最初の順序づけを反転させる状態ビ
ットを持つレジスタを含む。ホストプロセッサ20にお
いて実行されているアプリケーション・プログラムは、
アプリケーション・プログラムにより維持されているモ
デル・マトリックスを反映するために状態ビットを維持
する。また、コマンド・プリプロセッサ30は「ジグザ
グ」パターンのあらゆる三角形の面の順序づけを逆にす
る。
【0051】プリミティブ・アセンブリ回路547は再
フォーマットされた各頂点パケットを頂点レジスタ54
9から、次に利用できる浮動小数点プロセッサ40〜4
3へ転送する。各浮動小数点プロセッサ40〜43の入
力バッファ状態をCF−BUS82の制御部分を介して
検出することにより、次に利用できる浮動小数点プロセ
ッサ40〜43は決定される。
【0052】コマンド・プリプロセッサ30は、浮動小
数点プロセッサ40〜43への再フォーマットされた各
頂点パケットの転送の順序づけの記録すなわち「スコア
ボード」を維持する。コマンド・プリプロセッサ30
は、制御信号をCD−BUS80の制御部分を介して転
送することにより、浮動小数点プロセッサ40〜43の
出力バッファを制御する。コマンド・プリプロセッサ3
0により、順次表現順序が求められた時に、再フォーマ
ットされた頂点パケットが浮動小数点プロセッサ40〜
43により適切な順序で確実に処理されるようにされ
る。順次順序づけが求められないとすると、浮動小数点
プロセッサ40〜43の出力端子における第1に線引き
パケットが最初に表現される。
【0053】フォーマット変換器543はポリラインお
よびポリ−ポリライン(poly−polyline
s)の再フォーマットも行う。また、希望によっては、
フォーマット変換器543は三角形ストリップ・データ
をポリラインエッジへ変換する。三角形エッジの強調を
求めるオペレーションの間は三角形処理は線処理と混合
させられないから、そのような性能により、浮動小数点
プロセッサ40〜43のためのマイクロコードの複雑さ
が低下させられる。
【0054】三角形ストリップ内の三角形のエッジ強調
を処理するために、コマンド・プリプロセッサ30は、
三角形ストリップのための入力頂点パケットを再フォー
マットされた頂点パケットに組み立て、再フォーマット
された頂点パケットを出力ジオメトリ・パケットとして
CF−BUS82を介して浮動小数点プロセッサ40〜
43へ送る。その後で、コマンド・プリプロセッサ30
は元の三角形ストリップ入力頂点パケットをアクセス
し、強調されたエッジを表す分離されているベクトルを
含んでいる再フォーマットされた頂点パケットへ入力頂
点パケットを組み立てる。それからコマンド・プリプロ
セッサ30は、分離されているベクトルを浮動小数点プ
ロセッサ40〜43および線引きプロセッサ50〜54
を介して処理する。
【0055】一実施例においては、CF−BUS82の
データ部分は16ビットの幅であり、CD−BUS80
のデータ部分は16ビットの幅である。希望によって
は、コマンド・プリプロセッサ30は再フォーマットさ
れた頂点パケットの色および正常なデータ成分を、32
−16回路550を用いて圧縮してから、CF−BUS
82を介して浮動小数点プロセッサ40〜43へ転送す
る。32−16回路550は、色および正常なデータを
32ビットIEEE浮動小数点フォーマットから16固
定小数点フォーマットへ圧縮する。その後で、浮動小数
点プロセッサ40〜43は色および正常なデータ成分が
圧縮されている再フォーマットされた頂点パケットを受
け、色および正常な成分を伸張して32ビットIEEE
浮動小数点値へ戻す。
【0056】再フォーマットされた頂点パケットの色お
よび正常なデータ成分を圧縮しても、グラフィックス・
アクセラレータ24のための最終的な画質にほとんど影
響しない。その理由は、再フォーマットされた頂点パケ
ットの色成分がフレーム・バッファ100においては8
ビット値で表されているからである。同様に、16ビッ
ト符号無し精度を持つ再フォーマットされた頂点パケッ
トの正常な成分は、1マイルでプラスマイナス1インチ
の解像力を表す。他方、再フォーマットされた頂点パケ
ットの色および正常な成分のデータ圧縮により、CF−
BUS82を介するデータ転送帯域幅が約25%だけ狭
くされる。
【0057】図4は頂点モード制御レジスタ200を示
す。この頂点モード制御レジスタ200は内部レジスタ
552に内蔵される。頂点モード制御レジスタ200の
内容は再フォーマットされた頂点パケットおよび出力ジ
オメトリ・パケットの準備を制御する。頂点モード制御
レジスタ200は、再フォーマットされた頂点パケット
が三角形、ベクトル、または点に対するプリミティブを
含むかどうかを指定する頂点型フィールドを含む。三角
形プリミティブは再フォーマットされた頂点パケット当
たり3つの頂点を含み、ベクトルは再フォーマットされ
た各頂点パケットごとに2つの頂点を含み、点は再フォ
ーマットされた各頂点パケットごとに1つの頂点を含
む。
【0058】頂点モード制御レジスタ200は、再フォ
ーマットされた頂点パケットのためのバケット・バッフ
ァ542からソース・タップル配置を指定する。フォー
マット変換器543およびプリミティブ・アセンブリ回
路547はバケット・バッファ542からソース・タッ
プルを組み立て、おそらく代わりのタップルを置換し、
タップル値をフォーマットする。以下の例は、コマンド
・プリプロセッサ30が浮動小数点プロセッサ40〜4
3へ転送する三角形に対する一般的な出力ジオメトリ・
パケットの配置を示すものである。
【0059】浮動小数点プロセッサ・ディスパッチ; 第1の頂点タップル0 VPx,VPy,V
Pz 第1の頂点タップル1 VNx,VNy,V
Nz(オプション) 第1の頂点タップル2 VCr,VCg,V
Cb(オプション) 第2の頂点タップル0 VPx,VPy,V
Pz 第2の頂点タップル1 VNx,VNy,V
Nz(オプション) 第2の頂点タップル2 VCr,VCg,V
Cb(オプション) 第3の頂点タップル0 VPx,VPy,V
Pz 第3の頂点タップル1 VNx,VNy,V
Nz(オプション) 第3の頂点タップル2 VCr,VCg,V
Cb(オプション) ヘッダ・ソース頂点タップル0 FNx,FNy,F
Nz(オプション) ここに、 VPは頂点位置 VNは頂点法線 VCは頂点色 FNは面法線 である。
【0060】上の例の第1の頂点と、第2の頂点と、第
3の頂点とは頂点レジスタ549中の現在の三角形の3
つの頂点であって、頂点レジスタ549中の特定の場所
に対応するものではない。頂点モード制御レジスタ20
0は、出力ジオメトリ・パケットのヘッダに対するソー
スを指定するヘッダ・ソース・フィールドを含む。色が
提示されて正常でない時は、それらの色はタップル1に
存在し得る。
【0061】頂点モード制御レジスタ200は、正常な
三角形頂点順序づけを逆にする背面(backfac
e)機能ビットを含む。ストリップの第1の三角形のヘ
ッダは反時計回り(CCW)ビットを含む。このビット
は浮動小数点プロセッサ40〜43へ転送される三角形
頂点の順序づけを指定する。背面機能ビットは三角形ス
トリップの残りに影響を及ぼす。ストリップの第1の三
角形は最初の設定を基にして送り出される。中間頂点
(V2)を置換することにより形成された以後の任意の
三角形は同じ頂点順序づけを保持する。最も古い頂点
(V1)を置換することにより形成された三角形は三角
形頂点順序づけを逆にする。再スタートは、それがCC
Wビットを再びロードする点で、新しいストリップをス
タートさせることと同じである。
【0062】頂点モード制御レジスタ200のためのビ
ット・フィールドは下記にように定められる。 D<19>=三角形共用エッジモード 0 浮動小数点プロセッサ・ディスパッチ・レジス
タエッジ/中空フラッグをセットするために正常な三角
形モードを使用する。第1の三角形は全部で3つのエッ
ジ/中空ビット・セットを得、以後の全ての三角形は2
つのエッジを有するだけであり、第3のビットは常に零
である。 1 3つのエッジ/中空ビットは全てはあらゆる三
角形のために送られる。
【0063】D<18>=ヘッダ符号付きのサブエレメ
ントPIDカウント(ビット7:5に関連して使用され
る)。
【0064】D<17>=ヘッダ・ソース 0 最も新しい頂点からのヘッダを用いる;また最
も新しいものからの複製である、ピックIDを用い、最
も新しいものからタップル3を得る。 1 最も古い頂点からのヘッダを使用する;また最
も古いものからの複製である、ピックIDを用い、最も
古いものからタップル3を得る。
【0065】D<16:12>=入力パケット・サイズ 00010 パケット・サイズは3語である。 00011 パケット・サイズは4語である。 11111 パケット・サイズは32語である。
【0066】D<11>=頂点DMAモード スタート頂点モード・レジスタをアクセスすることによ
り頂点モードがセットされた時に、頂点DMAモード・
ビットはオペレーションのDMAモードまたは即時モー
ドを選択する。 0 即時モード 1 DMAモード
【0067】D<10>=分離モード 分離モード・ビットは、各頂点対を別々のベクトルとし
て取り扱う(すなわち、V2とV3の間ではなくて、V
1、V2とV3、V4の間にベクトルを作成する)かど
うかを指定する。分離モード・ビットは、頂点型=ベク
トルの場合にのみ適用される。 0 ポリライン・モード:最も新しい頂点と前の頂
点がベクトルを定める 1 分離モード:まさに2つの頂点が分離ベクトル
である(他の頂点の後の再スタート)
【0068】C<9>=エッジモード制御 0 エッジモード活動停止 1 エッジモード活動化
【0069】D<8>=背面機能 正常な三角形頂点順序づけを逆にするために背面機能ビ
ットがセットされる。背面機能ビットはヘッダ中の反時
計回り(CCW)ビットを逆にし、再フォーマットされ
た頂点パケット中の頂点1と頂点2の順序を逆にする。
頂点型=三角形の場合のみ背面機能ビットは適用され
る。 0 内部CCWビットの現在の設定により指定され
ている順序で三角形頂点を送る 1 内部CCWビットの現在の設定により指定され
ているのとは逆の順序で三角形頂点を送る
【0070】D<7:5>=サブエレメントPick
ID制御 xxx0 Pick IDを浮動小数点プロセッサ4
0〜43へ送らない xxx1 浮動小数点プロセッサ40〜43へのPi
ck IDの送りを可能にする xx0x 頂点ヘッダからのPick IDを使用す
る xx1x サブエレメントPick IDレジスタか
らのPick IDを使用する x0xx プリミティブごとにサブエレメントPic
k IDレジスタを使用する x1xx 頂点当たりのサブエレメントPick I
Dレジスタを増加する 0xxx サブエレメントPick IDレジスタを
増加するために頂点ヘッダ・ビット7は用いられない 1xxx 頂点ヘッダ・ビット7が1であればサブエ
レメントPick IDレジスタを増加する(頂点ヘッ
ダ・ビット7が0であれば、増加しない)
【0071】D<4>=ファセット法線使用可能 ファセット法線使用可能ビットは、最後の頂点の後でフ
ァセット値(典型的にはファセット法線)を付すかどう
かを指定する。 0 再フォーマットされた頂点パケット中のファセ
ットデータは送らない 1 ヘッダのためのソースである頂点のファセット
データからのファセッを付す。再フォーマットされた頂
点パケットの端部に常に付される
【0072】D<3:2>=頂点フォーマット 00 XYZ+Tupple1+Tupple2 01 XYZ+Tupple1 1x XYZ
【0073】D<1:0>=頂点型 00 留保 01 点 10 ベクトル 11 三角形
【0074】図5はバケット・バッファ542の構成を
示す。このバケット・バッファ542には入力頂点パケ
ットが、ホストバス28を経てDMAまたはプログラム
されたI/O転送を介してロードされる。フォーマット
変換器543はバケット・バッファ542からの入力頂
点パケットをアクセスし、再フォーマットされた頂点パ
ケットを頂点レジスタ549へ組み立てる。頂点制御シ
ーケンサ(VCS)135はVCS演算コード・カウン
ト・レジスタと4つのVCS演算コード・レジスタを含
む。VCS演算コード・レジスタは演算コードを13個
まで(VCS OP[0]〜VCS OP[12])含
む。
【0075】図6はVCS演算コード・カウント・レジ
スタ210を含む。このレジスタは内部レジスタ552
内に含まれる。頂点制御シーケンサ(VCS)演算コー
ド・カウント・フィールドは、バケット・バッファ54
2から頂点レジスタ549への頂点データをフォーマッ
ト変換器543が処理している間に実行されるVCS演
算コードの数を決定する。
【0076】図7は一組のVCS演算コード・レジスタ
220〜226を示す。演算コードVCS OP[0]
〜VCS OP[12]はコマンド・プリプロセッサ3
0のフォーマット変換回路によるデータの操作を制御す
る。演算コードVCS OP[0]〜VCS OP[1
2]は、データがバケット・バッファ542から読出さ
れることというオーダを出し、頂点レジスタ542へ転
送されている間にデータに対して行われる変換を決定す
る。フォーマット変換器543は次に順序、すなわち、
VCS OP[0]...VCS OP[12]、で演
算コードを処理する。例VCS OP228のような、
各VCS OPはパケット演算コードおよびパケット相
対アドレスで構成される。パケット演算コードはフォー
マット変換を制御する。パケット相対アドレスは、バケ
ット・バッファ542中のパケット・ベース・アドレス
に対して相対的な入力データ語のアドレスである。
【0077】図8は、一実施例においては各パケット演
算コードのためのデータ変換機能を定めるテーブルであ
る。たとえば、パケット演算コード000はフォーマッ
ト変換器543に、指定されたパケット相対アドレスか
らの入力頂点パケット・データのビット8〜15をアク
セスさせ、指定されたビットを32ビット浮動小数点フ
ォーマットへ変換させ、かつ変換されたデータを頂点レ
ジスタ549へ転送させる。
【0078】ヘッダ演算コード(すなわち、演算コード
011)は、VCS演算コード・レジスタ220〜22
6内のヘッダ演算コードの場所に応じて、フォーマット
変換器543により種々の動作を行わせる。ヘッダ演算
コードがVCS演算コード・レジスタの最初220に置
かれるものとすると、バケット・バッファ542内の入
力頂点パケットからのヘッダ値が、再フォーマットされ
た頂点パケットに対する頂点ヘッダとして頂点レジスタ
549へ転送される。
【0079】VCS演算コード・レジスタ220がヘッ
ダ演算コードを含んでいないとすると、補助頂点ヘッダ
・レジスタ(下で説明する)が再フォーマットされた頂
点パケットのための頂点ヘッダとして用いられる。定数
ヘッダが求められた時に補助頂点ヘッダ・レジスタ中の
ヘッダが用いられる。また、最初の後のVCS OPS
に対して、XGL定数レジスタ(下で説明する)の内容
が再フォーマットされた頂点パケットへ挿入される。用
いられるXGL定数レジスタは、余分の定数をデータの
流れに置く、たとえば、3Dデータの流れを発生するた
めにZ値を2D入力データの流れに挿入する、ことを要
求する場合のためである。
【0080】頂点レジスタ549は頂点バッファ部分
と、3語代替頂点タップル1バッファと、3語代替頂点
タップル2バッファと、3語代替頂点タップル3バッフ
ァと、浮動小数点プロセッサ・ディスパッチ・レジスタ
と、パス・スルー・ヘッダ・レジスタと、サブエレメン
ト・ピックIDレジスタと、パス・スルー・モード制御
レジスタとを備える。
【0081】図9は頂点バッファ部分230のフォーマ
ットを示す。この頂点バッファは頂点データのセットの
例を保持し、タップルを識別しているのが示されてい
る。頂点バッファ部分230は12−32ビット語の4
つのセグメントに区画されている。各12語セグメント
は1つの頂点に対するx,y,zデータと、法線データ
と、色データとを保持する。頂点バッファ部分230は
4個までの頂点を保持できる。フォーマット変換器54
3は再フォーマットされた頂点パケットのための頂点
を、演算コードVCS OP[0]〜VCS OP[1
2]に従って頂点バッファ部分230へ組み立てる。演
算コードVCS OP[0]〜VCS OP[12]
は、データをバケット・バッファ542から読み出すと
いうオーダを出し、頂点バッファ部分230中に頂点デ
ータを発生するために加えられる変換を決定する。プリ
ミティブに対して十分な頂点が集められると、それらの
頂点は再フォーマットされた頂点パケット中に集めら
れ、コマンド・プリプロセッサ30からCF−BUS8
2を介して浮動小数点プロセッサ40〜43の1つへ転
送される。
【0082】図10は別の頂点タップル1バッファ23
2を示す。プリミティブ・アセンブリ回路547は、出
力フォーマット・レジスタ(下で説明する)の制御の下
に、再フォーマットされた頂点パケットの最初のタップ
ルを、代わりの頂点タップル1バッファ240中の代わ
りのタップル1データで置き換える。代わりの頂点タッ
プル1バッファ240は頂点レジスタ549の語48、
49、50を含む。
【0083】図11は別の頂点タップル2バッファ23
4を示す。プリミティブ・アセンブリ回路547は、出
力フォーマット・レジスタの制御の下に、再フォーマッ
トされた頂点パケットの第2のタップルを、代わりの頂
点タップル2データで置き換える。代わりの頂点タップ
ル2バッファ234は頂点レジスタ549の語51、5
2、53を含む。
【0084】図12は別の頂点タップル3バッファ23
6を示す。プリミティブ・アセンブリ回路547は、出
力フォーマット・レジスタの制御の下に、再フォーマッ
トされた頂点パケットの第2のタップルを、代わりの頂
点タップル3データで置き換える。代わりの頂点タップ
ル3バッファ236は頂点レジスタ549の語54、5
5、56を含む。
【0085】図13は浮動小数点プロセッサ・ディスパ
ッチ・レジスタ240を示す。この浮動小数点プロセッ
サ・ディスパッチ・レジスタの内容は再フォーマットさ
れた全ての頂点パケットの初めに取り付けられる。浮動
小数点プロセッサ・ディスパッチ・レジスタ240の内
容、それの後に頂点バッファ部分230からの再フォー
マットされた頂点パケットが続く、はCF−BUS82
を介して浮動小数点プロセッサ40〜43の1つへ転送
される。ディスパッチ演算コード・フィールドは浮動小
数点プロセッサ40〜43のマイクロコードへのディス
パッチ・アドレスである。
【0086】図14は、頂点バッファ部分230からC
F−BUS82を介して浮動小数点プロセッサ40〜4
3の1つへ転送される再フォーマットされた頂点パケッ
トが後に続く、ディスパッチ演算コード・フィールドの
例を示す。
【0087】浮動小数点プロセッサ・ディスパッチ・レ
ジスタ240に対するビット・フィールドは下記のよう
に定められる: D<14:9>=頂点ヘッダ 頂点ヘッダは次の2種類のビットを含む。(1)強調エ
ッジビット、これは、対応するビットがオンである(お
よびエッジモードがアクティブである)ならば、エッジ
色で表現される、(2)中空リッジビット、これは、対
応するビットがオンであれば、中空三角形(照明された
色付き)で表現される。頂点1が最も古く、頂点2が中
間であり、頂点3が最も新しい頂点である。 D<14>=頂点1と2の間の中空エッジ D<13>=頂点3と1の間の中空エッジ D<12>=頂点2と3の間の中空エッジ D<11>=頂点1と2の間の強調されたエッジを描く D<10>=頂3と1の間の強調されたエッジを描く D<9>=頂2と3の間の強調されたエッジを描く D<8:0>=ディスパッチ演算コード ディスパッチ演算コードは浮動小数点プロセッサ40〜
43中のマイクロコードへのディスパッチ・アドレスで
ある。図15は、一実施例におけるディスパッチ演算コ
ード値と、対応する浮動小数点プロセッサ40〜43の
機能とを示す。
【0088】図16はパス・スルー・ヘッダ・レジスタ
250のフォーマットを示す。このパス・スルー・ヘッ
ダ・レジスタ250のパス・スルー・ヘッダ・フィール
ドは、パス・スルー・パケットのための浮動小数点プロ
セッサ40〜43の1つへ送られる再フォーマットされ
た頂点パケットの初めに取り付けられる。
【0089】図17はサブエレメント・ピックIDレジ
スタ252のフォーマットを示す。このサブエレメント
・ピックIDレジスタ252はサブエレメント・ピック
IDまたはパス・スルー・パケット・カウント値のいず
れかによりプログラムされる。
【0090】サブエレメント・ピックIDレジスタ25
2がサブエレメント・ピックIDを含むと、コマンド・
プリプロセッサ30は、浮動小数点プロセッサ40〜4
3へ送られた再フォーマットされた頂点パケットに対す
る代わりのピック・コードを作成する。プリミティブ・
アセンブリ回路547は、サブエレメント・ピックID
を再フォーマットされた各頂点パケットへ挿入し、頂点
ヘッダ・レジスタ中のビットおよび頂点モード制御レジ
スタ200中のビットにより制御されてサブエレメント
・ピックID値を増加する。図18は、サブエレメント
・ピックID値を含んでいる出力ジオメトリ・パケット
の例を示す。
【0091】パス・スルー・モードのために、浮動小数
点プロセッサ40〜43へ転送される再フォーマットさ
れた頂点パケットを指定するカウント値を、コマンド・
プリプロセッサ30はサブエレメント・ピックIDレジ
スタ252へロードする。サブエレメント・ピックID
レジスタ252中のカウンタ値に対する典型的な用途
は、ラスタ複写中のパス・スルー・パケットの転送であ
る。すなわち、そのカウンタ値は浮動小数点プロセッサ
40〜43へ転送されるパケットを識別する。サブエレ
メント・ピックIDレジスタ252中のカウンタ値の値
は転送される各パケットに対して増加される。
【0092】図19はパス・スルー・モード制御レジス
タ260のフォーマットを示す。パス・スルー・モード
制御レジスタ260の内容は、浮動小数点プロセッサ4
0〜43へ転送するためにコマンド・プリプロセッサ3
0によるパス・スルー・パケットの処理を決定する。パ
ス・スルー・モード制御レジスタ260のためのビット
・フィールドは下記のように定められる:
【0093】D<10>=パス・スルーDMAモード パス・スルーDMAモード・フィールドは、パス・スル
ー・ヘッダ・レジスタ250の内容とサブエレメント・
ピックIDレジスタ252の内容がパス・スルー・パケ
ットに含まれる。 00 パケットをそのまま送る。この場合、語の数
(n)は頂点モード制御レジスタ200中のパケット・
サイズ・フィールドである:データのn語 01 パス・スルー・ヘッダ・レジスタ250からの
ヘッダを取りつける:ヘッダ+データのn語 1x パス・スルー・ヘッダ・レジスタ250からの
ヘッダと、サブエレメント・ピックIDレジスタ252
からのカウント値とを取りつける:ヘッダ+カウンタ値
+データのn語
【0094】D<7>=パイプライン・オーダ パイプライン・オーダ・ビットは、コマンド・プリプロ
セッサ30のスコアボード論理がパケットの順序を維持
するかどうか、すなわち、対応する再フォーマットされ
た頂点パケットがコマンド・プリプロセッサ30から浮
動小数点プロセッサ40〜43へ転送される順序と同じ
順序で、線引きパケットを浮動小数点プロセッサ40〜
43から線引きプロセッサ50〜54へ転送するかどう
かを指定する。 0 順序づけられたプリミティブ処理−浮動小数点
プロセッサ40〜43との間でやり取りされるパケット
の順序は同じである。 1 順序づけられていないプリミティブ処理−順序
は浮動小数点プロセッサ40〜43からのパケットに対
して保たれない。
【0095】D<6>=パケット出力 パケット出力ビットは、パス・スルー・パケットが浮動
小数点プロセッサ40〜43の1つから1つまたは複数
の線引きパケットを発生できるかどうかを指定する。 0 パス・スルー・パケットに対応する浮動小数点
プロセッサ40〜43の1つから予測されない出力。 1 パス・スルー・パケットに対応して予測される
出力。
【0096】D<5:4>=ユニキャスト(unica
st)選択 ユニキャスト選択フィールドはパス・スルー・パケット
に対する浮動小数点プロセッサ40〜43の1つを指定
する。 00 浮動小数点プロセッサ40 01 浮動小数点プロセッサ41 10 浮動小数点プロセッサ42 11 浮動小数点プロセッサ43
【0097】D<3:2>=パケット宛先 00 ユニキャスト(次に利用できる浮動小数点プロ
セッサへ送られる) 01 ユニキャスト(特定の浮動小数点プロセッサへ
送られる) 10 ユニキャスト(前のパケットと同じ浮動小数点
プロセッサへ送られる) 11 マルチキャスト(全ての浮動小数点プロセッサ
40〜43へ放送される)属性を浮動小数点プロセッサ
40〜43へ送るためにマルチキャスト・パケットが用
いられる。
【0098】D<1:0>=パケット型 0x 正常なパス・スルー 10 ファームウェア・メモリ(浮動小数点プロセッ
サSRAM) 11 ファームウェア・メモリ(浮動小数点プロセッ
サSRAM)。
【0099】図20は内部レジスタ552に含まれてい
る出力フォーマット・レジスタ262を示す。この出力
フォーマット・レジスタ262は、浮動小数点プロセッ
サ40〜43へ転送するために再フォーマットされた頂
点パケットのフォーマットを決定する。出力フォーマッ
ト・レジスタ262のためのビット・フィールドは下記
にようにして定められる。
【0100】D<9:7>=タップル置換可能化 タップル置換可能化フィールドは、ソース・タップルを
代わりの頂点タップルで置換するかどうかを指定する。
たとえば、ピック・エコー中または強調中に、タップル
置換可能化機能が用いられ、この場合には頂点の色が代
わりの頂点タップルからの一定の強調色で置換される。 000 置換不能化 xx1 代わりの頂点タップル1で置換 x1x 代わりの頂点タップル2で置換 1xx 代わりの頂点タップル3で置換
【0101】D<6:5>=タップル複製可能化 タップル複製可能化フィールドは、頂点データの適切な
タップルを再フォーマットされている頂点パケットへ複
製するかどうかを指定する。タップル複製機能は、たと
えば、ファセット・データ(これはヘッダ・ソースの頂
点にある)を頂点データ中に複製するために用いられ
る。 00 複製不能化 x1 タップル1を複製し、ヘッダ・ソースの頂点
からのタップルを用いる 1x タップル2を複製し、ヘッダ・ソースの頂点
からのタップルを用いる
【0102】D<4:2>=固定圧縮のための頂点浮動
小数点 固定圧縮のための頂点浮動小数点はタップルを圧縮する
かどうかを指定する。32−16回路は、頂点バッファ
の32ビット浮動小数点値を、CF−BUS82へ転送
する前に16ビット固定小数点値へ変換することによ
り、タップルを圧縮する。 0xx 圧縮なしにタップル3を送る 1xx タップル3を32ビット浮動小数点から16
ビット固定小数点へ圧縮する x0x 圧縮なしにタップル2を送る x1x タップル2を32ビット浮動小数点から16
ビット固定小数点へ圧縮する xx0 圧縮なしにタップル1を送る x1x タップル1を32ビット浮動小数点から16
ビット固定小数点へ圧縮する。
【0103】D<1:0>=頂点フォーマット 頂点フォーマット・フィールドはタップル・カウントを
指定する。 00 Header+XYZ+Tupple1+T
upple2 01 Header+XYZ+Tupple1 1x Header+XYZ
【0104】内部レジスタ552は補助頂点ヘッダ・レ
ジスタ264とXGL定数レジスタ268を含む。図2
1は補助頂点ヘッダ・レジスタ264を示す。この補助
頂点ヘッダ・レジスタ264の内容は、VCS演算コー
ド・レジスタ220がヘッダ演算コードを含まないとす
ると、ヘッダを供給する。補助頂点ヘッダ・レジスタ2
64に対するビット・フィールドは下記のようにして定
められる:
【0105】D<7>=増加CEN 増加CENは、ピックIDレジスタ252中の現在のエ
レメント数を増加するかどうかを指定する。 D<6:5>=中空エッジ制御 x1 中空エッジを描く。三角形の場合には、最も
新しい頂点から2番目に古い頂点まで中空エッジを描
く。 1x 別の中空エッジを描く。三角形の場合には、
最も新しい頂点から最も古い頂点まで中空エッジを描
く。
【0106】D<4>=反時計回り 0 三角形を時計回りとして定める(Vold、
Vmid、Vnew) 1 三角形を反時計回りとして定める(Vol
d、Vnew、Vmid) D<3:2>=一般的な三角形リスト制御 00 三角形ストリップを再スタートする 01 最も古い頂点を置換する 10 2番目に古い頂点を置換する 11 定めず
【0107】D<1>=他のエッジを描く 三角形の場合には、他のエッジを描くビットは、最も新
しい頂点から最も古い頂点までエッジを描くかどうかを
指定する。 D<0>=エッジを描く 三角形の場合には、エッジを描くビットは、最も新しい
頂点から2番目に古い頂点までエッジを描くかどうかを
指定する。線の場合には、エッジを描くビットは、最も
新しい頂点から前の頂点までエッジを描くかどうかを指
定する。エッジを描く値0は「移動」に等しく、エッジ
を描く値1は「引く」に等しい。
【0108】図22はXGL定数レジスタ268を示
す。ヘッダ演算コードにVCS演算コード・レジスタ2
22〜226のいずれかにおいて遭遇した時に、コマン
ド・プリプロセッサ30はXGL定数レジスタ268の
内容を頂点レジスタ549に挿入する。
【図面の簡単な説明】
【図1】 ホストプロセッサと、メモリ・サブシステム
と、グラフィックス・アクセラレータと、表示装置とを
含むコンピュータ装置のブロック図である。
【図2】 コマンド・プリプロセッサと、浮動小数点プ
ロセッサのセットと、線引きプロセッサのセットと、フ
レーム・バッファと、ポストプロセッサと、ランダム・
アクセス・メモリ/デジタル−アナログ変換器(RAM
DAC)とで構成されたグラフィックス・アクセラレー
タのブロック図である。
【図3】 3Dジオメトリ・パイプラインの再フォーマ
ット回路を、直接ポート・パイプラインと共に示すブロ
ック図である。
【図4】 浮動小数点プロセッサのための再フォーマッ
トされた頂点パケットの準備を制御する入力頂点パケッ
ト論理に含まれている頂点モード制御レジスタを示す。
【図5】 ホストバスを介するもののDMA転送または
プログラムされたI/O転送を経て入力頂点パケットが
ロードされるバケット・バッファの構成を示す。
【図6】 コマンド・プリプロセッサのフォーマット変
換回路がバケット・バッファから頂点バッファへの頂点
データを処理する間に実行されるVCS演算コードの数
を決定するVCS演算コード・カウントでプログラムさ
れるVCS演算コード・カウント・レジスタを示す。
【図7】 コマンド・プリプロセッサのフォーマット変
換回路によるデータの取扱いを制御する演算コードVC
S OP[0]〜VCS OP[12]でプログラムさ
れるVCS演算コード・レジスタを示す。
【図8】 一実施例における各パケット演算コードのた
めのデータ変換を定めるテーブルである。
【図9】 頂点データのセットの例を保持し、かつタッ
プルを識別する様子が示されている、頂点バッファの頂
点バッファ部分のフォーマットを示す。
【図10】 出力フォーマット・レジスタの制御の下に
ある再フォーマットされた頂点パケットのタップルを置
換する代わりのタップル・データを保持する頂点タップ
ル・バッファの1つの例を示す。
【図11】 出力フォーマット・レジスタの制御の下に
ある再フォーマットされた頂点パケットのタップルを置
換する代わりのタップル・データを保持する頂点タップ
ル・バッファの別の例を示す。
【図12】 出力フォーマット・レジスタの制御の下に
ある再フォーマットされた頂点パケットのタップルを置
換する代わりのタップル・データを保持する頂点タップ
ル・バッファの更に別の例を示す。
【図13】 再フォーマットされた全ての頂点パケット
の初めに取り付けられる浮動小数点プロセッサ・マイク
ロコード・ディスパッチ・フィールドを保持する浮動小
数点プロセッサ・ディスパッチ・レジスタを示す。
【図14】 ディスパッチ演算コード・フィールドの例
と、頂点バッファ部分からCF−BUSを介して浮動小
数点プロセッサの1つへ転送された再フォーマットされ
た頂点パケットとを示す。
【図15】 一実施例におけるディスパッチ演算コード
値および対応する浮動小数点プロセッサ機能を示す。
【図16】 パス・スルー・パケットのための浮動小数
点プロセッサの1つへ送られた再フォーマットされた頂
点パケットの初めにパス・スルー・ヘッダ・フィールド
が取り付けられる、パス・スルー・ヘッダ・レジスタの
フォーマットを示す。
【図17】 サブエレメント・ピックIDまたはパス・
スルー・パケット・カウント値のいずれかによりプログ
ラムされるサブエレメント・ピックIDレジスタのフォ
ーマットを示す。
【図18】 サブエレメント・ピックID値を含む再フ
ォーマットされた頂点パケットを示す。
【図19】 浮動小数点プロセッサへの転送のためにコ
マンド・プリプロセッサによりパス・スルー・パケット
の処理を制御するパス・スルー・モード・レジスタのフ
ォーマットを示す。
【図20】 浮動小数点プロセッサへの転送のために再
フォーマットされた頂点パケットのフォーマットを決定
する出力フォーマット・レジスタを示す。
【図21】 VCS演算コード・レジスタがヘッダ演算
コードを含んでいないとすると、補助頂点ヘッダ・レジ
スタの内容がヘッダを供給する、補助頂点ヘッダ・レジ
スタを示す。
【図22】 最初のVCS演算コード・レジスタ以外の
VCS演算コード・レジスタのいずれかにおいてヘッダ
演算コードに遭遇した時に、コマンド・プリプロセッサ
が定数値を頂点バッファへ挿入する、定数値によりプロ
グラムされるXGL定数レジスタを示す。
【符号の説明】
20…ホストプロセッサ、22…メモリ・サブシステ
ム、24…グラフィックス・アクセラレータ、26…表
示装置、28…ホストバス、30…コマンド・プリプロ
セッサ、40〜43…浮動小数点プロセッサ、50〜5
4…線引きプロセッサ、61〜65…VRAMインター
リーブ・バンク、70…ホストプロセッサ、72…ラン
ダム・アクセス・メモリ/デジタル−アナログ変換器、
540…代わりのタップルレジスタ、541…入力イン
タフェース、542…バケット・バッファ、543…フ
ォーマット変換器、544,546…DMA制御器、5
45…変換器シーケンサ、547…プリミティブ・アセ
ンブリ回路、548…シーケンサ、550…32−16
回路、552…内部レジスタ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 再フォーマットされた頂点パケットおよ
    び出力ジオメトリ・パケットのためのフォーマットを指
    定する一組の翻訳パラメータをホストプロセッサからホ
    ストバスを介して受ける過程と、 ジオメトリオブジェクトを定義するジオメトリ入力デー
    タを含む入力頂点パケットをホストバスを介して受け、
    その入力頂点パケットをバケット・バッファに格納する
    過程と、 バケット・バッファから入力頂点パケットを読出して再
    フォーマットした頂点パケットを生成し、その入力頂点
    パケットを翻訳パラメータに従って翻訳し、再フォーマ
    ットされた頂点パケットを頂点バッファに格納する過程
    と、 頂点バッファから再フォーマットされた頂点パケットを
    読出して出力ジオメトリ・パケットを生成し、その再フ
    ォーマットされた頂点パケットを翻訳パラメータに従っ
    て翻訳し、出力ジオメトリ・パケットをコマンド−浮動
    小数点プロセッサ・バスを介して浮動小数点プロセッサ
    へ転送する過程と、を備えるグラフィックス・アクセラ
    レータにおいてグラフィックス・ジオメトリ・データを
    前処理する方法。
  2. 【請求項2】 再フォーマットされた頂点パケットおよ
    び出力ジオメトリ・パケットのためのフォーマットを指
    定する一組の翻訳パラメータをホストプロセッサからホ
    ストバスを介して受ける手段と、 ジオメトリ・パケットを定義するジオメトリ入力データ
    を含む入力頂点パケットをホストバスを介して受け、そ
    の入力頂点パケットをバケット・バッファに格納する手
    段と、 バケット・バッファから入力頂点パケットを読出して再
    フォーマットした頂点パケットを生成し、その入力頂点
    パケットを翻訳パラメータに従って翻訳し、再フォーマ
    ットされた頂点パケットをバケット・バッファに格納す
    る手段と、 頂点バッファから再フォーマットされた頂点パケットを
    読出して出力ジオメトリ・パケットを生成し、その再フ
    ォーマットされた頂点パケットを翻訳パラメータに従っ
    て翻訳し、出力ジオメトリ・パケットをコマンド−浮動
    小数点プロセッサ・バスを介して浮動小数点プロセッサ
    へ転送する手段と、を備えるグラフィックス・アクセラ
    レータにおいてグラフィックス・ジオメトリ・データを
    前処理する装置。
JP13671194A 1993-06-04 1994-05-27 グラフィックス・アクセラレータにおいてグラフィックス・ジオメトリ・データを前処理する方法および装置 Expired - Lifetime JP3491774B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US074,031 1993-06-04
US08/074,031 US5408605A (en) 1993-06-04 1993-06-04 Command preprocessor for a high performance three dimensional graphics accelerator

Publications (2)

Publication Number Publication Date
JPH0798766A true JPH0798766A (ja) 1995-04-11
JP3491774B2 JP3491774B2 (ja) 2004-01-26

Family

ID=22117278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13671194A Expired - Lifetime JP3491774B2 (ja) 1993-06-04 1994-05-27 グラフィックス・アクセラレータにおいてグラフィックス・ジオメトリ・データを前処理する方法および装置

Country Status (5)

Country Link
US (1) US5408605A (ja)
EP (1) EP0627699B1 (ja)
JP (1) JP3491774B2 (ja)
KR (1) KR100301222B1 (ja)
DE (1) DE69430856T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008513910A (ja) * 2004-09-22 2008-05-01 クゥアルコム・インコーポレイテッド グラフィックプロセッサのための効率的なインタフェース及びアセンブラ

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793371A (en) 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US6747644B1 (en) 1995-08-04 2004-06-08 Sun Microsystems, Inc. Decompression of surface normals in three-dimensional graphics data
US6256041B1 (en) 1995-08-04 2001-07-03 Sun Microsystems, Inc. Decompression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object
US6525722B1 (en) 1995-08-04 2003-02-25 Sun Microsystems, Inc. Geometry compression for regular and irregular mesh structures
US5842004A (en) * 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US6215500B1 (en) 1995-08-04 2001-04-10 Sun Microsystems, Inc. Compression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object
US5784075A (en) * 1995-08-08 1998-07-21 Hewlett-Packard Company Memory mapping techniques for enhancing performance of computer graphics system
US5696944A (en) * 1995-08-08 1997-12-09 Hewlett-Packard Company Computer graphics system having double buffered vertex ram with granularity
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US5821949A (en) * 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
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
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
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
US6690369B1 (en) * 1996-08-01 2004-02-10 3Dlabs, Inc., Ltd. Hardware-accelerated photoreal rendering
US5943066A (en) * 1997-05-01 1999-08-24 Hewlett Packard Company Programmable retargeter method and apparatus
US6282625B1 (en) 1997-06-25 2001-08-28 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
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
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
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
JP4846097B2 (ja) * 1998-05-12 2011-12-28 エススリー グラフィックス カンパニー リミテッド グラフィクスサブシステムのレジスタセットのための方法及び装置
US6188410B1 (en) * 1998-07-17 2001-02-13 3Dlabs Inc. Ltd. System for processing vertices from a graphics request stream
US6501479B1 (en) * 1999-06-21 2002-12-31 Ati International Srl Multi-format vertex data processing apparatus and method
US6628836B1 (en) * 1999-10-05 2003-09-30 Hewlett-Packard Development Company, L.P. Sort middle, screen space, graphics geometry compression through redundancy elimination
JP3946393B2 (ja) * 1999-10-19 2007-07-18 株式会社東芝 階層構造をもつ並列計算機
US7079133B2 (en) * 2000-11-16 2006-07-18 S3 Graphics Co., Ltd. Superscalar 3D graphics engine
US6961803B1 (en) * 2001-08-08 2005-11-01 Pasternak Solutions Llc Sliced crossbar architecture with no inter-slice communication
JP3743369B2 (ja) * 2001-12-28 2006-02-08 ソニー株式会社 グラフィックス描画装置およびその方法
US20080125037A1 (en) * 2006-08-23 2008-05-29 Brima Ibrahim Method and system for routing of FM data to a bluetooth A2DP link
US9087392B2 (en) * 2012-09-26 2015-07-21 Intel Corporation Techniques for efficient GPU triangle list adjacency detection and handling
WO2015099767A1 (en) * 2013-12-27 2015-07-02 Intel Corporation Scalable input/output system and techniques
US10366017B2 (en) 2018-03-30 2019-07-30 Intel Corporation Methods and apparatus to offload media streams in host devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE69232403T2 (de) * 1991-08-06 2002-08-22 Canon K.K., Tokio/Tokyo Dreidimensionales Modellverarbeitungsverfahren und -gerät
US5307449A (en) * 1991-12-20 1994-04-26 Apple Computer, Inc. Method and apparatus for simultaneously rendering multiple scanlines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008513910A (ja) * 2004-09-22 2008-05-01 クゥアルコム・インコーポレイテッド グラフィックプロセッサのための効率的なインタフェース及びアセンブラ

Also Published As

Publication number Publication date
DE69430856T2 (de) 2003-04-03
JP3491774B2 (ja) 2004-01-26
KR100301222B1 (ko) 2001-10-22
US5408605A (en) 1995-04-18
KR950001539A (ko) 1995-01-03
EP0627699A2 (en) 1994-12-07
EP0627699B1 (en) 2002-06-26
DE69430856D1 (de) 2002-08-01
EP0627699A3 (en) 1994-12-21

Similar Documents

Publication Publication Date Title
JP3491774B2 (ja) グラフィックス・アクセラレータにおいてグラフィックス・ジオメトリ・データを前処理する方法および装置
EP0627700B1 (en) Architecture for a high performance three dimensional graphics accelerator
US6018353A (en) Three-dimensional graphics accelerator with an improved vertex buffer for more efficient vertex processing
EP0875855B1 (en) Graphics processing system
US5821949A (en) Three-dimensional graphics accelerator with direct data channels for improved performance
US7071935B1 (en) Graphics system with just-in-time decompression of compressed graphics data
US6559842B1 (en) Compressing and decompressing graphics data using gosub-type instructions and direct and indirect attribute settings
US5874969A (en) Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
US6628277B1 (en) Decompression of three-dimensional graphics data using mesh buffer references to reduce redundancy of processing
US5745125A (en) Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
KR100325902B1 (ko) 고성능3차원그래픽가속기를위한부동소숫점처리기및그처리기능수행방법
US5821950A (en) Computer graphics system utilizing parallel processing for enhanced performance
US5740409A (en) Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
US6954204B2 (en) Programmable graphics system and method using flexible, high-precision data formats
JP3860859B2 (ja) 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム
JP3476094B2 (ja) 高性能3次元グラフィック・アクセラレータの作図プロセッサ
US7791601B2 (en) Efficient object storage for zone rendering
EP1255227A1 (en) Vertices index processor
US5784075A (en) Memory mapping techniques for enhancing performance of computer graphics system
US6304935B1 (en) Method and system for data transmission in accelerated graphics port systems
JPH0954835A (ja) コンピュータ・グラフィックス・システム用のデータ・バス・プロトコル
JP3265856B2 (ja) Dma転送装置

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