JP2001195603A - 3次元グラフィックスのための頂点キャッシュ - Google Patents

3次元グラフィックスのための頂点キャッシュ

Info

Publication number
JP2001195603A
JP2001195603A JP2000326915A JP2000326915A JP2001195603A JP 2001195603 A JP2001195603 A JP 2001195603A JP 2000326915 A JP2000326915 A JP 2000326915A JP 2000326915 A JP2000326915 A JP 2000326915A JP 2001195603 A JP2001195603 A JP 2001195603A
Authority
JP
Japan
Prior art keywords
vertex
data
cache
memory
indexed
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
JP2000326915A
Other languages
English (en)
Other versions
JP4644353B2 (ja
Inventor
Howard H Cheng
エイチ チェン ハワード
Farhad Fouladi
フォーラディ ファーハッド
Robert Moore
ムーア ロバート
Timothy J Vanhook
ジェイ ヴァンフック ティモシー
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of JP2001195603A publication Critical patent/JP2001195603A/ja
Application granted granted Critical
Publication of JP4644353B2 publication Critical patent/JP4644353B2/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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【構成】頂点キャッシュ212は、グラフィックスエン
ジンに対してローカルな小規模の待ち時間の短いキャッ
シュメモリを含み、ポリゴンは索引付きアレイとして、
たとえば、頂点の幾つかの特徴(たとえば位置,色,表
面法線またはテクスチャ座標)を表すデータ成分の索引
付き線形リスト300として表現することができる。頂
点キャッシュは、必要に応じて索引付き頂点属性データ
の関連ブロックを取り込んで、これをグラフィックスエ
ンジンに利用可能にすることができる。 【効果】頂点データを表示順序で予め保存することを必
要とせずに、表示処理のための空間的局所性を提供する
ことができる。

Description

【発明の詳細な説明】
【0001】
【発明の分野】この発明は3次元対話型コンピュータグ
ラフィックスのための頂点キャッシュに関し、より詳細
には、アニメーションおよびおよび表示処理のための頂
点情報を効率的に表現および保存するための構成および
技術に関する。さらにまた、この発明は特に、3次元ポ
リゴンデータのより効率的な映像化のための頂点キャッ
シュを含む3次元グラフィックス集積回路に関する。
【0002】
【発明の背景】現代の3次元グラフィックスシステム
は、表示要素(すなわち、ポリゴン)からアニメーショ
ン化された表示を構成する。各表示オブジェクト(たと
えば木,自動車もしくは人物または他のキャラクタ)
は、典型的には、多数のポリゴンから構築される。夫々
のポリゴンは、他の特徴(たとえば色,濃淡付けのため
の表面法線,テクスチャなど)とともにその頂点によっ
て表され、この頂点が3次元空間におけるポリゴンの位
置,向きおよび大きさを特定する。コンピュータ技術
は、これらの技術を使用してアニメーション化された3
次元グラフィックスシーンを効率的に構築することがで
きる。
【0003】ビデオゲームシステムのような低コストの
高速対話型(interactive) 3次元グラフィックスシステ
ムは、メモリおよび処理資源によって構築される。した
がって、このようなシステムでは、表示オブジェクトを
表す種々のポリゴンを効率的に表現および処理できるこ
とが重要である。たとえば、表示オブジェクトをコンパ
クトに表現するデータを作成して、特定のタスクのため
に必要な全てのデータが便利に利用可能であるような方
法で、そのデータを3次元グラフィックスシステムに提
示することが望ましい。
【0004】或るものは、時間的局所性および空間的局
所性に関してデータを特徴付けすることができる。時間
的局所性とは、同じデータが短い時間の間に頻繁に参照
されることを意味する。一般に、3次元対話型グラフィ
ックスアプリケーションのためのポリゴン表現データ
は、大きな時間的局所性を有する。空間的局所性とは、
参照される次のデータ項目が、最後に参照された項目に
対して近接したメモリに保存されることを意味する。効
率の改善は、データの空間的局所性を増大させることに
よって実現することができる。無制限量のデータに対す
る待ち時間の短い無制限のランダムアクセスを許容しな
い実際のメモリシステムにおいては、所定のタスクを実
行するために必要とされる全てのデータが、待ち時間の
短いメモリの中に近接して保存されれば性能は増大す
る。
【0005】データの空間的局所性を増大させるため
に、特定のタスクを実行するために必要な全てのデータ
が一緒に保存され得るように同じ時間に近接して存在す
るであろうことを仮定して、処理の順序に基づいてポリ
ゴンデータをソーティングすることができる。たとえ
ば、アニメーションを形成するポリゴンデータは、実行
されるアニメーションの種類に対して優先的な方法で保
存することができる。一つの例として、表面変形(surfa
ce deformation) のような典型的な複雑な対話型リアル
タイムアニメーションは、表面における全ての頂点の操
作を必要とする。このようなアニメーションを効率的に
実行するためには、一定の方法で頂点データをソーティ
ングするのが望ましい。
【0006】典型的な3次元グラフィックスシステム
は、アニメーション処理および表示処理を別々に実行
し、これらの別々の工程はデータを異なる方法で処理す
る。残念なことに、アニメーション処理のための頂点デ
ータをソーティングする最適順序は、一般に、表示処理
のための最適なソーティング順序とは異なる。アニメー
ションのためのソーティングは、表示順序に対してラン
ダム性を加え易いかもしれない。アニメーション処理を
単純化するためにデータストリームをソーティングする
ことによって、データを効率的に表示することを一層困
難にしてしまう。
【0007】したがって、種々の理由で、表示のための
データにアクセスするときに空間的局所性が存在するこ
とを仮定することは困難かも知れない。困難性は、任意
の大きな表示オブジェクトに効率的にアクセスする必要
性から生じる。加えて、上記で説明した理由で、少なく
とも表示目的については、表示エンジンに提示される頂
点データの順序には、典型的には幾らかのランダム性が
存在するであろう。さらに、実施に有用であり得る頂点
レベルを超えるような他のデータ局所性が存在するであ
ろう(たとえば、一定のテクスチャを共有する全てのポ
リゴンを一緒にグループ化すること)。
【0008】より高い効率を達成するための1つのアプ
ローチは、短い待ち時間の追加メモリ(たとえば最短待
ち時間の手頃なメモリシステム)を準備することであ
る。また、高速ローカルメモリ中の表示オブジェクトに
適合させて、ランダムアクセスを達成することも可能で
あろう。しかし、オブジェクトが非常に大きい可能性が
ないとはいえず、また二重にバッファする必要があるか
もしれない。したがって、このようなアプローチのため
に必要とされるバッファは非常に大きくなる可能性があ
る。
【0009】また、メインCPUのデータキャッシュを
使用して、表示エンジンのための最適順序で、ポリゴン
データをアセンブルしソーティングすることが可能であ
るかもしれない。しかし、これを効率的に行うには、ポ
リゴンデータがデータキャッシュの残部をスラッシング
(thrashing) するのを防止する方法が必要であろう。加
えて、データを先取り(prefetch) してメモリ待ち時間
を隠す必要があるであろう。なぜなら、表示順序のため
にソーティングされた偶数データがアクセスされる方法
において、幾らかのランダム性が存在する可能性がある
からである。さらに、このアプローチは、CPUに対し
て追加の負荷を与えるであろう。特に、或る具体化にお
いては、表示エンジンが解釈できる2値フォーマットに
データをアセンブリすることが必要があるからである。
このアプローチを使用することにより、メインCPUお
よび表示エンジンは直列になり、CPUはデータをグラ
フィックスエンジンに直接供給する。処理を並列化する
こと(たとえば、表示エンジンを、DRAM FIFO
バッファを介して供給すること)は、直接モードの供給
に比較して、実質的に追加のメモリアクセスバンド幅を
必要とするであろう。
【0010】したがって、3次元グラフィックス表示プ
ロセスのためのポリゴンデータを表現し、保存し供給す
るために使用できるさらに効率的な技術の必要性が存在
している。
【0011】
【発明の概要】この発明は、索引付きプリミティブ頂点
データストリームを編成する頂点キャッシュを提供する
ことにより、この問題を解決するものである。
【0012】この発明により提供される1つの局面に従
えば、ポリゴン頂点データは、頂点キャッシュを介して
表示(グラフィックス)エンジンに供給される。頂点キ
ャッシュは、表示エンジンハードウエア(たとえばその
一部)に対してローカルな、短い待ち時間の小規模のメ
モリでよい。融通性および効率性は、実際のキャッシュ
内容よりもはるかに大きい仮想メモリビューを与えるキ
ャッシュから生じる。
【0013】頂点キャッシュは、必要なときに、フライ
(fly)に対する表示処理のために必要な頂点データを形
成するために使用することができる。したがって、表示
目的のために頂点データを予めソーティングするのでは
なく、頂点キャッシュは、関連ブロックのデータを必要
なときに単純に取得して、これを表示プロセサが利用で
きるようにする。対話型ビデオゲーム表示のための頂点
データによって示される高度の時間的局所性、および特
定の最適な索引付きアレイデータ構造(下記参照)に基
づいて、何れかの時点で必要とされる殆どの頂点データ
が、頂点データストリームの数に比例した数のキャッシ
ュラインを有する小規模の組連想頂点キャッシュ(small
set-associative vertex cache) においてでも入手可
能であることを見出した。最適構成の一例は、8組連想
頂点キャッシュを形成する512×128ビットのデュ
アルポートRAMを提供する。
【0014】グラフィックスエンジンに頂点を供給する
目的で、頂点キャッシュおよび関連タグをカスタマイズ
しかつ最適化することによって効率を増大させることが
でき、汎用のキャッシュおよびタグ構造を使用した場合
よりも、さらに効率的な頂点の先取り(prefetching) お
よびアセンブリ(assembling) を可能にする。頂点キャ
ッシュはデータを表示エンジンに直接供給することを可
能にするので、追加のメモリアクセスバンド幅のコスト
が回避される。ダイレクトメモリアクセスを使用して、
頂点キャッシュへ頂点データを効率的に転送してもよ
い。
【0015】頂点キャッシュにより与えられる効率をさ
らに増大させるためには、特定のポリゴンまたはポリゴ
ンの組を、それ(ら)が使用される度毎に完全に再特定
(re-specify)する必要性を低減することが望ましい。こ
の発明により提供される別の局面に従えば、ポリゴンは
アレイ、たとえば頂点の幾つかの特徴を表すデータ成分
の線形リスト(たとえば位置,色,表面法線(surface n
ormal),またはテクスチャ座標)として表現することが
できる。夫々の表示オブジェクトは、種々の組の索引と
ともに、このようなアレイの集合として表現することが
できる。これらの索引は、特定のアニメーションまたは
表示目的のためのアレイを参照する。ポリゴンデータを
索引付き成分のリストとして表すことによって、マッピ
ング間で不連続性が許容される。さらに、個々の成分
(コンポーネント)を分離することは、データをよりコ
ンパクトに保存する(たとえば、より完全に圧縮された
フォーマットで)ことを可能にする。この発明によって
与えられる頂点キャッシュは、索引サイズ以下のこのよ
うな索引付きデータのストリームを収容することができ
る。
【0016】頂点キャッシュに関連して索引付き頂点表
現を使用することにより、表示目的のためにいかなる再
ソーティングの必要性も存在しない。たとえば、アニメ
ーションのために予めソーティングされた表示とは逆の
順序で、頂点データを表示エンジンに提供し、アニメー
ションをより効率的なプロセスにしてもよい。頂点キャ
ッシュは、索引付き頂点データ構造表現を使用して、明
確な再ソーティングを何等必要とせずに、効率的に、頂
点データを表示エンジンが利用可能にする。
【0017】いかなる頂点成分も、コマンドストリーム
において索引参照されることができ、または直接インラ
イン化されることができる。このことは、グラフィック
ス表示データ構造に沿ったメインプロセサの出力を必要
とせずに、メインプロセサによる効率的なデータ処理を
可能にする。たとえば、メインプロセサにより実行され
るライティング操作は、色アレイを発生させるライティ
ングパラメータのリストをループ処理することによっ
て、法線および位置のリストから色アレイのみを発生さ
せてもよい。アニメーションプロセスが3角形リスト表
示データ構造に従う必要もなく、またアニメーションプ
ロセスが表示のためのデータを再フォーマット化する必
要もない。表示プロセスは当然ながら、アニメーション
プロセスに対して実質的なデータ再フォーマット化オー
バヘッドを加えることなく、アニメーションプロセスに
より提供されるデータを使用することができる。
【0018】他方、表示順序で頂点データをソーティン
グすることについてペナルティはなく、いずれの場合に
も、表示のために予めソーティングされたデータを提示
するために最適化された頂点提示構造と比較して、性能
を顕著に劣化させる頂点キャッシュを伴わずに、頂点デ
ータは表示のために効率的に表示エンジンに提示され
る。
【0019】この発明により提供されるさらなる局面に
従えば、頂点データは、幾つかの異なったフォーマット
(たとえば8ビット固定小数点,16ビット固定小数点
または浮動小数点)の何れかで量子化された圧縮データ
ストリームを含む。このデータは、索引付け(すなわ
ち、頂点データストリームにより参照される)されても
よく、または直接的(すなわち、該ストリーム自身の中
に含まれる)であってもよい。これらの種々のデータフ
ォーマットを全て共通の頂点キャッシュに保存し、続い
て復元し、グラフィックス表示パイプラインのための共
通のフォーマットに変換することができる。このような
弾力的なタイプのハードウエアサポート,フォーマッ
ト,および直接的または索引付き入力データとしての多
くの属性は、複雑かつ時間を要するソフトウエアデータ
変換を回避する。
【0020】この発明の上述の目的,その他の目的,特
徴,および利点は、図面を参照して行う以下の実施例の
詳細な説明から一層明らかとなろう。
【0021】
【実施例】図1はこの発明が実施され得る対話型3次元
コンピュータグラフィックスシステム100の一例を示
す全体の概略図である。システム100は、ステレオサ
ウンドを伴って対話型3次元ビデオゲームをプレイする
ために使用することができる。光ディスクのような適切
な記憶媒体を光ディスク装置134に挿入することによ
って、異なるゲームをすることができる。ゲームプレイ
ヤは、手持ちコントローラ132(これはジョイスティ
ック,ボタン,スイッチ,キーボードまたはキーパッド
等の種々のコントロールを含むことができる)のような
入力装置を操作することによって、システム100とリ
アルタイムで対話することができる。
【0022】システム100は、メインプロセサ(CP
U)102,メインメモリ104,ならびにグラフィッ
クス/オーディオコプロセサ106を含んでいる。この
例では、メインプロセサ102は、コプロセサ106を
介して手持ちコントローラ132(および/または他の
入力装置)からの入力を受け取る。メインプロセサ10
2は、このようなユーザ入力に対して対話的に応答し、
たとえば外部記憶装置134によって供給されるビデオ
ゲームまたは他のグラフィックスプログラムを実行す
る。たとえば、メインプロセサ102は、種々のリアル
タイムの対話型制御機能に加えて、衝突検出およびアニ
メーション処理を行うことができる。
【0023】メインプロセサ102は、3次元グラフィ
ックスおよびオーディオコマンドを発生し、これらをグ
ラフィックス/オーディオコプロセサ106に送る。グ
ラフィックス/オーディオコプロセサ106は、これら
のコマンドを処理して画像を表示装置136上に発生
し、またステレオスピーカ137R、137Lまたは他
の適切な音声発生装置上でスイレオサウンドを発生す
る。
【0024】システム100は、コプロセサ100から
の画像信号を受け取って、該画像信号を標準のディスプ
レイ装置136(たとえばコンピュータモニタまたは家
庭用カラーテレビ)に表示するのに適した複合ビデオ信
号に変換するためのTVエンコーダ140を含む。シス
テム100はまた、ディジタル化されたオーディオ信号
を圧縮および復元する(またディジタルオーディオ信号
フォーマットとアナログオーディオ信号フォーマットの
間での変換を行うことができる)オーディオコーデック
(圧縮器/復元器)138を含む。オーディオコーデッ
ク138は、バッファ140を介してオーディオ入力を
受け取り、またこれを処理(たとえば、該コプロセサが
発生する他のオーディオ信号および/または光ディスク
装置134のストリーミングオーディオ出力を介して受
信する他のオーディオ出力とのミキシング)のためにコ
プロセサ106に与えることができる。コプロセサ10
6は、オーディオ関連情報をオーディオタスク専用のメ
モリ144に保存する。コプロセサ106は、得られた
オーディオ出力信号を(たとえばバッファアンプ142
L、142Rを介して)スピーカ137L,137Rに
よって再生できるように、復元およびアナログ信号への
変換のためにオーディオコーデック138に与える。
【0025】コプロセサ106は、システム100内に
存在し得る種々の周辺機器と通信する能力を有する。た
とえば、並列ディジタルバス146は、光ディスク装置
134と通信するために使用できる。直列バス148
は、たとえばROMおよび/またはリアルタイムクロッ
ク150,モデム152およびフラッシュメモリ154
を含む種々の周辺機器と通信することができる。別の外
部直列バス156は、追加の拡張メモリ158(たとえ
ばメモリカード)と通信するために使用することができ
る。
【0026】グラフィックス/オーディオコプロセサ 図2はコプロセサ106内のコンポーネントのブロック
図である。コプロセサ106は、単一の集積回路であっ
てもよい。この例において、コプロセサ106は、3次
元グラフィックスプロセサ107,プロセサインタフェ
ース108,メモリンタフェース110,オーディオデ
ィジタル信号プロセサ(DSP)162,オーディオメ
モリンタフェース(I/F)164,オーディオインタ
フェース/ミキサ166,周辺コントローラ168およ
び表示コントローラ128を含む。
【0027】3次元グラフィックスプロセサ107はグ
ラフィックス処理タスクを行い、またオーディオDSP
162はオーディオ処理タスクを行う。表示コントロー
ラ128は、メモリ104からの画像情報にアクセス
し、それを表示装置136に表示するためにTVエンコ
ーダ140に与える。オーディオインタフェース/ミキ
サ166は、オーディオコーデック138とのインタフ
ェースをとり、また異なった音源(たとえばディスク1
34からのストリーミングオーディオ入力,オーディオ
DSP162の出力,およびオーディオコーデック13
8を介して受信された外部オーディオ入力)からのオー
ディオをミックスすることができる。プロセサインタフ
ェース108は、メインプロセサ102とコプロセサ1
06との間のデータおよび制御インタフェースを与え
る。メモリインタフェース110は、コプロセサ106
とメモリ104との間のデータおよび制御インタフェー
スを与える。この例において、メインプロセサ102
は、コプロセサ106の一部であるプロセサインタフェ
ース108およびメモリコントローラ110を介して、
メインメモリ104にアクセスする。周辺コントローラ
168は、コプロセサ106と上記で述べた種々の周辺
機器(たとえば、光ディスク装置134,コントローラ
132,ROMおよび/またはリアルタイムクロック1
50,モデム152,フラッシュメモリ154およびメ
モリカード158)との間のデータインタフェースおよ
び制御インタフェースを提供する。オーディオメモリイ
ンタフェース164は、オーディオメモリ144とのイ
ンタフェースを提供する。
【0028】図3はコプロセサ106内の3次元グラフ
ィックスプロセサ107および関連するコンポーネント
のより詳細な図を示している。3次元グラフィックスプ
ロセサ107は、コマンドプロセサ114および3次元
グラフィックスパイプライン116を含んでいる。メイ
ンプロセサ102は、グラフィックスデータ(すなわ
ち、表示リスト)のストリームをコマンドプロセサ11
4に通信する。コマンドプロセサ114はこれらの表示
コマンドを受取り、これらを解析し(それらを処理する
のに必要な何等かの追加のデータをメモリ104から得
る)、3次元処理およびレンダリングのために、頂点コ
マンドのストリームをグラフィックスパイプライン11
6に与える。グラフィックスパイプライン116は、こ
れらのコマンドに基づいて3次元画像を発生する。得ら
れた画像情報は、表示コントローラ128(これはパイ
プライン116のフレームバッファ出力を表示装置13
6上に表示する)によるアクセスのために、メインメモ
リ104に転送される。
【0029】より詳細には、メインプロセサ102は表
示リストをメインメモリ104に保存し、バスインタフ
ェース108を介してポインタをコマンドプロセサ11
4に渡す。コマンドプロセサ114(これは以下で詳細
に述べる頂点キャッシュ212を含む)は、CPU10
2からコマンドストリームを取り込み、コマンドストリ
ームおよび/またはメモリの中の頂点アレイから頂点属
性を取り込み、属性タイプを浮動小数点フォーマットに
変換し、得られた完全な頂点ポリゴンデータをレンダリ
ング/ラスタ化のためにグラフィックスパイプライン1
16に渡す。以下でさらに詳細に説明するように、頂点
データはコマンドストリームから、および/または各属
性がそれ自身の線形アレイで保存されているメモリ中の
頂点アレイから直接に来ることができる。メモリ調停回
路130は、グラフィックスパイプライン116,コマ
ンドプロセサ114および表示コントローラ128の間
でのメモリアクセスを調停する。以下で説明するよう
に、頂点属性アクセス待ち時間を低減するために、オン
チップの8方向の組連想頂点キャッシュ(8-way set-ass
ociative vertex cache) 212が用いられる。
【0030】図3に示すように、グラフィックスパイプ
ライン116は、変換ユニット118,セットアップ/
ラスタライザ120,テクスチャユニット122,テク
スチャ環境ユニット124およびピクセルエンジン12
6を含むことができる。グラフィックスパイプライン1
16において、変換ユニット118は種々の3次元変換
操作を行い、またライティングおよびテクスチャ効果を
実行してもよい。たとえば、変換ユニット118は、入
ってくる頂点毎のジオメトリをオブジェクト空間からス
クリーン空間に変換し、入ってくるテクスチャ座標を変
換しそして投影テクスチャ座標を計算し、ポリゴンクリ
ッピングを行い、頂点ライティング毎の計算を行い、テ
クスチャ座標発生のバンプマッピングを実行する。セッ
トアップ/ラスタライザ120は、変換ユニット118
から頂点データを受け取って、エッジラスタ化,テクス
チャ座標ラスタ化および色ラスタ化を実行するラスタラ
イザへ3角形セットアップ情報を送信するセットアップ
ユニットを含んでいる。テクスチャユニット122は、
投影テクスチャならびにアルファ透明性および深さをも
ったBLITを使用することにより、多重テクスチャ処
理,ポストキャッシュテクスチャ復元,テクスチャフィ
ルタリング,エンボスされたバンプマッピング,投影お
よびライティングを含むテクスチャリングに関連した種
々のタスクを実行する。テクスチャユニット122は、
フィルタリングされたテクスチャ値をテクスチャ環境ユ
ニット124へ出力する。テクスチャ環境ユニット12
4は、ポリゴンの色およびテクスチャの色を一緒にブレ
ンドし、テクスチャかぶりおよび他の環境関連機能を実
行する。ピクセルエンジン126は、Zバッファリング
およびブレンドを行い、データをオンチップのフレーム
バッファメモリの中に保存する。
【0031】したがって、グラフィックスパイプライン
116は、フレームバッファおよび/またはテクスチャ
情報をローカルに保存する1以上の埋め込み型DRAM
(図示せず)を含んでいてもよい。オンチップのフレー
ムバッファは、表示コントローラ128によるアクセス
のために、メインメモリ104に周期的に書き込まれ
る。グラフィックスパイプライン116のフレームバッ
ファ出力(これは、結局はメインメモリ104に保存さ
れる)は、表示コントローラ128によってフレーム毎
に読取られる。表示コントローラ128は、ディスプレ
イ136上に表示するためのディジタルRGBピクセル
値を提供する。
【0032】頂点キャッシュおよび頂点索引アレイ 図4は頂点キャッシュ212および表示リストプロセサ
213を含むコマンドプロセサ114の概略図である。
コマンドプロセサ114は、位置,法線,テクスチャ座
標および色の信号ストリームから完全な索引付きアレイ
までの、広範囲の頂点データおよびプリミティブデータ
構造を取り扱う。何れかの頂点成分は索引参照されるこ
とができ、またはコマンドストリームの中に直接インラ
イン化することができる。したがって、コマンドプロセ
サ114は、融通可能なタイプ,フォーマットおよび多
くの属性を直接または索引付きデータとしてサポートす
る。
【0033】コマンドプロセサ114内の表示リストプ
ロセサ213は、(典型的にはメインメモリ104内に
割当てられたバッファを介して)CPU102により与
えられる表示リストコマンドを処理する。頂点キャッシ
ュ212は、図4に示す例示データ構造300のよう
な、索引付きポリゴン頂点データ構造をキャッシュメモ
リに入れる。例示した索引付きポリゴン頂点データ構造
300は、多くの頂点成分データアレイ(たとえば、色
データアレイ306a,テクスチャ頂点データアレイ3
06b,表面法線データアレイ306c,位置頂点デー
タアレイ306d等)を参照する頂点索引アレイ304
を含んでいてもよい。頂点キャッシュ212は、メイン
メモリ104内のこれらアレイ306から頂点データに
アクセスし、表示リストプロセサ213による迅速アク
セスおよび使用のために、それらをキャッシュメモリに
入れる。
【0034】表示リストプロセサ 図5は、コマンドプロセサ114によって実行される表
示リストプロセサ213の例を示している。この図5に
おいて、表示リストプロセサ213は、幾つかの構文解
析(パーシング:parsing)の段階を提供する。メイン
プロセサ102から受け取られた表示リストコマンド
は、表示リストストリームパーサ200によって解釈さ
れる。表示リストストリームパーサ200は、アドレス
スタック202を使用して、指令のネスティングを与え
ることができる。あるいは、FIFOからの頂点コマン
ドのストリームをメインメモリ106に保存して、予め
取り込まれた頂点コマンドデータを再ロードする必要な
く、インスタンスにおけるサブルーチン分岐を可能にす
るために、デュアルFIFOを使用してもよい(図6参
照)。図6のアプローチを使用することにより、表示リ
ストコマンドは1レベル深さの表示リストを提供し、こ
こでトップレベルのコマンドストリームは表示リスト1
レベル深さをコールすことができる。この「コール」能
力は、ジオメトリにおける予め計算されたコマンドおよ
びインスタンスのために有用である。
【0035】表示ストリームパーサ200は、グラフィ
ックスパイプライン116の状態に影響するコマンド
を、該グラフィックスパイプラインに向けて送り出す。
残りのプリミティブコマンドストリームは、メインメモ
リ104から得たプリミティブ記述子に基づいて、プリ
ミティブストリームパーサ204により解析される(以
下参照)。
【0036】頂点に対する索引が参照され、ハードウエ
ア中のテーブルに設けられ得る頂点記述子に基づいて、
頂点ストリームパーサ208によって解析される。頂点
ストリームパーサ208に与えられる頂点ストリーム
は、メインメモリ104内に保存された頂点データに対
するこのような索引を含んでいてもよい。頂点ストリー
ムパーサ208は、頂点キャッシュ212を介して、メ
インメモリ104からこの頂点データにアクセスするこ
とができ、直接のデータに対して反対に索引付けされた
場合の異なった経路を介して、頂点コマンドおよび関連
の索引付き頂点属性を別々に与える。1つの例におい
て、頂点ストリームパーサ208は、それがメインメモ
リ104の全体であるかのように、頂点キャッシュ21
2をアドレス指定する。次いで、頂点キャッシュ212
はメインメモリ104から頂点データを検索し(また多
くは先取りし)、これを頂点ストリームパーサ208に
よる使用のために一時的にキャッシュメモリに入れる。
頂点キャッシュ212における頂点データのキャッシン
グは、メインメモリ104に対するアクセス回数を減少
させ、したがってコマンドプロセサ114が必要とする
メインメモリバンド幅を減少させる。
【0037】頂点ストリームパーサ208は、各3角形
(ポリゴン)内に表現されるべき夫々の頂点についての
データを与える。この頂点毎データ(per-vertex dat
a)は、プリミティブストリームパーサ204によって
出力されるプリミティブ毎(per-primitive) データとと
もに、復元/逆量子化器ブロック214に与える。逆量
子化器214は、異なった頂点表現(たとえば8ビット
および16ビットの固定小数点フォーマットデータ)
を、グラフィックスパイプライン116によって使用さ
れる一様な浮動小数点表現へと変換する。逆量子化器2
14は、弾力的な種々の異なるタイプのフォーマットお
よび多くの属性のためのハードウエアサポートを提供
し、このようなデータは直接のデータまたは索引付デー
タとして、表示リストプロセサ213に提示されること
ができる。逆量子化器214の一様な浮動小数点表現出
力は、ラスタ化およびさらなる処理のためにグラフィッ
クスパイプライン116に与えられる。最適化として所
望のときは、頂点ストリップデータを再変換する必要性
を回避するために、逆量子化器214の出力位置にさら
なる小さいキャッシュまたはバッファを設けてもよい。
【0038】頂点索引アレイ 図7は、頂点キャッシュ212を介して間接的(すなわ
ち、索引付の)頂点属性データを与えるために使用され
る、好ましい実施例における索引付き頂点リスト300
のさらに詳細な例を示している。この一般化された索引
付き頂点リスト300は、図1に示したシステムにおけ
るプリミティブを定義するために使用してもよい。夫々
のプリミティブは索引のリストによって記述され、その
夫々は頂点アレイの中に索引をつける。頂点およびプリ
ミティブは夫々、フォーマット記述子を使用して、それ
らの項目のタイプを定義する。これらの記述子は、属性
をタイプに結びつける。属性は、表現するハードウエア
に対して特定の意味を有するデータ項目である。これ
は、頂点/プリミティブストリームがロードされたとき
にそれを解析および変換するように、記述子でハードウ
エアをプログラミングする可能性を与える。最小のサイ
ズを用いることにより、頂点当たり最小数の属性がジオ
メトリ圧縮に導く。図7の構成はまた、所望により、属
性を頂点、索引またはプリミティブに関連させる。
【0039】したがって、図7の索引付き頂点アレイ3
00の例では、プリミティブリスト302は、データス
トリーム(たとえばprim0,prim1,prim
2,prim3…)における種々の各プリミティブ(た
とえば3角形)を定義する。プリミティブ記述子ブロッ
ク308は、プリミティブに共通の属性を与えることが
できる(たとえば直接または索引付けされ得るテクスチ
ャデータおよび結合データ)を与えることができる。プ
リミティブリスト302内の各プリミティブは、頂点リ
スト304内の対応する頂点に索引を付ける。頂点リス
ト304内の1つの頂点は、プリミティブリスト302
内の複数のプリミティブによって使用され得る。所望で
あれば、プリミティブリスト302は明確ではなく暗示
的であってもよい。すなわち、頂点リスト304は、暗
示によって(たとえば3角形ストリップを使用して)対
応するプリミティブを定義するように配列することがで
きる。
【0040】頂点記述子ブロック306は、頂点リスト
304の夫々の頂点について与えることができる。頂点
記述子ブロック306は、特定の頂点に対応する属性デ
ータを含んでいる(たとえば、rgbまたは他の色デー
タ,アルファデータ,xyz表面法線データ)。図4に
示すように、頂点記述子ブロック306は、多くの異な
った索引付き成分ブロックを含むことができる。この頂
点属性記述子ブロック306は、いずれの頂点属性が存
在するか、成分の数およびサイズならびに成分が参照さ
れる方法(たとえば直接的…すなわち、量子化された頂
点データストリーム内に含まれる…または索引付けされ
る)を決定する。一例において、特定のプリミティブに
ついての引き出し(DRAW)コマンドにおける頂点
は、全て同じ頂点属性データ構造フォーマットを有す
る。
【0041】図8は、頂点属性ブロック306によって
与えられる属性リストの例を示している。次表1に示す
属性が提供されてもよい。
【0042】
【表1】
【0043】この例の頂点属性記述子ブロック306に
おいて、位置属性は常に存在し、索引付けされたものま
たは直接的なものでもよく、多くの異なった量子化され
圧縮されたフォーマット(たとえば、浮動小数点,8ビ
ット,整数,または16ビット)をとることができる。
全ての残りの属性は、いずれかの頂点について存在して
も存在しなくてもよく、所望により索引付きでも直接的
であってもよい。位置値と同様に、テクスチャ座標値は
種々の異なったフォーマット(たとえば、8ビット整
数、16ビット整数または浮動小数点)で表現すること
ができ、表面法線属性についてもそうである。拡散色お
よび鏡色の属性は、16ビット3補数,24ビット3補
数,32ビット3補数,または16,24もしくは32
ビット4補数を含む種々のフォーマットで、3(rg
b)または4(rgba)の値を与えることができる。
所定のプリミティブについての全ての頂点は、好ましく
は同じフォーマットを有する。
【0044】この例において、頂点記述子306は、1
6ビットポインタを使用する索引付きデータを属性アレ
イの中に照合する。アレイ内の特定の属性にアクセスす
るために使用される特定のオフセットは、たとえば属性
における成分の数,成分の大きさ,整列目的の属性間の
埋め込み(padding),および複数の属性が同じアレイの
中にインタリーブされるかどうかを含む多くの因子に依
存する。1つの頂点は、混合された直接的または間接的
な属性を有することができ、また幾つかの属性はハード
ウエアによって発生することができる(たとえば、位置
からテクスチャ座標を発生させる)。何れの属性も直接
に、または索引としてアレイの中に送ることができる。
頂点キャッシュう212は、過剰なキャッシュミスを伴
うことなく、典型的な数の夫々のデータ成分ストリーム
(たとえば位置,法線,色およびテクスチャ)を扱うた
めに充分なキャッシュラインを含んでいる。
【0045】頂点キャッシュの具体化 図9は、頂点キャッシュ212および関連ロジックの一
例を示す概略図である。この例の頂点キャッシュ212
は、512×112ビットのデュアルポートRAMとし
て構成された8キロバイトのキャッシュメモリ400を
含んでいる。多くの属性ストリームがキャッシュ212
の中で探索されるので、8本のタグラインを含む8組の
組連想キャッシュを使用して、スラッシングを低減す
る。各タグラインは32×16ビットのデュアルポート
のRAM404および関連タグ状態レジスタ406を含
んでいる。タグRAM 404は、頂点RAM404内
に保存された対応するデータブロックのメインメモリア
ドレスを保存する。アドレス計算ブロック408は、必
要な頂点属性データが既に頂点RAM400内に存在す
るか否か、あるいはメインメモリへの追加の取り込みが
必要か否かを決定する。メモリ待ち時間を隠すために、
キャッシュラインはメインメモリ104から先取りされ
る。
【0046】図10は、頂点ストリームパーサ208に
よって頂点キャッシュ212に与えられるメモリアドレ
スフォーマットの一例を示している。このメモリアドレ
ス450は、キャッシュラインの中にバイトオフセット
を与えるフィールド452,タグRAMアドレス45
4,およびタグRAM404の内容と比較するためのメ
インメモリアドレス456を含んでいる。アドレス計算
ブロック408はメインメモリアドレス456をタグR
AM404の内容と比較して、必要なデータが既に頂点
RAM400内にキャッシュされたか否か、またはそれ
をメインメモリ104から取り込むことが必要か否かを
決定する。
【0047】タグ状態レジスタ406は、図11に示し
たフォーマットでデータを保存する。データ有効フィー
ルド462は、特定のキャッシュライン内のデータが有
効であるかどうかを指示する。カウンタフィールド46
4は、キャッシュラインに依存する待ち行列410中の
エントリ数の追跡を維持する。カウンタフィールド46
4は、ミスが発生したときに全てのタグ状態レジスタ4
06がデータ有効を示す場合に使用される。アドレス計
算ブロック408は、新たなエントリのための余裕を形
成するために、キャッシュラインの1つを捨てる必要が
ある。カウンタフィールド464がゼロでなければ、キ
ャッシュラインは未だ使用中であり、捨て去ることはで
きない。修飾された部分的LRUアルゴリズムに基づ
き、アドレス計算ブロック408は置き換えのためにキ
ャッシュラインの1つを選択する。データ有効フィール
ド462は「無効」にセットされ、キャッシュラインは
メインメモリ104からの新たな内容で置き換えられ
る。もう1つの属性索引が同じキャッシュラインにマッ
プすると、カウンタフィールド464はインクリメント
される。データがメインメモリ104から到達すると、
データ有効ビットがセットされ、エントリは待ち行列4
10からの処理され得る。あるいは、データがキャッシ
ュRAM400の中に入れられるまで、待ち行列410
の処理が停止されるであろう。待ち行列エントリのため
にキャッシュRAM400がアクセスされると、カウン
タ464はディクリメントされる。
【0048】現時点で最も実際的且つ好ましいと思われ
る実施例に関連してこの発明を説明してきたが、この発
明はこの開示された実施例に限定されるものではなく、
逆に、特許請求の範囲内に含まれる種々の変形例および
均等な構成をもカバーするものであることが理解される
べきである。
【図面の簡単な説明】
【図1】図1は対話型3次元グラフィックスシステムの
一例を示すブロック図である。
【図2】図2は図1に示したグラフィックス/オーディ
オコプロセサの例を示すブロック図である。
【図3】図3は図2のグラフィックス/オーディオコプ
ロセサ部分のより詳細なブロック図で3次元パイプライ
ングラフィックス処理構成の一例を示す。
【図4】図4は頂点索引アレイデータを設けた頂点キャ
ッシュを含むコマンドプロセサの一例を示す。
【図5】図5はこの発明に従って設けられた頂点キャッ
シュを含む表示リストプロセサの一例を示す。
【図6】図6はデュアルFIFO構成の一例を示してい
る。
【図7】図7は索引付き頂点データ構造の一例を示す概
略図である。
【図8】図8は頂点記述子ブロックの一例を示してい
る。
【図9】図9は頂点キャッシュの具体化の一例を示すブ
ロック図である。
【図10】図10は頂点キャッシュメモリアドレスフォ
ーマットの一例を示している。
【図11】図11は頂点キャッシュタグ状態レジスタフ
ォーマットの一例を示している。
【符号の説明】
100 …対話型3次元コンピュータグラフィックスシ
ステム 102 …メインプロセサ(CPU) 104 …メインメモリ 106 …グラフィックス/オーディオコプロセサ 107 …3次元グラフィックスプロセサ 114 …コマンドプロセサ 116 …グラフィクスパイプライン 212 …頂点キャッシュ 213 …表示リストプロセサ
【手続補正書】
【提出日】平成13年1月11日(2001.1.1
1)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 3次元グラフィックスのための頂点
キャッシュ
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【発明の分野】この発明は3次元対話型コンピュータグ
ラフィックスのための頂点キャッシュに関し、より詳細
には、アニメーションおよび表示処理のための頂点情報
を効率的に表現および保存するための構成および技術に
関する。さらにまた、この発明は特に、3次元ポリゴン
データのより効率的な映像化のための頂点キャッシュを
含む3次元グラフィックス集積回路に関する。
【0002】
【発明の背景】現代の3次元グラフィックスシステム
は、表示要素(すなわち、ポリゴン)からアニメーショ
ン化された表示を作り上げる。各表示オブジェクト(た
とえば木,自動車もしくは人物または他のキャラクタ)
は、典型的には、多数のポリゴンから構築される。夫々
のポリゴンは、他の特徴(たとえば色,濃淡付けのため
の表面法線,テクスチャなど)とともにその頂点によっ
て表され、この頂点が3次元空間におけるポリゴンの位
置,向きおよび大きさを特定する。コンピュータ技術
は、これらの技術を使用してアニメーション化された3
次元グラフィックスシーンを効率的に構築することがで
きる。
【0003】ビデオゲームシステムのような低コストの
高速対話型(interactive) 3次元グラフィックスシステ
ムは、メモリおよび処理資源によって構築される。した
がって、このようなシステムでは、表示オブジェクトを
表す種々のポリゴンを効率的に表現および処理できるこ
とが重要である。たとえば、表示オブジェクトをコンパ
クトに表現するデータを作成して、特定のタスクのため
に必要な全てのデータが便利に利用可能であるような方
法で、そのデータを3次元グラフィックスシステムに提
示することが望ましい。
【0004】或るものは、時間的局所性および空間的局
所性に関してデータを特徴付けすることができる。時間
的局所性とは、同じデータが短い時間の間に頻繁に参照
されることを意味する。一般に、3次元対話型グラフィ
ックスアプリケーションのためのポリゴン表現データ
は、大きな時間的局所性を有する。空間的局所性とは、
参照される次のデータ項目が、最後に参照された項目
接したメモリに保存されることを意味する。効率の改
善は、データの空間的局所性を増やすことによって実現
することができる。無制限量のデータに対し、無制限に
低いレイテンシのランダムアクセスを許容しない実際の
メモリシステムにおいては、所定のタスクを実行するた
めに必要とされる全てのデータが、低いレイテンシの
リに近接して一緒に保存されれば性能はよくなる
【0005】データの空間的局所性を増やすために、
実に特定のタスクを実行するために必要な全てのデータ
ほとんど同時に提供されるように一緒に保存しておい
、処理の順序に基づいてポリゴンデータをソーティン
グすることができる。たとえば、アニメーションを形成
するポリゴンデータは、実行されているアニメーション
の種類に対して優先的であるような方法で保存すること
ができる。一つの例として、表面変形(surface deforma
tion) のような典型的な複雑な対話型リアルタイムアニ
メーションは、表面における全ての頂点の操作を必要と
する。このようなアニメーションを効率的に実行するた
めには、一定の方法で頂点データをソーティングするの
が望ましい。
【0006】典型的な3次元グラフィックスシステム
は、アニメーション処理および表示処理を別々に実行
し、これらの別々の工程はデータを異なる方法で処理す
る。残念なことに、アニメーション処理のための頂点デ
ータをソーティングする最適順序は、一般に、表示処理
のための最適なソーティング順序とは異なる。アニメー
ションのためのソーティングは、表示順序に対してラン
ダム性を加えるようにしてもよい。アニメーション処理
を単純化するためにデータストリームをソーティングす
ることによって、データを効率的に表示することを一層
困難にしてしまう。
【0007】したがって、種々の理由で、表示のための
データにアクセスするときに空間的局所性が存在するこ
とを仮定することは困難かも知れない。困難性は、任意
の大きな表示オブジェクトに効率的にアクセスする必要
性から生じる。加えて、上記で説明した理由で、少なく
とも表示目的については、表示エンジンに提供される頂
点データの順序には、典型的には幾らかのランダム性が
存在するであろう。さらに、実施に有用であり得る頂点
レベルを超えるような他のデータ局所性が存在するであ
ろう(たとえば、一定のテクスチャを共有する全てのポ
リゴンを一緒にグループ化すること)。
【0008】より高い効率を達成するための1つのアプ
ローチは、低いレイテンシの追加メモリ(たとえば手頃
な中で、最も低いレイテンシのメモリシステム)を準備
することである。また、高速ローカルメモリ中表示オ
ブジェクト適合させて、ランダムアクセスを達成する
ことも可能であろう。しかし、オブジェクトが非常に大
きい可能性がないとはいえず、また二重にバッファする
必要があるかもしれない。したがって、このようなアプ
ローチのために必要とされるバッファは非常に大きくな
る可能性がある。
【0009】また、メインCPUのデータキャッシュを
使用して、表示エンジンのための最適順序で、ポリゴン
データをアセンブルしソーティングすることが可能であ
るかもしれない。しかし、これを効率的に行うには、ポ
リゴンデータがデータキャッシュの残部をスラッシング
(thrashing) するのを防止する方法が必要であろう。加
えて、データを先取り(prefetch) してメモリのレイテ
ンシを隠す必要があるであろう。なぜなら、表示順序の
ためにソーティングされた偶数データがアクセスされる
方法において、幾らかのランダム性が存在する可能性が
あるからである。さらに、このアプローチは、CPUに
対して追加の負荷を与えるであろう。特に、或る具体化
においては、表示エンジンが解釈できる2値フォーマッ
トにデータをアセンブルすることが必要あるからであ
る。このアプローチを使用することにより、メインCP
Uおよび表示エンジンは直列になり、CPUはデータを
グラフィックスエンジンに直接供給する。処理を並列化
すること(たとえば、表示エンジンを、DRAM FI
FOバッファを介して供給すること)は、直接モードの
供給に比較して、実質的に追加のメモリアクセスバンド
幅を必要とするであろう。
【0010】したがって、3次元グラフィックス表示プ
ロセスのためのポリゴンデータを表現し、保存し供給す
るために使用できるさらに効率的な技術の必要性が存在
している。
【0011】
【発明の概要】この発明は、索引付きプリミティブ頂点
データストリームを編成する頂点キャッシュを提供する
ことにより、この問題を解決するものである。
【0012】この発明により提供される1つの局面に従
えば、ポリゴン頂点データは、頂点キャッシュを介して
表示(グラフィックス)エンジンに供給される。頂点キ
ャッシュは、表示エンジンハードウエア(たとえばその
一部)に対してローカルな、低いレイテンシの小規模の
メモリでよい。実際のキャッシュの中身よりもはるかに
大きい仮想メモリビューを与えるキャッシュから融通性
および効率性が生じる。
【0013】頂点キャッシュは、必要なときに、オンザ
フライの表示処理のために必要な頂点データを形成する
ために使用してもよい。したがって、表示目的のために
頂点データを予めソーティングするのではなく、頂点キ
ャッシュは、関連ブロックのデータを必要なときに単純
に取得して、これを表示プロセサが利用できるようにす
る。対話型ビデオゲーム表示のための頂点データによっ
て示される高度の時間的局所性、および特定の最適な索
引付きアレイデータ構造(下記参照)に基づいて、何れ
かの時点で必要とされる殆どの頂点データが、頂点デー
タストリームの数に比例した数のキャッシュラインを有
する比較的小規模のセットアソシアティブ頂点キャッシ
ュ(small set-associative vertex cache) においてで
も入手可能であることを見出した。最適構成の一例は、
セットアソシアティブ頂点キャッシュを形成する51
2×128ビットのデュアルポートRAMを提供する。
【0014】グラフィックスエンジンに頂点を供給する
目的で、頂点キャッシュおよび関連タグをカスタマイズ
しかつ最適化することによって効率を増大させることが
でき、汎用のキャッシュおよびタグ構造を使用した場合
よりも、さらに効率的な頂点の先取り(prefetching) お
よびアセンブル(assembling) を可能にする。頂点キャ
ッシュはデータを表示エンジンに直接供給することを可
能にするので、追加のメモリアクセスバンド幅のコスト
が回避される。ダイレクトメモリアクセスを使用して、
頂点キャッシュへ頂点データを効率的に転送してもよ
い。
【0015】頂点キャッシュにより与えられる効率をさ
らに増大させるためには、特定のポリゴンまたはポリゴ
ンの組を、それ(ら)が使用される度毎に完全に再特定
(re-specify)する必要性を低減することが望ましい。こ
の発明により提供される別の局面に従えば、ポリゴンは
アレイ、たとえば頂点の幾つかの特徴を表すデータ成分
の線形リスト(たとえば位置,色,表面法線(surface n
ormal),またはテクスチャ座標)として表現することが
できる。夫々の表示オブジェクトは、種々の組の索引と
ともに、このようなアレイの集合として表現することが
できる。これらの索引は、特定のアニメーションまたは
表示目的のためのアレイを参照する。ポリゴンデータを
索引付き成分のリストとして表すことによって、マッピ
ング間で不連続性が許容される。さらに、個々の成分
(コンポーネント)を分離することは、データをよりコ
ンパクトに保存する(たとえば、より完全に圧縮された
フォーマットで)ことを可能にする。この発明によって
与えられる頂点キャッシュは、索引サイズ以下のこのよ
うな索引付きデータのストリームを収容することができ
る。
【0016】頂点キャッシュに関連して索引付き頂点表
現を使用することにより、表示目的のためにいかなる再
ソーティングの必要性も存在しない。たとえば、アニメ
ーションのために予めソーティングされた表示とは逆の
順序で、頂点データを表示エンジンに提供し、アニメー
ションをより効率的なプロセスにしてもよい。頂点キャ
ッシュは、索引付き頂点データ構造表現を使用して、明
確な再ソーティングを何等必要とせずに、効率的に、頂
点データを表示エンジンが利用可能にする。
【0017】いかなる頂点成分も、コマンドストリーム
において索引参照されることができ、または直接インラ
イン化されることができる。このことは、グラフィック
ス表示データ構造に沿ったメインプロセサの出力を必要
とせずに、メインプロセサによる効率的なデータ処理を
可能にする。たとえば、メインプロセサにより実行され
るライティング操作は、色アレイを発生させるライティ
ングパラメータのリストをループ処理することによっ
て、法線および位置のリストから色アレイのみを発生さ
せてもよい。アニメーションプロセスが3角形リスト表
示データ構造に従う必要もなく、またアニメーションプ
ロセスが表示のためのデータを再フォーマット化する必
要もない。表示プロセスは当然ながら、アニメーション
プロセスに対して実質的なデータ再フォーマット化
ーバヘッドを加えることなく、アニメーションプロセス
により提供されるデータを使用することができる。
【0018】他方、表示順序で頂点データをソーティン
グすることについてペナルティはなく、いずれの場合に
も、表示のために予めソーティングされたデータを提示
するために最適化された頂点提示構造と比較して、性能
を顕著に劣化させる頂点キャッシュを伴わずに、頂点デ
ータは表示のために効率的に表示エンジンに提示され
る。
【0019】この発明により提供されるさらなる局面に
従えば、頂点データは、幾つかの異なったフォーマット
(たとえば8ビット固定小数点,16ビット固定小数点
または浮動小数点)の何れかで量子化された圧縮データ
ストリームを含む。このデータは、索引付け(すなわ
ち、頂点データストリームにより参照される)されても
よく、または直接的(すなわち、該ストリーム自身の中
に含まれる)であってもよい。これらの種々のデータフ
ォーマットを全て共通の頂点キャッシュに保存し、続い
て復元し、グラフィックス表示パイプラインのための共
通のフォーマットに変換することができる。このような
弾力的なタイプのハードウエアサポート,フォーマッ
ト,および直接的または索引付き入力データとしての多
くの属性は、複雑かつ時間を要するソフトウエアデータ
変換を回避する。
【0020】この発明の上述の目的,その他の目的,特
徴,および利点は、図面を参照して行う以下の実施例の
詳細な説明から一層明らかとなろう。
【0021】
【実施例】図1はこの発明が実施され得る対話型3次元
コンピュータグラフィックスシステム100の一例を示
す全体の概略図である。システム100は、ステレオサ
ウンドを伴って対話型3次元ビデオゲームをプレイする
ために使用することができる。光ディスクのような適切
な記憶媒体を光ディスク装置134に挿入することによ
って、異なるゲームをすることができる。ゲームプレイ
ヤは、手持ちコントローラ132(これはジョイスティ
ック,ボタン,スイッチ,キーボードまたはキーパッド
等の種々のコントロールを含むことができる)のような
入力装置を操作することによって、システム100とリ
アルタイムで対話することができる。
【0022】システム100は、メインプロセサ(CP
U)102,メインメモリ104,ならびにグラフィッ
クス/オーディオコプロセサ106を含んでいる。この
例では、メインプロセサ102は、コプロセサ106を
介して手持ちコントローラ132(および/または他の
入力装置)からの入力を受け取る。メインプロセサ10
2は、このようなユーザ入力に対して対話的に応答し、
たとえば外部記憶装置134によって供給されるビデオ
ゲームまたは他のグラフィックスプログラムを実行す
る。たとえば、メインプロセサ102は、種々のリアル
タイムの対話型制御機能に加えて、衝突検出およびアニ
メーション処理を行うことができる。
【0023】メインプロセサ102は、3次元グラフィ
ックスおよびオーディオコマンドを発生し、これらをグ
ラフィックス/オーディオコプロセサ106に送る。グ
ラフィックス/オーディオコプロセサ106は、これら
のコマンドを処理して画像を表示装置136上に発生
し、またステレオスピーカ137R、137Lまたは他
の適切な音声発生装置上でステレオサウンドを発生す
る。
【0024】システム100は、コプロセサ100から
の画像信号を受け取って、該画像信号を標準のディスプ
レイ装置136(たとえばコンピュータモニタまたは家
庭用カラーテレビ)に表示するのに適した複合ビデオ信
号に変換するためのTVエンコーダ140を含む。シス
テム100はまた、ディジタル化されたオーディオ信号
を圧縮および復元する(またディジタルオーディオ信号
フォーマットとアナログオーディオ信号フォーマットの
間での変換を行うことができる)オーディオコーデック
(圧縮器/復元器)138を含む。オーディオコーデッ
ク138は、バッファ140を介してオーディオ入力を
受け取り、またこれを処理(たとえば、該コプロセサが
発生する他のオーディオ信号および/または光ディスク
装置134のストリーミングオーディオ出力を介して受
信する他のオーディオ出力とのミキシング)のためにコ
プロセサ106に与えることができる。コプロセサ10
6は、オーディオ関連情報をオーディオタスク専用のメ
モリ144に保存する。コプロセサ106は、得られた
オーディオ出力信号を(たとえばバッファアンプ142
L、142Rを介して)スピーカ137L,137Rに
よって再生できるように、復元およびアナログ信号への
変換のためにオーディオコーデック138に与える。
【0025】コプロセサ106は、システム100内に
存在し得る種々の周辺機器と通信する能力を有する。た
とえば、パラレルディジタルバス146は、光ディスク
装置134と通信するために使用できる。シリアルバス
148は、たとえばROMおよび/またはリアルタイム
クロック150,モデム152およびフラッシュメモリ
154を含む種々の周辺機器と通信することができる。
別の外部シリアルバス156は、追加の拡張メモリ15
8(たとえばメモリカード)と通信するために使用する
ことができる。
【0026】グラフィックス/オーディオコプロセサ 図2はコプロセサ106内のコンポーネントのブロック
図である。コプロセサ106は、単一の集積回路であっ
てもよい。この例において、コプロセサ106は、3次
元グラフィックスプロセサ107,プロセサインタフェ
ース108,メモリインタフェース110,オーディオ
ディジタル信号プロセサ(DSP)162,オーディオ
メモリインタフェース(I/F)164,オーディオイ
ンタフェース/ミキサ166,周辺コントローラ168
および表示コントローラ128を含む。
【0027】3次元グラフィックスプロセサ107はグ
ラフィックス処理タスクを行い、またオーディオDSP
162はオーディオ処理タスクを行う。表示コントロー
ラ128は、メモリ104からの画像情報にアクセス
し、それを表示装置136に表示するためにTVエンコ
ーダ140に与える。オーディオインタフェース/ミキ
サ166は、オーディオコーデック138とのインタフ
ェースをとり、また異なった音源(たとえばディスク1
34からのストリーミングオーディオ入力,オーディオ
DSP162の出力,およびオーディオコーデック13
8を介して受信された外部オーディオ入力)からのオー
ディオをミックスすることができる。プロセサインタフ
ェース108は、メインプロセサ102とコプロセサ1
06との間のデータおよび制御インタフェースを与え
る。メモリインタフェース110は、コプロセサ106
とメモリ104との間のデータおよび制御インタフェー
スを与える。この例において、メインプロセサ102
は、コプロセサ106の一部であるプロセサインタフェ
ース108およびメモリコントローラ110を介して、
メインメモリ104にアクセスする。周辺コントローラ
168は、コプロセサ106と上記で述べた種々の周辺
機器(たとえば、光ディスク装置134,コントローラ
132,ROMおよび/またはリアルタイムクロック1
50,モデム152,フラッシュメモリ154およびメ
モリカード158)との間のデータインタフェースおよ
び制御インタフェースを提供する。オーディオメモリイ
ンタフェース164は、オーディオメモリ144とのイ
ンタフェースを提供する。
【0028】図3はコプロセサ106内の3次元グラフ
ィックスプロセサ107および関連するコンポーネント
のより詳細な図を示している。3次元グラフィックスプ
ロセサ107は、コマンドプロセサ114および3次元
グラフィックスパイプライン116を含んでいる。メイ
ンプロセサ102は、グラフィックスデータ(すなわ
ち、表示リスト)のストリームをコマンドプロセサ11
4に通信する。コマンドプロセサ114はこれらの表示
コマンドを受取り、これらを解析し(それらを処理する
のに必要な何等かの追加のデータをメモリ104から得
る)、3次元処理およびレンダリングのために、頂点コ
マンドのストリームをグラフィックスパイプライン11
6に与える。グラフィックスパイプライン116は、こ
れらのコマンドに基づいて3次元画像を発生する。得ら
れた画像情報は、表示コントローラ128(これはパイ
プライン116のフレームバッファ出力を表示装置13
6上に表示する)によるアクセスのために、メインメモ
リ104に転送される。
【0029】より詳細には、メインプロセサ102は表
示リストをメインメモリ104に保存し、バスインタフ
ェース108を介してポインタをコマンドプロセサ11
4に渡す。コマンドプロセサ114(これは以下で詳細
に述べる頂点キャッシュ212を含む)は、CPU10
2からコマンドストリームを取り込み、コマンドストリ
ームおよび/またはメモリの中の頂点アレイから頂点属
性を取り込み、属性タイプを浮動小数点フォーマットに
変換し、得られた完全な頂点ポリゴンデータレンダリ
ング/ラスタライズのためにグラフィックスパイプライ
ン116に渡す。以下でさらに詳細に説明するように、
頂点データはコマンドストリームから、および/または
各属性がそれ自身の線形アレイで保存されているメモリ
中の頂点アレイから直接に来ることができる。メモリ調
停回路130は、グラフィックスパイプライン116,
コマンドプロセサ114および表示コントローラ128
の間でのメモリアクセスを調停する。以下で説明するよ
うに、頂点属性アクセス待ち時間を低減するために、オ
ンチップの8方向のセットアソシアティブ頂点キャッシ
ュ(8-way set-associative vertex cache) 212が用
いられる。
【0030】図3に示すように、グラフィックスパイプ
ライン116は、変換ユニット118,セットアップ/
ラスタライザ120,テクスチャユニット122,テク
スチャ環境ユニット124およびピクセルエンジン12
6を含むことができる。グラフィックスパイプライン1
16において、変換ユニット118は種々の3次元変換
操作を行い、またライティングおよびテクスチャ効果を
実行してもよい。たとえば、変換ユニット118は、入
ってくる頂点毎のジオメトリをオブジェクト空間からス
クリーン空間に変換し、入ってくるテクスチャ座標を変
換しそして投影テクスチャ座標を計算し、ポリゴンクリ
ッピングを行い、頂点ライティング毎の計算を行い、テ
クスチャ座標発生のバンプマッピングを実行する。セッ
トアップ/ラスタライザ120は、変換ユニット118
から頂点データを受け取って、エッジのラスタライズ
テクスチャ座標のラスタライズおよび色のラスタライズ
を実行するラスタライザへ3角形セットアップ情報を送
信するセットアップユニットを含んでいる。テクスチャ
ユニット122は、投影テクスチャならびにアルファ透
および深さをもったBLITを使用することによ
り、多重テクスチャ処理,ポストキャッシュテクスチャ
復元,テクスチャフィルタリング,エンボスされたバン
プマッピング,投影およびライティングを含むテクスチ
ャリングに関連した種々のタスクを実行する。テクスチ
ャユニット122は、フィルタリングされたテクスチャ
値をテクスチャ環境ユニット124へ出力する。テクス
チャ環境ユニット124は、ポリゴンの色およびテクス
チャの色を一緒にブレンドし、テクスチャかぶりおよび
他の環境関連機能を実行する。ピクセルエンジン126
は、Zバッファリングおよびブレンドを行い、データを
オンチップのフレームバッファメモリの中に保存する。
【0031】したがって、グラフィックスパイプライン
116は、フレームバッファおよび/またはテクスチャ
情報をローカルに保存する1以上の埋め込み型DRAM
(図示せず)を含んでいてもよい。オンチップのフレー
ムバッファは、表示コントローラ128によるアクセス
のために、メインメモリ104に周期的に書き込まれ
る。グラフィックスパイプライン116のフレームバッ
ファ出力(これは、結局はメインメモリ104に保存さ
れる)は、表示コントローラ128によってフレーム毎
に読取られる。表示コントローラ128は、ディスプレ
イ136上に表示するためのディジタルRGBピクセル
値を提供する。
【0032】頂点キャッシュおよび頂点索引アレイ 図4は頂点キャッシュ212および表示リストプロセサ
213を含むコマンドプロセサ114の概略図である。
コマンドプロセサ114は、位置,法線,テクスチャ座
標および色の信号ストリームから完全な索引付きアレイ
までの、広範囲の頂点データおよびプリミティブデータ
構造を取り扱う。何れかの頂点成分は索引参照されるこ
とができ、またはコマンドストリームの中に直接インラ
イン化することができる。したがって、コマンドプロセ
サ114は、融通可能なタイプ,フォーマットおよび多
くの属性を直接または索引付きデータとしてサポートす
る。
【0033】コマンドプロセサ114内の表示リストプ
ロセサ213は、(典型的にはメインメモリ104内に
割当てられたバッファを介して)CPU102により与
えられる表示リストコマンドを処理する。頂点キャッシ
ュ212は、図4に示す例示データ構造300のよう
な、索引付きポリゴン頂点データ構造をキャッシュメモ
リに入れる。例示した索引付きポリゴン頂点データ構造
300は、多くの頂点成分データアレイ(たとえば、色
データアレイ306a,テクスチャ頂点データアレイ3
06b,表面法線データアレイ306c,位置頂点デー
タアレイ306d等)を参照する頂点索引アレイ304
を含んでいてもよい。頂点キャッシュ212は、メイン
メモリ104内のこれらアレイ306から頂点データに
アクセスし、表示リストプロセサ213による迅速アク
セスおよび使用のために、それらをキャッシュメモリに
入れる。
【0034】表示リストプロセサ 図5は、コマンドプロセサ114によって実行される表
示リストプロセサ213の例を示している。この図5に
おいて、表示リストプロセサ213は、幾つかの構文解
析(パーシング:parsing)の段階を提供する。メイン
プロセサ102から受け取られた表示リストコマンド
は、表示リストストリームパーサ200によって解釈さ
れる。表示リストストリームパーサ200は、アドレス
スタック202を使用して、指令のネスティングを与え
ることができる。あるいは、FIFOからの頂点コマン
ドのストリームをメインメモリ106に保存して、予め
取り込まれた頂点コマンドデータを再ロードする必要な
く、インスタンスにおけるサブルーチン分岐を可能にす
るために、デュアルFIFOを使用してもよい(図6参
照)。図6のアプローチを使用することにより、表示リ
ストコマンドは1レベル深さの表示リストを提供し、こ
こでトップレベルのコマンドストリームは表示リスト1
レベル深さをコールすことができる。この「コール」能
力は、ジオメトリにおける予め計算されたコマンドおよ
びインスタンスのために有用である。
【0035】表示ストリームパーサ200は、グラフィ
ックスパイプライン116の状態に影響するコマンド
を、該グラフィックスパイプラインに向けて送り出す。
残りのプリミティブコマンドストリームは、メインメモ
リ104から得たプリミティブ記述子に基づいて、プリ
ミティブストリームパーサ204により解析される(以
下参照)。
【0036】頂点に対する索引が参照され、ハードウエ
ア中のテーブルに設けられ得る頂点記述子に基づいて、
頂点ストリームパーサ208によって解析される。頂点
ストリームパーサ208に与えられる頂点ストリーム
は、メインメモリ104内に保存された頂点データに対
するこのような索引を含んでいてもよい。頂点ストリー
ムパーサ208は、頂点キャッシュ212を介して、メ
インメモリ104からこの頂点データにアクセスするこ
とができ、直接のデータに対して反対に索引付けされた
場合の異なった経路を介して、頂点コマンドおよび関連
の索引付き頂点属性を別々に与える。1つの例におい
て、頂点ストリームパーサ208は、それがメインメモ
リ104の全体であるかのように、頂点キャッシュ21
2をアドレス指定する。次いで、頂点キャッシュ212
はメインメモリ104から頂点データを検索し(また多
くは先取りし)、これを頂点ストリームパーサ208に
よる使用のために一時的にキャッシュメモリに入れる。
頂点キャッシュ212における頂点データのキャッシン
グは、メインメモリ104に対するアクセス回数を減少
させ、したがってコマンドプロセサ114が必要とする
メインメモリバンド幅を減少させる。
【0037】頂点ストリームパーサ208は、各3角形
(ポリゴン)内に表現されるべき夫々の頂点についての
データを与える。この頂点毎データ(per-vertex dat
a)は、プリミティブストリームパーサ204によって
出力されるプリミティブ毎(per-primitive) データとと
もに、復元/逆量子化器ブロック214に与えられる。
逆量子化器214は、異なった頂点表現(たとえば8ビ
ットおよび16ビットの固定小数点フォーマットデー
タ)を、グラフィックスパイプライン116によって使
用される一様な浮動小数点表現へと変換する。逆量子化
器214は、弾力的な種々の異なるタイプのフォーマッ
トおよび多くの属性のためのハードウエアサポートを提
供し、このようなデータは直接のデータまたは索引付デ
ータとして、表示リストプロセサ213に提示されるこ
とができる。逆量子化器214の一様な浮動小数点表現
出力は、ラスタ化およびさらなる処理のためにグラフィ
ックスパイプライン116に与えられる。最適化として
所望のときは、頂点ストリップデータを再変換する必要
性を回避するために、逆量子化器214の出力位置にさ
らなる小さいキャッシュまたはバッファを設けてもよ
い。
【0038】頂点索引アレイ 図7は、頂点キャッシュ212を介して間接的(すなわ
ち、索引付の)頂点属性データを与えるために使用され
る、好ましい実施例における索引付き頂点リスト300
のさらに詳細な例を示している。この一般化された索引
付き頂点リスト300は、図1に示したシステムにおけ
るプリミティブを定義するために使用してもよい。夫々
のプリミティブは索引のリストによって記述され、その
夫々は頂点アレイの中に索引をつける。頂点およびプリ
ミティブは夫々、フォーマット記述子を使用して、それ
らの項目のタイプを定義する。これらの記述子は、属性
をタイプに結びつける。属性は、表現するハードウエア
に対して特定の意味を有するデータ項目である。これ
は、頂点/プリミティブストリームがロードされたとき
にそれを解析および変換するように、記述子でハードウ
エアをプログラミングする可能性を与える。最小サイズ
のタイプと最小数の属性を使用することで、ジオメトリ
の圧縮につながる。図7の構成はまた、所望により、属
性を頂点、索引またはプリミティブに関連させる。
【0039】このように、図7の索引付き頂点アレイ3
00の例では、プリミティブリスト302は、データス
トリーム(たとえばprim0,prim1,prim
2,prim3…)における種々の各プリミティブ(た
とえば3角形)を定義する。プリミティブ記述子ブロッ
ク308は、プリミティブに共通の属性を与えることが
できる(たとえば直接または索引付けされ得るテクスチ
ャデータおよび結合データ)を与えることができる。プ
リミティブリスト302内の各プリミティブは、頂点リ
スト304内の対応する頂点に索引を付ける。頂点リス
ト304内の1つの頂点は、プリミティブリスト302
内の複数のプリミティブによって使用され得る。所望で
あれば、プリミティブリスト302は明確ではなく暗示
的であってもよい。すなわち、頂点リスト304は、暗
的に(たとえば3角形ストリップを使用して)対応す
るプリミティブを定義するように配列することができ
る。
【0040】頂点記述子ブロック306は、頂点リスト
304の夫々の頂点について与えることができる。頂点
記述子ブロック306は、特定の頂点に対応する属性デ
ータを含んでいる(たとえば、rgbまたは他の色デー
タ,アルファデータ,xyz表面法線データ)。図4に
示すように、頂点記述子ブロック306は、多くの異な
った索引付き成分ブロックを含むことができる。この頂
点属性記述子ブロック306は、いずれの頂点属性が存
在するか、成分の数およびサイズならびに成分が参照さ
れる方法(たとえば直接的…すなわち、量子化された頂
点データストリーム内に含まれる…または索引付けされ
る)を決定する。一例において、特定のプリミティブに
ついての描画(DRAW)コマンドにおける頂点は、全
て同じ頂点属性データ構造フォーマットを有する。
【0041】図8は、頂点属性ブロック306によって
与えられる属性リストの例を示している。次表1に示す
属性が提供されてもよい。
【0042】
【表1】
【0043】この例の頂点属性記述子ブロック306に
おいて、位置属性は常に存在し、索引付けされたものま
たは直接的なものでもよく、多くの異なった量子化され
圧縮されたフォーマット(たとえば、浮動小数点,8ビ
ット,整数,または16ビット)をとることができる。
全ての残りの属性は、いずれかの頂点について存在して
も存在しなくてもよく、所望により索引付きでも直接的
であってもよい。位置値と同様に、テクスチャ座標値は
種々の異なったフォーマット(たとえば、8ビット整
数、16ビット整数または浮動小数点)で表現すること
ができ、表面法線属性についてもそうである。拡散色お
よび鏡色の属性は、16ビット3補数,24ビット3補
数,32ビット3補数,または16,24もしくは32
ビット4補数を含む種々のフォーマットで、3(rg
b)または4(rgba)の値を与えることができる。
所定のプリミティブについての全ての頂点は、好ましく
は同じフォーマットを有する。
【0044】この例において、頂点記述子306は、1
6ビットポインタを使用する索引付きデータを属性アレ
イの中に照合する。アレイ内の特定の属性にアクセスす
るために使用される特定のオフセットは、たとえば属性
における成分の数,成分の大きさ,アライメント目的の
属性間のパディング,および複数の属性が同じアレイの
中にインタリーブされるかどうかを含む多くの因子に依
存する。1つの頂点は、混合された直接的または間接的
な属性を有することができ、また幾つかの属性はハード
ウエアによって発生することができる(たとえば、位置
からテクスチャ座標を発生させる)。何れの属性も直接
に、または索引としてアレイの中に送ることができる。
頂点キャッシュう212は、過剰なキャッシュミスを伴
うことなく、典型的な数の夫々のデータ成分ストリーム
(たとえば位置,法線,色およびテクスチャ)を扱うた
めに充分なキャッシュラインを含んでいる。
【0045】頂点キャッシュの具体化 図9は、頂点キャッシュ212および関連ロジックの一
例を示す概略図である。この例の頂点キャッシュ212
は、512×112ビットのデュアルポートRAMとし
て構成された8キロバイトのキャッシュメモリ400を
含んでいる。多くの属性ストリームがキャッシュ212
の中で探索されるので、8本のタグラインを含む8組の
セットアソシアティブキャッシュを使用して、スラッシ
ングを低減する。各タグラインは32×16ビットのデ
ュアルポートのRAM404および関連タグ状態レジス
タ406を含んでいる。タグRAM 404は、頂点R
AM404内に保存された対応するデータブロックのメ
インメモリアドレスを保存する。アドレス計算ブロック
408は、必要な頂点属性データが既に頂点RAM40
0内に存在するか否か、あるいはメインメモリへの追加
の取り込みが必要か否かを決定する。メモリ待ち時間を
隠すために、キャッシュラインはメインメモリ104か
ら先取りされる。
【0046】図10は、頂点ストリームパーサ208に
よって頂点キャッシュ212に与えられるメモリアドレ
スフォーマットの一例を示している。このメモリアドレ
ス450は、キャッシュラインの中にバイトオフセット
を与えるフィールド452,タグRAMアドレス45
4,およびタグRAM404の内容と比較するためのメ
インメモリアドレス456を含んでいる。アドレス計算
ブロック408はメインメモリアドレス456をタグR
AM404の内容と比較して、必要なデータが既に頂点
RAM400内にキャッシュされたか否か、またはそれ
をメインメモリ104から取り込むことが必要か否かを
決定する。
【0047】タグ状態レジスタ406は、図11に示し
たフォーマットでデータを保存する。データ有効フィー
ルド462は、特定のキャッシュライン内のデータが有
効であるかどうかを指示する。カウンタフィールド46
4は、キャッシュラインに依存する待ち行列410中の
エントリ数のトラックを維持する。カウンタフィールド
464は、ミスが発生したときに全てのタグ状態レジス
タ406がデータ有効を示す場合に使用される。アドレ
ス計算ブロック408は、新たなエントリのための余裕
を形成するために、キャッシュラインの1つを捨てる必
要がある。カウンタフィールド464がゼロでなけれ
ば、キャッシュラインは未だ使用中であり、捨て去るこ
とはできない。改良された部分的LRUアルゴリズムに
基づき、アドレス計算ブロック408は置き換えのため
にキャッシュラインの1つを選択する。データ有効フィ
ールド462は「無効」にセットされ、キャッシュライ
ンはメインメモリ104からの新たな内容で置き換えら
れる。もう1つの属性索引が同じキャッシュラインにマ
ップすると、カウンタフィールド464はインクリメン
トされる。データがメインメモリ104から到達する
と、データ有効ビットがセットされ、エントリは待ち行
列410から処理可能となる。あるいは、データがキャ
ッシュRAM400の中に入れられるまで、待ち行列4
10の処理が停止されるであろう。待ち行列エントリの
ためにキャッシュRAM400がアクセスされると、カ
ウンタ464はディクリメントされる。
【0048】現時点で最も実際的且つ好ましいと思われ
る実施例に関連してこの発明を説明してきたが、この発
明はこの開示された実施例に限定されるものではなく、
逆に、特許請求の範囲内に含まれる種々の変形例および
均等な構成をもカバーするものであることが理解される
べきである。
【図面の簡単な説明】
【図1】図1は対話型3次元グラフィックスシステムの
一例を示すブロック図である。
【図2】図2は図1に示したグラフィックス/オーディ
オコプロセサの例を示すブロック図である。
【図3】図3は図2のグラフィックス/オーディオコプ
ロセサ部分のより詳細なブロック図で3次元パイプライ
ングラフィックス処理構成の一例を示す。
【図4】図4は頂点索引アレイデータを設けた頂点キャ
ッシュを含むコマンドプロセサの一例を示す。
【図5】図5はこの発明に従って設けられた頂点キャッ
シュを含む表示リストプロセサの一例を示す。
【図6】図6はデュアルFIFO構成の一例を示してい
る。
【図7】図7は索引付き頂点データ構造の一例を示す概
略図である。
【図8】図8は頂点記述子ブロックの一例を示してい
る。
【図9】図9は頂点キャッシュの具体化の一例を示すブ
ロック図である。
【図10】図10は頂点キャッシュメモリアドレスフォ
ーマットの一例を示している。
【図11】図11は頂点キャッシュタグ状態レジスタフ
ォーマットの一例を示している。
【符号の説明】 100 …対話型3次元コンピュータグラフィックスシ
ステム 102 …メインプロセサ(CPU) 104 …メインメモリ 106 …グラフィックス/オーディオコプロセサ 107 …3次元グラフィックスプロセサ 114 …コマンドプロセサ 116 …グラフィクスパイプライン 212 …頂点キャッシュ 213 …表示リストプロセサ
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート ムーア アメリカ合衆国 ワシントン州 レドモン ド 2522 227番地北東 (72)発明者 ティモシー ジェイ ヴァンフック アメリカ合衆国 カリフォルニア州 アサ ートン オークグローブ通り224

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】ポリゴン頂点データを保存するメモリおよ
    び少なくとも一部は前記ポリゴン頂点データに応答して
    画像を発生して表示する3次元グラフィックスエンジン
    を含む3次元グラフィックスシステムにおいて、前記メ
    モリおよび前記3次元グラフィックスエンジンに動作可
    能に結合された頂点キャッシュであって、 前記ポリゴン頂点データが索引付き頂点データ表現を含
    み、前記頂点キャッシュは前記索引付き頂点データ表現
    に応答して動作し、前記メモリから索引付き頂点データ
    をキャッシュし、画像表示のための再ソーティングなし
    で、前記グラフィックスエンジンに使用させるようにし
    たことを特徴とする、頂点キャッシュ。
  2. 【請求項2】前記3次元グラフィックスエンジンは集積
    回路に配置されており、 前記集積回路に配置されて前記3次元グラフィックスエ
    ンジンと動作可能に結合されたメモリ装置をさらに備え
    る、請求項1記載の頂点キャッシュ。
  3. 【請求項3】前記メモリ装置は前記頂点データをキャッ
    シュするための組連想キャッシュメモリを備える、請求
    項2記載の頂点キャッシュ。
  4. 【請求項4】前記組連想キャッシュメモリは8個のキャ
    ッシュラインを提供する、請求項3記載の頂点キャッシ
    ュ。
  5. 【請求項5】前記メモリ装置は8キロバイトの短い待ち
    時間のRAMを含む、請求項2記載の頂点キャッシュ。
  6. 【請求項6】複数のキャッシュタグラインを備える、請
    求項1記載の頂点キャッシュ。
  7. 【請求項7】前記複数のキャッシュタグ状態レジスタを
    含む、請求項1記載の頂点キャッシュ。
  8. 【請求項8】待ち行列およびミス待ち行列を含む、請求
    項1記載の頂点キャッシュ。
  9. 【請求項9】前記頂点キャッシュは、使用時に前記メモ
    リに結合され、前記グラフィックスエンジンが前記頂点
    データを必要とするときに、前記メモリから頂点データ
    を取り込む、請求項1記載の頂点キャッシュ。
  10. 【請求項10】前記頂点キャッシュと前記3次元グラフ
    ィックスエンジンとの間に動作可能に連結されたハード
    ウエアベースの逆量子化装置をさらに備え、 前記逆量子化装置は、前記3次元グラフィックスエンジ
    ンによる使用のために、複数の頂点データフォーマット
    を一様な浮動小数点フォーマットに変換する、請求項1
    記載の頂点キャッシュ。
  11. 【請求項11】前記索引付き頂点データ表現は属性デー
    タを参照する索引付きアレイを含む、請求項1記載の頂
    点キャッシュ。
  12. 【請求項12】前記索引付きアレイは前記属性データを
    直接参照する、請求項11記載の頂点キャッシュ。
  13. 【請求項13】前記索引付きアレイは前記属性データを
    間接的に参照する、請求項11記載の頂点キャッシュ。
  14. 【請求項14】ポリゴン頂点データを保存するメモリお
    よび少なくとも一部は前記ポリゴン頂点データに応答し
    て画像を発生および表示する3次元グラフィックスエン
    ジンを含む3次元ビデオグラフィックスシステムにおい
    て、前記3次元グラフィックスエンジンが使用するため
    に前記メモリから前記頂点データにアクセスするための
    方法であって、 (a) 前記ポリゴン頂点データを索引付き頂点データ表現
    で表現するステップ、および(b) 前記索引付き頂点デー
    タを、前記3次元グラフィックスエンジンに対してロー
    カルな短い待ち時間のキャッシュメモリ装置の中に取り
    込んで、前記索引付き頂点データを前記3次元グラフィ
    ックスエンジンによるアクセスのために利用可能にする
    ステップを含む、方法。
  15. 【請求項15】前記ステップ(b) は、前記3次元グラフ
    ィックスエンジンが前記頂点データを必要とするとき
    に、頂点データを前記メモリから前記キャッシュメモリ
    装置へ取り込むステップをさらに含む、請求項14記載
    の方法。
  16. 【請求項16】前記ステップ(b) は、前記キャッシュメ
    モリ装置に保存された複数の頂点データフォーマット
    を、前記3次元グラフィックスエンジンによる使用のた
    めの一様な浮動小数点フィーマットに変換するステップ
    をさらに含む、請求項14記載の方法。
JP2000326915A 1999-10-28 2000-10-26 3次元グラフィックスのための頂点キャッシュ Expired - Lifetime JP4644353B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16191599P 1999-10-28 1999-10-28
US09/465754 1999-12-17
US09/465,754 US6717577B1 (en) 1999-10-28 1999-12-17 Vertex cache for 3D computer graphics
US60/161915 1999-12-17

Publications (2)

Publication Number Publication Date
JP2001195603A true JP2001195603A (ja) 2001-07-19
JP4644353B2 JP4644353B2 (ja) 2011-03-02

Family

ID=26858260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000326915A Expired - Lifetime JP4644353B2 (ja) 1999-10-28 2000-10-26 3次元グラフィックスのための頂点キャッシュ

Country Status (3)

Country Link
US (1) US6717577B1 (ja)
EP (1) EP1096427A3 (ja)
JP (1) JP4644353B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249796A (ja) * 2006-03-17 2007-09-27 Sony Corp 画像処理装置および画像処理方法、並びにプログラム
KR100791478B1 (ko) 2006-07-14 2008-01-04 엠텍비젼 주식회사 정점 처리를 위한 인코딩 장치, 디코딩 장치 및 그 방법
JP2008520021A (ja) * 2004-11-15 2008-06-12 アーム・ノルウェー・アー・エス 3次元グラフィックス処理装置および方法
WO2008126392A1 (ja) 2007-04-11 2008-10-23 Panasonic Corporation 画像生成装置及び画像生成方法
JP2009545825A (ja) * 2006-08-03 2009-12-24 クゥアルコム・インコーポレイテッド 拡張型頂点キャッシュを備えたグラフィック処理装置
JP2010535393A (ja) * 2007-07-30 2010-11-18 クゥアルコム・インコーポレイテッド グラフィックス・システムにおける可変長の圧縮と関連付けのための方式
JP2010277304A (ja) * 2009-05-28 2010-12-09 Fujitsu Semiconductor Ltd 描画データ処理方法、図形描画システム、及び図形描画データ作成プログラム
JP2016523404A (ja) * 2013-06-10 2016-08-08 株式会社ソニー・インタラクティブエンタテインメント 頂点シェーダ出力パラメータの圧縮スキーム
US10096079B2 (en) 2013-06-10 2018-10-09 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US10134102B2 (en) 2013-06-10 2018-11-20 Sony Interactive Entertainment Inc. Graphics processing hardware for using compute shaders as front end for vertex shaders
US10176621B2 (en) 2013-06-10 2019-01-08 Sony Interactive Entertainment Inc. Using compute shaders as front end for vertex shaders
WO2019087553A1 (ja) * 2017-11-02 2019-05-09 キヤノン株式会社 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801203B1 (en) * 1999-12-22 2004-10-05 Microsoft Corporation Efficient graphics pipeline with a pixel cache and data pre-fetching
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6966837B1 (en) * 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
JP3746211B2 (ja) 2001-08-03 2006-02-15 株式会社ソニー・コンピュータエンタテインメント 描画装置、描画方法、描画プログラム、描画プログラムを記録したコンピュータ読み取り可能な記録媒体、及びグラフィックスプロセッサ
TWI245234B (en) * 2001-12-19 2005-12-11 Silicon Integrated Sys Corp Apparatus and method for accessing vertex data
CN1293512C (zh) * 2001-12-28 2007-01-03 矽统科技股份有限公司 顶点资料队列控制器
US6928526B1 (en) * 2002-12-20 2005-08-09 Datadomain, Inc. Efficient data storage system
FI117579B (fi) * 2003-01-17 2006-11-30 Cadfaster Oy Menetelmä, laite ja tietokoneohjelma tietokoneavusteisen polygonimallin prosessointiin
US7190367B2 (en) * 2003-03-25 2007-03-13 Mitsubishi Electric Research Laboratories, Inc. Method, apparatus, and system for rendering using a progressive cache
US6943797B2 (en) * 2003-06-30 2005-09-13 Sun Microsystems, Inc. Early primitive assembly and screen-space culling for multiple chip graphics system
US20050206648A1 (en) * 2004-03-16 2005-09-22 Perry Ronald N Pipeline and cache for processing data progressively
FI117655B (fi) * 2004-03-25 2006-12-29 Cadfaster Oy Menetelmä tietokoneavusteisen polygonimallin prosessointiin, laite ja tietokoneohjelma
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
US8416242B1 (en) 2004-05-14 2013-04-09 Nvidia Corporation Method and system for interpolating level-of-detail in graphics processors
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US8411105B1 (en) 2004-05-14 2013-04-02 Nvidia Corporation Method and system for computing pixel parameters
US20060007234A1 (en) * 2004-05-14 2006-01-12 Hutchins Edward A Coincident graphics pixel scoreboard tracking system and method
US7079156B1 (en) * 2004-05-14 2006-07-18 Nvidia Corporation Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
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
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
US8432394B1 (en) 2004-05-14 2013-04-30 Nvidia Corporation Method and system for implementing clamped z value interpolation in a raster stage of a graphics pipeline
US7339590B1 (en) * 2004-09-02 2008-03-04 Nvidia Corporation Vertex processing unit supporting vertex texture mapping
US7631145B1 (en) 2005-06-23 2009-12-08 Nvidia Corporation Inter-frame texel cache
US7616209B1 (en) 2006-06-16 2009-11-10 Nvidia Corporation Prescient cache management
US7626588B1 (en) * 2006-06-16 2009-12-01 Nvidia Corporation Prescient cache management
US8009172B2 (en) * 2006-08-03 2011-08-30 Qualcomm Incorporated Graphics processing unit with shared arithmetic logic unit
US7928990B2 (en) * 2006-09-27 2011-04-19 Qualcomm Incorporated Graphics processing unit with unified vertex cache and shader register file
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US7982741B2 (en) 2006-11-29 2011-07-19 Microsoft Corporation Shared graphics infrastructure
US7934058B2 (en) * 2006-12-14 2011-04-26 Microsoft Corporation Predictive caching of assets to improve level load time on a game console
JP4389947B2 (ja) * 2007-02-19 2009-12-24 ソニー株式会社 記録再生装置、データ処理装置、再生方法及びデータ処理方法
US8022958B2 (en) 2007-04-04 2011-09-20 Qualcomm Incorporated Indexes of graphics processing objects in graphics processing unit commands
US8907964B2 (en) * 2007-04-10 2014-12-09 Vivante Corporation System and method for dynamically reconfiguring a vertex cache
US20080276067A1 (en) * 2007-05-01 2008-11-06 Via Technologies, Inc. Method and Apparatus for Page Table Pre-Fetching in Zero Frame Display Channel
US8441497B1 (en) 2007-08-07 2013-05-14 Nvidia Corporation Interpolation of vertex attributes in a graphics processor
US9183607B1 (en) 2007-08-15 2015-11-10 Nvidia Corporation Scoreboard cache coherence in a graphics pipeline
US8384728B2 (en) * 2007-09-14 2013-02-26 Qualcomm Incorporated Supplemental cache in a graphics processing unit, and apparatus and method thereof
US8599202B1 (en) * 2008-09-29 2013-12-03 Nvidia Corporation Computing tessellation coordinates using dedicated hardware
US9256514B2 (en) 2009-02-19 2016-02-09 Nvidia Corporation Debugging and perfomance analysis of applications
GB2470611B (en) * 2009-06-25 2011-06-29 Tv One Ltd Apparatus and method for processing data
US8614716B2 (en) 2010-10-01 2013-12-24 Apple Inc. Recording a command stream with a rich encoding format for capture and playback of graphics content
US8462166B2 (en) * 2010-10-01 2013-06-11 Apple Inc. Graphics system which measures CPU and GPU performance
US8762644B2 (en) * 2010-10-15 2014-06-24 Qualcomm Incorporated Low-power audio decoding and playback using cached images
GB201103699D0 (en) 2011-03-03 2011-04-20 Advanced Risc Mach Ltd Graphic processing
GB201103698D0 (en) 2011-03-03 2011-04-20 Advanced Risc Mach Ltd Graphics processing
US9460546B1 (en) 2011-03-30 2016-10-04 Nvidia Corporation Hierarchical structure for accelerating ray tracing operations in scene rendering
US8970584B1 (en) 2011-06-24 2015-03-03 Nvidia Corporation Bounding box-based techniques for improved sample test efficiency in image rendering
US9153068B2 (en) 2011-06-24 2015-10-06 Nvidia Corporation Clipless time and lens bounds for improved sample test efficiency in image rendering
US9142043B1 (en) 2011-06-24 2015-09-22 Nvidia Corporation System and method for improved sample test efficiency in image rendering
US9269183B1 (en) 2011-07-31 2016-02-23 Nvidia Corporation Combined clipless time and lens bounds for improved sample test efficiency in image rendering
US9305394B2 (en) 2012-01-27 2016-04-05 Nvidia Corporation System and process for improved sampling for parallel light transport simulation
US8976188B1 (en) 2012-04-20 2015-03-10 Google Inc. Optimized data communication system and method for an image rendering system
US9411595B2 (en) 2012-05-31 2016-08-09 Nvidia Corporation Multi-threaded transactional memory coherence
US9171394B2 (en) 2012-07-19 2015-10-27 Nvidia Corporation Light transport consistent scene simplification within graphics display system
US9159158B2 (en) 2012-07-19 2015-10-13 Nvidia Corporation Surface classification for point-based rendering within graphics display system
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
US9418437B2 (en) * 2013-03-15 2016-08-16 Nvidia Corporation Stencil then cover path rendering with shared edges
KR102048885B1 (ko) 2013-05-09 2019-11-26 삼성전자 주식회사 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법
US9477575B2 (en) 2013-06-12 2016-10-25 Nvidia Corporation Method and system for implementing a multi-threaded API stream replay
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering
US9721363B2 (en) 2014-05-19 2017-08-01 Google Inc. Encoding polygon data for fast retrieval and rendering
US9645916B2 (en) 2014-05-30 2017-05-09 Apple Inc. Performance testing for blocks of code
GB2528263B (en) * 2014-07-14 2020-12-23 Advanced Risc Mach Ltd Graphics processing systems
US20170286122A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Instruction, Circuits, and Logic for Graph Analytics Acceleration
US10417134B2 (en) * 2016-11-10 2019-09-17 Oracle International Corporation Cache memory architecture and policies for accelerating graph algorithms
US10861216B2 (en) * 2017-04-07 2020-12-08 Intel Corporation Ray tracing apparatus and method for memory access and register operations
EP3474185B1 (en) * 2017-10-18 2023-06-28 Dassault Systèmes Classification of 2d images according to types of 3d arrangement
US10762667B2 (en) * 2018-11-30 2020-09-01 Point Cloud Compression, B.V. Method and apparatus for compression of point cloud data
CN111028128B (zh) * 2019-11-18 2023-10-17 中国航空工业集团公司西安航空计算技术研究所 基于SystemC面向GPU顶点输出控制方法及单元
CN111047503B (zh) * 2019-11-21 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种顶点数组类命令的属性存储与组装优化电路
CN114090078A (zh) * 2021-10-29 2022-02-25 龙芯中科技术股份有限公司 图数据预取方法、处理器和电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162171A (ja) * 1992-08-03 1994-06-10 Ball Corp コンピューターグラフィックスにおける多角形の頂点インデックスキャッシュシステム
JPH06348854A (ja) * 1993-06-04 1994-12-22 Sun Microsyst Inc グラフィックアクセラレータ及び幾何学オブジェクト描出方法
JPH07210461A (ja) * 1993-12-28 1995-08-11 Internatl Business Mach Corp <Ibm> ストア・イン第2レベル・キャッシュ制御装置
JPH09167242A (ja) * 1995-12-19 1997-06-24 Fuji Xerox Co Ltd 描画処理装置および方法
JPH09297853A (ja) * 1996-05-07 1997-11-18 Sega Enterp Ltd ポリゴンデータの生成方法、これを適用した画像処理装置及び拡張機能ボード
WO1997048048A1 (en) * 1996-06-13 1997-12-18 Micron Technology, Inc. Word width selection for sram cache
JPH10320198A (ja) * 1997-04-10 1998-12-04 Internatl Business Mach Corp <Ibm> データを転送する方法およびプロセッサ
JPH11259671A (ja) * 1998-03-12 1999-09-24 Sega Enterp Ltd 画像表示方法及びそれを実行する画像表示装置

Family Cites Families (331)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275413A (en) 1978-03-30 1981-06-23 Takashi Sakamoto Linear interpolator for color correction
US4357624A (en) 1979-05-15 1982-11-02 Combined Logic Company Interactive video production system
US4463380A (en) 1981-09-25 1984-07-31 Vought Corporation Image processing system
US4600919A (en) 1982-08-03 1986-07-15 New York Institute Of Technology Three dimensional animation
US4615013A (en) 1983-08-02 1986-09-30 The Singer Company Method and apparatus for texture generation
US4586038A (en) 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
EP0146961B1 (en) 1983-12-26 1991-03-20 Hitachi, Ltd. Image and graphic pattern processing apparatus
US4808988A (en) 1984-04-13 1989-02-28 Megatek Corporation Digital vector generator for a graphic display system
US4625289A (en) 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US5239624A (en) 1985-06-19 1993-08-24 Pixar Pseudo-random point sampling techniques in computer graphics
US4897806A (en) 1985-06-19 1990-01-30 Pixar Pseudo-random point sampling techniques in computer graphics
JPH0762794B2 (ja) 1985-09-13 1995-07-05 株式会社日立製作所 グラフイツク表示装置
US4974177A (en) 1985-10-04 1990-11-27 Daikin Industries Ltd. Mapping circuit of a CRT display device
US4692880A (en) 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
US4817175A (en) 1986-08-26 1989-03-28 Schlumberger Systems And Services, Inc. Video stream processing system
US4855934A (en) 1986-10-03 1989-08-08 Evans & Sutherland Computer Corporation System for texturing computer graphics images
US4918625A (en) 1986-12-19 1990-04-17 Cae-Link Corporation Method and apparatus for processing translucent objects
US4965750A (en) 1987-03-31 1990-10-23 Hitachi, Ltd. Graphic processor suitable for graphic data transfer and conversion processes
US4935879A (en) 1987-08-05 1990-06-19 Daikin Industries, Ltd. Texture mapping apparatus and method
US5144291A (en) 1987-11-02 1992-09-01 Matsushita Electric Industrial Co., Ltd. Means for eliminating hidden surface
US4888712A (en) 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US5361386A (en) 1987-12-04 1994-11-01 Evans & Sutherland Computer Corp. System for polygon interpolation using instantaneous values in a variable
US4974176A (en) 1987-12-18 1990-11-27 General Electric Company Microtexture for close-in detail
JPH0693181B2 (ja) 1988-03-18 1994-11-16 株式会社日立製作所 表示装置
US6054999A (en) 1988-03-22 2000-04-25 Strandberg; Oerjan Method and apparatus for computer supported animation
EP0336430B1 (en) 1988-04-08 1994-10-19 Dainippon Screen Mfg. Co., Ltd. Method of extracting contour of subject image from original
US4907174A (en) 1988-06-02 1990-03-06 Sun Microsystems, Inc. Z-buffer allocated for window identification
US5097427A (en) 1988-07-06 1992-03-17 Hewlett-Packard Company Texture mapping for computer graphics display controller system
US5315692A (en) 1988-07-22 1994-05-24 Hughes Training, Inc. Multiple object pipeline display system
US5003496A (en) 1988-08-26 1991-03-26 Eastman Kodak Company Page memory control in a raster image processor
US4989138A (en) 1988-09-02 1991-01-29 Tektronix, Inc. Single bus graphics data processing pipeline with decentralized bus arbitration
JPH0727581B2 (ja) 1988-09-09 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 図形処理装置
US5016183A (en) 1988-09-13 1991-05-14 Computer Design, Inc. Textile design system and method
US5018076A (en) 1988-09-16 1991-05-21 Chips And Technologies, Inc. Method and circuitry for dual panel displays
GB8828342D0 (en) 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
US5062057A (en) 1988-12-09 1991-10-29 E-Machines Incorporated Computer display controller with reconfigurable frame buffer memory
US5659673A (en) 1988-12-16 1997-08-19 Canon Kabushiki Kaisha Image processing apparatus
US5255353A (en) 1989-02-28 1993-10-19 Ricoh Company, Ltd. Three-dimensional shadow processor for an image forming apparatus
US5204944A (en) 1989-07-28 1993-04-20 The Trustees Of Columbia University In The City Of New York Separable image warping methods and systems using spatial lookup tables
EP0423653B1 (en) 1989-10-13 1997-08-06 Matsushita Electric Industrial Co., Ltd. Method and apparatus for compensating for color in color images
JPH0776991B2 (ja) 1989-10-24 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Nurbsデータ変換方法及び装置
JP3005007B2 (ja) 1989-12-21 2000-01-31 キヤノン株式会社 画像符号化装置
SE464265B (sv) 1990-01-10 1991-03-25 Stefan Blixt Grafikprocessor
GB2240017A (en) 1990-01-15 1991-07-17 Philips Electronic Associated New, interpolated texture values are fed back to texture memories
GB2240015A (en) 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
US5224208A (en) 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
AU7747591A (en) 1990-05-12 1991-12-10 Rediffusion Simulation Limited Image generator
DE69122557T2 (de) 1990-06-29 1997-04-24 Philips Electronics Nv Bilderzeugung
EP0470782B1 (en) 1990-08-08 1996-02-14 The Peerless Group Image rendering process and apparatus
US5241658A (en) 1990-08-21 1993-08-31 Apple Computer, Inc. Apparatus for storing information in and deriving information from a frame buffer
US5268995A (en) 1990-11-21 1993-12-07 Motorola, Inc. Method for executing graphics Z-compare and pixel merge instructions in a data processor
US5268996A (en) 1990-12-20 1993-12-07 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
US5307450A (en) 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
JPH07122908B2 (ja) 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元のソリッド物体を表す表示可能情報を生成する装置と方法
US5415549A (en) 1991-03-21 1995-05-16 Atari Games Corporation Method for coloring a polygon on a video display
JP3316592B2 (ja) 1991-06-17 2002-08-19 サン・マイクロシステムズ・インコーポレーテッド 二重バッファ・出力ディスプレー・システム、および、第1のフレーム・バッファおよび第2のフレーム・バッファ相互間の切り換えを行う方法
DE69233717T2 (de) 1991-06-28 2008-10-30 Lim, Hong Lip, Darlington Verbesserungen in sichtbarkeit-berechnungen fuer 3d-rechner
JP3321651B2 (ja) 1991-07-26 2002-09-03 サン・マイクロシステムズ・インコーポレーテッド コンピュータの出力表示のためのフレームバッファメモリを提供する装置および方法
EP0739513B1 (en) 1991-08-13 1999-10-27 The Board Of Regents Of The University Of Washington Method of transmitting of data
TW225595B (ja) 1991-09-03 1994-06-21 Gen Electric
US5404445A (en) 1991-10-31 1995-04-04 Toshiba America Information Systems, Inc. External interface for a high performance graphics adapter allowing for graphics compatibility
US5353424A (en) * 1991-11-19 1994-10-04 Digital Equipment Corporation Fast tag compare and bank select in set associative cache
US5345541A (en) 1991-12-20 1994-09-06 Apple Computer, Inc. Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device
US5377313A (en) 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
EP0656142B1 (en) 1992-04-17 1999-06-16 Intel Corporation Visual frame buffer architecture
JP2760731B2 (ja) 1992-04-30 1998-06-04 株式会社東芝 グラフィックス互換性を可能にする高性能グラフィックスアダプタ用外部インターフェース回路
US5469535A (en) 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
GB2267203B (en) 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
US5366376A (en) 1992-05-22 1994-11-22 Atari Games Corporation Driver training system and method with performance data feedback
US5473736A (en) 1992-06-08 1995-12-05 Chroma Graphics Method and apparatus for ordering and remapping colors in images of real two- and three-dimensional objects
US5432900A (en) 1992-06-19 1995-07-11 Intel Corporation Integrated graphics and video computer display system
US5828907A (en) 1992-06-30 1998-10-27 Discovision Associates Token-based adaptive video processing arrangement
JPH0628485A (ja) 1992-07-09 1994-02-04 Toshiba Corp テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法
US5475803A (en) 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
JPH07325934A (ja) 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
GB2270243B (en) 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
US5431471A (en) 1992-09-16 1995-07-11 Mi-Jack Products, Inc. Side fitting connection apparatus for lifting trailers and containers
JP2682559B2 (ja) 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム
US5432895A (en) 1992-10-01 1995-07-11 University Corporation For Atmospheric Research Virtual reality imaging system
GB2271259A (en) 1992-10-02 1994-04-06 Canon Res Ct Europe Ltd Processing image data
US5890190A (en) 1992-12-31 1999-03-30 Intel Corporation Frame buffer for storing graphics and video data
US5559954A (en) 1993-02-24 1996-09-24 Intel Corporation Method & apparatus for displaying pixels from a multi-format frame buffer
US5859645A (en) 1993-03-26 1999-01-12 Loral Corporation Method for point sampling in computer graphics systems
BR9404930A (pt) 1993-04-09 1999-06-15 Sega Enterprises Kk Dispositivo de conexões múltiplas para uso em aparelho de jogo
US5644364A (en) 1993-04-16 1997-07-01 Avid Technology, Inc. Media pipeline with multichannel video processing and playback
US5606650A (en) 1993-04-22 1997-02-25 Apple Computer, Inc. Method and apparatus for storage and retrieval of a texture map in a graphics display system
JP3026698B2 (ja) 1993-05-27 2000-03-27 キヤノン株式会社 画像処理方法及びその装置
GB2278524B (en) 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5408650A (en) 1993-06-29 1995-04-18 Digital Equipment Corporation Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program
US5490240A (en) 1993-07-09 1996-02-06 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures
JPH0778267A (ja) 1993-07-09 1995-03-20 Silicon Graphics Inc 陰影を表示する方法及びコンピュータ制御表示システム
GB9316214D0 (en) 1993-08-05 1993-09-22 Philips Electronics Uk Ltd Image processing
DE69408473T2 (de) 1993-10-15 1998-08-27 Evans & Sutherland Computer Co Direktes rendering von texturierten höhenfeldern
JPH07146952A (ja) 1993-11-22 1995-06-06 Konami Kk 3次元画像処理装置
WO1995015528A1 (en) 1993-11-30 1995-06-08 Vlsi Technology, Inc. A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade
JPH07200386A (ja) 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
US5592597A (en) 1994-02-14 1997-01-07 Parametric Technology Corporation Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics
US5557712A (en) 1994-02-16 1996-09-17 Apple Computer, Inc. Color map tables smoothing in a color computer graphics system avoiding objectionable color shifts
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
US5487146A (en) 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5506604A (en) 1994-04-06 1996-04-09 Cirrus Logic, Inc. Apparatus, systems and methods for processing video data in conjunction with a multi-format frame buffer
US5461712A (en) 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5608864A (en) 1994-04-29 1997-03-04 Cirrus Logic, Inc. Variable pixel depth and format for video windows
US5664162A (en) 1994-05-23 1997-09-02 Cirrus Logic, Inc. Graphics accelerator with dual memory controllers
JP3220328B2 (ja) 1994-06-01 2001-10-22 株式会社ソニー・コンピュータエンタテインメント ビデオゲーム機
US5694143A (en) 1994-06-02 1997-12-02 Accelerix Limited Single chip frame buffer and graphics accelerator
WO1995035572A1 (en) 1994-06-20 1995-12-28 Neomagic Corporation Graphics controller integrated circuit without memory interface
US5600763A (en) 1994-07-21 1997-02-04 Apple Computer, Inc. Error-bounded antialiased rendering of complex scenes
US5684941A (en) 1994-09-01 1997-11-04 Cirrus Logic, Inc. Interpolation rendering of polygons into a pixel grid
US5678037A (en) 1994-09-16 1997-10-14 Vlsi Technology, Inc. Hardware graphics accelerator system and method therefor
US5553228A (en) 1994-09-19 1996-09-03 International Business Machines Corporation Accelerated interface between processors and hardware adapters
US5933154A (en) 1994-09-30 1999-08-03 Apple Computer, Inc. Multi-panel video display control addressing of interleaved frame buffers via CPU address conversion
GB2293938B (en) 1994-10-04 1999-01-20 Winbond Electronics Corp Apparatus for digital video format conversion
TW278162B (ja) 1994-10-07 1996-06-11 Yamaha Corp
TW357913U (en) 1994-10-12 1999-05-01 Sega Enterprises Kk Peripheral machinery
JPH08123969A (ja) 1994-10-28 1996-05-17 Mitsubishi Electric Corp マッピング装置
GB9422089D0 (en) 1994-11-02 1994-12-21 Philips Electronics Uk Ltd Blurring for computer graphics
US5593350A (en) 1994-11-04 1997-01-14 Thrustmaster, Inc. Video game card having interrupt resistant behavior
US6067098A (en) 1994-11-16 2000-05-23 Interactive Silicon, Inc. Video/graphics controller which performs pointer-based display list video refresh operation
US5838334A (en) 1994-11-16 1998-11-17 Dye; Thomas A. Memory and graphics controller which performs pointer-based display list video refresh operations
JP2637931B2 (ja) 1994-12-01 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション テクスチャ・マッピングを行うコンピュータ・システム
US5561752A (en) 1994-12-22 1996-10-01 Apple Computer, Inc. Multipass graphics rendering method and apparatus with re-traverse flag
KR100242880B1 (ko) 1994-12-29 2000-02-01 전주범 분할된 영역의 윤곽추적장치
JPH08221593A (ja) 1995-02-14 1996-08-30 Hitachi Ltd 図形表示装置
US5649082A (en) 1995-03-20 1997-07-15 Silicon Graphics, Inc. Efficient method and apparatus for determining texture coordinates for lines and polygons
US5900881A (en) 1995-03-22 1999-05-04 Ikedo; Tsuneo Computer graphics circuit
US5764228A (en) 1995-03-24 1998-06-09 3Dlabs Inc., Ltd. Graphics pre-processing and rendering system
US5835096A (en) 1995-03-24 1998-11-10 3D Labs Rendering system using 3D texture-processing hardware for accelerated 2D rendering
US5805175A (en) 1995-04-14 1998-09-08 Nvidia Corporation Method and apparatus for providing a plurality of color formats from a single frame buffer
US5714981A (en) 1995-04-21 1998-02-03 Advanced Gravis Computer Technology, Ltd. Gameport communication apparatus and method
US5651104A (en) 1995-04-25 1997-07-22 Evans & Sutherland Computer Corporation Computer graphics system and process for adaptive supersampling
US5751295A (en) 1995-04-27 1998-05-12 Control Systems, Inc. Graphics accelerator chip and method
US5798762A (en) 1995-05-10 1998-08-25 Cagent Technologies, Inc. Controlling a real-time rendering engine using a list-based control mechanism
US5638535A (en) 1995-05-15 1997-06-10 Nvidia Corporation Method and apparatus for providing flow control with lying for input/output operations in a computer system
US5657443A (en) 1995-05-16 1997-08-12 Hewlett-Packard Company Enhanced test system for an application-specific memory scheme
JP3081774B2 (ja) 1995-05-24 2000-08-28 シャープ株式会社 テクスチャーパターンメモリ回路
JPH08328941A (ja) 1995-05-31 1996-12-13 Nec Corp メモリアクセス制御回路
US5751292A (en) 1995-06-06 1998-05-12 Hewlett-Packard Company Texture mapping method and system
US5745118A (en) 1995-06-06 1998-04-28 Hewlett-Packard Company 3D bypass for download of textures
US5877741A (en) 1995-06-07 1999-03-02 Seiko Epson Corporation System and method for implementing an overlay pathway
US5754191A (en) 1995-06-23 1998-05-19 Cirrus Logic, Inc. Method and apparatus for optimizing pixel data write operations to a tile based frame buffer
US5828383A (en) 1995-06-23 1998-10-27 S3 Incorporated Controller for processing different pixel data types stored in the same display memory by use of tag bits
JPH0916806A (ja) 1995-07-04 1997-01-17 Ricoh Co Ltd 立体画像処理装置
JP3349871B2 (ja) 1995-07-10 2002-11-25 株式会社リコー 画像処理装置
JP3780011B2 (ja) * 1995-07-14 2006-05-31 株式会社ルネサステクノロジ 半導体記憶装置
US5682522A (en) 1995-07-18 1997-10-28 Silicon Integrated Systems Corp. Shared memory architecture of graphics frame buffer and hard disk cache
US5628686A (en) 1995-07-31 1997-05-13 Microsoft Corporation Apparatus and method for bidirectional data communication in a game port
US6016150A (en) 1995-08-04 2000-01-18 Microsoft Corporation Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers
US5949428A (en) 1995-08-04 1999-09-07 Microsoft Corporation Method and apparatus for resolving pixel data in a graphics rendering system
US5867166A (en) 1995-08-04 1999-02-02 Microsoft Corporation Method and system for generating images using Gsprites
US5999189A (en) * 1995-08-04 1999-12-07 Microsoft Corporation Image compression to reduce pixel and texture memory requirements in a real-time image generator
US5870097A (en) 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US6008820A (en) 1995-08-04 1999-12-28 Microsoft Corporation Processor for controlling the display of rendered image layers and method for controlling same
US5880737A (en) 1995-08-04 1999-03-09 Microsoft Corporation Method and system for accessing texture data in environments with high latency in a graphics rendering system
IL114838A0 (en) 1995-08-04 1996-11-14 Spiegel Ehud Apparatus and method for object tracking
US5886701A (en) 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
US5801711A (en) 1995-08-08 1998-09-01 Hewlett Packard Company Polyline and triangle strip data management techniques for enhancing performance of computer graphics system
US5819017A (en) 1995-08-22 1998-10-06 Silicon Graphics, Inc. Apparatus and method for selectively storing depth information of a 3-D image
US5657478A (en) 1995-08-22 1997-08-12 Rendition, Inc. Method and apparatus for batchable frame switch and synchronization operations
US5767856A (en) 1995-08-22 1998-06-16 Rendition, Inc. Pixel engine pipeline for a 3D graphics accelerator
US5734386A (en) 1995-09-08 1998-03-31 Evans & Sutherland Computer Corporation System and method for displaying textured polygons using planar texture interpolation
JP2861890B2 (ja) 1995-09-28 1999-02-24 日本電気株式会社 カラー画像表示装置
US5995670A (en) 1995-10-05 1999-11-30 Microsoft Corporation Simplified chain encoding
US6057851A (en) 1995-10-06 2000-05-02 International Business Machines Corp. Computer graphics system having efficient texture mapping with perspective correction
JP3524247B2 (ja) 1995-10-09 2004-05-10 任天堂株式会社 ゲーム機およびそれを用いたゲーム機システム
US6007428A (en) 1995-10-09 1999-12-28 Nintendo Co., Ltd. Operation controlling device and video processing system used therewith
CA2205063C (en) 1995-10-09 2003-11-18 Satoshi Nishiumi Three-dimensional image processing system
US5835102A (en) 1995-10-19 1998-11-10 Sparta, Inc. System for transmission and recovery of digital data using video graphics display processor and method of operation thereof
US5977979A (en) 1995-10-31 1999-11-02 International Business Machines Corporation Simulated three-dimensional display using bit-mapped information
US5724561A (en) 1995-11-03 1998-03-03 3Dfx Interactive, Incorporated System and method for efficiently determining a fog blend value in processing graphical images
US5808630A (en) 1995-11-03 1998-09-15 Sierra Semiconductor Corporation Split video architecture for personal computers
US5740343A (en) 1995-11-03 1998-04-14 3Dfx Interactive, Incorporated Texture compositing apparatus and method
US5760783A (en) 1995-11-06 1998-06-02 Silicon Graphics, Inc. Method and system for providing texture using a selected portion of a texture map
KR100261076B1 (ko) 1995-11-09 2000-07-01 윤종용 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
JP3700871B2 (ja) 1995-11-11 2005-09-28 ソニー株式会社 画像変換装置
US5940089A (en) 1995-11-13 1999-08-17 Ati Technologies Method and apparatus for displaying multiple windows on a display monitor
US6022274A (en) 1995-11-22 2000-02-08 Nintendo Co., Ltd. Video game system using memory module
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
US6155926A (en) 1995-11-22 2000-12-05 Nintendo Co., Ltd. Video game system and method with enhanced three-dimensional character and background control
US5883638A (en) 1995-12-01 1999-03-16 Lucas Digital, Ltd. Method and apparatus for creating lifelike digital representations of computer animated objects by providing corrective enveloping
WO1997021192A1 (en) 1995-12-06 1997-06-12 Intergraph Corporation Peer-to-peer parallel processing graphics accelerator
US5850229A (en) 1995-12-15 1998-12-15 Raindrop Geomagic, Inc. Apparatus and method for geometric morphing
US6111584A (en) 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
US5748199A (en) 1995-12-20 1998-05-05 Synthonics Incorporated Method and apparatus for converting a two dimensional motion picture into a three dimensional motion picture
US5740383A (en) 1995-12-22 1998-04-14 Cirrus Logic, Inc. Dynamic arbitration priority
US5892517A (en) 1996-01-02 1999-04-06 Integrated Device Technology, Inc. Shared access texturing of computer graphic images
US5831625A (en) 1996-01-02 1998-11-03 Integrated Device Technology, Inc. Wavelet texturing
EP0786756B1 (en) 1996-01-23 2009-03-25 Hewlett-Packard Company, A Delaware Corporation Data transfer arbitration for display controller
US5943058A (en) 1996-01-25 1999-08-24 Silicon Graphics, Inc. Texture mapping circuit for performing data interpolations
US5781927A (en) 1996-01-30 1998-07-14 United Microelectronics Corporation Main memory arbitration with priority scheduling capability including multiple priorty signal connections
US5739819A (en) 1996-02-05 1998-04-14 Scitex Corporation Ltd. Method and apparatus for generating an artificial shadow in a two dimensional color image
US5963220A (en) 1996-02-08 1999-10-05 Industrial Technology Research Institute Mip map/rip map texture linear addressing memory organization and address generator
DE19606357A1 (de) 1996-02-12 1997-08-14 Gmd Gmbh Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
US5777623A (en) 1996-02-15 1998-07-07 Canon Kabushiki Kaisha Apparatus and method for performing perspectively correct interpolation in computer graphics in a variable direction along a line of pixels
US5801720A (en) * 1996-02-20 1998-09-01 National Semiconductor Corporation Data transfer from a graphics subsystem to system memory
US5914725A (en) 1996-03-07 1999-06-22 Powertv, Inc. Interpolation of pixel values and alpha values in a computer graphics display device
US5870587A (en) 1996-03-20 1999-02-09 International Business Machines Corporation Information-handling system, method, and article of manufacture including a mechanism for providing an improved application binary interface
US5982390A (en) 1996-03-25 1999-11-09 Stan Stoneking Controlling personality manifestations by objects in a computer-assisted animation environment
US6078311A (en) 1996-03-26 2000-06-20 Pacific Digital Peripherals, Inc. Joystick game adapter card for a personal computer
US5809219A (en) 1996-04-15 1998-09-15 Silicon Graphics, Inc. Analytic motion blur coverage in the generation of computer graphics imagery
US5909218A (en) 1996-04-25 1999-06-01 Matsushita Electric Industrial Co., Ltd. Transmitter-receiver of three-dimensional skeleton structure motions and method thereof
US6020931A (en) 1996-04-25 2000-02-01 George S. Sheng Video composition and position system and media signal communication system
US5831624A (en) 1996-04-30 1998-11-03 3Dfx Interactive Inc Level of detail texture filtering with dithering and mipmaps
US5818456A (en) 1996-04-30 1998-10-06 Evans & Sutherland Computer Corporation Computer graphics system with adaptive pixel multisampler
US5886705A (en) 1996-05-17 1999-03-23 Seiko Epson Corporation Texture memory organization based on data locality
US5912676A (en) 1996-06-14 1999-06-15 Lsi Logic Corporation MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
US5966134A (en) 1996-06-28 1999-10-12 Softimage Simulating cel animation and shading
US6046746A (en) 1996-07-01 2000-04-04 Sun Microsystems, Inc. Method and apparatus implementing high resolution rendition of Z-buffered primitives
US6115047A (en) 1996-07-01 2000-09-05 Sun Microsystems, Inc. Method and apparatus for implementing efficient floating point Z-buffering
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
US5877771A (en) 1996-07-12 1999-03-02 Silicon Graphics, Inc. Method and apparatus for supersampling based on the local rate of change in texture
US6038348A (en) 1996-07-24 2000-03-14 Oak Technology, Inc. Pixel image enhancement system and method
US5887155A (en) 1996-07-25 1999-03-23 Microunity Systems Engineering, Inc. Vertex based geometry engine system for use in integrated circuit design
US5751291A (en) 1996-07-26 1998-05-12 Hewlett-Packard Company System and method for accelerated occlusion culling
MY119610A (en) 1996-07-31 2005-06-30 Sony Corp Apparatus and method for storing and accessing picture generation data
US5828382A (en) 1996-08-02 1998-10-27 Cirrus Logic, Inc. Apparatus for dynamic XY tiled texture caching
US5923334A (en) 1996-08-05 1999-07-13 International Business Machines Corporation Polyhedral environment map utilizing a triangular data structure
US5933150A (en) 1996-08-06 1999-08-03 Interval Research Corporation System for image manipulation and animation using embedded constraint graphics
IL119082A (en) 1996-08-16 2001-04-30 Virtue Ltd A method for creating graphic characters
JP3387750B2 (ja) 1996-09-02 2003-03-17 株式会社リコー シェーディング処理装置
US6104417A (en) 1996-09-13 2000-08-15 Silicon Graphics, Inc. Unified memory computer architecture with dynamic graphics memory allocation
DE19637463A1 (de) 1996-09-13 1998-03-26 Gsf Forschungszentrum Umwelt Verfahren zur Anzeige von geometrischen Objektoberflächen
US6115049A (en) 1996-09-30 2000-09-05 Apple Computer, Inc. Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth
US5987567A (en) 1996-09-30 1999-11-16 Apple Computer, Inc. System and method for caching texture map information
US5926647A (en) 1996-10-11 1999-07-20 Divicom Inc. Processing system with dynamic alteration of a color look-up table
US6018350A (en) 1996-10-29 2000-01-25 Real 3D, Inc. Illumination and shadow simulation in a computer graphics/imaging system
US5933155A (en) 1996-11-06 1999-08-03 Silicon Graphics, Inc. System and method for buffering multiple frames while controlling latency
US5926182A (en) 1996-11-19 1999-07-20 International Business Machines Corporation Efficient rendering utilizing user defined shields and windows
WO1998022911A1 (en) 1996-11-21 1998-05-28 Philips Electronics N.V. Method and apparatus for generating a computer graphics image
US5861888A (en) 1996-11-27 1999-01-19 Vlsi Technology Inc Method and a system for the nonlinear storage of a texture map within a linear memory device
JP3885262B2 (ja) 1996-12-17 2007-02-21 株式会社セガ テクスチャマップ上の複数画素を混合する方法及び、これを用いた複数画素混合回路と画像処理装置
KR100225072B1 (ko) 1996-12-18 1999-10-15 윤종용 포멧 콘버터
US5912675A (en) 1996-12-19 1999-06-15 Avid Technology, Inc. System and method using bounding volumes for assigning vertices of envelopes to skeleton elements in an animation system
US6057847A (en) 1996-12-20 2000-05-02 Jenkins; Barry System and method of image generation and encoding using primitive reprojection
US5831640A (en) 1996-12-20 1998-11-03 Cirrus Logic, Inc. Enhanced texture map data fetching circuit and method
US6111582A (en) 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
JP3738924B2 (ja) 1996-12-24 2006-01-25 ソニー株式会社 描画装置および方法
US5933529A (en) 1996-12-24 1999-08-03 Daewoo Electronics Co., Ltd. Method of tracing a contour of an object based on background information of the object
US5844576A (en) 1996-12-30 1998-12-01 Cirrus Logic, Inc. Tiled linear host texture storage
US5986663A (en) 1997-10-10 1999-11-16 Cirrus Logic, Inc. Auto level of detail-based MIP mapping in a graphics processor
US6052127A (en) 1996-12-30 2000-04-18 Cirrus Logic, Inc. Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation
US6097435A (en) 1997-01-31 2000-08-01 Hughes Electronics Corporation Video system with selectable bit rate reduction
US5990903A (en) 1997-02-03 1999-11-23 Micron Technologies, Inc. Method and apparatus for performing chroma key, transparency and fog operations
DE19708679A1 (de) 1997-02-21 1998-08-27 Gmd Gmbh Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens
US5870098A (en) 1997-02-26 1999-02-09 Evans & Sutherland Computer Corporation Method for rendering shadows on a graphical display
US5880736A (en) 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading
US6037948A (en) 1997-03-07 2000-03-14 Silicon Graphics, Inc. Method, system, and computer program product for updating texture with overscan
US6061462A (en) 1997-03-07 2000-05-09 Phoenix Licensing, Inc. Digital cartoon and animation process
US6043804A (en) 1997-03-21 2000-03-28 Alliance Semiconductor Corp. Color pixel format conversion incorporating color look-up table and post look-up arithmetic operation
US6088042A (en) 1997-03-31 2000-07-11 Katrix, Inc. Interactive motion data animation system
US6057859A (en) 1997-03-31 2000-05-02 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters with blended motion data
US5949421A (en) 1997-03-31 1999-09-07 Cirrus Logic, Inc. Method and system for efficient register sorting for three dimensional graphics
JP2845857B2 (ja) 1997-04-01 1999-01-13 コナミ株式会社 画像の半透明表示装置,半透明表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体
WO1998045815A1 (en) 1997-04-04 1998-10-15 Intergraph Corporation Apparatus and method for applying effects to graphical images
US5920876A (en) 1997-04-23 1999-07-06 Sun Microsystems, Inc. Performing exact garbage collection using bitmaps that identify pointer values within objects
JP3294149B2 (ja) 1997-04-23 2002-06-24 シャープ株式会社 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置
US5956042A (en) 1997-04-30 1999-09-21 Hewlett-Packard Co. Graphics accelerator with improved lighting processor
US6005583A (en) 1997-04-30 1999-12-21 Hewlett-Packard Company Precise gradient calculation system and method for a texture mapping system of a computer graphics system
US6028608A (en) 1997-05-09 2000-02-22 Jenkins; Barry System and method of perception-based image generation and encoding
US5999198A (en) 1997-05-09 1999-12-07 Compaq Computer Corporation Graphics address remapping table entry feature flags for customizing the operation of memory pages associated with an accelerated graphics port device
US5861893A (en) 1997-05-27 1999-01-19 Intel Corporation System and method for graphics data concurrency and coherency
US6437781B1 (en) 1997-05-30 2002-08-20 Hewlett-Packard Company Computer graphics system having per pixel fog blending
US5909225A (en) 1997-05-30 1999-06-01 Hewlett-Packard Co. Frame buffer cache for graphics applications
CA2239279C (en) 1997-06-02 2002-04-23 Nippon Telegraph And Telephone Corporation Image generating apparatus and method
US5870109A (en) 1997-06-06 1999-02-09 Digital Equipment Corporation Graphic system with read/write overlap detector
US6092158A (en) 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US5945997A (en) 1997-06-26 1999-08-31 S3 Incorporated Block- and band-oriented traversal in three-dimensional triangle rendering
US6052133A (en) 1997-06-27 2000-04-18 S3 Incorporated Multi-function controller and method for a computer graphics display system
US5936641A (en) 1997-06-27 1999-08-10 Object Technology Licensing Corp Graphics hardware acceleration method, computer program, and system
US6043821A (en) 1997-06-30 2000-03-28 Ati Technologies, Inc. Method and apparatus for rendering pixel information from blended texture maps
US6057862A (en) 1997-07-01 2000-05-02 Memtrax Llc Computer system having a common display memory and main memory
US6118462A (en) 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US6038031A (en) 1997-07-28 2000-03-14 3Dlabs, Ltd 3D graphics object copying with reduced edge artifacts
US6011562A (en) 1997-08-01 2000-01-04 Avid Technology Inc. Method and system employing an NLE to create and modify 3D animations by mixing and compositing animation data
US6046747A (en) 1997-08-04 2000-04-04 Hewlett-Packard Company Graphics application programming interface avoiding repetitive transfer of texture mapping data
US6002410A (en) 1997-08-25 1999-12-14 Chromatic Research, Inc. Reconfigurable texture cache
US5903283A (en) 1997-08-27 1999-05-11 Chips & Technologies, Inc. Video memory controller with dynamic bus arbitration
US6016151A (en) 1997-09-12 2000-01-18 Neomagic Corp. 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation
US6054993A (en) 1997-09-17 2000-04-25 Cirrus Logic, Inc. Chroma-keyed specular texture mapping in a graphics processor
US5956043A (en) 1997-09-18 1999-09-21 Novell, Inc. Textured tile rotation system and method
US5936683A (en) 1997-09-29 1999-08-10 Neo Magic Corp. YUV-to-RGB conversion without multiplies using look-up tables and pre-clipping
US5986677A (en) 1997-09-30 1999-11-16 Compaq Computer Corporation Accelerated graphics port read transaction merging
US5949423A (en) 1997-09-30 1999-09-07 Hewlett Packard Company Z buffer with degree of visibility test
US6052129A (en) 1997-10-01 2000-04-18 International Business Machines Corporation Method and apparatus for deferred clipping of polygons
US5995121A (en) 1997-10-16 1999-11-30 Hewlett-Packard Company Multiple graphics pipeline integration with a windowing system through the use of a high speed interconnect to the frame buffer
US5958020A (en) 1997-10-29 1999-09-28 Vlsi Technology, Inc. Real time event determination in a universal serial bus system
US6035360A (en) 1997-10-29 2000-03-07 International Business Machines Corporation Multi-port SRAM access control using time division multiplexed arbitration
US6021417A (en) 1997-10-31 2000-02-01 Foto Fantasy, Inc. Method of stimulating the creation of an artist's drawing or painting, and device for accomplishing same
US6057863A (en) 1997-10-31 2000-05-02 Compaq Computer Corporation Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces
US6151602A (en) 1997-11-07 2000-11-21 Inprise Corporation Database system with methods providing a platform-independent self-describing data packet for transmitting information
US6075546A (en) 1997-11-10 2000-06-13 Silicon Grahphics, Inc. Packetized command interface to graphics processor
US6088701A (en) 1997-11-14 2000-07-11 3Dfx Interactive, Incorporated Command data transport to a graphics processing device from a CPU performing write reordering operations
US6002407A (en) 1997-12-16 1999-12-14 Oak Technology, Inc. Cache memory and method for use in generating computer graphics texture
US6091431A (en) 1997-12-18 2000-07-18 Intel Corporation Method and apparatus for improving processor to graphics device local memory performance
US6070204A (en) 1998-01-06 2000-05-30 Intel Corporation Method and apparatus for using universal serial bus keyboard to control DOS operations
US6052125A (en) 1998-01-07 2000-04-18 Evans & Sutherland Computer Corporation Method for reducing the rendering load for high depth complexity scenes on a computer graphics display
US6226713B1 (en) * 1998-01-21 2001-05-01 Sun Microsystems, Inc. Apparatus and method for queueing structures in a multi-level non-blocking cache subsystem
US6105094A (en) 1998-01-26 2000-08-15 Adaptec, Inc. Method and apparatus for allocating exclusive shared resource requests in a computer system
US6014144A (en) 1998-02-03 2000-01-11 Sun Microsystems, Inc. Rapid computation of local eye vectors in a fixed point lighting unit
US6108743A (en) 1998-02-10 2000-08-22 Intel Corporation Technique for performing DMA including arbitration between a chained low priority DMA and high priority DMA occurring between two links in the chained low priority
US6496187B1 (en) 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system configured to perform parallel sample to pixel calculation
US6078338A (en) 1998-03-11 2000-06-20 Compaq Computer Corporation Accelerated graphics port programmable memory access arbiter
US6064392A (en) 1998-03-16 2000-05-16 Oak Technology, Inc. Method and apparatus for generating non-homogenous fog
US6232981B1 (en) 1998-03-26 2001-05-15 Silicon Graphics, Inc. Method for improving texture locality for pixel quads by diagonal level-of-detail calculation
US6104415A (en) 1998-03-26 2000-08-15 Silicon Graphics, Inc. Method for accelerating minified textured cache access
US6049338A (en) 1998-04-01 2000-04-11 Hewlett-Packard Company Spatial filter for surface texture navigation
US6144387A (en) 1998-04-03 2000-11-07 Liu; Mei-Chi Guard region and hither plane vertex modification for graphics rendering
US6191794B1 (en) 1998-04-08 2001-02-20 Nvidia Corporation Method and apparatus for scaling texture maps for graphical images
US6011565A (en) 1998-04-09 2000-01-04 S3 Incorporated Non-stalled requesting texture cache
US6144365A (en) 1998-04-15 2000-11-07 S3 Incorporated System and method for performing blending using an over sampling buffer
US6128026A (en) 1998-05-04 2000-10-03 S3 Incorporated Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same
US6252610B1 (en) 1998-05-29 2001-06-26 Silicon Graphics, Inc. Method and apparatus for efficiently switching state in a graphics pipeline
US6072496A (en) 1998-06-08 2000-06-06 Microsoft Corporation Method and system for capturing and representing 3D geometry, color and shading of facial expressions and other animated objects
US6215496B1 (en) 1998-07-23 2001-04-10 Microsoft Corporation Sprites with depth
US6215497B1 (en) 1998-08-12 2001-04-10 Monolithic System Technology, Inc. Method and apparatus for maximizing the random access bandwidth of a multi-bank DRAM in a computer graphics system
US6236413B1 (en) 1998-08-14 2001-05-22 Silicon Graphics, Inc. Method and system for a RISC graphics pipeline optimized for high clock speeds by using recirculation
US6268861B1 (en) 1998-08-25 2001-07-31 Silicon Graphics, Incorporated Volumetric three-dimensional fog rendering technique
US6177944B1 (en) 1998-09-18 2001-01-23 International Business Machines Corporation Two phase rendering for computer graphics
US6329997B1 (en) 1998-12-04 2001-12-11 Silicon Motion, Inc. 3-D graphics chip with embedded DRAM buffers
US6275235B1 (en) 1998-12-21 2001-08-14 Silicon Graphics, Inc. High precision texture wrapping method and device
US6417858B1 (en) 1998-12-23 2002-07-09 Microsoft Corporation Processor for geometry transformations and lighting calculations
US6353438B1 (en) 1999-02-03 2002-03-05 Artx Cache organization—direct mapped cache
US6466223B1 (en) 1999-03-24 2002-10-15 Microsoft Corporation Method and apparatus for texture memory management
US6426747B1 (en) 1999-06-04 2002-07-30 Microsoft Corporation Optimization of mesh locality for transparent vertex caching
US6459429B1 (en) 1999-06-14 2002-10-01 Sun Microsystems, Inc. Segmenting compressed graphics data for parallel decompression and rendering
US6408362B1 (en) * 1999-06-24 2002-06-18 International Business Machines Corporation Data processing system, cache, and method that select a castout victim in response to the latencies of memory copies of cached data
US6339428B1 (en) 1999-07-16 2002-01-15 Ati International Srl Method and apparatus for compressed texture caching in a video graphics system
US6285779B1 (en) 1999-08-02 2001-09-04 Trident Microsystems Floating-point complementary depth buffer
US6476822B1 (en) 1999-08-30 2002-11-05 Ati International Srl Method and apparatus for displaying images
US6476808B1 (en) 1999-10-14 2002-11-05 S3 Graphics Co., Ltd. Token-based buffer system and method for a geometry pipeline in three-dimensional graphics
US6469707B1 (en) 2000-01-19 2002-10-22 Nvidia Corporation Method for efficiently rendering color information for a pixel in a computer system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162171A (ja) * 1992-08-03 1994-06-10 Ball Corp コンピューターグラフィックスにおける多角形の頂点インデックスキャッシュシステム
JPH06348854A (ja) * 1993-06-04 1994-12-22 Sun Microsyst Inc グラフィックアクセラレータ及び幾何学オブジェクト描出方法
JPH07210461A (ja) * 1993-12-28 1995-08-11 Internatl Business Mach Corp <Ibm> ストア・イン第2レベル・キャッシュ制御装置
JPH09167242A (ja) * 1995-12-19 1997-06-24 Fuji Xerox Co Ltd 描画処理装置および方法
JPH09297853A (ja) * 1996-05-07 1997-11-18 Sega Enterp Ltd ポリゴンデータの生成方法、これを適用した画像処理装置及び拡張機能ボード
WO1997048048A1 (en) * 1996-06-13 1997-12-18 Micron Technology, Inc. Word width selection for sram cache
JPH10320198A (ja) * 1997-04-10 1998-12-04 Internatl Business Mach Corp <Ibm> データを転送する方法およびプロセッサ
JPH11259671A (ja) * 1998-03-12 1999-09-24 Sega Enterp Ltd 画像表示方法及びそれを実行する画像表示装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008520021A (ja) * 2004-11-15 2008-06-12 アーム・ノルウェー・アー・エス 3次元グラフィックス処理装置および方法
JP2007249796A (ja) * 2006-03-17 2007-09-27 Sony Corp 画像処理装置および画像処理方法、並びにプログラム
JP4492567B2 (ja) * 2006-03-17 2010-06-30 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US8134557B2 (en) 2006-03-17 2012-03-13 Sony Corporation Image processing apparatus and image processing method
KR100791478B1 (ko) 2006-07-14 2008-01-04 엠텍비젼 주식회사 정점 처리를 위한 인코딩 장치, 디코딩 장치 및 그 방법
JP2009545825A (ja) * 2006-08-03 2009-12-24 クゥアルコム・インコーポレイテッド 拡張型頂点キャッシュを備えたグラフィック処理装置
JP4938850B2 (ja) * 2006-08-03 2012-05-23 クゥアルコム・インコーポレイテッド 拡張型頂点キャッシュを備えたグラフィック処理装置
WO2008126392A1 (ja) 2007-04-11 2008-10-23 Panasonic Corporation 画像生成装置及び画像生成方法
US8823705B2 (en) 2007-04-11 2014-09-02 Panasonic Corporation Image generating apparatus and image generating method for generating images by rendering a polygon
JP2010535393A (ja) * 2007-07-30 2010-11-18 クゥアルコム・インコーポレイテッド グラフィックス・システムにおける可変長の圧縮と関連付けのための方式
US8355028B2 (en) 2007-07-30 2013-01-15 Qualcomm Incorporated Scheme for varying packing and linking in graphics systems
JP2010277304A (ja) * 2009-05-28 2010-12-09 Fujitsu Semiconductor Ltd 描画データ処理方法、図形描画システム、及び図形描画データ作成プログラム
JP2016523404A (ja) * 2013-06-10 2016-08-08 株式会社ソニー・インタラクティブエンタテインメント 頂点シェーダ出力パラメータの圧縮スキーム
US10096079B2 (en) 2013-06-10 2018-10-09 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US10102603B2 (en) 2013-06-10 2018-10-16 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
US10134102B2 (en) 2013-06-10 2018-11-20 Sony Interactive Entertainment Inc. Graphics processing hardware for using compute shaders as front end for vertex shaders
US10176621B2 (en) 2013-06-10 2019-01-08 Sony Interactive Entertainment Inc. Using compute shaders as front end for vertex shaders
US10733691B2 (en) 2013-06-10 2020-08-04 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US10740867B2 (en) 2013-06-10 2020-08-11 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
US11232534B2 (en) 2013-06-10 2022-01-25 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
WO2019087553A1 (ja) * 2017-11-02 2019-05-09 キヤノン株式会社 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造
JP2019086918A (ja) * 2017-11-02 2019-06-06 キヤノン株式会社 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造
US11120607B2 (en) 2017-11-02 2021-09-14 Canon Kabushiki Kaisha Information generating apparatus, information processing apparatus, control method, and non-transitory computer-readable storage medium
JP7182863B2 (ja) 2017-11-02 2022-12-05 キヤノン株式会社 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造

Also Published As

Publication number Publication date
US6717577B1 (en) 2004-04-06
JP4644353B2 (ja) 2011-03-02
EP1096427A3 (en) 2003-04-16
EP1096427A2 (en) 2001-05-02

Similar Documents

Publication Publication Date Title
JP4644353B2 (ja) 3次元グラフィックスのための頂点キャッシュ
US11605149B2 (en) Graphics processing architecture employing a unified shader
US6972769B1 (en) Vertex texture cache returning hits out of order
US6288730B1 (en) Method and apparatus for generating texture
US5880737A (en) Method and system for accessing texture data in environments with high latency in a graphics rendering system
US6559842B1 (en) Compressing and decompressing graphics data using gosub-type instructions and direct and indirect attribute settings
JP4564718B2 (ja) 3−dコンピュータ・グラフィックス・レンダリングシステム
EP0875855B1 (en) Graphics processing system
JP3453088B2 (ja) 圧縮テクスチャ・データ構造
US6778181B1 (en) Graphics processing system having a virtual texturing array
US6919904B1 (en) Overbright evaluator system and method
US8564604B2 (en) Systems and methods for improving throughput of a graphics processing unit
KR20070064337A (ko) 그래픽 처리 서브시스템 및 픽셀 단편에 대해 적어도하나의 값을 결정하기 위한 방법
JP2007525768A (ja) テクスチャ要求のためのレジスタベースのキューイング
JP2009295162A (ja) グラフィックス処理システム
US7170512B2 (en) Index processor
EP3945499A1 (en) Ray intersect circuitry with parallel ray testing
US7339590B1 (en) Vertex processing unit supporting vertex texture mapping
WO2005086096A2 (en) Embedded system with 3d graphics core and local pixel buffer
CN111406277A (zh) 以微砖为基础的低分辨率深度存储
US6285373B1 (en) Method and apparatus for texture transmission and storage
JP2003529115A (ja) スーパサンプリング・サンプル・バッファを有し、サンプル位置情報を効果的に記憶するグラフィックス・システム
Randall Talisman: Multimedia for the PC
JP3548648B2 (ja) 描画装置及び描画方法
JP3468985B2 (ja) グラフィック描画装置、グラフィック描画方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20010111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101206

R150 Certificate of patent or registration of utility model

Ref document number: 4644353

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term