JP2002063593A - グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置 - Google Patents

グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置

Info

Publication number
JP2002063593A
JP2002063593A JP2001042667A JP2001042667A JP2002063593A JP 2002063593 A JP2002063593 A JP 2002063593A JP 2001042667 A JP2001042667 A JP 2001042667A JP 2001042667 A JP2001042667 A JP 2001042667A JP 2002063593 A JP2002063593 A JP 2002063593A
Authority
JP
Japan
Prior art keywords
texture
data
indirect
coordinates
matrix
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
JP2001042667A
Other languages
English (en)
Other versions
JP4678963B2 (ja
Inventor
Mark M Leather
エム レザー マーク
Robert A Drebin
エイ ドレビン ロバート
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 JP2002063593A publication Critical patent/JP2002063593A/ja
Application granted granted Critical
Publication of JP4678963B2 publication Critical patent/JP4678963B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Load-Bearing And Curtain Walls (AREA)

Abstract

(57)【要約】 (修正有) 【解決手段】 グラフィクスシステムは、ポリゴン頂点
アトリビュートデータおよびテクセルカラーデータに基
づいて、表示のためのイメージをレンダリングする。テ
クスチャパイプラインが、直接および間接テクスチャ座
標データ507をインタリーブし、間接テクスチャルッ
クアップデータ518を「再循環させて」戻すテクスチ
ャルックアップデータフィードバック経路を提供するテ
クスチャ座標/データ処理ユニット500b、500c
を利用する。多目的間接テクスチャ参照が、再循環テク
スチャルックアップデータを変換するために、同じテク
スチャ座標/座標処理ユニット500b、500cを使
用することによって、達成される。 【効果】 少数のハードウェアテクスチャ処理ユニット
から任意数の論理的直接および/または間接テクスチャ
マッピングステージの処理を、効率化することができ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータグラフィ
クスに関し、特にたとえば、家庭用ビデオゲームプラッ
トホームのようなインタラクティブグラフィクスシステ
ムに関する。さらに特定的には、この発明は、グラフィ
クスシステムにおける直接(direct)および間接(indirec
t) テクスチャマッピング/処理に関する。
【0002】
【発明の背景および発明の概要】多くの人々はかなりリ
アルな恐竜,エイリアン,生き生きとしたおもちゃおよ
び他の空想的な動物を含む映画をかつて見たことがあ
る。そのようなアニメーションはコンピュータグラフィ
クスによって可能とされた。そのような技術を用いて、
コンピュータグラフィクスのアーティストは、各オブジ
ェクトがどのように見えるべきかや時間の経過とともに
外見上どのように変化すべきかを特定し、コンピュータ
は、そのオブジェクトをモデル化してテレビジョンやコ
ンピュータスクリーンのようなディスプレイに表示す
る。コンピュータは、表示される映像の各部分を、場面
中の各オブジェクトの位置や向き,各オブジェクトを照
らすように見える照明の方向,各オブジェクトの表面テ
クスチャ,および他の要素に正確に基づいて、色付けし
また形作るために必要な多くのタスクを実行する。
【0003】コンピュータグラフィクスの生成は複雑で
あるので、ここ数年前のコンピュータによって生成され
た3次元(3D)グラフィクスは、ほとんど高価な特殊
なフライトシミュレータ,ハイエンドグラフィクスワー
クステーションおよびスーパーコンピュータに限られて
いた。大衆は映画や高価なテレビコマーシャルにおいて
これらのコンピュータシステムによって生成された映像
のいくつかを見たが、大部分の人はグラフィクスを生成
しているコンピュータに対して実際に相互作用をさせる
ことはできない。たとえば、Nintendo64(登録商標)や
今や利用可能であるパソコン用の種々の3Dグラフィク
スカードのような比較的安価な3Dグラフィクスプラッ
トフォームの利用によって、このすべてが変わった。今
や、家庭や会社の比較的安価なコンピュータグラフィク
スシステム上でエキサイティングな3Dアニメーション
やシミュレーションに対して相互作用を及ぼすことがで
きる。
【0004】グラフィクスシステム設計者が過去に直面
した問題は、ポリゴンや他の幾何学的プリミティブを有
する所望のディテールの明示的なモデリングへの再分類
なしに、レンダリングしたオブジェクト上にリアルに見
える表面ディテールを如何に作り出すかということであ
った。表面ディテールはたとえば頂点間を補間するシェ
ーディングを有する無数の小さい三角形を使ってシミュ
レートできるが、所望のディテールがより精細かつより
複雑になると、三角形や他のプリミティブを用いる明示
的なモデリングはグラフィクスシステムに高度な要求を
かけ、そして実用的ではない。Eキャットマルが先駆し
かつJFブリンおよびMEニューウェルが改良した別の
技術は、表面上にデジタイズされたまたは合成されたイ
メージを「マッピング」することである。(Eキャット
マルによる「曲面のコンピュータディスプレイのための
再分割アルゴリズム」、博士論文、レポートUTEC−
CSc−74−133、コンピュータ科学部門、ユタ大
学、ソルトレークシティ、UT、1994年12月およ
びJFブリンおよびMEニューウェルによる「コンピュ
ータ生成イメージにおけるテクスチャおよび反射」、C
ACM、19(10)、1976年10月、452−4
57を参照されたい。)この方法はテクスチャマッピン
グ(またはパターンマッピング)として知られており、
そのイメージはテクスチャマップと呼ばれる(または単
にテクスチャと呼ばれる)。あるいは、テクスチャマッ
プはイメージによってよりもむしろ手順によって定義さ
れる。
【0005】典型的には、テクスチャマッピングは、2
次元(2D)の直角座標空間内で定義され、かつたとえ
ば(u,v)または(s,t)のような1対の直角テク
スチャ座標を用いてパラメータ化される。テクスチャマ
ップ内での個々の要素はしばしばテクセル(texels)と呼
ばれる。各レンダリングしたピクセルにおいて、選択さ
れたテクセルが、そのレンダリングしたオブジェクトの
表面の1つまたはそれ以上の材質的な特性を代替しもし
くは調整するために用いられる。この処理がしばしばテ
クスチャマッピングまたは「テクスチャリング」と呼ば
れる。
【0006】ほとんどの3次元(3D)のグラフィクス
レンダリングシステムはいまや、メモリからテクスチャ
を検索して、そのテクスチャを、レンダリングしたオブ
ジェクト表面上にマッピングするためのテクスチャリン
グサブシステムを含む。間接またはマルチテクスチャを
利用する洗練されたテクスチャリングの効果はまた、た
とえばマルチテクスチャリング、メタテクスチャまたは
テクスチャタイリングのような可能性があるが、従来の
方法は典型的には、1つのテクスチャリング回路(ユニ
ット)の出力が次のテクスチャリング回路への入力を与
える多数の別々のテクスチャ検索/マッピング回路を用
いるような複雑なハードウェア構成を結果的に必要とす
る。そのような重複する回路は本質的にそのような効果
を用いないときには無駄である。オンチップでグラフィ
クス処理する実施例において、より以上のチップ不動産
を必要とする付加的な回路は歩留りや信頼性を減じ、そ
のシステムの全体の製作コストを大きくする。したがっ
て、グラフィクスシステムの設計者に直面しているさら
なる問題は、テクスチャマッピングハードウェアの複雑
さにおける相応する増分なしに、一層洗練されたテクス
チャリング効果を如何に効率的に実現するかということ
である。
【0007】1つのソリューションは単一のテクスチャ
アドレシング/マッピング回路を用いて多数のテクスチ
ャリングパス(pass)を行うことである。名目的には、こ
のソリューションは、少なくとも、第1組のテクスチャ
アドレス座標を発生すること、第1テクスチャをアクセ
スすること、一時記憶に検索したデータをストアするこ
と、および次のまたは後続のテクスチャリングパスにお
ける第2テクスチャにアクセスするときに新しい座標を
計算する際に使用するために同じ組のテクスチャ座標を
再度発生することを要する。この方法はハードウェアの
複雑さをいくぶん減じることができるが、時間をかなり
消費し、多数回にわたって同じ組のテクスチャ座標を発
生/提供しなければならず、モード変更(たとえば直接
および間接テクスチャリング動作モード間での切り換
え)の間結果的に処理効率を低下させる。さらに、この
方法によれば、グラフィクスレンダリングシステムを通
るデータ処理の流れを結果的に非常に細分化(course gr
anularity) することになり、ポリゴンのフィルレート
に重大な影響を与える。
【0008】この問題を解決しかつ3次元グラフィクス
システムのためのテクスチャリング能力の強化されたレ
パートリを提供するために、この発明は、単一のテクス
チャアドレス座標/データ処理ユニットを用いることに
よって、比較的低いチップ足跡(chip-footprint)を達成
する多目的テクスチャリングパイプライン構成を提供す
る。この処理ユニットは、論理的直接および間接テクス
チャ座標データの処理をインタリーブし、検索した間接
テクスチャルックアップデータを単一のテクスチャ検索
ユニットからテクスチャアドレス座標/データ処理ユニ
ットへ「再循環させる」ためのテクスチャルックアップ
データフィードバック経路を提供する。この発明のイン
タリーブした座標処理および再循環/フィードバックデ
ータ配置によれば、少数のハードウェアテクスチャ処理
ユニットから任意数の論理的直接および/または間接テ
クスチャマッピングステージの処理を、一方で全体のデ
ータ処理の流れにおける細分化を防止しながら、効率化
することができる。
【0009】この発明によって提供される1つの局面に
おいて、グラフィクス処理のテクスチャリングパイプラ
イン部分の再循環/データフィードバック構成は、多数
のレンダリングパスおよび/または一時的なテクスチャ
記憶ハードウェアの必要なしに、論理的直接および間接
テクスチャ処理の両方のために、単一のテクスチャルッ
クアップ(検索)ユニットの効率的な使用および再使用
を可能とする。
【0010】この発明によって提供される他の局面によ
れば、テクスチャアドレス(座標)処理ハードウェア
は、再循環/フィードバックテクスチャデータに基づく
種々の座標計算を行い、かつ実質的に連続的なインタリ
ーブされた流れ(たとえばシステムを通してのグラフィ
クスデータの処理の流れにおける「細分化」を回避する
ように)直接および間接座標データの両方を処理するよ
うに構成される。このユニークなインタリーブされた処
理/データ再循環テクスチャパイプライン構成は、強化
された様々の直接および間接テクスチャリングのアプリ
ケーションを提供するために、最小量のハードウェアを
使用しながら、効率的かつ柔軟性のあるテクスチャ座標
処理およびテクスチャ検索/マッピング動作を可能とす
る。
【0011】この発明によって提供される他の局面によ
れば、論理的直接および間接テクスチャルックアップを
行うための座標データの効率的な連続処理は、単一のテ
クスチャ座標処理ハードウェアユニット内においてピク
セル毎の直接および間接座標データの両方の処理をイン
タリーブすることによって達成される。たとえば、間接
テクスチャ座標ストリーム中の「バブル」(不使用サイ
クル)を探すために、そしてテクスチャマッパ(mapper)
の最大の使用のためにそのような「バブル」へ計算した
テクスチャ座標データを挿入するために、セレクタが用
いられ得る。
【0012】この発明によって提供されるさらに他の局
面によれば、ハードウェアによって実現したテクスチャ
リングパイプラインは、同じテクスチャデータ検索ユニ
ットが ・直接および間接テクスチャの両方のルックアップ、お
よび ・間接テクスチャルックアップデータの供給 のために使用されかつ再使用され得るテクスチャルック
アップデータフィードバック経路を含む。同じテクスチ
ャアドレス(座標)処理ユニットが論理的直接および間
接テクスチャ座標データの両方を処理するためにかつ新
/修正テクスチャ座標を計算するために使用されかつ再
使用され得る。
【0013】この発明によって提供されるさらに他の局
面によれば、1組のテクスチャマッピングパラメータ
が、テクスチャマッピング動作を行うように制御される
テクスチャマッピングユニットへ提示される。このテク
スチャマッピング動作の結果は、同じテクスチャマッピ
ングユニットの入力へフィードバックされる別の組のテ
クスチャマッピングパラメータを提示するために再循環
されかつ使用される。テクスチャマッピングユニットは
これらの再循環されたパラメータに応答して別のテクス
チャマッピング動作を実行し、さらなるテクスチャマッ
ピング結果を提供する。
【0014】第1のテクスチャマッピング動作は間接テ
クスチャマッピング動作を含み、第2のテクスチャマッ
ピング動作は直接テクスチャマッピング動作を含む。直
接テクスチャマッピング動作を行うためのテクスチャマ
ッピングユニットへのテクスチャマッピングパラメータ
の処理および提示は、間接テクスチャマッピング動作を
行うためのテクスチャマッピングパラメータの処理およ
び提示でインタリーブされる。
【0015】この発明によって提供される別の局面によ
れば、間接テクスチャ参照方法は、テクスチャ座標を検
索するために次に使用されるデータトリプレット(tripl
et)を発生するために間接テクスチャ座標を使用する。
検索したテクスチャ座標は、次いで、プリミティブ上へ
所定のテクスチャデータをマッピングするために使用さ
れる。
【0016】この発明によって提供されるさらに別の局
面によれば、テクスチャメモリにストアされた検索デー
タトリプレットが、テクスチャメモリにストアされたテ
クスチャデータを参照するために次いで使用される所定
テクスチャに対応する1組の修正テクスチャ座標を検索
するために使用される。
【0017】この発明によって提供されるなおも他の局
面によれば、グラフィクスシステムは ・少なくとも1つのデータ乗算器と少なくとも1つのデ
ータ累算器との配置を含む論理的直接および間接座標デ
ータのインタリーブされた処理のためのテクスチャ座標
/データ処理ユニット; ・座標/データ処理ユニットに接続されてテクスチャメ
モリにストアされたテクスチャデータを検索するテクス
チャデータ検索ユニット;および ・さらなる処理のために検索テクスチャデータをテクス
チャ座標/データ処理ユニットを通してリサイクルさせ
るためのテクスチャデータ検索ユニットからテクスチャ
座標/データ処理ユニットへのデータフィードバック経
路を備え、 ・1組のテクスチャ座標に応答して検索ユニットが処理
ユニットへ検索テクスチャデータを与え、レンダリング
されたイメージオブジェクトの表面へテクスチャをマッ
ピングする際に使用される修正テクスチャ座標を検索す
る。
【0018】この発明によって提供されるなおも他の局
面によれば、レンダリングされかつ表示されたイメージ
の表面へ1つまたはそれ以上の異なるテクスチャおよび
/またはテクスチャ特性に対応するテクスチャデータを
選択的にマッピングするためのテクスチャ処理システム
は、マトリクス(行列式)の要素によって間接テクスチ
ャデータを乗算することによって1組のオフセットテク
スチャ座標を生成するテクスチャ座標オフセットマトリ
クス配置を含み、そこでは、マトリクスの1つまたはそ
れ以上の要素が1つまたはそれ以上の所定の直接テクス
チャ座標の数学的な関数であり、マトリクスの1つまた
はそれ以上の要素が選択的にロードされる。
【0019】この発明によって提供されるさらに他の局
面によれば、1組の間接テクスチャ座標がテクスチャメ
モリにストアされているデータトリプレットを検索する
のに使用され、1組の修正テクスチャ座標がその検索し
たデータトリプレットの少なくとも一部に基づいて検索
される。1組の修正テクスチャ座標は、次いで、テクス
チャメモリにストアされたデータを検索するために使用
される。これらのステップは所定数のデータ検索のため
に反復的に繰り返され、そしてその繰り返しからの結果
である1組の検索テクスチャ座標がプリミティブ上に所
定のテクスチャデータをマッピングするために使用され
る。
【0020】この発明によって提供されるなおも他の局
面によれば、1組の一般化したAPI(application pro
gram interface) 間接テクスチャマッピング関数が、テ
クスチャリングパイプライン装置によって定義されかつ
サポートされ、その装置は、少なくとも4つの間接テク
スチャ動作(間接ルックアップステージ)を行うための
かつ少なくとも8つの予め規定したテクスチャの1つお
よび少なくとも8つの予め規定した組のテクスチャ座標
の1つを各間接テクスチャリング動作に選択的に関連付
けるためのアーギュメント(arguments:引数) を特定す
るのを許容する。定義したAPI間接テクスチャマッピ
ング関数はまた、テクスチャスケール、バイアスおよび
座標ラップ因子、さらには多様なテクスチャ座標オフセ
ット乗算マトリクス構成ならびにテクスチャリングパイ
プライン内での新/修正テクスチャルックアップ座標を
計算するための関数を特定するのを許容する。
【0021】この発明によって提供されるなおも他の局
面によれば、テクスチャアドレス(座標)処理ユニット
は、間接テクスチャルックアップから検索したテクスチ
ャカラー/データを標準(非間接)テクスチャルックア
ップのテクスチャ座標に加えられるオフセットへ変換す
る。フィードバック経路は、テクスチャ検索ユニットか
らそのテクスチャ検索ユニットへテクスチャ座標を発生
し/提供するために使用されるテクスチャ座標処理ユニ
ットへのテクスチャカラー/データ出力を提供する。
【0022】この発明に従ったその他の局面によれば、
少なくとも1対のFIFOバッファを含む1つのテクス
チャアドレス処理ユニットが、「直接」(標準非間接)
および「間接」テクスチャ座標の両方の処理をインタリ
ーブしかつ同期化するために利用され、1つのテクスチ
ャデータ検索ユニットが、新/修正テクスチャルックア
ップ座標を計算するためにテクスチャアドレス処理ユニ
ットへ間接テクスチャルックアップデータを検索しかつ
再循環させるために使用される。1つの実施例において
は、この検索された間接テクスチャルックアップデータ
は3,4,5または8ビットの多ビットの2進データト
リプレットとして処理される。このデータトリプレット
は、主メモリ内のテクスチャマップにアクセスするため
の修正オフセットテクスチャ座標を計算するために、直
接座標データもしくはテクスチャアドレス処理の先のサ
イクル/ステージからの計算データと必要に応じて結合
される前に、3×2要素のテクスチャ座標オフセットマ
トリクスによって乗算される。オフセットマトリクスの
要素の値はプログラマブルであり、選択された所定の定
数または直接座標に基づく値を使用する連続的な処理サ
イクル/ステージのために動的に規定されてもよい。多
様なオフセットマトリクス構成が選択可能であり、プロ
グラマブルな定数に基づく要素を含む少なくとも3つの
オフセットマトリクス構成および1組の直接テクスチャ
座標からの値に基づく要素を含む2つの「可変」マトリ
クス構成から選択可能である。検索したテクスチャデー
タを自由にバイアスしかつスケーリングするための回路
がまた設けられる。
【0023】この発明の上述の目的,その他の目的,特
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
【0024】
【実施例】図1は対話型(インタラクティブ)3Dコン
ピュータグラフィクスシステム50の一例を示す。シス
テム50は対話型3Dビデオゲームをステレオ音声とと
もにプレイするのに用いられ得る。これはまた多様な他
のアプリケーションにも用いられ得る。
【0025】この実施例において、システム50は3次
元世界のディジタル表現ないしモデルをインタラクティ
ブにかつリアルタイムに処理することができる。システ
ム50は、任意の視点から、その世界の一部または全部
を表示することができる。たとえば、システム50は、
手持ちコントローラ52aおよび52bまたは他の入力
デバイスからのリアルタイム入力に応答して、視点をイ
ンタラクティブに変化できる。このことによって、ゲー
ムプレーヤは、その世界内もしくは外の誰かの目を通し
てその世界を見ることができる。システム50は、リア
ルタイム3Dインタラクティブ表示を必要としないアプ
リケーション(たとえば2D表示の発生やおよび/また
はノンインタラクティブ表示)に使用できるが、高品質
の3D映像を非常に速く表示する能力は、非常にリアル
でエキサイティングなゲームプレイや他のグラフィクス
インタラクションを創造するのに使用され得る。
【0026】システム50を用いてビデオゲームまたは
他のアプリケーションをプレイするために、ユーザはま
ず、主ユニット54を、カラーテレビ56または他の表
示装置に、両者の間にケーブル58を接続することによ
って、接続する。主ユニット54はカラーテレビ56を
制御するためのビデオ信号およびオーディオ信号を発生
する。ビデオ信号はテレビジョン画面59上に表示され
ている映像を制御するものであり、オーディオ信号はテ
レビのステレオスピーカ61Lおよび61Rを通して音
声として再生される。
【0027】ユーザはまた主ユニット54を電源につな
ぐ必要がある。この電源は従来のACアダプタ(図示せ
ず)であってよく、そのACアダプタは家庭用の標準的
な壁ソケットに差し込まれ、家庭用電源を、主ユニット
54を駆動するのに適した低いDC電圧信号に変換す
る。他の実施例ではバッテリが用いられてもよい。
【0028】ユーザは主ユニット54を制御するために
手持ちコントローラ52aおよび52bを用いる。コン
トロール60は、たとえば、3D世界内においてテレビ
56に表示されているキャラクタが移動すべき方向(上
または下、左または右、近づいてまたは遠ざかって)を
指示するために使用され得る。コントロール60は、ま
た他のアプリケーションのための入力(たとえばメニュ
ー選択,ポインタ/カーソル制御,その他)を与える。
コントローラ52は多様な形態をとり得る。この実施例
においては、図示されるコントローラ52は、各々ジョ
イスティック,押しボタンおよび/または方向スイッチ
のようなコントロール60を含む。コントローラ52
は、ケーブルによって、もしくは電磁波(たとえば電波
または赤外線)を介してワイヤレスで、主ユニット54
に接続され得る。
【0029】ゲームのようなアプリケーションをプレイ
するために、ユーザはビデオゲームもしくはプレイした
いと思う他のアプリケーションをストアしている適宜の
記憶媒体62を選択し、その記憶媒体を主ユニット54
のスロット64に差し込む。記憶媒体62は、たとえ
ば、特別にエンコードされおよび/または記号化された
光学的ならびに/もしくは磁気的ディスクであってよ
い。ユーザは主ユニット54をオンするために電源スイ
ッチ66を操作し、主ユニットがその記憶媒体62にス
トアされているソフトウェアに基づいてビデオゲームも
しくは他のアプリケーションを実行し始めるようにす
る。ユーザは主ユニットに入力を与えるためにコントロ
ーラ52を操作する。たとえば、コントロール60を操
作することによってゲームもしくは他のアプリケーショ
ンをスタートさせる。他のコントロール60を動かすこ
とによって、動画キャラクタを異なる方向に移動させ、
または3D世界におけるユーザの視点を変化させる。記
憶媒体62にストアされている具体的なソフトウェアに
よって、コントローラ52上の種々のコントロール60
は異なる時間で異なる機能を達成することができる。
【0030】全体システムの例 図2はシステム50の例示的なコンポーネントのブロッ
ク図であり、重要なコンポーネントは、 ・主プロセサ(CPU)110, ・主メモリ112,および ・グラフィクス/オーディオプロセサ114を含む。
【0031】この実施例において、主プロセサ110
(たとえばIBMパワーPC750の改良版)は、手持
ちコントローラ52(および/または他の入力デバイ
ス)からの入力をグラフィクス/オーディオプロセサ1
14を通して受ける。主プロセサ110はユーザ入力に
インタラクティブに応答し、光ディスクドライブのよう
な大容量記憶媒体アクセス装置106を介して、たとえ
ば外部記憶媒体62から供給されるビデオゲームもしく
は他のプログラムを実行する。一例として、ビデオゲー
ムプレイの状況では、主プロセサ110は、多様なイン
タラクティブ制御機能に加えて、衝突検出および動画処
理を実行する。
【0032】この実施例では、主プロセサ110は3D
グラフィクス/オーディオコマンドを発生し、それらを
グラフィクス/オーディオプロセサ114に送る。グラ
フィクス/オーディオプロセサ114はこれらのコマン
ドを処理し、ディスプレイ59上での可視映像を生成
し、ステレオスピーカ61Rおよび61Lもしくは他の
適宜の音声発生デバイス上でのステレオ音声を生成す
る。
【0033】実施例のシステム50はビデオエンコーダ
120を含み、このビデオエンコーダは、グラフィクス
/オーディオプロセサ114からの映像信号を受けて、
その映像信号をコンピュータモニタや家庭用テレビ56
のような標準的な表示装置上での表示に適したアナログ
および/またはディジタルビデオ信号に変換する。シス
テム100はまたオーディオコーデック(圧縮器/伸長
器)122を含み、このオーディオコーデックはディジ
タル化されたオーディオ信号を圧縮しかつ伸長するとと
もに、必要に応じてディジタルオーディオ信号のフォー
マットとアナログオーディオ信号のフォーマットとの間
で変換を行う。オーディオコーデック122はバッファ
124を介してオーディオ入力を受けることができ、処
理(たとえば、プロセサが生成したおよび/または大容
量記憶媒体アクセス装置106のストリームオーディオ
出力を介して受信した他のオーディオ信号とのミキシン
グ)するために、そのオーディオ入力をグラフィクス/
オーディオプロセサ114に与える。この実施例におけ
るグラフィクス/オーディオプロセサ114は、オーデ
ィオタスクに利用可能なオーディオメモリ126にオー
ディオ関連情報をストアすることができる。グラフィク
ス/オーディオプロセサ114は、結果的に得られるオ
ーディオ出力信号を、圧縮およびアナログ信号への変換
のために、オーディオコーデック122に与え、したが
ってそのオーディオ出力信号が(たとえばバッファアン
プ128Lおよび128Rを介して)スピーカ61Lお
よび61Rによって再生され得る。
【0034】グラフィクス/オーディオプロセサ114
はシステム100内に存在するであろう種々の付加的な
デバイスと通信する能力を有する。たとえば、パラレル
ディジタルバス130は大容量記憶媒体アクセス装置1
06および/または他のコンポーネントと通信するため
に用いられる。シリアル周辺バス132は多様な周辺機
器または、たとえば、 ・PROMおよび/またはRTC(リアルタイムクロッ
ク)134, ・モデム136もしくは他のネットワークインタフェー
ス(それはシステム100を、プログラム命令および/
またはデータがダウンロードもしくはアップロードされ
得るインターネットあるいは他のディジタルネットワー
クのようなテレコミュニケーションネットワーク138
に接続する),および ・フラッシュメモリ140を含む他のデバイスと通信す
る。 別の外部シリアルバス142は、付加的な拡張メモリ1
44(たとえばメモリカード)もしくは他のデバイスと
通信するために使用され得る。コネクタが種々のデバイ
スをバス130,132および142に接続するために
使用され得る。
【0035】グラフィクス/オーディオプロセサの例 図3は実施例のグラフィクス/オーディオプロセサ11
4を示すブロック図である。或る実施例においては、グ
ラフィクス/オーディオプロセサ114はシングルチッ
プASICであってよい。この実施例においては、グラ
フィクス/オーディオプロセサ114は、 ・プロセサインタフェース150, ・メモリインタフェース/コントローラ152, ・3Dグラフィクスプロセサ154, ・オーディオディジタル信号プロセサ(DSP)15
6, ・オーディオメモリインタフェース158, ・オーディオインタフェース/ミキサ160, ・周辺コントローラ162,および ・表示コントローラ164を含む。
【0036】3Dグラフィクスプロセサ154はグラフ
ィクス処理タスクを実行する。オーディオディジタル信
号プロセサ156はオーディオ処理タスクを実行する。
表示コントローラ164は主メモリ112からの映像情
報にアクセスし、表示装置102上での表示のためにそ
の映像情報をビデオエンコーダ120に与える。オーデ
ィオインタフェース/ミキサ160はオーディオコーデ
ック122をインタフェースし、また異なるソースから
のオーディオ(たとえば、大容量記憶媒体アクセス装置
106からのオーディオストリーム,オーディオDSP
156の出力,およびオーディオコーデック122を通
して受ける外部オーディオ入力)をミックスすることが
できる。プロセサインタフェース150は主プロセサ1
10およびグラフィクス/オーディオプロセサ114の
間のデータおよび制御インタフェースを提供する。
【0037】メモリインタフェース152はグラフィク
ス/オーディオプロセサ114とメモリ112との間の
データおよび制御インタフェースを提供する。この実施
例においては、主プロセサ110は、プロセサインタフ
ェース150およびグラフィクス/オーディオプロセサ
114の一部であるメモリインタフェース152を介し
て、主メモリ112にアクセスする。周辺コントローラ
162はグラフィクス/オーディオプロセサ114と上
で述べた種々の周辺機器との間のデータおよび制御イン
タフェースを提供する。オーディオメモリインタフェー
ス158はオーディオメモリ126とのインタフェース
を提供する。
【0038】グラフィクスパイプラインの例 図4は図3の3Dグラフィクスプロセサ154をより詳
細に示すグラフィクス処理システムを示す。この3Dグ
ラフィクスプロセサ154は、とりわけ、コマンドプロ
セサ200および3Dグラフィクスパイプライン180
を含む。主プロセサ110はデータストリーム(たとえ
ばグラフィクスコマンドストリームおよび表示リスト)
をコマンドプロセサ200に通信する。主プロセサ11
0はメモリレイテンシを最小化するために2レベルキャ
ッシュ112を有し、さらにまたグラフィクス/オーデ
ィオプロセサ114に向けられたキャッシュされていな
いデータストリームのための書込収集(write-gatherin
g)バッファ111を有する。この書込収集バッファ11
は部分キャッシュラインを全キャッシュラインに集め、
バスの最大使用時に、グラフィクス/オーディオプロセ
サ114からのデータを1つのキャッシュラインに送
る。
【0039】コマンドプロセサ200は主プロセサ11
0からの表示コマンドを受け、それらを解剖し、メモリ
コントローラ152を介して共用メモリ112からのそ
のコマンドを処理するに必要な付加的なデータを入手す
る。コマンドプロセサ200は、2Dおよび/または3
D処理およびレンダリングのために、頂点コマンドのス
トリームをグラフィクスパイプライン180に与える。
グラフィクスパイプライン180はこれらのコマンドに
基づいて映像を生成する。結果として得られた映像情報
は、表示コントローラ/ビデオインタフェースユニット
164によるアクセスのために主メモリ120に転送さ
れ得て、この映像情報は表示装置156上にパイプライ
ン180のフレームバッファ出力を表示する。
【0040】図5はグラフィクスプロセサ154を用い
て実行される処理を図解的に示すブロック論理フロー図
である。主プロセサ10は、グラフィクスコマンドスト
リーム210,表示リスト212および頂点アレイ21
4を主メモリ112にストアし、ポインタをバスインタ
フェース150を介してコマンドプロセサ200に送
る。主プロセサ110は主メモリ110内に割り付けら
れた1つ以上のグラフィクスFIFOバッファ210に
グラフィクスコマンドをストアする。このコマンドプロ
セサ200は、 ・同期/フロー制御および負荷バランスのためにグラフ
ィクスコマンドを受けかつバッファするオンチップFI
FOメモリバッファ216を介して主メモリ112から
のコマンドストリーム, ・オンチップコールFIFOメモリバッファ218を介
して主メモリ112からの表示リスト212,および ・コマンドストリームからおよび/または主メモリ11
2の頂点アレイ214からの頂点アトリビュートを頂点
キャッシュ220を介して取り込む。
【0041】コマンドプロセサ200はコマンド処理動
作200aを実行し、そのコマンド処理動作200aは
アトリビュート形式を浮動小数点フォーマットに変換
し、結果的に得られた完全頂点ポリゴンデータをレンダ
リング/ラスタライゼーションのためにグラフィクスパ
イプライン180に与える。プログラマブルメモリ調停
回路130(グラフィクスメモリ要求調停回路:図4)
は、グラフィクスパイプライン180,コマンドプロセ
サ200および表示コントローラ/ビデオインタフェー
スユニット164の間での共用主メモリ112へのアク
セスを調停する。
【0042】図4は、グラフィクスパイプライン180
が ・変換ユニット300, ・セットアップ/ラスタライザ400, ・テクスチャユニット500, ・テクスチャ環境ユニット600,および ・ピクセルエンジン700を含むことを示す。
【0043】変換ユニット300は多様な2Dおよび3
D変換および他の動作300a(図5)を実行する。変
換ユニット300は変換処理300aに用いられるマト
リクスをストアするための1つ以上のマトリクスメモリ
300bを含む。変換ユニット300は、入来する頂点
毎のジオメトリをオブジェクト空間からスクリーン空間
へ変換し、そして入来するテクスチャ座標を変換しかつ
投影テクスチャ座標(300c)を計算する。変換ユニ
ット300はまたポリゴンクリッピング/カリング(cli
pping/culling)300dを実行する。変換ユニット30
0bによってまた達成される照明処理300eが、この
実施例では8つまでの独立した照明について、頂点毎に
照明計算を行う。変換ユニット300は、エンボス(emb
ossed)タイプのバンプマッピング効果およびポリゴンク
リッピング/カリング動作(300d)のために、テク
スチャ座標を発生する(300c)。
【0044】セットアップ/ラスタライザ400はセッ
トアップユニットを含み、このセットアップユニット
は、変換ユニット300からの頂点データを受け、三角
形セットアップ情報を、エッジラスタライゼーション,
テクスチャ座標ラスタライゼーションおよびカラーラス
タライゼーションを実行する1つ以上のラスタライザユ
ニット(400b)に送る。
【0045】テクスチャユニット500は、オンチップ
テクスチャメモリ(TMEM)502を含んでもよく、
たとえば、 ・主メモリ112からのテクスチャ504の検索、 ・たとえばマルチテクスチャ処理,ポストキャッシュテ
クスチャ伸長,テクスチャフィルタリング,エンボシン
グ,投影テクスチャの使用を通しての陰影付け,および
アルファトランスパーレンシおよびデプスを用いるBL
ITを含むテクスチャ処理(500a)、 ・バンプマッピング,偽(pseudo)テクスチャおよびテク
スチャタイル(tiling)効果(500b)のためのテクス
チャ座標置換を計算するバンプマップ処理、および ・間接テクスチャ処理(500c)を含むテクスチャリ
ングに関連する種々のタスクを実行する。
【0046】グラフィクスパイプライン180は、種々
の直接および間接テクスチャリングの特徴の実現を容易
にする多目的テクスチャリングパイプラインアーキテク
チャを含む。図5に示すように、このテクスチャリング
パイプラインは、基本的に ・テクスチャデータルックアップ検索を行うためのテク
スチャユニット500a ・テクスチャ座標/テクスチャデータ処理のための間接
テクスチャ/バンプユニット500b/500c ・テクスチャルックアップデータフィードバック経路5
00d ・ステージ化したカラーデータおよびアルファデータ
(透明データ)のブレンドのためのテクスチャ環境ユニ
ット600を含む。
【0047】ユニット500a,500bおよび500
cの再使用は、たとえばマルチテクスチャリングを含む
多様な興味ある効果を提供するように使用される。さら
に、この発明は、これらのコンポーネントの再使用/再
循環を通して、間接テクスチャリングをサポートする。
ハードウェアによって実現する実施例において、テクス
チャアドレス座標/バンプ処理ブロック500bおよび
間接テクスチャデータ処理ブロック500cは、単一の
テクスチャ座標/データ処理ユニットの一部であり、テ
クスチャリングパイプラインは、テクスチャユニット5
00aから検索したテクスチャ間接ルックアップデータ
がデータフィードバック接続500dを介して、テクス
チャアドレス座標/バンププロセサ500b/500c
へ戻されるように構成される。このテクスチャ座標/デ
ータ処理ユニットは間接テクスチャルックアップから検
索したテクスチャデータを、他の(標準/非間接)テク
スチャルックアップのためにテクスチャ座標に次に加え
られるオフセットに変換する。
【0048】上で述べたフィードバック経路配置を用い
ることによって、検索したテクスチャデータが、新/修
正テクスチャルックアップ座標を得るためのさらなる処
理/計算のためにテクスチャ処理パイプラインへ効率的
に「再循環されて」戻され得る。この再循環/リサイク
ルテクスチャルックアップデータ配置によって、増強さ
れた多様な間接テクスチャアプリケーションを提供する
間接テクスチャマッピング/処理動作を効率的かつフレ
キシブルにする。間接テクスチャマッピング/処理の種
々のアプリケーションのいくつかは、たとえば ・テクスチャラッピング ・メタテクスチャ ・テクスチャタイルマップ ・擬似3Dテクスチャ ・環境マップ化されたバンプマッピングを提供すること
ができる。
【0049】テクスチャユニット500はテクスチャ環
境処理(600a)のためにフィルタされたテクスチャ
値をテクスチャ環境ユニット600に出力する。テクス
チャ環境ユニット600は、ポリゴンおよびテクスチャ
カラー/アルファ/デプスをブレンドし、また逆レンジ
ベース(reverse range based)のフォグ効果を達成する
ために、テクスチャフォグ処理(600b)を実行す
る。テクスチャ環境ユニット600はたとえばカラー/
アルファ変調,エンボシング,詳細テクスチャ,テクス
チャスワッピング,クランピングおよびデプスブレンデ
ィングに基づく多様な他の環境関連機能を実行する多段
階を提供する。
【0050】ピクセルエンジン700はデプス(z)比
較(700a)およびピクセルブレンディング(700
b)を実行する。この実施例では、ピクセルエンジン7
00はデータを埋め込み(オンチップ)フレームバッフ
ァメモリ702にストアする。グラフィクスパイプライ
ン180は、フレームバッファおよび/またはテクスチ
ャ情報をローカルにストアするために1つ以上の埋め込
みDRAMメモリ702を含む。z比較700aは、現
在有効なレンダリングモードに依存して、グラフィクス
パイプライン180におけるより早い段階で実行される
(たとえば、z比較は、もしアルファブレンディングが
要求されていないならば早くに実行され得る)。このピ
クセルエンジン700は表示コントローラ/ビデオイン
タフェースユニット164による主メモリ112へのア
クセスのために、オンチップフレームバッファ702を
周期的に書き込むコピー動作700cを含む。このコピ
ー動作700cはまた動的テクスチャ合成効果のため
に、埋め込みフレームバッファ702の内容を主メモリ
112中のテクスチャにコピーするために使用され得
る。アンチエイリアシング(anti-aliasing)および他の
フィルタリングがコピー動作中に実行され得る。最終的
に主メモリ112にストアされるグラフィクスパイプラ
イン180のフレームバッファ出力は、表示コントロー
ラ/ビデオインタフェースユニット164によってフレ
ーム毎に読み出される。表示コントローラ/ビデオイン
タフェース164は表示装置56上での表示のためにデ
ィジタルRGBピクセル値を与える。 実施例の間接テクスチャリング−論理的全体図 図6はシステム50によってサポートされる間接テクス
チャリングの論理的全体図を示す。この図6に図示され
たような論理的全体図によれば、ラスタライザ6000
がN組の間接テクスチャアドレス(座標)ADDR_A0ない
しADDR_A(N-1)、およびM組の直接テクスチャアドレス
(座標)ADDR_B0ないしADDR_B(M-1)を発生する。このN
組の間接テクスチャ座標ADDR_A0ないしADDR_A(N-1)は、
Nの対応する論理的テクスチャルックアップユニット6
002,6004,6006(A0ないしA(N-1))へ送ら
れる。各論理的テクスチャルックアップユニットは、1
つの実施例では、同じ物理的なテクスチャルックアップ
ユニットをN回再使用することによって設けられるが、
これは、それの各々が独特のかつ異なるテクスチャマッ
プであるテクスチャマップからの対応するテクセル値を
ルックアップ(検索)するために受信した間接テクスチ
ャ座標を使用する。これらのルックアップ動作によっ
て、N組の間接テクスチャルックアップ値DATA_A0ない
しDATA_A(N-1)が得られ、そのルックアップ値はテクス
チャアドレスプロセサ6008に与えられる。テクスチ
ャアドレスプロセサ6008はまた、M組の直接テクス
チャ座標入力ADDR_A0ないしADDR_A(N-1)を受信する。
【0051】テクスチャアドレスプロセサ6008は、
間接テクスチャルックアップデータおよび直接テクスチ
ャ座標の所定の関数に基づいて、新/修正直接テクスチ
ャアドレス(座標)ADDR_C0ないしADDR_C(K-1)を計算す
る。このK組の計算した直接テクスチャ座標(アドレ
ス)ADDR_C0ないしADDR_C(K-1)の各々は、対応する論理
的テクスチャルックアップユニットC0(6010)お
よびC1(6012)ないしC(K−1)(6014)
へ送られる。1つの実施例上では、これらの論理的テク
スチャユニットC0−C(K−1)は、論理的テクスチ
ャユニットA0−A(N−1)を提供するために使用さ
れる同じ物理的テクスチャマッパを再使用することによ
って提供され得る。各テクスチャルックアップユニット
C0ないしC(K−1)は、対応するテクスチャマップ
内のテクセル値をルックアップするために、受信した座
標を使用する。
【0052】K組のテクスチャルックアップ値DATA_C0
ないしDATA_C(K-1)は、そのテクスチャルックアップの
結果として得られ、次いで、ピクセルシェーダ(shader)
6016へ与えられる。ピクセルシェーダ6016は、
0,1またはそれ以上の組のラスタ化(グローシェーデ
ィング:Gouroud shading)カラーと一緒に、K組の受信
テクスチャ値を受信する。ピクセルシェーダ6016
は、次いで、たとえばビデオディスプレイフレームバッ
ファへ送られ得るカラー出力値を生成するために、所定
のシェーディング関数に従って、その受信したテクスチ
ャ値DATA_C0ないしDATA_C(K-1)を使用する。
【0053】理解を助けるために、図7および図8が、
それぞれ、標準(非間接)テクスチャルックアップ動作
および間接テクスチャルックアップ動作の簡単な例を図
解する。図7に示すように、標準テクスチャマッピング
ルックアップ動作950は、少なくとも1組の標準(非
間接)テクスチャ座標とテクスチャマップIDとを入力
として特定する必要がある。この例についていえば、テ
クスチャカラーデータが、(適宜のテクスチャマップか
ら)テクスチャユニット500a(図5)によって検索
され、次いで、カラーブレンドのためにテクスチャ環境
ユニット(TEV)600aに与えられる。
【0054】間接テクスチャルックアップ動作の一例に
おいては、図8に示すように、テクスチャマッピングは
多数のステージ/サイクルにおいて生じる。第1ステー
ジ中、1組の間接テクスチャ座標が間接テクスチャマッ
ピング動作952に対応するテクスチャマップIDとと
もに、入力901として与えられる。次のもしくは後続
のステージにおいては、間接テクスチャルックアップ9
52からの検索データが、入力テクスチャマップID9
07を使用する他の(標準)テクスチャルックアップ9
50のための1組の新/修正座標905を生成するため
に、1組の標準(非間接)テクスチャ座標903に関連
して使用される。各ステージ中、種々のプログラマブル
な動作909がその検索データおよび座標上で実行さ
れ、新/修正ルックアップ座標を得る。1つの実施例に
おいては、図8の例におけるブロック952および95
0が、ステージ化されあるいは再循環の態様で再使用も
しくはリサイクルされる同じハードウェアによって行わ
れる。 直接および間接テクスチャアドレシングの例 図9は、直接および間接テクスチャリングを実現するた
めのかつインタリーブされた態様での物理的なテクスチ
ャマッピングユニットの再使用を提供する実施例の基本
的な物理的構成を示す。ラスタライザ7000は各ピク
セルに関連するすべての直接および間接テクスチャアド
レス座標セットを順次発生する。この実施例において、
ラスタライザ7000は、ピクセルタイル(すなわち、
2×2または他のピクセル領域)における4つのピクセ
ルのための座標セットを並列に与える。しかしながら、
他の実施例も可能である。図示した実施例において、ラ
スタライザ7000は、まず、ピクセル毎のすべての直
接テクスチャ座標セット(たとえばADDR_B0ないしADDR_
B(M-1))が後続するピクセル毎の間接テクスチャ座標
(たとえば、DATA_A0ないしDATA_A(N-1))を発生する。
各ピクセルは、実行されているテクスチャリング動作に
依存して異なる量の直接および間接座標データを有す
る。たとえば、或るピクセルは間接テクスチャアドレシ
ングを必要とせず関連する間接座標データを持たない
が、他のピクセルは1つまたはそれ以上の間接テクスチ
ャアドレシング動作を必要とし、1つまたはそれ以上の
対応する組の関連する直接および間接座標を有する。
【0055】グラフィクスパイプライン180のテクス
チャ処理回路の実施例において、テクスチャ処理は同じ
テクスチャアドレスプロセサおよび同じテクスチャ検索
ユニットを利用して達成される。テクスチャ処理ハード
ウェアの効率的な使用を最大にしかつパイプラインを通
しての全体のデータ処理の流れにおける細分化を回避す
るために、ローカルな直接および間接テクスチャアドレ
ス(座標)およびテクスチャデータのルックアップ(検
索)が実質的に連続してかつインタリーブされた態様で
実行される。ピクセル毎にラスタライザ7000によっ
て発生された間接テクスチャ座標セットが、スイッチS
0(7002)およびS1(7010)を介して、1つ
のテクスチャ検索ユニット7012へ直接送られ、他
方、非間接(論理的直接)座標セットは直接座標FIF
O(dFIFO)7006に置かれる。
【0056】グラフィクスパイプラインの実施例におい
て、テクスチャ検索ユニット7008はクロック毎に少
なくとも1つのテクスチャ上で動作し、1つ以上のテク
スチャのために状態情報およびキャッシュ記憶を維持す
ることによって、多数のテクスチャリング作業(contex
t::コンテキスト)を同時に取り扱うことができる。検
索した間接テクスチャデータDATA_A0ないしDATA_A(N-1)
はフィードバック経路7018を介して、スイッチS2
から間接データFIFO(iFIFO)7004へ送ら
れ、そこで、必要になるまで、その検索した間接テクス
チャデータがストアされる。直接テクスチャ座標はスイ
ッチS0を介して直接座標FIFO(dFIFO)70
06へ送られ、それらは必要になるまでそこにストアさ
れる。図6に関連して説明した上述の実施例において、
間接データFIFO7004はN組の間接テクスチャデ
ータを受信し、直接座標データFIFO7006はM組
の直接テクスチャ座標を受信する。テクスチャアドレス
プロセサ7008は次いで、入来直接テクスチャ座標お
よび検索間接テクスチャデータの所定の関数に基づいて
新たなK組のテクスチャ座標を計算する。論理的直接お
よび間接座標の処理がインタリーブされるので、連続す
る間接テクスチャ動作間に介在する1つ以上の直接テク
スチャ動作があるときには常に、直接座標の処理は対応
する間接データの検索に遅れる。したがって、バッファ
(たとえばFIFO)7004および7006は、検索
した間接テクスチャルックアップデータおよび適宜の対
応する組の直接座標を、それらが同時にテクスチャアド
レスプロセサ7008へ与えられる前に、同期化し、再
整列する。
【0057】K組の計算したテクスチャ座標ADDR_C0な
いしADDR_C(K-1)はKクロックに亘って順次出力され
る。スイッチS1(7010)は、テクスチャユニット
7012へ与えるために、計算したテクスチャ座標デー
タ(のセット)を入来間接テクスチャ座標ストリームへ
インタリーブする。このスイッチS1は、入来する間接
テクスチャ座標ストリーム中における未使用のもしくは
遊びサイクル(「バブル」)を探し、これらのサイクル
中において計算したテクスチャ座標データ(のセット)
を挿入することによってインタリーブする。スイッチS
2(7014)は結果的に得られたテクスチャルックア
ップデータDATA_C0ないしDATA_C(K-1)およびラスタ化カ
ラーをピクセルシェーダ7016へ発送する。ピクセル
シェーダ(TEV)7016は所定のシェーディング関
数を与え、かつたとえばビデオディスプレイフレームバ
ッファへ次に送られる1組のカラー値を出力する。
【0058】実施例のハードウェアにおいて、テクスチ
ャアドレスプロセサの動作は次の2つの典型的な動作的
な制約を利用することによって簡単になる。
【0059】(1) 計算したテクスチャ座標の組の数すな
わちKはラスタ化した直接テクスチャ座標の組の数すな
わちMと等しい。
【0060】(2) 計算したテクスチャ座標の組の値すな
わちADDR_C[i]は、直接テクスチャ座標の組ADDR_B[i],
少なくとも1組の間接テクスチャデータDATA_A[j]およ
び(任意的に)先の処理ステージからの計算した結果AD
DR_C[i-1]の関数f(a,b,c)である。この動作の
関係は次の数9によって表される。
【0061】
【数9】 ADDR_C[i]=f(ADDR_B[i],DATA_A[j],ADDR_C[i-1]) 図10は上述の動作的な関係に従ったテクスチャアドレ
ス(座標/データ)プロセサ7008の実施例の論理図
を示す。バッファ7009は先のサイクルからの計算し
たテクスチャ座標の結果をストアし、それを必要に応じ
て与える。注意深くFIFOをアドレスすることによっ
て、正しい間接テクスチャDATA_A の値が適当な処理サ
イクル/ステージで利用可能である。 テクスチャ処理パイプラインにおけるインタリーブされ
た処理の例 図11−図21は図9の構成の動的なインタリーブ動作
を図解する。これらの図は、図9の循環テクスチャリン
グパイプラインの上述の実施例においてインタリーブさ
れた直接および間接テクスチャ処理の結果としての連続
的な処理ステージでのピクセル直接座標データおよびピ
クセル間接テクスチャデータの相対的な経過の一例を図
解する一連のブロック図を示す。この図示した例におい
て、最初のピクセルPX0が間接テクスチャリング動作
を要求する。図11に示すように、このピクセルPX0
に関連する1組の間接テクスチャ座標(PX0 IND)およ
び対応の組の直接テクスチャ座標(PX0 DIR)がラスタ
ライザ400によってスイッチS0でちょうどテクスチ
ャリングパイプラインに入るように与えられる。
【0062】図12において、ピクセルPX0のための
間接座標PX0 IND は、スイッチS0およびS1を介し
て、テクスチャユニット500aに直接与えられる。ピ
クセルPX0のための直接座標PX0 DIR は、ピクセルP
X0のための直接座標に後続し、間接座標が処理されて
いる間の一時的な記憶のために、スイッチS0を介し
て、直接FIFO(dFIFO)7004に与えられ
る。テクスチャユニット7012はピクセルPX0のた
めの間接座標PX0 IND に基づいて間接テクスチャルック
アップを実行し、計算したデータ(図13参照)を与え
るとともに、次の図14に示すように、検索した間接テ
クスチャルックアップデータPX0 Dataを、たとえばスイ
ッチS2を介して、テクスチャリングパイプライン入力
へ戻し与える(再循環させる)。図14に示すように、
再循環された間接テクスチャルックアップデータPX0 Da
taは間接FIFO(iFIFO)に与えられ、このルッ
クアップデータは関連する直接テクスチャ座標のセット
PX0 DIR と効果的に対にされる(バッファ7004およ
び7006の間の同期化によって)。間接テクスチャル
ックアップデータPX0 Dataおよび直接テクスチャ座標の
セットPX0 DIR は、ピクセルPX0についての新/修正
テクスチャアドレス座標のセットを計算するために、テ
クスチャアドレスプロセサによって一緒に処理されるよ
うに用意される。テクスチャリングパイプラインはバッ
ファ7004および7006からのこの1組の値を、テ
クスチャ座標(図15参照)を計算することによって消
費し、このテクスチャ座標はテクスチャをマッピングし
かつシェーダ(図16参照)へカラー/アルファテクセ
ルデータを与える。
【0063】図14に戻って、ラスタライザが、後続す
るピクセルをテクスチャリングするために、スイッチS
0でのテクスチャパイプライン入力にテクスチャ座標の
セットを与え続けるものと仮定する。この例において、
ピクセルPX0に後続する一連の後続ピクセルたとえば
PX0ないしPX49は直接テクスチャリング動作だけ
を使用してテクスチャリングされる。ラスタライザは、
ピクセル毎に、適宜の直接テクスチャ座標のセットPX1
DIR ないしPX49 DIRを与え、それらは図15に示すよう
な直接座標FIFO(dFIFO)にスイッチS0を介
して向けられる。テクスチャアドレスプロセサがピクセ
ルPX0のための新/修正テクスチャアドレス座標を計
算し終えると、そのテクスチャアドレスプロセサは直接
テクスチャ座標のセットPX1 DIR (図16を参照)を受
け入れる。
【0064】図16によってまた示されるように、ラス
タライザが、間接テクスチャリング動作を用いてテクス
チャリングされるべき、ピクセルPX49に続くピクセ
ルPX50を次に与えるものと仮定する。図17によっ
て図解されるように、スイッチS0は、ピクセルPX5
0のための入来間接テクスチャ座標のセットPX50 INDを
テクスチャ検索ユニット7012へ直接与える。間接テ
クスチャ座標に優先権を与えることは、一般に、間接テ
クスチャマッピングから結果的に得られた間接データ
が、それが必要なときまでにバッファ7004中に存在
する(したがってパイプラインが動かなくなったりサイ
クルの浪費を防止する)ことである。しかしながら、こ
の実施例においては、レンダリングシーケンスにおける
後のピクセル(たとえばPX50)のための間接テクス
チャ座標は、そのシーケンス中においてそれより早いピ
クセル(たとえばPX2)を検索ユニットが処理する前
に、テクスチャ検索ユニット7012によって処理され
ることに留意されたい。この実施例のテクスチャ処理パ
イプラインによって提示されるこのような動的インタリ
ービングは効率の面から見て有利である。
【0065】図17に示すように、ピクセルPX50に
ついての入来直接テクスチャ座標のセットPX50 DIRがス
イッチS0を介してバッファリングのために直接座標F
IFO(dFIFO)に与えられる(図17にまた示す
ように、直接座標のセットPX1 DIR に対応するピクセル
PX1のためのテクスチャカラーPX1 TEX Color がこの
時点においてテクスチャ検索ユニットによってテクスチ
ャルックアップから出力され、スイッチS2を介してピ
クセルシェーダに向けられる)。
【0066】次に、図18に示すように、間接座標のセ
ットPX50 INDに基づいてテクスチャ検索ユニットがテク
スチャルックアップを行った後、テクスチャ検索ユニッ
トによって検索された間接テクスチャルックアップデー
タPX50 DataがスイッチS2を介して、間接テクスチャ
データFIFO(iFIFO)へ再循環される。図18
はまた、dFIFOからのストリーム中の次の直接座標
の組PX2 DIR がテクスチャアドレスプロセサによって処
理されかつスイッチS1を介してテクスチャ検索ユニッ
トへ与えられることを示す。
【0067】図19は、テクスチャ検索ユニットから出
力されかつスイッチS2を介してピクセルシェーダへ向
けられている直接座標のセットPX2 DIR に対応するピク
セルPX2のためのテクスチャカラーPX2 TEX Color を
示す。この同じ処理ステージで、バッファdFIFOか
らの次の直接テクスチャ座標のセットPX3 DIR がテクス
チャアドレスプロセサによって処理されかつスイッチS
1を介してテクスチャ検索ユニットへ与えられ、間接テ
クスチャルックアップデータPX50 Dataが対応のPX5
0の直接座標のバッファ7006を通しての伝搬を待っ
ているバッファiFIFOにセーブされる。
【0068】図20における例によって図解されるよう
に、dFIFOにおける直接座標ストリームPX5 DIR な
いしPX49 DIRは、次いで、テクスチャアドレスユニット
によって処理されかつスイッチS1を介してテクスチャ
検索ユニット7012に与えられる。そのストリーム中
の直接座標のセットPX5 DIR ないしPX49 DIRに対応する
検索テクスチャカラーの各々は、次いで、スイッチS2
を介してピクセルシェーダへ与えられる。間接テクスチ
ャルックアップデータPX50 Data(これは、dFIFO
中におけるピクセルPX50のための対応する直接座標
PX50 DIRと一致がとれるまでiFIFO7004中に保
持される)は、すべての直接座標のセットPX5 DIR ない
しPX49 DIRの挿入がすべて処理されたとき、最終的に図
21に示すように開放される準備が整う。iFIFOに
ストアされた間接テクスチャデータPX50 Data は、次い
で、それに対応する直接座標の組PX50 DIRと対にされ得
て、ピクセルPX50のための新/修正テクスチャ座標
の組を計算するためにテクスチャアドレスプロセサへ与
えられ得る。 さらに詳細な例 図22は実施例についての間接テクスチャマッピングを
行うために使用される基本的な処理ステップを示すフロ
ー図である。図22の大部分のステップは、一般的な間
接テクスチャリングAPI関数801によって設定さ
れ、この関数801はテクスチャユニット500および
テクスチャ環境ユニット600による間接テクスチャを
処理するためのパラメータを設定する。
【0069】システム50は、まず、間接テクスチャと
しての使用のためにテクスチャイメージ/データをテク
スチャメモリ502にストアする(ブロック800)。
1つまたはそれ以上のAPIコマンド関数(ブロック8
02−810)に基づいて、コマンドプロセサ200
が、次いで、特定の組の間接テクスチャ座標をテクスチ
ャ検索ユニット500a(図5参照)へ与え、このユニ
ット500aはテクスチャメモリ504にアクセスし、
間接テクスチャルックアップデータ(図8)を検索する
(ブロック952)。この例示した実施例において、1
つまたはそれ以上のAPI間接テクスチャ関数801に
よって、グラフィクスアプリケーションがテクスチャマ
ップとテクスチャ座標との間の関係を設定できかつ間接
および直接テクスチャ参照動作を行うときにどの組のテ
クスチャマップと座標とが用いられるべきかを特定す
る。たとえば、基本的な間接テクスチャリング動作にお
いては、1つまたはそれ以上の組の間接テクスチャ座標
が特定され(ブロック802)、1つまたはそれ以上の
テクスチャマップが認識され(ブロック804)、新/
修正テクスチャ座標を計算するためのパラメータおよび
処理順序ならびに間接テクスチャ参照の数が特定され
(ブロック806)、1つまたはそれ以上のテクスチャ
マップが間接テクスチャとして認識され(ブロック80
8)、そして1組の間接テクスチャ座標が間接テクスチ
ャマップに関連付けられる(ブロック810)。
【0070】間接テクスチャルックアップ動作から検索
されたデータは、さらなる処理のために、フィードバッ
ク接続500dを介して、同じテクスチャアドレス(座
標)バンプ/処理回路500b/500cに「再循環し
て」戻される。テクスチャバンプ/処理回路500b/
500cは、次いで、現在の標準(非間接)テクスチャ
座標および/または予め規定されたテクスチャスケー
ル,バイアスおよび回転データに基づいて新たなテクス
チャ座標を計算する際の座標オフセット因子として、そ
の検索した間接テクスチャルックアップデータを使用す
る(ブロック812)。この新/修正座標は、次いで、
ポリゴンへのテクスチャマッピングのための標準直接
(非間接)座標として用いられる(ブロック814;図
8ブロック950)。あるいは、これらの新/修正座標
はなおも別のテクスチャマッピング動作におけるテクス
チャマッピングハードウェアのさらなる再循環を介して
の付加的な/後続の座標計算のために再度使用され得
る。この方法において、多数の間接レベルがステージ化
され、1つのテクスチャ座標バンプ/処理回路500b
/500cおよび1つのテクスチャ検索ユニット500
aを用いて処理される。最後に、検索されたテクスチャ
ルックアップデータは、たとえばステージ化されたカラ
ーブレンドのために他のテクスチャとともに、テクスチ
ャ環境ユニット600へ与えられる。 テクスチャ動作とシェーダ動作との協働の例 システム50の実施例において、上で述べた間接および
直接テクスチャリング動作がテクスチャ環境ユニット6
00内において循環シェーダの対応するステージととも
に協働する。同時係属中の「グラフィクスシステムのた
めの再循環シェーディングツリーブレンダ」を参照され
たい。
【0071】図23はシェーダステージと協働するため
に標準テクスチャマッピングを如何に設定するかの例を
図解する機能図である。たとえばAPI関数によって特
定されたテクスチャルックアップパラメータが標準(非
間接)テクスチャ座標のセットに関連してストアされた
テクスチャマップを認識する。テクスチャルックアップ
は、メモリにストアされたその認識されたテクスチャマ
ップにアクセスするために、テクスチャ座標のセットを
使用して行われる。検索したテクスチャルックアップデ
ータは、次いで、カラーブレンドのために、TEVユニ
ット600に送られる。
【0072】この発明の実施例において、TEVユニッ
ト600によって、個々の処理ステージ中においてポリ
ゴンテクスチャリングおよびシェーディングを達成する
ために、プログラマブルなカラーデータのブレンド動作
が可能である。これらのステージは適宜のAPIコマン
ド関数によって予め規定される。実施例においては、1
6までのTEV処理ステージが予め規定され得る。各ス
テージには処理順序ID(番号)が割り当てられ、その
順序に従って処理される。この例においては、選択され
たTEV処理ステージ910は、テクスチャ座標ID9
14および関連のテクスチャマップID916を特定す
る1組のテクスチャルックアップパラメータ912に関
連付けられる。適宜のテクスチャが関連座標を用いてル
ックアップされ、検索されたテクスチャデータが対応す
るTEVステージのブレンドのために与えられる。図9
はこの実施例が8つまでのテクスチャおよび16までの
TEVステージを提供することを示すが、別の実施例に
おいては任意の数が使用できる。
【0073】テクスチャ座標/テクスチャマップの対の
リストが、GXSetNumTev ステージのコマンドによって設
定されるように多数の再循環ステージを使用するGXSetT
evOrder コマンドによって特定された順序で、再循環テ
クスチャユニット500およびテクスチャ環境ユニット
600によって処理される。図9に示す特別の例におい
ては、APIコマンドGX_TEXCOORDIDno.7によって指定
された1組のテクスチャ座標が、GX_TEXMAP ID のAP
Iコマンドによって指定されるテクスチャマップno.
3を使用する直接テクスチャマッピングを実行するため
に使用される。この例における具体的なテクスチャルッ
クアップの結果は、GXSetTevOrderのAPIコマンドによっ
て指定されるようなTEVステージ0における処理のた
めに、テクスチャ環境ユニット600へ送られる。この
例においては、no.2を指定した他の組のテクスチャ
座標が、さらなるテクスチャマッピングステージ(たと
えばステージno.3)におけるテクスチャマップn
o.4を用いるさらなるテクスチャマッピング処理にお
いて使用され、このテクスチャルックアップの結果がさ
らに、TEV処理ステージno.3においてテクスチャ
環境ユニット600によって処理される。図23は、第
5番目のテクスチャルックアップステージにおいてID
番号no.3によって認識される1組のテクスチャ座標
およびID番号no.4によって認識されるテクスチャ
マップを用いる別の例のテクスチャルックアップステー
ジno.5を示し、このテクスチャルックアップの結果
はTEVステージno.5によって処理される。同様
に、no.5のテクスチャ座標のセットはさらなるテク
スチャマップno.6および第7番目のテクスチャルッ
クアップおよび関連するTEV処理ステージをルックア
ップするために使用され、1組のテクスチャ座標no.
6は第9番目のテクスチャルックアップステージにおい
てテクスチャマップno.7をルックアップするために
使用され、このテクスチャルックアップの結果が第9番
目のTEV処理ステージを使用して処理される。GXSetT
evOrderのAPIコマンドが順番を特定し、そこでは、種々
のテクスチャ座標/テクスチャマップのID対がテクス
チャユニット500およびテクスチャ環境ユニット60
0によって処理される。図23に示す具体的な順序およ
び具体的なIDは単なる例示である。
【0074】図24は循環シェーダステージと協働する
ために一連の標準および間接テクスチャ処理を如何に設
定するかの例を図解する機能図である。この例におい
て、選択されたTEV処理ステージは標準および間接テ
クスチャルックアップ動作の両方を特定する1組のテク
スチャルックアップパラメータ911に関連付けられ
る。間接マッピングのための1組の間接ルックアップパ
ラメータ913は間接テクスチャ座標ID904を対応
するテクスチャマップID916に関連付ける。この場
合、テクスチャ座標は「間接」座標として特定される。
間接テクスチャルックアップが行われ、間接テクスチャ
ルックアップの結果が、新/修正テクスチャ座標を得る
ために、標準テクスチャ座標と結合される。新/修正テ
クスチャ座標は、次いで、関連するテクスチャマップ9
16をアクセスするために使用され、結果的に得られた
テクスチャルックアップデータが対応するTEVステー
ジのために与えられる。
【0075】図24の例において、付加的なAPIコマ
ンドGXSetIndTexOrder,GXSetNumIndStages およびGXSe
tTevIndirectが間接テクスチャルックアップ動作を実施
するために使用される。図示する具体的な例において、
テクスチャ座標/テクスチャマップの対no.0が間接
テクスチャルックアップを実行するために使用され、そ
の間接テクスチャルックアップの結果が演算器909
(図8)によって、循環処理ステージ0において指定さ
れたテクスチャマップno.3を使用して直接テクスチ
ャルックアップを行うために、no.7によって指定さ
れた1組のテクスチャ座標と結合される。同じようにし
て、テクスチャ座標/テクスチャマップの対no.1
が、演算器909が対応する直接テクスチャマップn
o.4上でのテクスチャマッピングを行うためにテクス
チャ座標のセットno.2と結合させる検索データを作
るために、間接テクスチャルックアップを行うために使
用される。図24に示す具体的な例において、テクスチ
ャマップno.2を用いるさらなる間接テクスチャルッ
クアップおよび1組のテクスチャ座標no.4が間接テ
クスチャルックアップの結果を与え、その結果を、演算
器909が、テクスチャ座標no.3/テクスチャマッ
プno.5の対を(TEV処理ステージno.5におい
て)および第7番目のTEV処理ステージにおいて、1
組のテクスチャ座標no.5/テクスチャマップno.
6の対を使用する2つの連続する直接テクスチャルック
アップのために使用する。図24に示される特別なテク
スチャ座標のID番号,テクスチャマップのID番号お
よびTEV処理ステージの番号は単なる例示である。 API間接テクスチャ関数のコマンドの例 図23−図24に示すように、1つまたはそれ以上のグ
ラフィクスAPI関数が、直接および間接テクスチャリ
ング動作を設定しかつ開始させるために使用される。間
接テクスチャ動作およびパラメータを設定するためのA
PI関数の例は以下のように規定され得る。 GXSetIndTexOrder この関数は間接ルックアップとともに使用されるテクス
チャ座標およびテクスチャマップを特定するために使用
される。
【0076】引数 ind_stage 影響を受けている間接ステージ tex_coord このステージのために使用されるテクスチ
ャ座標。或るテクスチャ座標は間接および標準ステージ
によって同時に共用され得る。 tex_map このステージのために使用されるテクスチャ
マップ。或るテクスチャマップは間接または標準テクス
チャマップであり、両方のものではない。
【0077】さらに詳しくいえば、引数の例は次のよう
である。 u8 NumIndtex; //間接テクスチャの数 GXIndTex StageID IndexTesId[]; //影響を受けてい
る間接テクスチャ GXTexMapID Tex_map[]; //このステージのために使用
される間接テクスチャマップ(ID) GXTexCoordID Tex_coord[]; //各間接テクスチャマッ
プ毎の関連するテクスチャ座標 上述の関数は特定のテクスチャマップおよびテクスチャ
座標を間接テクスチャマップIDネームと関連付ける。
それは、或る間接ルックアップとともに使用するため
に、テクスチャ座標およびテクスチャマップを特定す
る。1つの例示において、次のような別の引数が可能で
あるが、特定されたテクスチャマップは間接または直接
テクスチャのいずれかとして用いられ、両方には用いら
れない。
【0078】使用例 void GXSetIndTexOrder (GXIndTex StageID ind_stag
e, GXTexCoordID tex_coord, GXTexMapID tex_map); GXSetTevIndirect(GXSetIndirectTexture) これは、或る標準TEVステージのルックアップを修正
するために間接ルックアップからの結果を如何に使用す
るかを制御するために使用される汎用関数である。
【0079】引数 tev_stage 影響を受けているTEVステージ ind_stage このTEVステージとともに使用する間接
ステージの結果 format 間接オフセットおよび間接「バンプ」アルファ
を使用するために間接結果から何ビットを検索するかを
示す bias_sel 間接オフセットの各コンポーネントにバイ
アスを加えるかどうかを示す matrix_sel オフセットを乗算するための間接マトリ
クスおよびスケール値を示す wrap_s 標準テクスチャ座標のS成分とともに使用す
るラッピングファクタを示す wrap_t 標準テクスチャ座標のT成分とともに使用す
るラッピングファクタを示す add_prev 先のTEVステージからのテクスチャ座標結
果が加えられるべきかどうかを示す utc_lod ミップマップ(mipmap)LOD計算のために
未修正テクスチャ座標(GX_TRUE) を用いるか修正テクス
チャ座標(GX_FALSE)を用いるかを示す alpha_sel もしあれば、どのオフセット成分が間接
「バンプ」アルファを供給するかを示す より詳細にいうと、以下のような引数の例がある GXTevStageID TevStageId; //TEVカラー結合ステー
ジのIDネーム GXIndTexStageID indStage; //このTEVステージと
ともに用いられる間接テクスチャステージ CXIndTexFormat Fmt; // 間接テクスチャオフセットの
フォーマット GXIndTexBiasSel Bias; //どのオフセット(S,T)
がバイアスを受けるかを選択する GXIndTexAlphaSel AlphaSel; //間接テクスチャアルフ
ァ出力を選択する GXIndMtxID Matrix_Sel; // テクスチャオフセットマ
トリクスおよびスケールを選択する GXIndTexWrap WrapS; // 直接S座標のラップ値 GXIndTexWrap WrapT; // 直接T座標のラップ値 GXBool IndLOD; //詳細レベル(LOD)のための修正
テクスチャ座標の使用 GXBool AddPrev; // 先のステージからの出力をテクス
チャ座標に加える 上述の関数によって、特別のTEVステージに関連する
或る間接テクスチャを処理するための種々のパラメータ
のすべてを設定することができる。この関数は、間接テ
クスチャマップをTEVカラー結合ステージに関連付
け、検索した間接テクスチャルックアップデータ(カラ
ー値)が如何にしてテクスチャ座標オフセット(すなわ
ち、3,4,5または8ビットフォーマット)へ変換さ
れるかを特定し、テクスチャオフセットマトリクスおよ
びテクスチャスケール値を選択し、テクスチャ座標ラッ
プパラメータおよび計算した新/修正座標がミップマッ
プテクスチャとともに詳細レベル(LOD)のために使
用されるべきかどうかを特定する。この関数によって、
また、先のステージ中におけるテクスチャ処理ロジック
512(下に示す)からの計算した出力を現在のステー
ジにおけるテクスチャ座標に加えるかどうかを選択する
ことができる。
【0080】使用例 void GXSetTevIndirect (GXTevStageID tev_stage, GXI
ndTexStageID ind_stage, GXIndTexFormat format,GXI
ndTexBiasSel bias_sel, GXIndTexMtxID matrix_sel,
GXIndTexWrap wrap_s,GXIndTexWrap wrap_t, GXBool
add_prev, GXBool utc_lod,GXIndTexAlphaSel alpha_
sel) ; GXSetIndTexMtx この関数は3つの静的間接マトリクスの1つおよび関連
するスケールファクタを設定させる。間接マトリクスお
よびスケールは、標準ルックアップ中に使用させるよう
にオフセットを生成するために、間接ルックアップの結
果を処理するために使用される。このマトリクスは、間
接ルックアップカラーから検索され(かつ必要に応じて
バイアスされた)[STU]オフセットによって乗算さ
れる。このマトリクスベクトル乗算において、マトリク
スは左側であり、[STU]列のベクトルは右側であ
る。
【0081】マトリクス値は、符号および10小数ビッ
ト(2の補数)としてハードウェア中にストアされる。
したがって、ストアされる最も小さい数は−1であり、
最も大きい数は(1−1/1024)またはほぼ0.9
99である。+1をストアすることはできないので、す
べてのマトリクス値を2で割り(したがって、+1が+
0.5になる)かつ補正のためにスケール値に1を加え
ることが考えられる。
【0082】より詳しくいうと、以下のような引数の例
がある。 GXIndTexMtsID MtxId;//テクスチャオフセットマトリ
クスネーム F32 Offset Matrix[3][2];//テクスチャオフセットマ
トリクスのためのマトリクス要素 GXIndTexFormat Fmt;//スケーリングのための指数値 上述の例のAPI関数は、ルックアップデータ処理ロジ
ック(proc)512におけるマトリクスMおよびス
ケール値を設定する。検索された間接テクスチャルック
アップデータ(たとえばテクスチャ座標オフセットs,
t,u)はオフセットマトリクス525(M)およびス
ケールファクタ526によって乗算される。このオフセ
ットマトリクスは間接処理ロジック512(以下を参
照)内において使用される3×2要素のマトリクス要素
を特定するAPI関数パラメータである。好ましい実施
例においては、マトリクス要素は(−1,1)の範囲内
にある。スケール指数はスケールファクタを設定するた
めに使用される2のべき数指数を特定するパラメータで
ある。スケール指数の好ましい範囲は(−32,32)
である。
【0083】使用例 void GXSetIndTexMtx(GXIndTexMtxID mtx_sel, f32 off
set_mtx[2][3], s8 scale_exp) GXSetIndTevOrder 上述の関数は標準非間接テクスチャマップおよびテクス
チャ座標を間接テクスチャマップのIDネームに関連付
ける。 GXSetTevStageID stage GXSetTexCoordID coord GXChannelID color 使用例 void GXSetIndTexOrder (GXIndTevStageID tev_stage,
cood,GXTexCoordID cood,GXChannelID color); GXSetNumIndStages この関数はどれほど多くの間接ルックアップが起こるか
を設定するために使用される。これらの間接ルックアッ
プからの結果は、次いで、任意の番号の標準TEVステ
ージのためにルックアップを変更するために使用され
る。 GXSetNumIndStages u8 stages 上述の関数は間接テクスチャルックアップステージの番
号を設定する。
【0084】使用例 void GXSetNumIndStages(u8 stages); GXSetNumTevStages この関数は、連続する番号のTEVステージをイネーブ
ルする。出力ピクセルカラー(フォギングおよびブレン
ドの前の)が最終ステージからの結果である。最終のT
EVステージはレジスタにGX_TEVPREV を書き込まなけ
ればならない。GXSetTevColorOp およびGXSetTevAlphaO
p を参照。少なくとも1つのTEVステージがイネーブ
ルされなければならない。もしZテクスチャがイネーブ
ルされると、そのZテクスチャは最終ステージにおいて
ルックアップされなければならない。GXSetZTexture を
参照。
【0085】TEVステージへのライティングカラー,
テクスチャ座標およびテクスチャマップの関連がGXSetT
evOrder を用いて設定される。利用可能なテクスチャ座
標の数がGXSetNumTexGens を用いて設定される。利用可
能なカラーチャネルの数がGXSetNumChans を用いて設定
される。
【0086】GXInitがnステージを1へ設定する。
【0087】引数 nStages アクティブなTEVステージの数。最小値は1
で最大値は16である。さらに詳しくいうと GXSetNumTevStages u8 stages 上述の関数はTEVカラーブレンドステージの数を設定
する。この関数はテクスチャユニット500およびテク
スチャ環境ユニット600によって行われている再循環
の量に関連するパラメータおよびその再循環ステージが
行われるシーケンスを設定する。
【0088】使用例 void GXSetNumTevStages(u8 nStages); GXSetIndCoordTexScale この関数は、間接ステージと標準TEVステージとの間
でテクスチャ座標を共用したいとき使用される。それに
よって、対応する標準マップより小さい間接マップとと
もに使用するためにテクスチャ座標をスケールダウンす
ることができる。
【0089】引数 ind_stage 影響を受けている間接ステージ scale_s S座標のためのスケールファクタ scale_t T座標のためのスケールファクタ より詳細にいうと、引数の例は以下のようである。 GXIndTexMap ID IndTexId;// 間接テクスチャネーム GXIndTexScale Scale S;//S座標のためのスケール値 GXIndTexScale Scale T;//T座標のためのスケール値 上述の関数は間接テクスチャ座標をスケーリングするた
めの値を設定する。テクスチャ座標は、投影分割の後か
つ標準非間接テクスチャ座標への加算の前にスケーリン
グされる。
【0090】使用例 void GXSetIndTexCoordScale (GXIndTexStageID ind_st
age,GXIndTexScale scale_s,GXIndTexScale scale_t); この関数は、1つのTEVステージのために先のステー
ジで計算されたものとして同じテクスチャ座標を使いた
いときに使用される。このことは、GXSetTevIndBumpST
についてと同じように、先のステージのテクスチャ座標
が計算のために1ステージ以上必要とするときにのみ有
用である。
【0091】引数の例 tev_stage 変更されているTEVステージ 使用例 void GXSetTevIndRepeat(GXTevStageID tev_stage); GXSetTevIndBumpST この関数は環境マッピングされバンプマッピングされた
間接ルックアップを設定する。この間接マップは(S,
T)空間中におけるオフセットを特定する。この種のル
ックアップは計算のために3TEVステージを必要とす
る。最初の2つのTEVステージはテクスチャルックア
ップをディスエーブルする。3番目のステージではルッ
クアップが実際に行われる。追加的なルックアップのた
めに計算されたテクスチャ座標を再使用するために後続
のTEVステージにおいてGXSetTevIndRepeat を使用す
ることができる。表面ジオメトリは、各頂点において、
ノーマル(normal) /バイノーマル(binormal) /タンジ
ェント(tangents) を与えなければならない。
【0092】引数の例 tev_stage 影響を受けているTEVステージ ind_stage このTEVステージとともに使用する間接
ステージの結果 matrix_sel オフセットを乗算するための間接スケー
ル値を示す 使用例 void GXSetTevIndBumpST(GXTevStageID tev_stage,GXIn
dTexStageID ind _stage,GXIndTexMtxID matrix_sel); GXSetTevIndBumpXYZ この関数は環境マッピングされバンプマッピングされた
間接ルックアップを設定する。この間接マップはオブジ
ェクト(X,Y,Z)空間中におけるオフセットを特定
する。この種のルックアップは計算のために1つだけの
TEVステージを要する。間接マトリクスはノーマル
(法線)のためにオブジェクト空間から目の空間への変
換をロードしなければならない。表面ジオメトリは各頂
点での標準法線を与えるだけでよい。
【0093】引数の例 tev_stage 影響を受けているTEVステージ ind_stage このTEVステージとともに使用する間接
ステージの結果 matrix_sel オフセットを乗算するための間接マトリ
クスおよびスケール値を示す。
【0094】使用例 void GXSetTevIndBumpXYZ(GXTevStageID tev_stage,GXI
ndTexStageID ind_stage,GXIndTexMtxID matrix_sel); GXSetTevDirect この関数は特定された標準TEVステージのためのすべ
ての間接オフセットをオフするために使用される。
【0095】引数の例 tev_stage 変更されているTEVステージ 使用例 void GXSetTevDirect(GXTevStageID tev_stage); GXSetTevIndWarp この関数によって、間接マップが、標準TEVステージ
ルックアップとともに使用されるテクスチャ座標をワー
プさせまたは歪めることができる。間接マップは8ビッ
トのオフセットを持つ必要があり、それは符号化されあ
るいは符号化されていない。実際に「符号化されてい
る」ことは「バイアスされている」ことを意味し、した
がって、もし符号化オフセットがGX_TRUEであれば、間
接マップからルックアップされた値から128が減算さ
れる。この間接結果は標準テクスチャ座標を修正しある
いは完全に置き換えることができる。間接オフセットを
修正するために間接マトリクスおよびスケールを使用す
ることができる。
【0096】引数 tev_stage 影響を受けているTEVステージ ind_stage このTEVステージとともに使用する間接
ステージの結果 signed_offsets 8ビットのオフセットが符号化/バ
イアス(GX_TRUE) または符号化されない(GX_FALSE)であ
るかを示す。 replace_mode オフセットが標準テクスチャ座標を置換
すべき(GX_TRUE) かまたは(GX_FALSE)へ加算されるべき
かを示す。 matrix_sel オフセットを乗算するための間接マトリク
スおよびスケール値を示す。
【0097】使用例 void GXSetTevIndWarp (GXTevStageID tev_stage, GXIn
dTexStageID ind_ stage, GXBool signed_offsets, GXB
ool replace_mode, GXIndTexMtxID matrix_sel); GXSetTevIndTile この関数は間接テクスチャを用いてテクスチャタイルを
実現するために使用される。標準テクスチャマップはタ
イルの定義を特定するだけであることに注目されたい。
ポリゴンに付与されるべきテクセルの実際の数は基本タ
イルサイズと間接マップのサイズとの関数である。適当
なテクスチャ座標スケールを設定するために、GXSetTex
CoordScaleManuallyをコールしなければならない。標準
TEVステージのように間接ステージのために同じテク
スチャ座標を使用するためには、GXSetIndTexScaleを使
用することができる。
【0098】引数の例 tev_stage 影響を受けているTEVステージ ind_stage このTEVステージとともに用いるための
間接ステージの結果 tilesize_s S次元におけるタイルのサイズ tilesize_t T次元におけるタイルのサイズ Tilespacing_s S次元におけるタイルの空間 Tilespacing_t T次元におけるタイルの空間 Format 使用する間接テクスチャフォーマットを示す matrix_sel オフセットにどの間接マトリクスおよび
スケール値を乗算するかを示す bias_sel 擬似3Dテクスチャのためのタイルスタッ
ク方向を示す alpha_sel もしあれば(擬似3Dテクスチャのため
の)間接「バンプ」アルファを供給するオフセット成分
を示す 使用例 void GXSetTevIndTile (GXTevStageID tev_stage, GXIn
dTexStageID ind_stage, u16 tilesize_s, u16 tilesiz
e_t, u16 tilespacing_s, u16 tilespacing_t,GXIndTex
Format format, GXIndTexMtxID matrix_sel, GXIndTexB
iasSel bias_sel, GXIndTexAlphaSel alpha_sel); GXSetTevIndRepeat この関数は1つのTEVステージのために、先のステー
ジにおいて計算されたものとして同じテクスチャ座標を
使用するときに使用される。これはテクスチャ座標が計
算のために1つ以上の処理サイクル/ステージを必要と
するときに有用である。
【0099】引数の例 Tev_stage 変更されているTEVステージ 使用例 void GXSetTevIndRepeat(GXTevStageID tev_stage); GXSetAlphaCompare この関数は最後のアクティブなTEVステージからのア
ルファ出力を使用するアルファ比較関数のためのパラメ
ータを設定する。アクティブなTEVステージの数はGX
SetTevStagesを使うことによって特定される。出力アル
ファは、ソースおよび宛先(フレームバッファ)ピクセ
ルが如何に結合されるかを制御するためにブレンド式
(GXSetBlendModeを参照)において用いられ得る。
【0100】アルファ比較動作は数10に従って行われ
る。
【0101】
【数10】alpha_pass=(alpha_src(comp0)(ref0)(op)(a
lpha_src(comp)ref1) ここで、alpha_src は最終のアクティブなTEVステー
ジからのアルファである。一例として、以下の式を実現
できる。
【0102】
【数11】 alpha_pass=(alpha_src>ref0)AND(alpha_src<ref1) または
【0103】
【数12】 alpha_pass=(alpha_src>ref0)OR(alpha_src<ref1) Z比較がテクスチャリングの前または後に生じる。Z比
較をテクスチャリングの前に行う場合には、ZはZテス
トのみに基づいて書き込まれる。もしZテストおよびア
ルファテストが通過するならカラーが書き込まれる。
【0104】Z比較がテクスチャリングの後に行われる
ときには、Zテストおよびアルファテストが通過するな
らカラーおよびZが書き込まれる。正しくZバッファさ
れる必要がある切り抜き形状(ビルボードツリーのよう
な)を作るためにテクスチャを用いるときには、Zバッ
ファリングはテクスチャリングの後にすべきである。
【0105】引数の例 comp0 比較サブ関数0 ref0 サブ関数0のための基準値8ビット op サブ関数0とサブ関数1とを結合するための演算
受け入れられた値:GX_AOP_AND,GX_AOP_OR,GX_AOP_XO
R,GX_AOP_XNOR comp1 比較サブ関数1 ref1 サブ関数1のための基準値8ビット 使用例 void GXSetAlphaCompare (GXCompare comp0,u8 ref0, G
XAlphaOp op, GXCompare comp1, u8 ref1); ハードウェアの実施例 或る好ましい実施例では、テクスチャユニット500お
よびテクスチャ環境ユニット600はグラフィックチッ
プ上のハードウェア中に実現され、上で述べたようにテ
クスチャマッピング動作の効率的な再循環を提供するよ
うに設計される。さらに詳細にいえば、テクスチャアド
レス座標/バンプ処理ブロック500b/500cはハ
ードウェアにおいて実現され、テクスチャマッピングブ
ロック500aおよびテクスチャ環境ブロック600a
への1組の適宜の入力を提供する。ブロック500aお
よび600aを再循環させるために使用するシーケンス
ロジックに関連するブロック500bおよび500c
は、ブロック500aおよび600aを効率的に再使用
するために種々の再循環ステージに対して適宜のタイミ
ングで一連の適宜の入力を提示する。或る場合には経路
500dを介してフィードバックループを作り、そこで
は、ブロック500aの出力が修正されかつ後の順次の
再循環処理ステージにおけるその入力へ再び与えられ
る。このことによって、好ましい実施例において同じハ
ードウェア回路を何回も何回も再使用/再循環させるこ
とによって実現された個別のテクスチャ処理ステージの
論理シーケンスが得られる。この結果的に得られる機能
性によって、追加的なハードウェアの要求なしに、任意
の所望数の論理的テクスチャマッピング処理ステージを
提供する。種々のテクスチャ処理ステージの各々に追加
的なハードウェアを設けることは速度性能を向上するが
追加的なチップ不動産およびそれに関連する複雑さの犠
牲を伴う。ここで開示した技術を用いることによって、
任意数の論理的テクスチャマッピングステージが単一の
組のテクスチャマッピングハードウェアを用いて提供さ
れ得る。もちろん、速度性能を改善する他の実現方法に
おいて、多数のテクスチャマッピングステージを図23
および図24に示すような順次にではなく並列的に行う
ことができるように、テクスチャマッピングハードウェ
アを折り返すことは可能である。同じまたは異なるテク
スチャマッピングハードウェアの多数の組を提供するそ
のような別の実施例においてさえ、ここで開示した再循
環および間接テクスチャマッピング技術を付与すること
は、より一般的なハードウェアの機能性および柔軟性
を、特別な進歩したテクスチャマッピング効果を達成す
るためにアプリケーションプログラマによって特定され
る特別の一連のおそらく複雑なテクスチャマッピング動
作またはステージに拡張する際に有用である。
【0106】図25および図26は、論理的直接および
/または間接テクスチャマッピングルックアップのため
にテクスチャユニット500へ種々のパラメータを集め
かつ提示するために使用される特別なハードウェアの一
例を示す。図25はテクスチャ座標/バンプ処理ハード
ウェア500b/500cの実施例のハードウェアのブ
ロック図を示し、図26は図25実施例における例示の
処理および計算ロジックを示す。好ましい実施例におい
て、図25/図26のハードウェアによって達成される
特別の機能が、座標/バンプ処理ユニット500b/5
00c内のハードウェア制御ロジックレジスタ503へ
グラフィクスパイプラインを送る制御データによって制
御される。グラフィクスパイプライン180中の各ユニ
ット内で生じる論理的機能および計算動作は、グラフィ
クスパイプラインを通して分配されるレジスタデータパ
ケット中のコマンドプロセサ200によって与えられる
制御コード(ビット)によって決定される。適宜の制御
コード/値が、1つまたはそれ以上のクロックサイクル
の間制御を入力するための各ユニット内の制御ロジック
レジスタに置かれる。
【0107】テクスチャ座標処理/バンプブロック50
0b/500cの具体的な実施例の図25の高位ブロッ
ク図を参照して、論理的直接および間接テクスチャ座標
およびハードウェア制御レジスタデータは、ラスタライ
ザ400(図5参照)からグラフィクスパイプライン1
80のデータバスライン501(xym)をわたって、
テクスチャ座標処理/バンプユニット500b/500
cへ送られる。パイプラインコマンドバス505(cm
d)上のグラフィクスパイプライングローバルコマンド
データは入来テクスチャ座標が「直接」または「間接」
かを特定する。直接テクスチャ座標(すなわち、標準非
間接テクスチャ座標)および間接テクスチャ座標はラス
タライザから、パイプラインデータバスライン507
(st)を介して与えられ、グラフィクスパイプライン
を通しての処理の細粒化を維持するように、実質的に連
続的なインタリーブ態様において一緒に処理される。間
接テクスチャルックアップデータはテクスチャユニット
500aから検索され、データフィードバック経路50
0d(図5)に対応するテクスチャカラー/データバス
518(col)を介して、座標処理/バンプユニット
500b/500cへ「再循環されて」戻される。
【0108】コマンドプロセサ200から受信した制御
レジスタデータは間接テクスチャリング動作を制御する
ためにレジスタ503にストアされる。ストアされた制
御レジスタデータのいくつかが、たとえば、座標/ルッ
クアップデータ処理ロジック512(proc)(たと
えば、図26におけるレジスタデータライン520によ
って示すように)において生じる種々の計算動作を選択
しかつ制御するために利用される。コマンドデコーダお
よび同期化回路sync0(502)はライン501
(xym)上の入来データが1組の直接テクスチャ座標
であるか間接テクスチャ座標であるかあるいは制御ロジ
ックレジスタパケットであるかを判断する。入来直接座
標はデータ同期化回路510(sync2)および処理
ロジックユニット(proc)512によるさらなる処
理のためにFIFOユニット506(dFIFO)へ送
られる。入来間接座標はテクスチャユニット500a
(図5)への通過のために出力データ同期化回路504
(sync1)へ直接送られる。同期化回路sync0
(502),sync1(504)およびsync2
(510)は、ラスタライザ(400)からの間接およ
び直接テクスチャ座標ならびにテクスチャユニットから
の検索間接テクスチャルックアップデータのタイミング
および取扱いを制御するためにデータルーティングおよ
び同期化を行う。実際上、同期化回路sync0(50
2),sync1(504)およびsync2(51
0)は図9におけるスイッチS0,S1およびS2のそ
れぞれの機能を達成する。
【0109】テクスチャユニット500aからテクスチ
ャカラー/データフィードバックバス518(col)
を介して受信した入来「リサイクル」間接テクスチャル
ックアップデータはFIFOユニット508(iFIF
O)中に置かれる。直接座標は、FIFOユニット50
6のst出力において、FIFOユニット506(dF
IFO)のcol出力519における入来間接テクスチ
ャルックアップデータと整合される。同期化回路510
(sync2)はさらなる座標データ整合を行い、レジ
スタ503中にストアされている制御ロジックコードに
基づく間接テクスチャ処理動作のために1組の完全なオ
ペランドを組み立てて処理ユニット512(proc)
へ与える。これらのオペランドは、たとえば、テクスチ
ャオフセットマトリクス要素のための乗算係数/定数や
処理ユニット512(proc)内でテクスチャ座標計
算を行うためのルックアップデータフォーマットパラメ
ータを含む。座標データおよび検索間接テクスチャルッ
クアップデータが処理ユニット512によって処理され
た後、結果的に得られたデータ(たとえば新/修正テク
スチャ座標)は同期化回路504(sync1)へ送ら
れ、そこで、そのデータは同期化回路502(sync
0)からの間接テクスチャ座標のストリームとインタリ
ーブされ、テクスチャ検索ユニット500aへ与えられ
る。
【0110】間接テクスチャルックアップデータ/座標
処理ユニット512(proc)中の処理および計算ロ
ジックの図26に示す例を参照して、受信された間接テ
クスチャルックアップデータは3つのデータ成分(s,
tおよびuテクスチャオフセットと呼ばれる)を有する
データトリプレットの形式である。成分毎のデータビッ
トの数は、間接テクスチャリング動作における具体的な
間接テクスチャマップが用いられる態様および目的に一
部依存する。間接テクスチャルックアップデータはま
た、透明シェーディング/ブレンドのためにグラフィク
スパイプライン中のどこかで用いられる「バンプアルフ
ァデータ」を含む。colバス519上の検索された間
接テクスチャルックアップデータ(たとえば、s,tお
よびuオフセットデータ)はまず、フォーマット選択ブ
ロック521を通して送られ、このブロック521は検
索した間接テクスチャルックアップデータが「バンプア
ルファ」データであるのか3,4,5または8ビットの
多ビット2進データトリプレットとして処理されるべき
かを選択する。このフォーマット選択ブロックはバイア
スユニット523へオフセットデータトリプレットを与
え、「バンプアルファ」データはグラフィクスパイプラ
イン中のどこかで透明ブレンドの際に使用するためにバ
ンプアルファ選択マルチプレクサ532へ送られる。
【0111】この発明の好ましい実施例では、フォーマ
ットユニットロジックはcol入力バス519上の24
ビットデータトリプレットから8,5,4または3ビッ
トの3つのテクスチャオフセットデータ成分を検索する
とともに、xymバス上の可能な出力のために5ビット
のバンプアルファ選択値(bs,btおよびbu)を検
索する。バイパスマルチプレクサ532は、パイプライ
ンxymバス上へ出力されるように1つのバンプアルフ
ァ値bs,btまたはbuの選択を許容するために設け
られる。任意のバイアス値がバイアスユニット523に
よってデータトリプレットへ与えられる。たとえば、8
ビットのデータトリプレット成分が選択されたとする
と、−128のバイアスがバイアスユニット523によ
って与えられ符号付オフセットを許容する(8ビット以
下のデータトリプレット成分が使用されるならば、たと
えば、+1のバイアスが与えられる)。
【0112】マトリクス選択マルチプレクサ524によ
って、マトリクス乗算動作525を行うために、選択さ
れた直接座標または定数がロードされる。さらに、モジ
ュロラップユニット527が、関連する標準間接テクス
チャ座標上に随意的に座標ラップ動作を行うために設け
られる。たとえば、API関数を用いるとすると、0,
16,32,64,128または256のラップ値を特
定する。
【0113】マトリクス乗算動作525はマトリクス要
素Mを用いてデータトリプレット上で行われる。たとえ
ば、データトリプレットがマトリクス乗算動作525に
関連する3要素ベクトルデータレジスタVにロードさ
れ、次いで、マトリクス要素M(図23)によって乗算
される。マトリクス乗算動作525は、たとえば、間接
テクスチャカラーcolバス519を介して検索した
s,tおよびuテクスチャオフセットトリプレットの回
転、スケーリングおよび再マッピングのために使用され
る。マトリクス要素Mの値は可変であり、選択したマト
リクス構成を使用するテクスチャ処理サイクル/ステー
ジ毎に動的に規定され得る。好ましい実施例において
は、乗算マトリクスは、選択されたロジック制御レジス
タデータ520から規定される要素を含む3定数マトリ
クスの1つから、もしくはパイプラインst座標データ
バス522を介して得られる現在の直接テクスチャ座標
から検索された要素を有する2つの「可変」マトリクス
の1つから選択されたプログラマブルな構成を有する3
×2要素マトリクスである。適宜のAPI関数を用いる
ことによって、3つの異なる静的マトリクスもしくは2
つの異なる可変マトリクスを予め規定することができ、
或る間接テクスチャ動作についてどのマトリクスを使用
すべきかを選択することができる。
【0114】図27はマトリクスプログラマブル静的定
数要素ma,mb,mc,md,meおよびmfを使用
するテクスチャオフセットマトリクス乗算動作の一例を
図解する。テクスチャオフセット値を与えるデータトリ
プレット成分s,tおよびuを含む検索間接テクスチャ
ルックアップデータは演算のために乗数列ベクトルマト
リクスとして使用される。結果的に得られた積値は1対
の新/修正テクスチャ座標s′およびt′である。好ま
しい構成において、マトリクスの要素は−1から+1の
範囲内の多ビット2進浮動小数点値によって表される。
図28は2つの「可変」マトリクスの例、パイプライン
st座標データバス522を介して得られる現在の直接
テクスチャ座標(s,t)から検索した要素を有するマ
トリクスAおよびマトリクスBを図解する。再度図26
を参照して、スケールロジック526は随意的なスケー
リング動作を行うために設けられる。スケールユニット
526はマトリクス乗算の結果をスケールする。スケー
ルの量はユーザによって特定される2のべき数である。
たとえば、API関数を用いる場合、−32から+31
の範囲内の2の指数を特定することによってスケール値
を選択する。このスケール値は、間接テクスチャリング
動作に関連する標準テクスチャマップのサイズにわたっ
てテクスチャオフセットを引き延ばすために使用され
る。
【0115】ラップロジック527は随意的に、最終加
算の前に、直接テクスチャ座標へ(モジュロ)ラップを
与える。ラップサイズは、たとえば、制御ロジックレジ
スタを通るAPI関数によって特定される2のプログラ
マブルなべき数である。
【0116】上述の処理動作が行われると、計算したオ
フセットが加算器528を使用して現在の直接テクスチ
ャ座標へ加算される。この結果は、さらなる直接または
間接テクスチャルックアップのために使用される新/修
正テクスチャ座標となる。ステージ出力再循環バッファ
530が、先の処理ステージからの計算結果を随意的に
加算するのを許容する。結果的に得られた計算した新/
修正座標はテクスチャ検索ユニット500aへ通過され
る。 制御レジスタフォーマットのハードウェアの例 図29は処理ユニット512内におけるパラメータおよ
び動作を規定しかつ制御するために使用されるロジック
制御レジスタデータフィールドフォーマットの例を示
す。たとえば、或るデータフィールドは静的マトリクス
要素として使用するためにプログラマブルな定数を通過
するために使用される。他のフィールドはデータトリプ
レットフォーマット,制御バイアスおよびスケールファ
クタを規定し、間接動作ステージの数を示し、あるいは
処理ロジックユニット512内における動作のための他
のパラメータを提供する。
【0117】以下の表は、間接テクスチャ/バンプユニ
ット500b/500cおよび処理ロジック512内で
の動作を制御するための制御レジスタの記述の限定され
ない例示を示す。
【0118】
【表1】
【0119】処理ロジックユニットにおいて、図24に
示す制御レジスタのために、レジスタMTXiが3つのマト
リクスのためのマトリクス要素(すなわち、i=0,
1,2)を規定する。レジスタCMDiが16のTEVステ
ージ(i=0−15)の各々のためのバンプコマンドを
規定し、レジスタIMASK が8つまでのテクスチャの各々
の直接または間接使用を規定する。 モード変更 実施例において、パイプライン中におけるモード変更が
制御レジスタアドレス−データ対(これは、たとえば、
パイプライン中の回路に関連する特別なハードウェアロ
ジック制御レジスタのアドレスおよびその回路を制御す
るための適宜の制御データ/命令を含む)を、ラスタラ
イザによって出力されるラスタライゼーションデータと
インタリーブすることによって取り扱われる。この制御
レジスタアドレス−データ対の情報はデータとともにグ
ラフィクスパイプラインへ流れ落ち、それが影響するデ
ータとともに正しい順序でインタリーブされる。したが
って、大部分の随意的なモード変更はパイプラインを
「フラッシング」(一掃する)ことなしに行われ得る。
制御レジスタデータのためにそれの最初の宛先に届くま
でにパイプライン内に多数の経路データがあるというこ
とによってモード切換は幾分複雑になっていて、たとえ
ば、以下に例示するような動作的な制約を守ることによ
ってより効率的な動作が得られる。
【0120】(1) テクスチャアドレスプロセサ500b
/500cに影響を及ぼすハードウェアの制御レジスタ
データが直接テクスチャ座標FIFO(dFIFO)を
通って(たとえば、スイッチS0を介して)送られる。
【0121】(2) テクスチャユニット500aにおける
直接コンテキストに影響を及ぼすハードウェア制御レジ
スタデータはテクスチャアドレスプロセサにおける直接
テクスチャ座標FIFO(dFIFO)を通してテクス
チャユニット500aへ送られる。
【0122】(3) テクスチャユニット500aにおいて
間接テクスチャリングコンテキストに影響を及ぼすハー
ドウェア制御レジスタデータはラスタライザ400から
テクスチャユニット500aへ(たとえば、スイッチS
0およびS1を介して)直接送られる。
【0123】(4) ピクセルシェーダ(TEV)またはフ
レームバッファ702に影響を及ぼすハードウェア制御
レジスタデータは直接テクスチャ座標FIFO(dFI
FO),テクスチャアドレスプロセサ500b/500
cおよびテクスチャユニット500aを通して送られ
る。
【0124】この発明の実施例において、可能なテクス
チャリングコンテキストは、直接コンテキストまたは間
接コンテキストのいずれかとして規定される。直接コン
テキストは直接テクスチャデータだけを取扱い、間接コ
ンテキストは間接テクスチャデータだけを取り扱う。た
とえば、間接動作から直接動作へもしくは直接動作から
間接動作への間の1つまたはそれ以上のコンテキストの
定義における変更がグラフィクスパイプラインの部分的
なフラッシングを必要とする。 間接テクスチャ処理結果の例 理解されるように、上で述べた直接および間接テクスチ
ャ処理アーキテクチャを再循環させることによって極め
て柔軟性のあるかつ仮想的に無限の機能性を与えること
ができる。アプリケーションプログラマは任意の数の直
接もしくは間接テクスチャマッピング動作の任意のシー
ケンスを提供するために任意数の論理的テクスチャマッ
ピングステージを含ませることができる。この強力な能
力によって、アプリケーションプログラマは、多数の複
雑かつ興味深いテクスチャマッピングによる視覚効果を
動的に作り上げることができる。
【0125】一例として、間接テクスチャはテクスチャ
ワープ効果のために使用され得る。この例の場合、間接
テクスチャは表面テクスチャを引き延ばしさもなければ
歪ませるために使用される。動的な歪み効果は間接マッ
プをスワッピングすることによって(もしくは間接マッ
プまたは座標を修正することによって)達成され得る。
この効果は或るシーン内の或る表面に付与することがで
きもしくはこの1ステップを全体のシーンにこの効果を
付与するように採用することができる。後者の場合、そ
のシーンはまず通常のようにレンダリングされ、次い
で、テクスチャマップへコピーされる。間接テクスチャ
を用いて画面へマッピングされる大きな矩形を描画する
ことができる。テクスチャワープはきらめき(shimmerin
g)効果,特別レンズ効果,および種々の幻覚的な効果を
生成するために使用され得る。
【0126】他の例として、間接的な特徴はまたテクス
チャタイルマップを描画することを許容する。このシナ
リオにおいて、1つのテクスチャマップが多様なタイル
のための基本的な定義を保有する。間接テクスチャマッ
プは、次いで、2D表面上の具体的な位置に具体的なタ
イルを置くために使用される。間接テクスチャによっ
て、1つのポリゴンだけが描画されればよい。
【0127】互換性のある他の実施例 上述のシステム50は上で述べた家庭用ビデオゲームコ
ンソールの構成以外としても実現できる。たとえば、或
るものは、システム50をエミュレートする異なる構成
を有するプラットフォームもしくはそれと同等のものに
おいて、システム50のために書かれたグラフィクスア
プリケーションや他のソフトウェアを実行させることが
できる。もし、他のプラットフォームがシステム50の
いくつかのもしくはすべてのハードウェアおよびソフト
ウェアリソースをエミュレートしシミュレートしおよび
/または提供することができれば、その他のプラットフ
ォームはそのソフトウェアを成功裏に実行することがで
きる。
【0128】一例として、エミュレータがシステム50
のハードウェアおよび/またはソフトウェア構成(プラ
ットフォーム)とは異なるハードウェアおよび/または
ソフトウェア構成(プラットフォーム)を提供できる。
そのエミュレータシステムは、それのためにアプリケー
ションソフトウェアが書かれているシステムのいくつか
のもしくはすべてのハードウェアおよび/またはソフト
ウェアコンポーネンツをエミュレートしもしくはシミュ
レートするソフトウェアおよび/またはハードウェアコ
ンポーネンツを含む。たとえば、エミュレータシステム
はパソコンのような汎用ディジタルコンピュータを含
み、それはシステム50のハードウェアおよび/または
ファームウェアをシミュレートするソフトウェアエミュ
レータプログラムを実行する。上述のオーディオシステ
ムのDSP処理がパソコンによってエミュレートされ得
る。
【0129】或る汎用ディジタルコンピュータ(たとえ
ばIBMやマッキントッシュのパソコンおよびそれらの
同等物)は、ダイレクトX(DirectX)または他の標準的
な3DグラフィクスコマンドAPIsに従った3Dグラ
フィクスパイプラインを提供する3Dグラフィクスカー
ドを備える。それらはまた、音声コマンドの標準的なセ
ットに基づいて高品質のステレオ音声を提供するステレ
オ音声カードを備える。エミュレータソフトウェアを実
行するそのようなマルチメディアのハードウェアを備え
るパソコンは、システム50のグラフィクスおよび音声
性能とほぼ等しい十分な性能を有する。エミュレータソ
フトウェアはパソコンプラットフォーム上のハードウェ
アリソースを制御して、それのためにゲームプログラマ
がゲームソフトウェアを書いた家庭用ビデオゲームコン
ソールプラットフォームの処理,3Dグラフィクス,音
声,周辺および他の能力をシミュレートする。
【0130】図30はホストプラットフォーム120
1,エミュレータコンポーネント1303および記憶媒
体62上のゲームソフトウェア実行可能バイナリ映像を
用いる全体のエミュレーション処理を図解する。ホスト
1201は、たとえばパソコン,ビデオゲームコンソー
ルあるいは十分な計算力を有する任意の他のプラットフ
ォームのような汎用または特定目的ディジタル計算装置
である。エミュレータ1303はそのホストプラットフ
ォーム1201上で走るソフトウェアおよび/またはハ
ードウェアであり、記憶媒体62からのコマンド,デー
タおよび他の情報のそのホスト1201によって実行可
能な形態へのリアルタイム変換を行う。たとえば、エミ
ュレータ1303は記憶媒体62からシステム50によ
って実行されるように意図された「ソース」であるバイ
ナリ映像プログラム命令を取り込み、これらのプログラ
ム命令をホスト1201によって実行されもしくは処理
され得るターゲットとなる形態に変換する。
【0131】一例として、ソフトウェアがIBMパワー
PCまたは他の特定のプロセサを用いるプラットフォー
ム上での実行のために書かれかつホスト1201が異な
る(たとえばインテル)プロセサを用いるパソコンであ
る場合、エミュレータ1203は記憶媒体1305から
の1つのもしくは一連のバイナリ映像プログラム命令を
取り込み、これらのプログラム命令を1つまたはそれ以
上の同等のインテルのバイナリ映像プログラム命令に変
換する。エミュレータ1203はまたグラフィクス/オ
ーディオプロセサ114によって処理されるように意図
されたグラフィクスコマンドおよびオーディオコマンド
を取り込みかつ/あるいは生成し、そしてホスト120
1上で利用可能なハードウェアおよび/またはソフトウ
ェアグラフィクス/オーディオ処理リソースによって処
理され得る形態にこれらのコマンドを変換する。一例と
して、エミュレータ1303はホスト1201の特別な
グラフィクスおよび/または音声ハードウェア(たとえ
ば標準的なダイレクトX,オープンGLおよび/または
音声APIs)によって処理され得るコマンドにこれら
のコマンドを変換する。
【0132】上で述べたビデオゲームシステムのいくつ
かのもしくはすべての特徴を与えるために用いられるエ
ミュレータ1303は、また、エミュレータを使ってゲ
ームを走らせている種々のオプションおよびスクリーン
モードの選択を簡単化しもしくは自動化するグラフィッ
クユーザインタフェース(GUI)を備える。一例にお
いて、そのようなエミュレータ1303はさらにそのソ
フトウェアが本来的に目的とされたホストプラットフォ
ームに比べてより増強された機能性を含むこともでき
る。
【0133】エミュレータ内の特別なグラフィクスサポ
ートハードウェアが図9ないし図23によって図解した
実施例の間接テクスチャ参照の特徴や関数を含まない場
合には、エミュレータ設計者は、次のいずれかを選択す
ればよい。
【0134】・間接テクスチャ参照コマンドをそのグラ
フィクスサポートハードウェアが理解する他のグラフィ
クスAPIコマンドに翻訳する。
【0135】・プロセサの速度に依存する性能における
潜在的な低下とともに間接テクスチャ参照をソフトウェ
アで実現する。
【0136】・間接テクスチャ参照を利用する効果を含
まないレンダリングイメージを提供するように間接テク
スチャ参照コマンドを「スタブする」(すなわち、無視
する)。
【0137】図6のフロー図は、全体としてソフトウェ
アで、全体的にハードウェアで、あるいはハードウェア
とソフトウェアとの組み合わせによって実現できるが、
好ましい実施例は、速度性能の向上や他の利点のため
に、これらの計算の大部分をハードウェアで行う。しか
しながら、他の実施例(たとえば、非常に速いプロセサ
が利用可能である場合)では、類似のまたは同一のイメ
ージ結果を与えるために、ここで述べる処理の幾つかま
たはすべてをソフトウェアで実現してもよい。
【0138】図31はエミュレータ1303で用いるに
適したエミュレーションホストシステム1201を図解
的に示す。このシステム1201は処理ユニット120
3およびシステムメモリ1205を含む。システムバス
1207がシステムメモリ1205を含む種々のシステ
ムコンポーネンツを処理ユニット1203に結合する。
システムバス1207は多様なバスアーキテクチャのい
ずれかを用いるメモリバスもしくはメモリコントロー
ラ,周辺バスおよびローカルバスを含むいくつかのタイ
プのバス構造の任意のものである。システムメモリ12
07はROM1252およびRAM1254を含む。起
動中においてのようにパソコンシステム1201中の要
素(要素)間に情報を伝送する手助けをする基本ルーチ
ンを含む基本入力/出力システム(BIOS)1256
がROM1252中にストアされる。システム1201
はさらに種々のドライブおよび関連のコンピュータ読出
可能な媒体を含む。ハードディスクドライブ1209が
(典型的には固定の)磁気ハードディスク1211から
読み出しそれへ書き込む。付加的な(たぶんオプション
としての)磁気ディスクドライブ1213が着脱可能な
「フロッピィ」または他の磁気ディスク1251から読
み出しかつそれへ書き込む。光ディスクドライブ121
7はCD−ROMあるいは他の光学媒体のような着脱自
在な光ディスク1219から読み出しかつそれへ書き込
む。ハードディスクドライブ1209および光ディスク
ドライブ1217は、ハードディスクドライブインタフ
ェース1221および光ディスクドライブインタフェー
ス1225によって、システムバス1207にそれぞれ
接続される。これらのドライブおよびその関連するコン
ピュータ読出可能な媒体は、パソコンシステム1201
のためのコンピュータ読出可能な命令,データ構造,プ
ログラムモジュール,ゲームプログラムおよび他のデー
タの不揮発性の記憶媒体を提供する。他の構成では、コ
ンピュータによってアクセス可能なデータをストアする
ことができる他のタイプのコンピュータ読出可能な媒体
(たとえば磁気カセット,フラッシュメモリカード,デ
ィジタルビデオディスク,ベルヌーイカートリッジ,R
AM,ROMあるいはその他のもの)がまた使用でき
る。
【0139】エミュレータ1303を含む多数のプログ
ラムモジュールがハードディスク1211,着脱可能な
磁気ディスク1215,光ディスク1219および/ま
たはシステムメモリ1205のROM1252および/
またはRAM1254にストアされ得る。このようなプ
ログラムモジュールはグラフィクス/音声APIs,1
つ以上のアプリケーションプログラム,他のプログラム
モジュール,プログラムデータおよびゲームデータを提
供するオペレーティングシステム(OS)を含む。ユー
ザは、キーボード1227,ポインティングデバイス1
229,マイクロフォン,ジョイスティック,ゲームコ
ントローラ,衛星アンテナ(satellite dish),スキャナ
あるいはその他のもののような入力デバイスを通して、
パソコンシステム1201にコマンドおよび情報を入力
することができる。これらのそして他の入力デバイス
は、システムバス1207に結合されたシリアルポート
インタフェース1231を通して処理ユニット1203
に接続され得るが、パラレルポート,ゲームポートファ
イヤワイヤバス(Fire Wire)もしくはユニバーサルシリ
アルバス(USB)のような他のインタフェースによっ
て接続されてもよい。モニタまたは他のタイプの表示デ
バイスがまたビデオアダプタ1235のようなインタフ
ェースを介してシステムバス1207に接続される。
【0140】システム1201はモデム1154または
インターネットのようなネットワーク1152を通して
の通信を確立するための他のネットワークインタフェー
ス手段を含む。内蔵もしくは外付けであってよいモデム
1154はシリアルポートインタフェース1231を介
してシステムバス123に接続される。システム120
1がローカルエリアネットワーク1158を介して遠隔
コンピュータ装置1150(たとえば他のシステム12
01)と通信するのを許容するために、ネットワークイ
ンタフェース1156がまた設けられてもよい(もしく
はそのような通信はダイヤルアップもしくは他の通信手
段のようなワイドエリアネットワーク1152もしくは
他の通信経路を介してもよい)。システム1201はプ
リンタのような周辺出力装置および他の標準的な周辺装
置を含む。
【0141】一例では、ビデオアダプタ1235は、マ
イクロソフト(Microsoft)のダイレクトX7.0、また
は他のバージョンのような標準的な3Dグラフィクスア
プリケーションプログラマインタフェースに基づいて発
行された3Dグラフィクスコマンドに応答して、高速の
3Dグラフィクスレンダリングを提供する3Dグラフィ
クスパイプラインチップセットを含んでもよい。1組の
スピーカ1237はまた、バス1207によって与えら
れる音声コマンドに基づいて高品質ステレオ音声を生成
するハードウェアおよび埋め込みソフトウェアを提供す
る従来の「音声カード」のような音声生成インタフェー
スを介して、システムバス1207に接続される。これ
らのハードウェア能力によって記憶媒体1305中にス
トアされているソフトウェアを再生するためにシステム
1201に十分なグラフィクスおよび音声の速度性能を
与えることができる。
【0142】上で述べたビデオゲームシステムのいくつ
かのもしくはすべての特徴を与えるために使用されるエ
ミュレータ1303は、また、そのエミュレータを用い
て実行しているゲームのための種々のオプションおよび
スクリーンモードの選択を単純化しもしくは自動化する
グラフィックユーザインタフェース(GUI)を備えて
もよい。一例として、そのようなエミュレータ1303
は本来的にそのソフトウェアを意図していたホストプラ
ットフォームに比べてより増強された機能性を含んでい
てもよい。
【0143】最も現実的かつ好ましい実施例であると現
在考えられているものに関連してこの発明が説明された
が、この発明は開示された実施例に限定されるものでは
なく、逆に、特許請求の範囲内に含まれる種々の変形例
や等価的な構成をカバーするように意図されていること
を理解されたい。
【図面の簡単な説明】
【図1】図1はインタラクティブコンピュータグラフィ
クスシステムの実施例を示す全体図である。
【図2】図2は図1実施例のコンピュータグラフィクス
システムのブロック図である。
【図3】図3は図2に示す実施例のグラフィクス/オー
ディオプロセサのブロック図である。
【図4】図4は図3に示す実施例の3Dグラフィクスプ
ロセサのブロック図である。
【図5】図4のグラフィクス/オーディオプロセサの例
示的な論理フロー図である。
【図6】図6はこの発明に従って間接テクスチャ処理の
論理的全体図を図解するブロック図である。
【図7】図7は標準(非間接)テクスチャルックアップ
の単純な基本的な例を図解する機能ブロック図である。
【図8】図8はこの発明に従った間接テクスチャルック
アップの単純な基本的な例を図解する機能ブロック図で
ある。
【図9】図9はこの発明に従って間接テクスチャ処理を
実現するための例示的な物理的構成の全体図を図解する
ブロック図である。
【図10】図10はテクスチャアドレス(座標/デー
タ)プロセサ動作の論理的な全体図を図解するブロック
図である。
【図11】図11は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図12】図12は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図13】図13は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図14】図14は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図15】図15は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図16】図16は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図17】図17は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図18】図18は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図19】図19は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図20】図20は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図21】図21は直接および間接テクスチャ処理をイ
ンタリーブするための例示したテクスチャリングパイプ
ラインにおける直接および間接データの動的な進行を図
解するブロック図である。
【図22】図22はこの発明に従って間接テクスチャ処
理を実現するための例示ステップを図解するフロー図で
ある。
【図23】図23はこの発明に従った標準(非間接)テ
クスチャ処理の例を図解する機能動作図である。
【図24】図24はこの発明に従ってインタリーブされ
た標準(非間接)および間接テクスチャ処理の例を図解
する機能動作図である。
【図25】図25は図5に示すテクスチャ座標/バンプ
処理ユニットの詳細な例を示すブロック図である。
【図26】図26は図25に示す間接テクスチャルック
アップデータ/座標処理ロジック(proc)の詳細な
例を示すブロック図である。
【図27】図27は図26の処理ロジック回路(pro
c)によって使用される例示的なテクスチャオフセット
マトリクスを示す。
【図28】図28は図26の処理ロジック回路(pro
c)によって使用される例示的なテクスチャオフセット
マトリクスを示す。
【図29】図29は図26の処理回路中における動作を
制御するための制御ロジックレジスタの例示的なデータ
フィールドフォーマットを図解するブロック図である。
【図30】図30は別の互換性のある実施例を示す。
【図31】図31は別の互換性のある実施例を示す。
【符号の説明】
50 …インタラクティブ3Dコンピュータグラフィク
スシステム 54 …主ユニット 110 …主プロセサ 112 …主メモリ 180 …グラフィクスパイプライン 200 …キャッシュ/コマンドプロセサ 300 …変換ユニット 400,6000 …ラスタライザ 500,6002−6006,6010−6014 …
テクスチャユニット 600 …テクスチャ環境ユニット 6008 …テクスチャアドレスプロセサ 6016 …ピクセルシェーダ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ティモシー ジェイ ヴァンフック アメリカ合衆国 カリフォルニア州 アサ ートン オークグローブ通り 224 Fターム(参考) 5B080 AA13 CA01 CA04 GA22

Claims (59)

    【特許請求の範囲】
  1. 【請求項1】プリミティブ頂点データおよびテクスチャ
    データに少なくとも部分的に応答してイメージをレンダ
    リングしかつ表示するグラフィクス処理パイプラインを
    含むグラフィクスシステムにおいて、レンダリングされ
    たイメージオブジェクトの表面にテクスチャをマッピン
    グするためのテクスチャ処理システムであって、 論理的直接および間接座標データの処理をインタリーブ
    するテクスチャ座標/データ処理ユニット、 座標/データ処理ユニットに接続されてテクスチャデー
    タを検索するテクスチャデータ検索ユニット、および同
    じレンダリングパスにおいてテクスチャ座標/データ処
    理ユニットの再使用を許容するためのテクスチャデータ
    検索ユニットからテクスチャ座標/データ処理ユニット
    へのデータフィードバック経路を備え、 レンダリングされたイメージオブジェクトの表面にテク
    スチャをマッピングする際に使用される修正テクスチャ
    座標を検索するために、検索ユニットが、1組の間接テ
    クスチャ座標に応答して、検索したテクスチャデータを
    処理ユニットへ再循環して戻す、テクスチャ処理システ
    ム。
  2. 【請求項2】テクスチャ座標/データ処理ユニットは、
    さらに、データを受信し、かつ間接テクスチャ参照を開
    始させるためにかつ前記修正テクスチャ座標を検索する
    ための乗算および加算演算を制御するために使用される
    コマンド情報を処理するために、パイプラインにおいて
    データラインに結合された1組のハードウェア制御ロジ
    ックレジスタを含む、請求項1記載のテクスチャ処理シ
    ステム。
  3. 【請求項3】テクスチャデータを含むメモリを有するグ
    ラフィクスシステムにおける間接テクスチャ参照方法で
    あって、 (a) データトリプレットを発生するために間接テクスチ
    ャ座標を使用し、 (b) 発生したトリプレットに少なくとも部分的に基づい
    てテクスチャ座標を検索し、そして (c) プリミティブ上へ所定のテクスチャデータをマッピ
    ングするために少なくとも検索したテクスチャ座標を使
    用する、間接テクスチャ参照方法。
  4. 【請求項4】使用ステップ(a) は、テクスチャメモリに
    おいて、間接テクスチャ座標を介してトリプレットをマ
    ッピングするアレイを参照するステップを含む、請求項
    3記載の間接テクスチャ参照方法。
  5. 【請求項5】使用ステップ(a) は、メモリにストアされ
    たテクスチャマップから所定のトリプレットデータを取
    り出すステップを含む、請求項3記載の間接テクスチャ
    参照方法。
  6. 【請求項6】使用ステップ(c) は、テクスチャメモリに
    おいて、検索したテクスチャ座標を介してカラー値デー
    タをマッピングするアレイを参照するステップを含む、
    請求項3記載の間接テクスチャ参照方法。
  7. 【請求項7】検索ステップ(b) はマトリクス乗算演算を
    行い、その演算において、複数の所定の定数および/ま
    たは可変スカラ要素を含む第1マトリクスが、検索した
    データトリプレットを含む第2マトリクスによって乗算
    される、請求項3記載の間接テクスチャ参照方法。
  8. 【請求項8】トリプレットはs,tおよびuテクスチャ
    座標オフセットを含む、請求項3記載の間接テクスチャ
    参照方法。
  9. 【請求項9】トリプレットは3つの8ビット2進値を含
    む、請求項3記載の間接テクスチャ参照方法。
  10. 【請求項10】トリプレットは3つの5ビット2進値を
    含む、請求項3記載の間接テクスチャ参照方法。
  11. 【請求項11】トリプレットは3つの4ビット2進値を
    含む、請求項3記載の間接テクスチャ参照方法。
  12. 【請求項12】トリプレットは3つの3ビット2進値を
    含む、請求項3記載の間接テクスチャ参照方法。
  13. 【請求項13】ポリゴンへテクスチャデータをマッピン
    グするための検索したテクスチャ座標のクォードラプレ
    ット(quadruplet)を生成するために間接テクスチャ座標
    のクォードラプレットが一緒に処理される、請求項3記
    載の間接テクスチャ参照方法。
  14. 【請求項14】第1マトリクスは1つまたはそれ以上の
    所定のテクスチャ座標のスカラ関数である要素を含む、
    請求項7記載の間接テクスチャ参照方法。
  15. 【請求項15】第1マトリクスは6つの所定のスカラ要
    素を含む3×2マトリクスである、請求項7記載の間接
    テクスチャ参照方法。
  16. 【請求項16】第1マトリクスは次の要素を含んで配置
    される 【数1】 ただし、sおよびtは所定のテクスチャ座標である、請
    求項7記載の間接テクスチャ参照方法。
  17. 【請求項17】第1マトリクスは次の要素を含んで配置
    される 【数2】 ただし、sおよびtは所定のテクスチャ座標である、請
    求項7記載の間接テクスチャ参照方法。
  18. 【請求項18】テクスチャメモリにストアされたかつ1
    組の直接テクスチャ座標または1組の間接テクスチャ座
    標を介してアクセスされるテクスチャデータを含むメモ
    リを有する3Dビデオグラフィクスシステムにおいて、
    ポリゴン上に所定のテクスチャをマッピングするための
    間接テクスチャ参照方法であって、 (a) テクスチャメモリにストアされたデータトリプレッ
    トを検索するために1組の間接テクスチャ座標を使用
    し、 (b) 検索したデータトリプレットに少なくとも部分的に
    基づいて1組の修正テクスチャ座標を検索し、そして (c) 所定のテクスチャに対応してテクスチャメモリにス
    トアされているテクスチャデータを参照するために1組
    の修正テクスチャ座標を使用する、間接テクスチャ参照
    方法。
  19. 【請求項19】検索ステップ(b) は、少なくとも1つの
    マトリクス乗算演算を行うステップを含み、その演算に
    おいては複数の所定の定数および/または可変スカラ要
    素を含む第1マトリクスが、検索したデータトリプレッ
    トを含む第2マトリクスによって乗算される、請求項1
    8記載の間接テクスチャ参照方法。
  20. 【請求項20】使用ステップ(c) は、テクスチャメモリ
    において、検索したテクスチャ座標を介してカラー値デ
    ータをマッピングするアレイを参照するステップを含
    む、請求項18記載の間接テクスチャ参照方法。
  21. 【請求項21】データトリプレットは少なくとも1つの
    テクスチャ座標オフセットを含む、請求項18記載の間
    接テクスチャ参照方法。
  22. 【請求項22】トリプレットはs,tおよびuテクスチ
    ャ座標オフセットを含む、請求項18記載の間接テクス
    チャ参照方法。
  23. 【請求項23】トリプレットは3つの8ビット2進値を
    含む、請求項18記載の間接テクスチャ参照方法。
  24. 【請求項24】トリプレットは3つの5ビット2進値を
    含む、請求項18記載の間接テクスチャ参照方法。
  25. 【請求項25】トリプレットは3つの4ビット2進値を
    含む、請求項18記載の間接テクスチャ参照方法。
  26. 【請求項26】トリプレットは3つの3ビット2進値を
    含む、請求項18記載の間接テクスチャ参照方法。
  27. 【請求項27】第1マトリクスは1つまたはそれ以上の
    所定のテクスチャ座標のスカラ関数である要素を含む、
    請求項19記載の間接テクスチャ参照方法。
  28. 【請求項28】第1マトリクスは6つの所定のスカラ要
    素を含む3×2マトリクスである、請求項19記載の間
    接テクスチャ参照方法。
  29. 【請求項29】第1マトリクスは次の要素を含んで配置
    される 【数3】 ただし、sおよびtは所定のテクスチャ座標である、請
    求項19記載の間接テクスチャ参照方法。
  30. 【請求項30】第1マトリクスは次の要素を含んで配置
    される 【数4】 ただし、sおよびtは所定のテクスチャ座標である、請
    求項19記載の間接テクスチャ参照方法。
  31. 【請求項31】メモリにストアされたポリゴン頂点デー
    タおよびテクスチャデータに少なくとも部分的に応答し
    てイメージをレンダリングしかつ表示するグラフィクス
    処理パイプラインを含むグラフィクスシステムにおい
    て、グラフィクス処理パイプラインはテクスチャにアク
    セスしかつ検索するためのテクスチャサブシステムを含
    み、 このテクスチャサブシステムは、(a) 少なくとも1つの
    2進データ乗算器,少なくとも1つの2進データ累算器
    およびテクスチャ座標/データ処理動作を制御するため
    の命令コードおよび/またはデータを受信するための少
    なくとも1つの制御レジスタ、(b) 座標/データ処理ユ
    ニットへ接続されかつテクスチャメモリにストアされた
    テクスチャデータを検索するテクスチャデータ検索ユニ
    ット、および(c) さらなる処理のために検索したテクス
    チャデータをテクスチャ座標/データ処理ユニットを通
    してリサイクルするためのテクスチャデータ検索ユニッ
    トからテクスチャ座標/データ処理ユニットへのデータ
    フィードバック経路を含み、修正テクスチャ座標を検索
    するために検索ユニットが1組の間接テクスチャ座標に
    応答して処理ユニットへ検索テクスチャデータを与え、 前記制御レジスタに適宜の命令コードおよび/またはデ
    ータを置くために一般化された間接テクスチャ参照AP
    Iコマンド関数を利用するステップを含む1つまたはそ
    れ以上の間接テクスチャ参照動作を行うためにテクスチ
    ャサブシステムを制御する方法であって、 前記間接テクスチャ参照関数は少なくとも (i) テクスチャメモリにストアされている8つのテクス
    チャを定義するため、 (ii)8つの組のテクスチャ座標を特定するため、 (iii) 4つの間接テクスチャマップを定義するため、 (iv)実行されるべき4つの間接テクスチャ参照動作を特
    定するため、 (v) 前記8つのテクスチャの1つを各間接テクスチャマ
    ップに関連付けるため、および (vi)前記8つの組のテクスチャ座標の1つを各間接テク
    スチャマップに関連付けるために用いられる、方法。
  32. 【請求項32】テクスチャ座標を含むメモリを有するグ
    ラフィクスシステムにおける間接テクスチャ参照方法で
    あって、 (a) メモリからオフセットデータを検索するために1組
    の間接テクスチャ座標を使用し、 (b) 1組のテクスチャオフセット座標を生成するために
    テクスチャオフセットマトリクスの要素を形成する所定
    値によってオフセットデータを乗算し、そして (c) レンダリングされたポリゴンへ所定のテクスチャを
    マッピングするときにメモリにストアされたテクスチャ
    データを参照するために1組のオフセットテクスチャ座
    標を使用する、間接テクスチャ参照方法。
  33. 【請求項33】前記オフセットデータは所定のテクスチ
    ャリング関数の結果でありかつ少なくとも1つのテクス
    チャ座標オフセット値を含む、請求項32記載の間接テ
    クスチャ参照方法。
  34. 【請求項34】前記オフセットデータは前記1組のテク
    スチャオフセット座標を生成するための1組の3つの値
    を含む、請求項32記載の間接テクスチャ参照方法。
  35. 【請求項35】前記1組の3つの値はs,tおよびu座
    標オフセットデータを含む、請求項34記載の間接テク
    スチャ参照方法。
  36. 【請求項36】前記マトリクス要素は1組の所定の定数
    を含む、請求項32記載の間接テクスチャ参照方法。
  37. 【請求項37】前記マトリクス要素は1組の定数および
    可変値を含む、請求項32記載の間接テクスチャ参照方
    法。
  38. 【請求項38】前記マトリクスの1つまたはそれ以上の
    要素が1つまたはそれ以上の所定テクスチャ座標の数学
    的関数である、請求項32記載の間接テクスチャ参照方
    法。
  39. 【請求項39】マトリクスは6つの所定スカラ要素を含
    む3×2マトリクスである、請求項32記載の間接テク
    スチャ参照方法。
  40. 【請求項40】第1マトリクスは次の要素を含んで配置
    される 【数5】 ただし、sおよびtは所定のテクスチャ座標である、請
    求項32記載の間接テクスチャ参照方法。
  41. 【請求項41】第1マトリクスは次の要素を含んで配置
    される 【数6】 ただし、sおよびtは所定のテクスチャ座標である、請
    求項32記載の間接テクスチャ参照方法。
  42. 【請求項42】関連メモリにストアされたポリゴン頂点
    データおよびテクスチャデータに少なくとも部分的に応
    答してイメージをレンダリングしかつ表示するグラフィ
    クスエンジンを含むグラフィクスシステムにおいて、前
    記レンダリングされかつ表示されたイメージの表面へ1
    つまたはそれ以上の異なるテクスチャおよび/またはテ
    クスチャ特性に対応するテクスチャデータを選択的にマ
    ッピングするためのテクスチャ処理サブシステムであっ
    て、 間接テクスチャデータをマトリクスの要素によって乗算
    することによって1組のオフセットテクスチャ座標を生
    成するテクスチャ座標オフセットマトリクス配置を含
    み、マトリクスの1つまたはそれ以上の要素が1つまた
    はそれ以上の所定の直接テクスチャ座標の数学的な関数
    である、テクスチャ処理サブシステム。
  43. 【請求項43】マトリクスは3行2列の6つの要素を含
    む、請求項42記載のテクスチャ処理サブシステム。
  44. 【請求項44】第1マトリクスは次の要素を含んで配置
    される 【数7】 ただし、sおよびtは所定のテクスチャ座標である、請
    求項42記載のテクスチャ処理サブシステム。
  45. 【請求項45】第1マトリクスは次の要素を含んで配置
    される 【数8】 ただし、sおよびtは所定のテクスチャ座標である、請
    求項42記載のテクスチャ処理サブシステム。
  46. 【請求項46】関連メモリにストアされたポリゴン頂点
    データおよびテクスチャデータに少なくとも部分的に応
    答してイメージをレンダリングしかつ表示するグラフィ
    クスエンジンを含むグラフィクスシステムにおいて、前
    記レンダリングされかつ表示されたイメージの表面へ1
    つまたはそれ以上の異なるテクスチャおよび/またはテ
    クスチャ特性に対応するテクスチャデータを選択的にマ
    ッピングするためのテクスチャ処理サブシステムであっ
    て、 間接テクスチャデータをマトリクスの要素によって乗算
    することによって1組のオフセットテクスチャ座標を生
    成するテクスチャ座標オフセットマトリクス配置を含
    み、マトリクスの1つまたはそれ以上の要素が1つまた
    はそれ以上の所定の直接テクスチャ座標の数学的な関数
    であり、マトリクスの1つまたはそれ以上の要素は選択
    的にロードされ得る、テクスチャ処理サブシステム。
  47. 【請求項47】前記要素は所定の定数である、請求項4
    6記載のテクスチャ処理サブシステム。
  48. 【請求項48】前記要素の1つまたはそれ以上のものは
    1つまたはそれ以上の所定の直接テクスチャ座標の数学
    的な関数である、請求項46記載のテクスチャ処理サブ
    システム。
  49. 【請求項49】マトリクスは3行2列の6つの要素を含
    む、請求項46記載のテクスチャ処理サブシステム。
  50. 【請求項50】テクスチャ座標を含むメモリを有するグ
    ラフィクスシステムにおける間接テクスチャ参照方法で
    あって、 (a) 所定のテクスチャリング関数の結果でありかつ少な
    くとも1つのテクスチャ座標オフセット値を含むテクス
    チャオフセットデータをメモリから検索するために1組
    の間接テクスチャ座標を使用し、 (b) 前記テクスチャオフセットデータを所定の定数また
    は可変スカラ要素によって乗算し、そして (c) メモリ中の所定のテクスチャデータを参照するため
    に前記1組のオフセットテクスチャ座標を使用する、間
    接テクスチャ参照方法。
  51. 【請求項51】前記オフセットデータは前記1組のテク
    スチャオフセット座標を生成するための1組の3つの値
    を含む、請求項50記載の間接テクスチャ参照方法。
  52. 【請求項52】前記オフセットデータは3つの8ビット
    2進値を含む、請求項50記載の間接テクスチャ参照方
    法。
  53. 【請求項53】前記オフセットデータは3つの5ビット
    2進値を含む、請求項50記載の間接テクスチャ参照方
    法。
  54. 【請求項54】前記オフセットデータは3つの4ビット
    2進値を含む、請求項50記載の間接テクスチャ参照方
    法。
  55. 【請求項55】前記オフセットデータは3つの3ビット
    2進値を含む、請求項50記載の間接テクスチャ参照方
    法。
  56. 【請求項56】テクスチャメモリにストアされかつ1組
    の直接テクスチャ座標または1組の間接テクスチャ座標
    を用いてアクセスされるテクスチャデータを含むメモリ
    を有するグラフィクスシステムにおいて、プリミティブ
    上にテクスチャをマッピングするための間接テクスチャ
    参照の間多レベルの間接を実現する方法であって、 (a) テクスチャメモリにストアされたデータトリプレッ
    トを検索するために1組の間接テクスチャ座標を使用
    し、 (b) 検索したデータトリプレットに少なくとも部分的に
    基づいて1組の修正テクスチャ座標を検索し、 (c) テクスチャメモリにストアされたデータを検索する
    ために1組の修正テクスチャ座標を使用し、 (d) 所定数のデータ検索のためにステップ(b) および
    (c) を繰り返し、そして (e) プリミティブ上に所定のテクスチャをマッピングす
    るためにステップ(d)から結果的に得られた1組の検索
    テクスチャ座標を用いる、方法。
  57. 【請求項57】少なくとも1つのテクスチャマッピング
    ユニットを含むグラフィクスシステムにおいて、複数の
    論理的テクスチャマッピングステージを提供するために
    テクスチャマッピングユニットを動作させる方法であっ
    て、 (a) テクスチャマッピングユニットに第1組のテクスチ
    ャマッピングパラメータを提示し、 (b) ステップ(a) によって提示された前記パラメータに
    応答して第1テクスチャマッピング動作を行うためにテ
    クスチャマッピングユニットを制御し、 (c) さらなる組のテクスチャマッピングパラメータを発
    生するためにステップ(b) の結果を再循環し、そして (d) テクスチャマッピングユニットに前記さらなる組の
    パラメータを提示しかつそのさらなる組のパラメータに
    応答してさらなるテクスチャマッピング動作を行うため
    に前記テクスチャマッピングユニットを制御する、方
    法。
  58. 【請求項58】ステップ(b) はデータセットを発生する
    間接テクスチャマッピング動作を行うステップを含み、
    再循環ステップ(c) は前記発生したデータセットに応答
    して別の組のテクスチャマッピングパラメータを発生す
    るステップを含み、そしてステップ(d) は別の組のテク
    スチャマッピングパラメータに応答して直接テクスチャ
    マッピング動作を実行するステップを含む、請求項57
    記載の方法。
  59. 【請求項59】発生ステップはさらに別の組の直接テク
    スチャ座標を前記データセットと結合することによって
    前記別の組のテクスチャマッピングパラメータを発生す
    る、請求項57記載の方法。
JP2001042667A 2000-08-23 2001-02-20 グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置 Expired - Fee Related JP4678963B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US22689100P 2000-08-23 2000-08-23
US60/226891 2000-08-23
US09/722,382 US7002591B1 (en) 2000-08-23 2000-11-28 Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US09/722382 2000-11-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010261958A Division JP4890638B2 (ja) 2000-08-23 2010-11-25 グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置

Publications (2)

Publication Number Publication Date
JP2002063593A true JP2002063593A (ja) 2002-02-28
JP4678963B2 JP4678963B2 (ja) 2011-04-27

Family

ID=26920959

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001042667A Expired - Fee Related JP4678963B2 (ja) 2000-08-23 2001-02-20 グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置
JP2010261958A Expired - Fee Related JP4890638B2 (ja) 2000-08-23 2010-11-25 グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010261958A Expired - Fee Related JP4890638B2 (ja) 2000-08-23 2010-11-25 グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置

Country Status (3)

Country Link
US (2) US7002591B1 (ja)
EP (1) EP1189172A3 (ja)
JP (2) JP4678963B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007049610A1 (ja) * 2005-10-25 2007-05-03 Mitsubishi Electric Corporation 画像処理装置
JP2007526585A (ja) * 2004-03-03 2007-09-13 クゥアルコム・インコーポレイテッド 早期深さ検知を有するグラフィックスパイプライン及び方法
JP2008507037A (ja) * 2004-07-15 2008-03-06 インテル・コーポレーション ピクセルシェ−ダ・ハードウェアのためのレガシー処理

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7749089B1 (en) 1999-02-26 2010-07-06 Creative Kingdoms, Llc Multi-media interactive play system
US7878905B2 (en) 2000-02-22 2011-02-01 Creative Kingdoms, Llc Multi-layered interactive play experience
US7445550B2 (en) 2000-02-22 2008-11-04 Creative Kingdoms, Llc Magical wand and interactive play experience
US6761637B2 (en) 2000-02-22 2004-07-13 Creative Kingdoms, Llc Method of game play using RFID tracking device
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US7002591B1 (en) * 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7066781B2 (en) 2000-10-20 2006-06-27 Denise Chapman Weston Children's toy with wireless tag/transponder
US6999080B1 (en) * 2000-11-30 2006-02-14 Microsoft Corporation System, method, and computer program product for general environment mapping
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US7415539B2 (en) * 2001-09-28 2008-08-19 Siebel Systems, Inc. Method and apparatus for detecting insufficient memory for data extraction processes
US20070066396A1 (en) 2002-04-05 2007-03-22 Denise Chapman Weston Retail methods for providing an interactive product to a consumer
US6967566B2 (en) 2002-04-05 2005-11-22 Creative Kingdoms, Llc Live-action interactive adventure game
US7674184B2 (en) 2002-08-01 2010-03-09 Creative Kingdoms, Llc Interactive water attraction and quest game
US9446319B2 (en) 2003-03-25 2016-09-20 Mq Gaming, Llc Interactive gaming toy
US7495343B1 (en) * 2003-07-31 2009-02-24 Nvidia Corporation Pad over active circuit system and method with frame support structure
US7453158B2 (en) * 2003-07-31 2008-11-18 Nvidia Corporation Pad over active circuit system and method with meshed support structure
US8775997B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8768642B2 (en) 2003-09-15 2014-07-01 Nvidia Corporation System and method for remotely configuring semiconductor functional circuits
US7978197B2 (en) * 2003-11-14 2011-07-12 Microsoft Corporation Systems and methods for downloading algorithmic elements to a coprocessor and corresponding techniques
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US7847800B2 (en) * 2004-04-16 2010-12-07 Apple Inc. System for emulating graphics operations
US8134561B2 (en) * 2004-04-16 2012-03-13 Apple Inc. System for optimizing graphics operations
US8704837B2 (en) * 2004-04-16 2014-04-22 Apple Inc. High-level program interface for graphics operations
US7248265B2 (en) 2004-04-16 2007-07-24 Apple Inc. System and method for processing graphics operations with graphics processing unit
US8411105B1 (en) 2004-05-14 2013-04-02 Nvidia Corporation Method and system for computing pixel parameters
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch 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
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
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
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US8416242B1 (en) 2004-05-14 2013-04-09 Nvidia Corporation Method and system for interpolating level-of-detail in graphics processors
US8711155B2 (en) 2004-05-14 2014-04-29 Nvidia Corporation Early kill removal graphics processing system and method
US8860722B2 (en) * 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US7652678B2 (en) * 2004-06-25 2010-01-26 Apple Inc. Partial display updates in a windowing system using a programmable graphics processing unit
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
US20060082581A1 (en) * 2004-10-14 2006-04-20 Microsoft Corporation Encoding for remoting graphics to decoder device
US7852342B2 (en) 2004-10-14 2010-12-14 Microsoft Corporation Remote client graphics rendering
US8427496B1 (en) 2005-05-13 2013-04-23 Nvidia Corporation Method and system for implementing compression across a graphics bus interconnect
US7400330B2 (en) 2005-06-30 2008-07-15 Microsoft Corporation Magnification of indirection textures
US8068117B2 (en) 2005-06-30 2011-11-29 Microsoft Corporation Parallel texture synthesis by upsampling pixel coordinates
US7477794B2 (en) * 2005-06-30 2009-01-13 Microsoft Corporation Multi-level image stack of filtered images
US7567254B2 (en) 2005-06-30 2009-07-28 Microsoft Corporation Parallel texture synthesis having controllable jitter
US7817160B2 (en) * 2005-06-30 2010-10-19 Microsoft Corporation Sub-pass correction using neighborhood matching
US7942745B2 (en) * 2005-08-22 2011-05-17 Nintendo Co., Ltd. Game operating device
US7927216B2 (en) * 2005-09-15 2011-04-19 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
US8313379B2 (en) * 2005-08-22 2012-11-20 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
JP4805633B2 (ja) * 2005-08-22 2011-11-02 任天堂株式会社 ゲーム用操作装置
US8870655B2 (en) * 2005-08-24 2014-10-28 Nintendo Co., Ltd. Wireless game controllers
JP4262726B2 (ja) 2005-08-24 2009-05-13 任天堂株式会社 ゲームコントローラおよびゲームシステム
US8308563B2 (en) * 2005-08-30 2012-11-13 Nintendo Co., Ltd. Game system and storage medium having game program stored thereon
US7609280B2 (en) * 2005-09-07 2009-10-27 Microsoft Corporation High level graphics stream
US8527563B2 (en) * 2005-09-12 2013-09-03 Microsoft Corporation Remoting redirection layer for graphics device interface
US8157651B2 (en) 2005-09-12 2012-04-17 Nintendo Co., Ltd. Information processing program
US8675007B2 (en) * 2005-10-06 2014-03-18 Ati Technologies Ulc System and method for higher level filtering by combination of bilinear results
US8698811B1 (en) 2005-12-15 2014-04-15 Nvidia Corporation Nested boustrophedonic patterns for rasterization
US9123173B2 (en) * 2005-12-15 2015-09-01 Nvidia Corporation Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline
US9117309B1 (en) 2005-12-19 2015-08-25 Nvidia Corporation Method and system for rendering polygons with a bounding box in a graphics processor unit
US8390645B1 (en) 2005-12-19 2013-03-05 Nvidia Corporation Method and system for rendering connecting antialiased line segments
US7948495B1 (en) * 2006-02-02 2011-05-24 Nvidia Corporation Linking texture headers and texture samplers
JP4530419B2 (ja) * 2006-03-09 2010-08-25 任天堂株式会社 座標算出装置および座標算出プログラム
JP4151982B2 (ja) 2006-03-10 2008-09-17 任天堂株式会社 動き判別装置および動き判別プログラム
JP4684147B2 (ja) * 2006-03-28 2011-05-18 任天堂株式会社 傾き算出装置、傾き算出プログラム、ゲーム装置およびゲームプログラム
US8928676B2 (en) 2006-06-23 2015-01-06 Nvidia Corporation Method for parallel fine rasterization in a raster stage of a graphics pipeline
US7817161B2 (en) * 2006-06-26 2010-10-19 Microsoft Corporation Texture synthesis using dimensionality-reduced appearance space
US8207978B2 (en) * 2006-06-29 2012-06-26 Intel Corporation Simplification of 3D texture address computation based on aligned, non-perspective objects
US7643034B2 (en) * 2006-06-30 2010-01-05 Microsoft Corporation Synthesis of advecting texture using adaptive regeneration
US7733350B2 (en) * 2006-06-30 2010-06-08 Microsoft Corporation Anisometric texture synthesis
US7884830B1 (en) * 2006-07-12 2011-02-08 Nvidia Corporation Apparatus, system, and method for indexing an array of cube map textures
US9070213B2 (en) * 2006-07-26 2015-06-30 Nvidia Corporation Tile based precision rasterization in a graphics pipeline
US8085264B1 (en) * 2006-07-26 2011-12-27 Nvidia Corporation Tile output using multiple queue output buffering in a raster stage
US8913073B2 (en) * 2006-08-09 2014-12-16 Adobe Systems Incorporated Interpolation according to a function represented using unevenly spaced samples of the function
US8427487B1 (en) 2006-11-02 2013-04-23 Nvidia Corporation Multiple tile output using interface compression in a raster stage
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US8243069B1 (en) * 2006-11-03 2012-08-14 Nvidia Corporation Late Z testing for multiple render targets
US8482567B1 (en) 2006-11-03 2013-07-09 Nvidia Corporation Line rasterization techniques
JP5127242B2 (ja) 2007-01-19 2013-01-23 任天堂株式会社 加速度データ処理プログラムおよびゲームプログラム
CN101647044B (zh) * 2007-04-11 2011-10-19 松下电器产业株式会社 图像生成装置以及图像生成方法
JP4964688B2 (ja) 2007-06-22 2012-07-04 任天堂株式会社 画像処理プログラムおよび画像処理装置
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
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US9064333B2 (en) 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8780123B2 (en) 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
WO2009100051A1 (en) * 2008-02-04 2009-08-13 Polchin George C Physical data building blocks system for video game interaction
US8923385B2 (en) 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8681861B2 (en) 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
WO2009138878A2 (en) * 2008-05-12 2009-11-19 Playcast Media Systems, Ltd. Centralized streaming game server
US8154553B2 (en) * 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
US8264493B2 (en) * 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US8321903B2 (en) * 2008-07-28 2012-11-27 Playcast Media Systems, Ltd. External services allocation in closed on-demand systems
US9256514B2 (en) 2009-02-19 2016-02-09 Nvidia Corporation Debugging and perfomance analysis of applications
JP2011022728A (ja) * 2009-07-14 2011-02-03 Sony Corp 画像処理装置および画像処理方法
US20110063304A1 (en) 2009-09-16 2011-03-17 Nvidia Corporation Co-processing synchronizing techniques on heterogeneous graphics processing units
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
EP2384001A1 (en) * 2010-04-29 2011-11-02 Alcatel Lucent Providing of encoded video applications in a network environment
US9171350B2 (en) 2010-10-28 2015-10-27 Nvidia Corporation Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up
CN102567381B (zh) * 2010-12-23 2017-02-08 腾讯科技(深圳)有限公司 一种保存图片信息的方法和装置
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
US9147270B1 (en) 2011-06-24 2015-09-29 Nvidia Corporation Bounding plane-based techniques 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
US9202308B2 (en) * 2011-12-28 2015-12-01 Think Silicon Sa Methods of and apparatus for assigning vertex and fragment shading operations to a multi-threaded multi-format blending device
US9058680B2 (en) * 2011-12-28 2015-06-16 Think Silicon Ltd Multi-threaded multi-format blending device for computer graphics operations
US9305394B2 (en) 2012-01-27 2016-04-05 Nvidia Corporation System and process for improved sampling for parallel light transport simulation
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
US9299127B2 (en) * 2012-09-21 2016-03-29 ImmerVision Splitting of elliptical images
US9720858B2 (en) 2012-12-19 2017-08-01 Nvidia Corporation Technique for performing memory access operations via texture hardware
US9019284B2 (en) 2012-12-20 2015-04-28 Nvidia Corporation Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline
US9824009B2 (en) 2012-12-21 2017-11-21 Nvidia Corporation Information coherency maintenance systems and methods
US9123128B2 (en) * 2012-12-21 2015-09-01 Nvidia Corporation Graphics processing unit employing a standard processing unit and a method of constructing a graphics processing unit
US10102142B2 (en) 2012-12-26 2018-10-16 Nvidia Corporation Virtual address based memory reordering
US9710894B2 (en) 2013-06-04 2017-07-18 Nvidia Corporation System and method for enhanced multi-sample anti-aliasing
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
KR102161742B1 (ko) * 2013-10-11 2020-10-05 삼성전자주식회사 피드백 경로를 포함하는 파이프 라인 시스템 및 그 동작방법
US20150228106A1 (en) * 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
US20170243375A1 (en) 2016-02-18 2017-08-24 Qualcomm Incorporated Multi-step texture processing with feedback in texture unit
CN106706134A (zh) * 2017-01-05 2017-05-24 金陵科技学院 Ram调色板伪彩色设计方法
US10430987B1 (en) 2017-06-09 2019-10-01 Snap Inc. Annotating an image with a texture fill
WO2019037558A1 (zh) 2017-08-22 2019-02-28 优酷网络技术(北京)有限公司 图像处理方法和装置
GB2572605B (en) * 2018-04-05 2022-05-18 Imagination Tech Ltd High accuracy texture filtering
US20210256092A1 (en) * 2020-02-19 2021-08-19 Nvidia Corporation Application programming interface to accelerate matrix operations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04501029A (ja) * 1988-07-06 1992-02-20 ヒューレットパカード・カンパニー 計算機図形処理表示装置制御システムのためのテクスチャマッピング技法

Family Cites Families (131)

* 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
US4491836A (en) 1980-02-29 1985-01-01 Calma Company Graphics display system and method including two-dimensional cache
US4425559A (en) 1980-06-02 1984-01-10 Atari, Inc. Method and apparatus for generating line segments and polygonal areas on a raster-type display
US4388620A (en) 1981-01-05 1983-06-14 Atari, Inc. Method and apparatus for generating elliptical images on a raster-type video display
US4463380A (en) 1981-09-25 1984-07-31 Vought Corporation Image processing system
US4570233A (en) 1982-07-01 1986-02-11 The Singer Company Modular digital image generator
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
GB8322438D0 (en) 1983-08-19 1983-10-12 Marconi Avionics Display systems
US4586038A (en) 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
US4808988A (en) 1984-04-13 1989-02-28 Megatek Corporation Digital vector generator for a graphic display system
US4601055A (en) 1984-04-10 1986-07-15 The United States Of America As Represented By The Secretary Of Commerce Image processor
US4725831A (en) 1984-04-27 1988-02-16 Xtar Corporation High-speed video graphics system and method for generating solid polygons on a raster display
US4829452A (en) 1984-07-05 1989-05-09 Xerox Corporation Small angle image rotation using block transfers
US4658247A (en) 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
US4695943A (en) 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
EP0184547B1 (en) 1984-12-07 1991-11-21 Dainippon Screen Mfg. Co., Ltd. Processing method of image data and system therefor
US4625289A (en) 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4710876A (en) 1985-06-05 1987-12-01 General Electric Company System and method for the display of surface structures contained within the interior region of a solid body
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
FR2586838B1 (fr) 1985-08-30 1989-07-28 Labo Electronique Physique Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions
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
JPS62192878A (ja) 1986-02-20 1987-08-24 Nippon Gakki Seizo Kk 多角形の塗りつぶし方法
US4862392A (en) 1986-03-07 1989-08-29 Star Technologies, Inc. Geometry processor for graphics display system
JPS62231380A (ja) 1986-03-31 1987-10-09 Namuko:Kk 画像合成装置
US5504917A (en) 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US4768148A (en) 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
US4785395A (en) 1986-06-27 1988-11-15 Honeywell Bull Inc. Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement
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
US4833601A (en) 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US4935879A (en) 1987-08-05 1990-06-19 Daikin Industries, Ltd. Texture mapping apparatus and method
US4965751A (en) 1987-08-18 1990-10-23 Hewlett-Packard Company Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
US5170468A (en) 1987-08-18 1992-12-08 Hewlett-Packard Company Graphics system with shadow ram update to the color map
US4866637A (en) 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
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
US4901064A (en) 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US4945500A (en) 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor 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
CA1309198C (en) 1987-12-10 1992-10-20 Carlo J. Evangelisti Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display
US4974176A (en) 1987-12-18 1990-11-27 General Electric Company Microtexture for close-in detail
GB2214037A (en) 1987-12-18 1989-08-23 Ibm Solid modelling system
US5136664A (en) 1988-02-23 1992-08-04 Bersack Bret B Pixel rendering
JPH0693181B2 (ja) 1988-03-18 1994-11-16 株式会社日立製作所 表示装置
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
JP2685548B2 (ja) 1988-11-28 1997-12-03 株式会社日立製作所 ディジタル画像データの回転方法およびその装置
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
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
DE69031202T2 (de) 1989-10-13 1998-02-19 Matsushita Electric Ind Co Ltd Verfahren und Gerät zur Farbkompensierung in Farbbildern
JPH0776991B2 (ja) 1989-10-24 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Nurbsデータ変換方法及び装置
JP3005007B2 (ja) 1989-12-21 2000-01-31 キヤノン株式会社 画像符号化装置
US5056044A (en) 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
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
US5179638A (en) 1990-04-26 1993-01-12 Honeywell Inc. Method and apparatus for generating a texture mapped perspective view
US5163126A (en) 1990-05-10 1992-11-10 International Business Machines Corporation Method for adaptively providing near phong grade shading for patterns in a graphics display system
CA2071539C (en) 1990-05-12 2001-07-17 Graham John Olive Image generator
EP0464907B1 (en) 1990-06-29 1996-10-09 Philips Electronics Uk Limited Generating an image
US5241658A (en) 1990-08-21 1993-08-31 Apple Computer, Inc. Apparatus for storing information in and deriving information from a frame buffer
JP2725915B2 (ja) 1990-11-15 1998-03-11 インターナショナル・ビジネス・マシーンズ・コーポレイション 三角形描画装置及び方法
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
FR2673791B1 (fr) 1991-03-08 1993-05-07 Thomson Video Equip Methode et dispositif pour, en image numerique, creer une bordure autour d'un sujet incruste sur un fond et generateur d'effets speciaux comportant un tel dispositif.
JPH07122908B2 (ja) 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元のソリッド物体を表す表示可能情報を生成する装置と方法
US5421028A (en) 1991-03-15 1995-05-30 Hewlett-Packard Company Processing commands and data in a common pipeline path in a high-speed computer graphics system
US5415549A (en) 1991-03-21 1995-05-16 Atari Games Corporation Method for coloring a polygon on a video display
WO1993004429A2 (en) 1991-08-13 1993-03-04 Board Of Regents Of The University Of Washington Method of generating multidimensional addresses in an imaging and graphics processing system
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
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
WO1993023816A1 (en) * 1992-05-18 1993-11-25 Silicon Engines Inc. System and method for cross correlation with application to video motion vector estimation
US5669010A (en) * 1992-05-18 1997-09-16 Silicon Engines Cascaded two-stage computational SIMD engine having multi-port memory and multiple arithmetic units
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
JPH0628485A (ja) 1992-07-09 1994-02-04 Toshiba Corp テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法
JPH07325934A (ja) * 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5475803A (en) 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
US5432895A (en) 1992-10-01 1995-07-11 University Corporation For Atmospheric Research Virtual reality imaging system
US5574835A (en) * 1993-04-06 1996-11-12 Silicon Engines, Inc. Bounding box and projections detection of hidden polygons in three-dimensional spatial databases
US5392393A (en) 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
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
JPH07225853A (ja) * 1994-02-10 1995-08-22 Matsushita Electric Ind Co Ltd 画像処理装置
US5487146A (en) 1994-03-08 1996-01-23 Texas Instruments Incorporated Plural memory access address generation employing guide table entries forming linked list
US5461712A (en) 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5596686A (en) * 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
JP2673101B2 (ja) * 1994-08-29 1997-11-05 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィクス装置
JPH0896150A (ja) * 1994-09-28 1996-04-12 Toshiba Corp 図形描画装置及び図形データ分割方法
US5572634A (en) * 1994-10-26 1996-11-05 Silicon Engines, Inc. Method and apparatus for spatial simulation acceleration
JP3548642B2 (ja) * 1994-12-02 2004-07-28 株式会社ソニー・コンピュータエンタテインメント 画像情報生成装置及び方法、画像情報処理装置及び方法、並びに記録媒体
US5751292A (en) * 1995-06-06 1998-05-12 Hewlett-Packard Company Texture mapping method and system
WO1997005576A1 (en) * 1995-07-26 1997-02-13 Silicon Engines, Inc. Method and apparatus for span and subspan sorting rendering system
US5977977A (en) * 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering
US5740343A (en) * 1995-11-03 1998-04-14 3Dfx Interactive, Incorporated Texture compositing apparatus and method
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
JP4056021B2 (ja) * 1997-12-05 2008-03-05 株式会社バンダイナムコゲームス 画像生成装置及び情報記憶媒体
JP4314655B2 (ja) * 1998-03-04 2009-08-19 ソニー株式会社 画像処理装置
US6104415A (en) * 1998-03-26 2000-08-15 Silicon Graphics, Inc. Method for accelerating minified textured cache access
AU5686199A (en) * 1998-08-20 2000-03-14 Apple Computer, Inc. Deferred shading graphics pipeline processor
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6333744B1 (en) * 1999-03-22 2001-12-25 Nvidia Corporation Graphics pipeline including combiner stages
US6466223B1 (en) * 1999-03-24 2002-10-15 Microsoft Corporation Method and apparatus for texture memory management
US6337689B1 (en) * 1999-04-03 2002-01-08 Hewlett-Packard Company Adaptive buffering of computer graphics vertex commands
US6618048B1 (en) * 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6532013B1 (en) * 2000-05-31 2003-03-11 Nvidia Corporation System, method and article of manufacture for pixel shaders for programmable shading
US6593923B1 (en) * 2000-05-31 2003-07-15 Nvidia Corporation System, method and article of manufacture for shadow mapping
US7002591B1 (en) * 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US6664958B1 (en) * 2000-08-23 2003-12-16 Nintendo Co., Ltd. Z-texturing
US7034828B1 (en) * 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US7905779B2 (en) * 2004-05-10 2011-03-15 Nintendo Co., Ltd. Video game including effects for providing different first person experiences of the same video game world and a storage medium storing software for the video game

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04501029A (ja) * 1988-07-06 1992-02-20 ヒューレットパカード・カンパニー 計算機図形処理表示装置制御システムのためのテクスチャマッピング技法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007526585A (ja) * 2004-03-03 2007-09-13 クゥアルコム・インコーポレイテッド 早期深さ検知を有するグラフィックスパイプライン及び方法
JP2008507037A (ja) * 2004-07-15 2008-03-06 インテル・コーポレーション ピクセルシェ−ダ・ハードウェアのためのレガシー処理
WO2007049610A1 (ja) * 2005-10-25 2007-05-03 Mitsubishi Electric Corporation 画像処理装置
JPWO2007049610A1 (ja) * 2005-10-25 2009-04-30 三菱電機株式会社 画像処理装置

Also Published As

Publication number Publication date
US7307638B2 (en) 2007-12-11
JP4890638B2 (ja) 2012-03-07
US7002591B1 (en) 2006-02-21
JP2011065677A (ja) 2011-03-31
JP4678963B2 (ja) 2011-04-27
EP1189172A3 (en) 2014-01-28
EP1189172A9 (en) 2002-09-04
US20050237337A1 (en) 2005-10-27
EP1189172A2 (en) 2002-03-20

Similar Documents

Publication Publication Date Title
JP4890638B2 (ja) グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置
JP4658378B2 (ja) グラフィクスシステムにおいて環境を写し込んだバンプマッピングのための方法および装置
JP4731028B2 (ja) グラフィクスシステム用再循環シェードツリーブレンダ
JP4691273B2 (ja) グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法
US6707458B1 (en) Method and apparatus for texture tiling in a graphics system
US7071945B2 (en) Graphics system interface
US6664962B1 (en) Shadow mapping in a low cost graphics system
US6452600B1 (en) Graphics system interface
US6664958B1 (en) Z-texturing
US6411301B1 (en) Graphics system interface
JP4846120B2 (ja) スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置
JPH09325759A (ja) 高速高効率3dグラフィックス及びデジタル音声信号処理を提供するコプロセッサを備える高性能低コストビデオゲームシステム
JP4740490B2 (ja) グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング
JP4698894B2 (ja) グラフィックスシステムにおけるテクスチャタイリングのための方法、装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101125

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4678963

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

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

LAPS Cancellation because of no payment of annual fees