JPH1186028A - テクスチャ・マッピング性能を向上させた3次元グラフィックス・アクセラレータを含むコンピュータ・システム - Google Patents

テクスチャ・マッピング性能を向上させた3次元グラフィックス・アクセラレータを含むコンピュータ・システム

Info

Publication number
JPH1186028A
JPH1186028A JP18383298A JP18383298A JPH1186028A JP H1186028 A JPH1186028 A JP H1186028A JP 18383298 A JP18383298 A JP 18383298A JP 18383298 A JP18383298 A JP 18383298A JP H1186028 A JPH1186028 A JP H1186028A
Authority
JP
Japan
Prior art keywords
texture
geometric primitive
region
primitive
map
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.)
Pending
Application number
JP18383298A
Other languages
English (en)
Inventor
Michael F Deering
マイケル・エフ・ディアリング
Ranjit S Oberoi
ランジット・エス・オベロイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH1186028A publication Critical patent/JPH1186028A/ja
Pending 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

Landscapes

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

Abstract

(57)【要約】 【課題】 テクスチャ・マッピング性能を向上させ、か
つ、必要なメモリおよびボード・スペースを低減した改
良型の3−Dグラフィックス・アクセラレータ構造を提
供する。 【解決手段】 幾何プリミティブの第1の領域を記述し
たデータを受け取り、その前記第1の領域に対応するテ
クスチャ・マップの第1の部分をテクスチャ・メモリ・
キャッシュ内に受け取り、テクスチャ・メモリ・キャッ
シュに記憶されたテクスチャ・マップの第1の部分に基
づいて、幾何プリミティブの第1の領域をテクスチャ・
マッピングする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・シ
ステムに含まれる3−Dグラフィックス・アクセラレー
タに関し、より具体的には、テクスチャ・マップをシス
テム・メモリに記憶し、モザイク化された部分を、グラ
フィックス・アクセラレータの内部のキャッシュ・メモ
リに転送する改良型の3−Dグラフィックス・アクセラ
レータ構造に関する。
【0002】
【従来の技術】3次元(3−D)グラフィックス・アク
セラレータは、コンピュータ・システムの専門グラフィ
ックス・レンダリング・サブシステムであり、ホスト・
プロセッサに代わって3−Dレンダリング機能を実施す
るように設計され、これによってシステム性能を向上さ
せるものである。3−Dグラフィックス・アクセラレー
タを有するシステムでは、コンピュータ・システムのホ
スト・プロセッサ上で実行されるアプリケーション・プ
ログラムが、ディスプレイ装置に出力する3次元グラフ
ィックス要素を定義する3次元幾何データを生成する。
アプリケーション・プログラムに従って、ホスト・プロ
セッサは、この幾何データをグラフィックス・アクセラ
レータに転送する。グラフィックス・アクセラレータ
は、幾何データを受け取り、対応するグラフィックス要
素をディスプレイ装置上にレンダリングする。
【0003】多くのコンピュータ・グラフィックス・シ
ステムの目標の1つは、ユーザにとって写実的な物体の
レンダリングを可能にすることである。しかし、視覚的
写実性の問題は非常に複雑である。「現実世界」の物体
は、色、反射および表面の不規則性における微妙な相違
を含め極めて多くの細部を含んでいる。
【0004】表面の細部を物体に追加するのにはさまざ
まな方法がある。単純な方法は、特徴を示す表面細部ポ
リゴンを基本ポリゴンの上に使用するものである。しか
しこの方法は、表現する表面細部が複雑になるにつれ
て、効果がうすくなる。テクスチャ・マッピングとして
知られる代替の方法では、(ビット・マップなどの)画
像を表面の上にマップする。例えば、複雑な細部を有す
る絵をビット・マップ化したものを、その絵の骨組みを
表したポリゴンにテクスチャ・マッピングする。この技
術を使用すると多くの場合に、表面細部を表現するのに
ポリゴンを使用するものよりも写実的な結果が得られ
る。
【0005】テクスチャ・マップは、テクセル(テクス
チャ・エレメント)と呼ばれる要素から構成された2次
元アレイである。ディスプレイ装置上のそれぞれのピク
セルは、さまざまな色値を含む少くとも1つのテクセル
にマップされる。テクスチャ・マップされるディスプレ
イ装置上のそれぞれのピクセルに対して、対応するテク
セルに関係づけられた色値を使用して、最終的な色値が
生成される。エイリアシングの問題を回避するために、
全ての関連テクセルが考慮される。
【0006】
【発明が解決しようとする課題】従来技術のテクスチャ
・マッピング・システムは、グラフィックス・アクセラ
レータ・ボード上に配置された専用テクスチャ・メモリ
を使用する。このメモリは、待ち時間が短く高帯域でな
ければならないので、DRAMでは一般に十分でない。
代わりに高価なメモリが使用され、これによってシステ
ムのコストが増大する。さらに、このテクスチャ・メモ
リは一般に、他の目的に使用することができない。これ
は、複数のレンダリング・チップを含むグラフィックス
・アクセラレータでは特に問題である。このような場合
には、追加のレンダリング・チップそれぞれに対してテ
クスチャ・メモリが必要となり、そのために、グラフィ
ックス・アクセラレータ・ボードに必要なスペース、お
よびシステム・コストがさらに増大する。テクスチャ・
マップすることができる画像の大きさは、回路基板上の
テクスチャ・メモリの大きさによって制限される。3−
Dグラフィックス・システムにおいてより複雑なテクス
チャ・マッピングがますます要求されていることから見
て、グラフィックス・システムの性能向上が望まれる。
【0007】したがって、テクスチャ・マッピング性能
を向上させ、かつ、必要なメモリおよびボード・スペー
スを低減した改良型の3−Dグラフィックス・アクセラ
レータ構造が求められている。
【0008】
【課題を解決するための手段】本発明は、テクスチャ・
マッピングの性能を向上させたコンピュータ・システム
である。このコンピュータ・システムは、ディスプレイ
・スクリーン、データ転送バス、およびそのバスに結合
され、テクスチャ・マップを記憶するシステム・メモリ
を含む。テクスチャ・マップは、所与のテクスチャ画像
の解像度の異なるバージョンをそれぞれが含む複数のミ
ップ・マップ・レベルを含んでもよい。このコンピュー
タ・システムはさらに、バスに結合され、幾何プリミテ
ィブをディスプレイ・スクリーン上にレンダリングする
アプリケーションを実行するように構成されたプロセッ
サを含む。このプロセッサはさらに、幾何プリミティブ
に対応する情報を生成するように構成される。このプロ
セッサはさらに、テクスチャ空間内の格子に編成された
複数のタイルにしたがって幾何プリミティブを分割する
ように構成される。格子内の複数のタイルの1枚1枚
は、テクスチャ・マップの一部分に対応し、複数のテク
セルを含む。複数のテクセルは、正方形に編成されるこ
とが好ましい。
【0009】コンピュータ・システムはさらに、バスに
結合されたグラフィックス・アクセラレータを含む。複
数のタイルのそれぞれの大きさは、コンピュータ・シス
テムのグラフィックス・アクセラレータの内部のテクス
チャ・メモリ・キャッシュの大きさに等しい。テクスチ
ャ・メモリ・キャッシュはさらに、テクスチャ・キャッ
シュの対応する部分に対するミップ・マップ・レベルを
含んでもよい。このようにテクスチャ・メモリ・キャッ
シュは、複数のタイルのうちの1枚のタイルに対応する
テクスチャ・マップの部分を記憶するように構成され
る。レンダリング中の不必要な視覚効果を防止するため
に、格子内の隣接するタイルは、共通のテクセル行また
は列を共有する。性能を向上させるため、テクスチャ・
メモリ・キャッシュは、複数のバッファのうちの1つの
バッファに記憶されたテクスチャ・マップの部分に基づ
いて、所与のサブポリゴンをレンダリングする間に、テ
クスチャ・マップの1つの部分を、複数のバッファのう
ちの別の1つに書き込むことができるような複数のバッ
ファを有することができる。
【0010】プロセッサは、複数のタイルのうちの第1
のタイルに対応するテクスチャ・マップの部分を、シス
テム・メモリからグラフィックス・アクセラレータに転
送するように構成される。グラフィックス・アクセラレ
ータは、複数のタイルのうちの第1のタイルに対応する
テクスチャ・マップの部分を、テクスチャ・メモリ・キ
ャッシュに記憶する。プロセッサはさらに、複数のタイ
ルのうちの第1のタイルに対応する幾何プリミティブの
部分を、複数のサブ・ポリゴンにモザイク化し、これら
の複数のサブ・ポリゴンのそれぞれに対応する情報を、
グラフィックス・アクセラレータに転送するように構成
される。グラフィックス・アクセラレータは、複数のタ
イルのうちの第1のタイルに対応するテクスチャ・マッ
プの部分に基づいて、ピクセル・レベルの複数のサブ・
ポリゴンのそれぞれをレンダリングするように構成され
る。
【0011】テクスチャ・メモリ・キャッシュの使用
は、テクスチャ・マップの大きさの制約を実質的に全て
排除し、ますます増大するテクスチャ・サイズの要求を
満たす。グラフィックス・アクセラレータ内でテクスチ
ャがピクセル・レベルでレンダリングされるので、テク
スチャ付きの画像の品質は維持される。テクスチャ・メ
モリ・キャッシュはさらに、グラフィックス・アクセラ
レータのコストおよび必要となる回路基板上のメモリを
低減させる。
【0012】
【発明の実施の形態】好ましい実施形態の以下の詳細説
明を添付図面と関連させて検討することによって、本発
明をよく理解することができるであろう。
【0013】図1−コンピュータ・システム 次に図1に参照して、本発明に基づく3次元(3−D)
グラフィックス・アクセラレータを含むコンピュータ・
システム80を示す。図示のようにコンピュータ・シス
テム80は、システム・ユニット82およびシステム・
ユニット82に結合したビデオ・モニタまたはディスプ
レイ装置84を含む。ディスプレイ装置84は、各種デ
ィスプレイ・モニタ/装置のいずれでもよい。キーボー
ド86および/またはマウス88を含むさまざまな入力
装置を、コンピュータ・システムに接続することができ
る。コンピュータ・システム80は、ビデオ・モニタ8
4上に3−Dグラフィック物体を表示するアプリケーシ
ョン・ソフトウェアを実行することができる。後にさら
に述べるように、コンピュータ・システム80の3−D
グラフィックス・アクセラレータは、3次元グラフィッ
ク物体を表示する性能が改良されている。
【0014】図2−コンピュータ・システムのブロック
次に図2に図1のコンピュータ・システムの簡略ブロッ
ク図を示す。本発明の理解に必要のないコンピュータ・
システム要素は便宜上、図示しない。図示のように、コ
ンピュータ・システム80は、高速バスまたはシステム
・バス104に結合した中央処理装置(CPU)102
を含む。さらにシステム・メモリ106が、高速バス1
04に結合されることが好ましい。
【0015】ホスト・プロセッサ102は、各種コンピ
ュータ・プロセッサ、マルチプロセッサおよびCPUの
うちのいずれでもよい。システム・メモリ106は、ラ
ンダム・アクセス・メモリおよび大容量記憶装置を含む
各種メモリ・サブシステムのうちのいずれでもよい。シ
ステム・バスまたはホスト・バス104は、ホスト・プ
ロセッサ、CPU、メモリ・サブシステム、および専門
サブシステム間の通信用の各種通信バスまたはホスト・
コンピュータ・バスのうちのいずれでもよい。好ましい
実施形態では、ホスト・バス104は、83MHzで動
作する64ビット・バスであるUPAバスである。
【0016】本発明に基づく3−Dグラフィックス・ア
クセラレータ112は、高速メモリ・バス104に結合
される。3−Dグラフィックス・アクセラレータ112
を、例えばクロス・バー・スイッチまたはその他のバス
接続論理によってバス104に結合してもよい。当技術
分野で周知のように、さまざまなその他の周辺装置また
はその他のバスを高速メモリ・バス104に接続しても
よい。3−Dグラフィックス・アクセラレータを、必要
に応じてどんな種類のバスにも結合することができるこ
とに留意されたい。図示のように、ビデオ・モニタまた
はディスプレイ装置84が3−Dグラフィックス・アク
セラレータ112に接続される。
【0017】ホスト・プロセッサ102は、ホスト・バ
ス104のプログラム入出力(I/O)プロトコルに従
ってグラフィックス・アクセラレータ112と情報をや
りとりする。代替実施形態では、グラフィックス・アク
セラレータ112が、ダイレクト・メモリ・アクセス
(DMA)プロトコルに従って、又はインテリジェント
・バス・マスタリングを介してメモリ・サブシステム1
06にアクセスする。
【0018】コンピュータ・システム80は、ホスト・
プロセッサ102上で実行されるグラフィックス・アプ
リケーション・プログラムによって指定された1つまた
は複数のポリゴンに対してテクスチャ・マッピングを実
行するように構成される。ホスト・プロセッサ102
は、1つまたは複数のポリゴンをモザイク化し、その結
果生じたサブ・ポリゴンを、ホスト・バス104を介し
てグラフィックス・アクセラレータ112に送る。それ
ぞれのサブ・ポリゴンと一緒にテクスチャ・マップの対
応する部分も伝達される。グラフィックス・アクセラレ
ータ112に伝達された各サブポリゴンは、描画プロセ
ッサに転送されて、テクスチャ・マッピングおよびレン
ダリングが実施される。後述するように、コンピュータ
・システム80は、テクスチャ・マッピング性能が向上
するように構成されている。
【0019】図3−グラフィックス・アクセラレータ 次に図3に、本発明の好ましい実施形態に基づくグラフ
ィックス・アクセラレータ112のブロック図を示す。
図示のとおり、このグラフィックス・アクセラレータ1
12は主として、コマンド・ブロック142、一組の浮
動小数点プロセッサ152A〜152F、一組の描画プ
ロセッサ172Aおよび172B、3DRAMから成る
フレーム・バッファ100、ならびにランダム・アクセ
ス・メモリ/ディジタル・アナログ変換器(RAMDA
C)196から構成される。
【0020】図示のようにグラフィックス・アクセラレ
ータ112は、ホスト・バス104にインタフェースす
るコマンド・ブロック142を含む。コマンド・ブロッ
ク142は、グラフィックス・アクセラレータ112を
ホスト・バス104にインタフェースし、グラフィック
ス・アクセラレータ112内のその他のブロックまたは
チップ間のデータ転送を制御する。コマンド・ブロック
142はさらに、三角形データおよびベクトル・データ
を前処理し、幾何データを伸張する。
【0021】コマンド・ブロック142は、複数の浮動
小数点ブロック152とインタフェースする。グラフィ
ックス・アクセラレータ112は、図の152A〜15
2Fで示すように最大で6つの浮動小数点プロセッサを
含むことが好ましい。浮動小数点プロセッサ152A〜
152Fは高水準描画コマンドを受け取り、3次元物体
をスクリーンにレンダリングするための三角形、線など
のグラフィックス・プリミティブを生成する。浮動小数
点ブロック152A〜152Fは、受け取った幾何デー
タに関して変形、クリッピング、面決定、ライティング
およびセットアップ動作を実行する。浮動小数点プロセ
ッサ152A〜152Fは、それぞれのメモリ153A
〜153Fに接続される。メモリ153A〜153F
は、マイクロコードおよびデータの記憶に使用されるも
のであり、32k×36ビットのSRAMであることが
好ましい。
【0022】浮動小数点ブロック152A〜152Fは
それぞれ、2つの描画プロセッサ172Aおよび172
Bに接続される。グラフィックス・アクセラレータ11
2は、2つの描画プロセッサ172Aおよび172Bを
含むことが好ましい。ただし、これとは異なる数の描画
ブロックを使用してもよい。描画プロセッサ172Aお
よび172Bは、さまざまなグラフィックス・プリミテ
ィブのスクリーン・スペース・レンダリングを実行し、
完成した画素を3DRAMアレイ中に順番に配列する
か、これを充填するように動作する。描画プロセッサ1
72Aおよび172Bはさらに、フレーム・バッファ1
00の3DRAM制御チップとしても機能する。描画プ
ロセッサ172Aおよび172Bは、浮動小数点プロセ
ッサ152A〜152Fの1つから受け取った描画パケ
ット、またはコマンド・プロセッサ142から受け取っ
たダイレクト・ポート・パケットに基づいて画像を並列
に、フレーム・バッファ100にレンダリングする。
【0023】浮動小数点ブロック152A〜152F
は、2つの描画ブロック172Aおよび172Bに同じ
データを同時に伝達することが好ましい。これは言い換
えると、浮動小数点ブロック152からの2組のデータ
線上に常に同じデータがあるということである。したが
って浮動小数点ブロック152Aがデータを伝達すると
きには、浮動小数点ブロック152AはFDバスの両方
の部分を介して、描画プロセッサ172Aおよび172
Bに同じデータを伝達する。
【0024】描画ブロック172Aおよび172Bは、
4バンクの3DRAMメモリ192A〜192B、19
4A〜194Bを含むフレーム・バッファ100に結合
される。描画ブロック172Aは、2つの3DRAMバ
ンク192Aおよび192Bに結合され、描画ブロック
172Bは、2つの3DRAMバンク194Aおよび1
94Bに結合される。図示のように各バンクは、3つの
3DRAMチップを含む。3DRAMメモリ・バンク1
92A〜Bおよび194A〜Bは全体で、1280×1
024ビットで深さが96ビットのフレーム・バッファ
100を形成する。フレーム・バッファは、描画ブロッ
ク172Aおよび172Bによってレンダリングされた
3−D物体に対応する画素を記憶する。
【0025】3DRAMメモリ192A〜Bおよび19
4A〜Bはそれぞれ、RAMDAC(ランダム・アクセ
ス・メモリ・ディジタル・アナログ変換器)196に結
合される。RAMDAC196は、プログラマブル・ビ
デオ・タイミング・ジェネレータ、プログラマブル画素
クロック・シンセサイザ、クロスバー機能、ならびに従
来のカラー・ルックアップ・テーブル、トリプル・ビデ
オDAC回路を含む。RAMDAC196は、ビデオ・
モニタ84に結合される。
【0026】コマンド・ブロックは、単一のチップとし
て実装されることが好ましい。浮動小数点プロセッサ1
52は、別々のチップとして実装されることが好まし
い。好ましい実施形態では、最大で6つの浮動小数点ブ
ロック・チップ152A〜Fを含めることができる。描
画ブロックまたはプロセッサ172Aおよび172B
は、別個のチップを含むことが好ましい。好ましい実施
形態のグラフィックス・アクセラレータ構造の他のアス
ペクトについては、1996年7月1日出願の「Thr
ee−Dimensional Graphics A
ccelerator With Direct Da
ta Channels for Improved
Performance」という名称の関連同時係属出
願第08/673492号、および同日出願の「Thr
ee−Dimensional Graphics A
ccelerator Which Implemen
tsMultiple Logical Buses
Using CommonData Lines fo
r Improved Bus Communicat
ion」という名称の関連同時係属出願第08/673
491号を参照されたい。
【0027】前述のとおり、コマンド・ブロック142
は、テクスチャ・マップ・データおよび対応するプリミ
ティブを含むコマンドおよびデータをホスト・プロセッ
サ102から受け取る。これらのプリミティブは浮動小
数点プロセッサ152によって変形され、描画プロセッ
サ172に転送されて、そこで、フレーム・バッファ1
92および194にレンダリングされる。転送されたプ
リミティブに適用されるテクスチャ・マップは、描画プ
ロセッサ172内のテクスチャ・メモリ・キャッシュに
記憶される。描画プロセッサについては主に図4を参照
して論じる。ただし、コンピュータ・システム80のテ
クスチャ・マッピング方法については、図5ないし図9
に参照してより具体的に論じる。
【0028】図4−描画プロセッサのブロック図 次に図4に参照して、描画プロセッサ172Aのブロッ
ク図を示す。描画プロセッサ172Aおよび172Bは
同一であり、そのため便宜上ここでは一方のみを説明す
る。描画プロセッサ172Aは、3DRAMチップのシ
ーケンシングを管理する。各描画プロセッサ172は、
内部ピクセル・キャッシュおよびビデオ出力リフレッシ
ュ用の3DRAMスケジューリング論理を含む。これら
の資源は、レンダリングされたピクセルを、これらが3
DRAMに達する前に待ち行列に入れ、この待ち行列中
のピクセル・アドレスをスヌープして、3DRAMのキ
ャッシュ・ミスを予測することによって制御される。
【0029】図示のとおり、各描画プロセッサ172
は、FDバスにインタフェースするFDバス・インタフ
ェース・ブロック202を含む。FDバス・インタフェ
ース・ブロック202は、CDCバス・インタフェース
論理212に結合される。CDCバス・インタフェース
論理212は、スクラッチ・バッファ214およびダイ
レクト・ポート・ユニット216に結合される。ダイレ
クト・ポート・ユニット216は、フレーム・バッファ
・インタフェース論理236から入力を受け取り、ピク
セル・データMUX論理232に出力を供給する。CD
Cバス・インタフェース論理212はさらに、DCバス
に結合され、出力データを供給する。FDバス・インタ
フェース202は、プリミティブ蓄積バッファ204に
出力を供給する。
【0030】描画プロセッサ172はさらに、コマンド
・プロセッサ142によって指定されたプリミティブの
順序を追跡するスコアボード218を含む。図示のとお
り、このスコアボード論理は、F_Num入力を受け取
り、プリミティブ蓄積バッファ204に出力を供給す
る。コマンド・ブロック142は、(ユニキャスト)プ
リミティブが、CFバス出力FIFOの1つにコピーさ
れるごとに、3ビット・コードを描画プロセッサ172
に供給する。このコードは、6つある浮動小数点ブロッ
ク・プロセッサ152A〜152Fのうちのどのプロセ
ッサがプリミティブを受け取るかを指定する。このコー
ドはさらに、プリミティブが順序づけられているか否か
を指示するビットを含む。順序づけられたプリミティブ
は全て、入力された順番に出力される必要がある。順序
なしのプリミティブは、これらが使用可能となったとき
にははいつでもプリミティブ蓄積バッファ204から取
り出すことができる。テキストおよびマーカなどのいく
つかのプリミティブは、1つのプリミティブ入力に対し
て複数のプリミティブを出力する。これらのプリミティ
ブは効率を高めるために、順序なしモードに置かれるこ
とが好ましい。しかし、描画プロセッサ172に送られ
た全ての属性は、それらが変更する可能性のあるプリミ
ティブに対して順序づけられていなければならない。さ
らに、線および三角形の厳格な順序付けが維持されなけ
ればならない場合もある。スコアボード論理218は、
少なくとも64個のプリミティブを追跡する。スコアボ
ード論理218は、スコアボード論理218が一杯にな
りそうになると、スコアボード・バッファ218のオー
バフローを防ぐためにコマンド・ブロック142に信号
を送る。
【0031】前述のとおり、プリミティブ蓄積バッファ
204は、FDバス・インタフェース202およびスコ
アボード論理218から出力を受け取る。プリミティブ
蓄積バッファ204は、エッジ・ウォーカ論理222に
出力を供給し、エッジ・ウォーカ論理222はスパン充
填論理224に出力を供給する。スパン充填論理224
は、テクスチャ・ピクセル・プロセッサ226に出力を
供給する。スパン充填論理224はさらに、ダイレクト
・ポート・ユニット216に出力を供給する。プリミテ
ィブ蓄積バッファ204はさらに、テクスチャ・エキス
パンダ論理228に出力を供給する。テクスチャ・エキ
スパンダ論理228は、テクスチャ・メモリ・キャッシ
ュ230に結合される。テクスチャ・メモリ・キャッシ
ュ230は、テクスチャ・ピクセル・プロセッサ226
にデータを供給する。テクスチャ・メモリ・キャッシュ
230はさらに、ダイレクト・ポート・ユニット216
にデータを供給する。テクスチャ・ピクセル・プロセッ
サ226およびダイレクト・ポート・ユニット216は
それぞれ、ピクセル・データ・マルチプレクサ232に
データを供給する。ピクセル・データ・マルチプレクサ
232は、ピクセル・プロセッサ234に出力を供給す
る。ピクセル・プロセッサ234は、フレーム・バッフ
ァ・インタフェース236およびダイレクト・ポート・
ユニット216に出力を供給する。
【0032】プリミティブ蓄積バッファ204は、1つ
のプリミティブを完全に受け取るまでプリミティブ・デ
ータを蓄積するのに使用される。したがって6つの浮動
小数点プロセッサ152A〜152Fからデータが集め
られたときに、このデータが最終的に、完全なプリミテ
ィブを形成する。プリミティブ蓄積バッファ204は、
1つの完全なプリミティブを保持するのに十分な余地、
およびパイプラインのスムーズな流れを維持するため
に、第2のプリミティブの一部分を保持するのに十分な
記憶領域を含む。6つの浮動小数点プロセッサ152A
〜152Fのそれぞれからデータが入力されると、6つ
のプリミティブ蓄積バッファ204は一杯になる。一般
に、そのプリミティブが完全に受け取られると直ちに、
次のプリミティブがその後から入力される。したがっ
て、プリミティブ蓄積バッファ204は、次のプリミテ
ィブから入力されるデータでバッファが一杯になる前
に、完全なプリミティブをプリミティブ蓄積バッファ2
04からエッジ・ウォーカ論理222に転送するのに十
分な余分のバッファを含む。好ましい実施形態では、プ
リミティブ蓄積バッファ204は、処理される最も大き
いプリミティブ(三角形)よりも数ワード分大きい。プ
リミティブ蓄積バッファ204は、エッジ・ウォーカ論
理222に64ビット出力を供給する。プリミティブ
は、スコアボード論理218の内容に基づいてプリミテ
ィブ蓄積バッファ204から1つずつ除去される。
【0033】エッジ・ウォーカ論理222は、スパン充
填ユニット224が容易に取り扱うことができる大きさ
にプリミティブを分割する。三角形に対しては、エッジ
・ウォーカ論理222は、2つの現在の辺に沿って進
み、最も近いピクセル標本点に調整された一対の垂直ス
パンを生成する。これらの垂直スパンは、スパン充填ユ
ニット224に送られる。エッジ・ウォーカ・ユニット
222は、線に対しても同様の調整を実行し、三角形ス
パンに非常によく似た線記述を、スパン・フィールド・
ユニット224に送る。エッジ・ウォーカ論理222
は、これらの調整の実行に使用する2つの16×24乗
算器を含む。エッジ・ウォーカ論理222はさらに、そ
の他の計算に使用するカウントを追跡するいくつかの加
算器を含む。三角形および線以外のプリミティブは、資
源の最も効率的な使用に基づいて分割される。ギザギザ
のドットおよびエイリアス除去されたドットは両方と
も、ギザギザのドットに.5を加算するなどの最小限の
調整だけでこの論理を通過して直接に送られる。大きな
ドットは、個別のピクセルとしてエッジ・ウォーカ論理
222を通過する。エッジ・ウォーカ論理222は、ポ
リゴンおよび長方形を水平スパンに変換する。エッジ・
ウォーカ論理222は、ブレーゼンハム線を、スパン充
填ユニット224に送られる前には一切変更しない。
【0034】スパン充填ユニット224は、通常三角形
および線の任意の向きのスパンの値の補間、ならびにエ
イリアス除去された線のフィルタ重みテーブルのルック
アップを実行する。三角形スパン対、長方形スパン、ポ
リゴン・スパン、ならびにエイリアス除去された線およ
びドットを含む最適化されたプリミティブに対しては、
サイクルあたり2ピクセルが生成される。その他のプリ
ミティブは全て、サイクルあたり1ピクセルを生成す
る。スパン充填ユニット224の最終段は、4×4スク
リーン・スペース・ディザ・パターンを使用して12ビ
ット色を8ビット値に変換し、ディザリングを実行す
る。スパン充填論理224は、テクスチャ・ピクセル・
プロセッサ226に出力を供給する。
【0035】テクスチャ・ピクセル・プロセッサ226
は、テクスチャ計算を実行し、テクスチャ・メモリ・キ
ャッシュ230内のテクセルのルックアップを制御す
る。テクスチャ・ピクセル・プロセッサ226は、ピク
セル・プロセッサ234がピクセルにマージする色を生
成する。テクスチャ・ピクセル・プロセッサ226は、
テクスチャ付きの三角形を除く全てのプリミティブのデ
ータを、ピクセル・データ・マルチプレクサ232に送
る。
【0036】前述のとおり、プリミティブ蓄積バッファ
204はテクスチャ・エキスパンダ228に出力を供給
する。テクスチャ・エキスパンダ228は、受け取った
テクスチャをテクスチャ・メモリ・キャッシュ230に
記憶するために拡張する。このようにして、テクスチャ
・メモリ・キャッシュ230は、プリミティブ蓄積バッ
ファ204から直接にロードされ、テクセルのルックア
ップのためにテクスチャ・ピクセル・プロセッサに接続
される。テクスチャ・メモリ・キャッシュ230は、こ
れより小さな全てのミップマップを含む16×16テク
セル領域をテクスチャ・マップするのに十分なデータを
保持できるように設計される。テクスチャ・メモリ・キ
ャッシュ230は、2重バッファであって、1つのバッ
ファを使用中にもう1つのバッファをロードできること
が好ましい。補間が正確に実施されるように、16×1
6テクセル領域は、実際には17×17アレイとして記
憶されることに留意されたい。
【0037】前述のとおり、ピクセル・データ・マルチ
プレクサ232は、テクスチャ・ピクセル・プロセッサ
226およびダイレクト・ポート・ユニット216から
入力データを受け取る。ピクセル・データMUX論理2
32は、スパン充填ユニット224からのピクセルとC
Dバスからのピクセルとの仲立ちをする。CDバスから
のピクセルに常に優先権が与えられる。ピクセル・デー
タ・マルチプレクサ232は、ピクセル・プロセッサ2
34に出力を供給する。
【0038】ピクセル・プロセッサ234は、ブレンデ
ィング、エイリアス除去、デプス・キューイング、およ
び3DRAM192および194での論理演算のセット
アップを実行する。ピクセル・プロセッサ234はさら
に、ライン・パターニング、ステンシル・パターニン
グ、Vポート・クリッピングなどの演算のピクセル書込
みを防止するように動作可能な論理を含む。ピクセル・
プロセッサ234は、フレーム・バッファ・インタフェ
ース236に出力を供給する。
【0039】フレーム・バッファ・インタフェース23
6は、3DRAMメモリ192A〜Bとの間でピクセル
を読み書きするのに必要な論理を含む。フレーム・バッ
ファ・インタフェース236は、3DRAMチップ内の
レベル1(L1)およびレベル2(L2)キャッシュを
管理する。これは、その他のピクセルにアクセスしてい
る間に、書き込むピクセルを先取りし、必要なキャッシ
ュにページングすることによって実施される。フレーム
・バッファ・インタフェース236は、図示のように、
3DRAMメモリ192Aおよび192Bに結合され
る。
【0040】図5−テクスチャ・マッピングの概要 次に図5に、本発明の好ましい実施形態に基づくテクス
チャ・マッピングの方法300を示す。各段階の概要は
図5に示すとおりであり、これらをより具体的に以下で
論じる。
【0041】段階310で、ホスト・プロセッサ102
がテクスチャ・マップをシステム・メモリ106に記憶
する。テクスチャ・マップは、各要素の長さが一般に8
〜32ビットの2次元長方形アレイである。最も一般的
なテクスチャ・マップは、要素の長さが24ビットで、
赤青緑の3つの色成分を表すラスタ画像である。アレイ
・サイズは一般に、1024×1024であるが、テク
スチャ・マップは、システム・メモリ106、またはホ
スト・プロセッサ102の仮想メモリに記憶されるた
め、グラフィックス・アクセラレータ112が大きさの
制限を特に課すわけではない。テクスチャ・マップの各
アレイ要素は、テクスチャ・エレメントまたはテクセル
と呼ばれる。一実施形態では、テクセルは、それぞれが
8ビット長の1〜4チャネルを有する。24ビット・テ
クセルは、3チャネルの索引のない色を表現する。これ
にアルファ成分を追加すると、これは、32ビット4チ
ャネル・テクセルになる。
【0042】一実施形態では、テクスチャ・マップを多
重化したもの(ミップ・マップ・レベルと呼ばれる)
が、メモリ106に記憶される。これらは、解像度がそ
れぞれ異なる。後述するように、ミップ・マップの使用
によって、物体の部分を、透視空間のそれぞれの位置に
対してより高速にテクスチャ・マップすることが可能に
なる。
【0043】一実施形態では、テクスチャ・マップに代
わってミップ・マップがシステム・メモリ106に記憶
される。ミップ・マップは、同じテクスチャ・マップを
フィルタリングしたもののピラミッドである。各マップ
は、前段のマップの1/2の線解像度を有する。したが
って、テクセルの数は1/4になる。最も粗いレベルの
テクセル数が1であるこの編成のメモリ・コストは、元
のマップのコストの4/3(1+1/4+1/6
+....)になる。ミップ(mip)という語は、
「小さな場所に多くのもの」という意味のラテン語「m
ultum in parvo」の頭字語である。この
ようにミップ・マップ方式は、事前フィルタリングされ
たテクスチャを提供する。このうちの1つが実行時間に
選択され、レンダリングに使用される。この理論上のレ
ベルは一般に、事前に計算された2つの隣接するレベル
の間にあり、したがって補間を行ってこの理論レベルを
得る必要がある。それぞれマップでは、ルックアップす
るテクセルがちょうど整数境界上にない場合には、双一
次補間が必要となる。テクスチャ・テーブルのルックア
ップに必要なスケール値(u,v)が整数値でないとき
には、同様の2次元一次補間が各ミップ・マップで計算
される。アニメーション中の連続性を確実にするため、
スケール値(u,v)を囲む4つのテクセルの効果がテ
クセル空間の基準点からの直線距離に基づいて考慮され
る。例えば、スケール値(u,v)が(3.7,6.
8)である場合、テクセル(3,6)、(4,6)、
(3,7)、(4,7)の重み付き平均がとられる。こ
の補間オプションおよびその他の補間オプションについ
ては、後にさらに詳細に説明する。
【0044】段階320で、ホスト・プロセッサ102
は、グラフィックス・アプリケーション・プログラムを
実行し、所与の幾何プリミティブ、および対応する1つ
または複数のパラメータを生成する。アプリケーション
・プログラムはさらに、このプリミティブがグラフィッ
クス・アクセラレータ112によってテクスチャ・マッ
プすべきものであることを指示する。プリミティブに対
応するパラメータには、色、正規座標および3次元モデ
ル空間座標を含めることができる。
【0045】段階330で、ホスト・プロセッサ102
は、テクスチャ空間内に格子状に配列された複数のタイ
ルに基づいて所与の幾何プリミティブを分割する。後述
するように、グラフィックス・アクセラレータ112
は、複数のタイルのうちの1つのタイルの大きさに対応
する領域についてテクスチャ・マッピングを実行するよ
うに構成される。グラフィックス・アクセラレータ11
2は比較的大きい三角形(1000ピクセル超)をサポ
ートするので、所与の幾何プリミティブは一般に1つの
タイルよりも大きい。したがってホスト・プロセッサ1
02はプリミティブを分割する。格子の各タイルは、テ
クスチャ・マップの一部分を表し、任意選択で、幾何プ
リミティブの一部分を表す。
【0046】段階340で、ホスト・プロセッサ102
は、所与のタイルの1つに対応するテクスチャ・マップ
の部分をグラフィックス・アクセラレータ112に転送
する。好ましい実施形態では、このテクスチャ・マップ
部分は、1つの描画プロセッサ172のFDバス・イン
タフェース202に送られる。このテクスチャ・マップ
部分に対応するミップ・マップ・レベルも転送される。
【0047】段階350で、グラフィックス・アクセラ
レータ112は、このテクスチャ・マップ部分をテクス
チャ・メモリ・キャッシュ230に記憶する。一実施形
態では、テクスチャ・メモリ・キャッシュ230が2重
バッファであり、所与のプリミティブの部分を、キャッ
シュ230の1つのバッファに記憶されたテクスチャ・
マップ部分に基づいてレンダリングしている間に、グラ
フィックス・アクセラレータ112は、(異なるタイル
に対応する)次のテクスチャ・マップ部分をキャッシュ
230の第2のバッファにロードすることができる。し
たがって、テクスチャ・メモリ・キャッシュ230の性
能は向上する。
【0048】段階360で、ホスト・プロセッサ102
が、段階340でテクスチャ・マップ部分が転送された
タイルに対応する幾何プリミティブの部分をモザイク化
する、すなわちより小さな部分に分割する。幾何プリミ
ティブの部分は、一般に三角形である複数のサブ・ポリ
ゴンにモザイク化される(この三角形を、三角形となる
こともあるより大きい幾何プリミティブと区別するため
に本明細書では「サブ三角形」と称する)。一実施形態
では、プリミティブの一部分を囲む1つのタイルについ
てモザイク化される三角形の数は、1〜5個である。
【0049】段階370で、ホスト・プロセッサ102
は、これらのモザイク化されたサブ三角形および対応す
る属性をグラフィックス・アクセラレータ112に転送
する。コマンド・ブロック142は、このタイルのモザ
イク化されたサブ三角形を、おそらくは三角形ストリッ
プとして受け取る。前述のとおり、テクスチャ付きのサ
ブ三角形の各頂点は、テクスチャ付きでない三角形に必
要な座標の上方に2つのテクスチャ座標(uおよびv)
を含む。一実施形態では、サブ三角形は、コマンド・ブ
ロック142に転送することができる最大で12個のパ
ラメータを含む。これらはすなわち、3つの位置座標
(x、y、z)、3つの正規座標(Nx、Ny、N
z)、3つの色値(R、G、B)、アルファ値、および
2つのテクスチャ座標(u、v)である。テクスチャ座
標は、テクスチャ・マップの特定のピクセルのテクセル
値をルックアップするのに使用される。これらの座標
は、全体のテクスチャ・マップ上で0.0から1.0ま
で直線的に変化するため、いくつかのスケーリングが含
まれる。テクスチャ座標は、線形変換成分およびトラン
スレーション成分を含むアフィン変換によってモデル空
間に関係づけられる。
【0050】最後に段階380で、グラフィックス・ア
クセラレータ112は転送された各サブ三角形を処理
し、ピクセル単位でテクスチャ・マッピングを実行す
る。転送された特定のテクスチャ・タイルのサブ三角形
を受け取った後、コマンド・ブロック142は、それぞ
れのサブ三角形を浮動小数点プロセッサ152の1つに
転送する。浮動小数点プロセッサ152は、このサブ三
角形を通常の三角形として処理し、2次元テクスチャ座
標(u,v)から正規化された3次元同次空間(u/
w,v/w,1/w)への変換を含む追加のテクスチャ
リング演算を実施する。同次座標の使用によって、テク
スチャ座標の一次補間が可能となる。最初の2つの同次
座標を(1/w)で除すことによって、各ピクセルに対
する元のテクスチャ座標を、回復することができる。
【0051】テクスチャ付きの三角形のライティングで
は、拡散色は、ピクセルごとに異なるテクスチャ・マッ
プによって与えられる。鏡面色は、三角形の材料特性で
あり、その全てのピクセルについて一定に維持される。
これは、グーロー・シェーディング(Gouraud
shading)で、鏡面ライティング成分を通常の方
法で補間することができることを意味する。しかし、周
囲および拡散ライティングでは、浮動小数点プロセッサ
152の1つで、頂点ごとのライティングを白色(r=
g=b=1.0)を使用して実施することが必要とな
る。次いでこの色が、1つの描画プロセッサ172でピ
クセル・レベルに補間され、これにテクスチャ色が乗じ
られて、拡散および周囲ライティングの寄与が得られ
る。
【0052】描画プロセッサ172は、色、アルファ、
または深度(Z)パラメータを補間するのに使用するの
と同様の方法で、同次テクスチャ座標を補間する。基本
的に、これらのパラメータは、それらの導関数を使用す
ることによって、三角形の辺に沿ってウォークし、次い
で、三角形全体に対して計算された水平導関数の全部ま
たは一部を追加することによって、水平軸スパンを横切
ってウォークする。このように同次テクスチャ座標は、
それぞれのピクセルに対して計算される。最後に、uお
よびvを(1/w)で除することによって、各ピクセル
で、処理前のテクスチャ座標が回復される。これらの座
標の値は、逆マッピング・アルゴリズムにおいて、テク
スチャ・キャッシュから対応するテクセルをルックアッ
プするのに使用される。次いでテクセル値が、各ピクセ
ルのレンダリングに使用される。これらの値が、テクス
チャ・キャッシュ内の隣接したテクセルを考慮せずに使
用される場合には、ポイント・サンプリングされた結果
が得られる。これによって、テクスチャ・パターンに従
ったかなりのエイリアシングが生じることがある。後述
するように、テクスチャ・マッピングの結果を最適化す
るのに、さまざまエイリアス除去オプションを使用する
ことができる。次いで、選択されたテクセル値を、調
節、置換、デカリング、またはブレンディングに使用し
て、最終的なテクスチャ色値を得る。次いでこの色に対
して、デプス・キューイングおよびフレーム・バッファ
100への合成を含むグラフィックス・パイプラインの
通常の演算が実行される。
【0053】プリミティブの残りの部分をテクスチャ・
マップするために、段階340ないし380が、テクス
チャ空間格子の残りのタイルに対して実行される。
【0054】ホスト・プロセッサの計算およびテクスチ
ャ・マップの転送 次に図6を参照して、図5の段階330に関して先に説
明した、幾何プリミティブの分割の例を示す。図示のよ
うにテクスチャ・マップ402は、テクスチャ空間座標
u(水平軸方向)およびv(垂直軸方向)に形成された
格子400にマップされる。図6に示す実施形態の格子
400は、タイル410の4×4アレイに編成されてい
る。グラフィックス・アプリケーション・プログラムに
よって段階320で生成された幾何プリミティブを表す
三角形420も示されている。
【0055】一実施形態では、格子400の格子線は、
テクスチャ空間の1/64の間隔で引かれている。例え
ば、テクスチャ・マップが1024×1024である場
合には、格子400の各タイル410は、16×16
(1024/64×1024/64)個のテクセルから
構成される。エイリアシング効果を防ぐために、各タイ
ル410は、隣接したタイルと境界テクセルを共有し、
タイルあたり17×17個のテクセルとして解釈され
る。
【0056】図示のとおり三角形420は、10個のタ
イル410の全部または一部をおおっている。三角形4
20をレンダリングするのには、10個のタイル410
のそれぞれが別々に処理される。第1のタイル410
(例えばタイル1)に対しては、テクスチャ・マップ4
02の対応する部分が、グラフィックス・アクセラレー
タ112にダウンロードされる。
【0057】次に図7に参照して、ホスト・プロセッサ
102からグラフィックス・アクセラレータ112への
テクスチャ・マップの転送プロセスを説明する。図7
に、描画プロセッサ172Aの一部分、具体的にはテク
スチャ・メモリ・キャッシュ230とのインタフェース
部分を示す(描画プロセッサ172Bも同様に構成され
る)。描画プロセッサ172Aは、図7に示すとおり、
図4に関して先に説明したいくつかのブロック、すなわ
ちプリミティブ蓄積バッファ(PAB)204、CDC
バス・インタフェース212、テクスチャ・ピクセル・
プロセッサ226、およびテクスチャ・メモリ・キャッ
シュ230を含む。描画プロセッサ172Aはさらに、
テクスチャ伸張ユニット510を含む。
【0058】描画プロセッサ172Aは、圧縮されたテ
クセルのパケットをPAB204を介して受け取る。テ
クスチャ・キャッシュに対するタイルのデータ構造は、
ホスト・バス104上の必要メモリ帯域幅を低減させる
ために圧縮されている。次いでテクスチャ伸張ユニット
510が、圧縮されたテクセルをPAB204から読み
出し、これを伸張して、段階350でテクスチャ・メモ
リ・キャッシュ230に書き込む。
【0059】次に図8を参照して、テクスチャ・メモリ
・キャッシュ230のブロック図を示す。好ましい実施
形態では、テクスチャ・メモリ・キャッシュ230は、
2つのメモリ・バッファ610Aおよび610Bを含
む。これによって、現在のタイルのサブ三角形を処理し
ている間に、キャッシュ230を次のタイルで更新する
ことができる。一実施形態では、各バッファは、それぞ
れが32ビットの420ワードである。テクスチャ伸張
が、システムのボトルネックとなることを回避するため
に、テクスチャ・メモリ・キャッシュ230は、(どち
らのバッファ610にでもアドレス可能な)3つの書込
みポートを有する。したがって、3つの伸張したテクセ
ル値を、テクスチャ・メモリ・キャッシュ230に同時
に書き込むことができる。
【0060】タイル1のテクスチャ・マップがテクスチ
ャ・メモリ・キャッシュ230に転送された後、ホスト
・プロセッサ102は、タイル1に含まれる三角形42
0の部分をモザイク化する。図9に、三角形420を、
10個のタイル410のそれぞれについてモザイク化す
る1つの方法を示す。例えばタイル1は、1つのサブ三
角形のみを含み、元の三角形に完全に含まれるタイル5
は2つのモザイク化された三角形を含む。三角形420
のタイル410をモザイク化する方法は、この他にもい
ろいろある。
【0061】次に、所与のタイル410のモザイク化さ
れた各サブ三角形の頂点が計算される。三角形420の
辺の上に立つサブ三角形の頂点については、単純な直線
式を使用して計算される。例えば、三角形の頂点Aおよ
びBが、(ua,va)および(ub,vb)でそれぞれ表
されるとする。辺ABが、水平線v=vlを横切るとき
のuの値は、
【数1】 である。同様にして、三角形420の辺の上に立つサブ
三角形の頂点に対して、x−y−z位置座標、赤−緑−
青色値および法線値などのその他のパラメータを、頂点
AおよびBでそれらの値を一次補間することによって得
ることができる。しかし、補間された法線は、再正規化
を必要とする。
【0062】格子点にある三角形の頂点については、そ
れらの(u,v)値を直接に知ることができ、アフィン
変換を使用して、それぞれの位置座標を計算することが
できる。例えば、x座標の計算式は、 x=a・u+b・v+c となる。この式の係数a、bおよびcは、元の三角形の
各頂点でこの式を使用することによって決定することが
できる。同様の式が、yおよびz座標、ならびに色およ
びアルファ成分にも存在する。
【0063】三角形の一般的なストリップでは、多くの
辺が、2つの隣接する三角形によって共有される。これ
らの2つの隣接する三角形が「モザイク化される」とき
には、結果として生ずる(1つの頂点を共有する)サブ
三角形の間に、ギャップまたはオーバーラップが一切存
在せず、テクスチャ付きの画像に「亀裂」が生じないこ
とが望ましい。したがって、2つ以上のサブ三角形に共
有された頂点は、元の1つの三角形の一部として計算さ
れたか、またはもう1つの三角形の一部として計算され
たかに関係なく、同じ補間位置値を有していなければな
らない。これは、2つ以上の元の三角形のそれぞれに対
して同一の方法を使用することによって保証される。補
間は、三角形の3つの頂点を使用するのでなく、2つの
頂点のみを使用し、常に1つの方向(例えば下から上
に)に実施される。3つの頂点を使用して一次補間が実
施されるとすると、2つ以上の隣接するサブ三角形は、
数値的に同一の結果を生まない。
【0064】三角形420などの元の三角形の内部の格
子点であれば、このような問題は生じない。この格子点
は、ホスト・プロセッサ102によって生成された異な
る三角形の間で共有されていないので、3つの全ての頂
点を使用して一次補間を実施することができる。好まし
い実施形態では、この頂点値は、多くのサブ三角形によ
って共有されている場合でも1度だけ計算される。その
ため、テクスチャ付きの画像のギャップは排除される。
【0065】好ましい実施形態では、ホスト・プロセッ
サ102上で実行されるグラフィックス・アプリケーシ
ョン・プログラムによって生成された三角形は1度だけ
モザイク化され、その結果は、後のレンダリングのため
に保存されることに留意されたい。また、テクスチャ・
マップ402の対応する部分を、テクスチャ・メモリ・
キャッシュ230にキャッシュする回数を最小限にする
ような方法で、所与のタイル410のサブ三角形をパッ
ケージ化することが望ましい。
【0066】テクスチャ・マッピングのための浮動小数
点計算 段階370で、ホスト・プロセッサ102は、新しく生
み出されたそれぞれのサブ三角形に対応する情報を、グ
ラフィックス・アクセラレータ112に転送する。これ
らのパラメータを、コマンド・ブロック142が受け取
り、浮動小数点プロセッサ152の1つに伝達する。浮
動小数点プロセッサ152は、サブ三角形をモデル空間
からスクリーン空間に変形し、ライティング計算を実施
し、表示する量に合わせてサブ三角形をクリッピング
し、描画プロセッサ172の演算(例えば、エッジ・ウ
ォーキング、色、Zおよびアルファ値のスパン補間な
ど)のセットアップを実施する。さらに、浮動小数点プ
ロセッサ152は、描画プロセッサ172をセットアッ
プして、三角形の表面上の同次テクスチャ座標uh、vh
およびwhを補間する。浮動小数点プロセッサ152は
さらに、描画プロセッサ172が、ミップ・マップ・レ
ベルをピクセル単位で計算するのを手助けする。
【0067】テクスチャ付きの画像が三角形の表面上に
圧縮されるとき、ミップ・マップは特に有効である。こ
の圧縮は、ミニフィケーションと呼ばれる。その結果、
テクスチャ付きの画像中のいくつかのテクセルを、単一
のピクセルの下に圧縮することができるようになる。し
たがって、これらのテクセルの重み付き平均を使用して
各ピクセルの値を生成することが重要である。さもない
と、テクスチャ付きの画像はエイリアシングしてしまう
ことがある。この効果は、特にアニメーション中に問題
となる。全ての圧縮したテクセルを考慮するわけではな
い(例えば、ポイント・サンプリング技術を使用する)
場合、テクスチャ色は、単一のテクセル値に量子化され
る。このテクセル値がアニメーションのフレーム間で異
なることがあるので、容認できないフラッシングおよび
その他の視覚的欠陥が生じることがある。劣化の量は、
テクスチャ・パターンおよびミニフィケーションの量に
したがって変化する。
【0068】ミップ・マップ・レベルの使用は、単一の
ピクセルの下でテクセルを圧縮する計算を回避するのに
有利である。その代わりに、1つのミップ・マップ・レ
ベルを選択するのに使用する圧縮量が決定される。この
圧縮値は一般に、予め計算されている2つの隣接するミ
ップ・マップ・レベルの間にあり、この値を決めるのに
は、2つのミップ・マップのテクセル値の補間が必要と
なる。例えば、圧縮値が、ミップ・マップ・レベル2.
4に対応することが分かったとする。一実施形態では、
予め計算されているレベル2のミップ・マップを使用し
て、テクセル値を決定する。他の実施形態では、レベル
2とレベル3のテクセル値を重み付き平均を使用して結
合する(レベル2の値60%に対してレベル3の値40
%)。
【0069】一実施形態では、ホスト・プロセッサ10
2によって生成されたそれぞれのサブ三角形の頂点で、
浮動小数点プロセッサ152によってテクセル圧縮が計
算される。次いでこの頂点値から、ピクセル単位の圧縮
値が描画プロセッサ172で一次補間される。ミップ・
マップの決定が問題となっているときには、モザイク化
されたサブ三角形は、ミニフィケーション時には比較的
小さい(片側16ピクセル未満)のでこの方法は有効で
ある。浮動小数点プロセッサ152はさらに、同次テク
スチャ座標およびミップ・マップの圧縮レベルを含む、
テクスチャに関連した全てのパラメータのクリッピング
を担当する。プロセッサ152はさらに、テクスチャ付
きのサブ三角形のライティング演算を実行し、描画プロ
セッサ172が使用する三角形の辺に沿った導関数
h、vhおよびwhを計算する。
【0070】一実施形態では、同次座標whに対して、
値(1/w)の代わりに値(wf/w)を使用すること
に留意されたい。この値は、フロント・クリッピング平
面における1と無限大における0の間にある。量wf
は、フロント・クリッピング平面におけるwの値であ
る。この取り決めを使用して、グラフィックス・アクセ
ラレータ112での座標計算を単純化する。同様に、u
hおよびvhをそれぞれ、(wf・u/w)および(wf
・v/w)として再定義することができる。描画プロセ
ッサ172での補間の後、uテクスチャ座標およびvテ
クスチャ座標は、各ピクセルについて、(uh/wh)お
よび(vh/wh)として回復することができる。uh
よびvhは依然として、0.0〜1.0の範囲にあるこ
とに留意されたい。
【0071】テクセル圧縮 所与のサブ三角形に対するテクセル圧縮を計算するに
は、3つの頂点のそれぞれの直線圧縮をまず計算し、次
いで、辺および水平方向に沿ってそれぞれの導関数を計
算する。例えば、uテクスチャ座標が、対応する同次座
標および位置値に以下のように関係づけられる。
【数2】 xに関してuの偏導関数をとると、
【数3】 これを書き直すと、
【数4】 または、
【数5】 上式でaは、X軸に沿った水平導関数(∂uh/∂x)
である。同様に、gはX軸に沿ったwhの水平導関数で
ある。これらの計算は、浮動小数点プロセッサ152の
セットアップ計算の一部として実行される。さらに偏導
関数(∂u/∂y)、(∂v/∂x)、および(∂v/
∂y)が計算される。1つのピクセルの下の直線テクセ
ル圧縮Cは、これらの導関数の絶対値の最大として定義
される。
【数6】
【0072】テクスチャ・ライティング 浮動小数点プロセッサ152は、ライティングおよびグ
ーロー・シェーディングされる3つまたは4つの色チャ
ネルを有するテクスチャ付きの三角形に対する描画プロ
セッサ172による補間のために2つの色を計算する。
通常の赤、青および緑の成分を有するこれらの色のうち
の1つが、物体の拡散色として白色を使用して、全ての
周囲光および拡散光の効果の主因となる。この色は次い
で、描画プロセッサ172において、後述する調節機能
を使用してテクスチャ色で多重化される。もう一方の色
値は、ピクセルが異なっても変わらない物体の材料特性
である鏡面色を使用して鏡面ライティング効果の主因と
なる。赤、青および緑成分を有するこの色は、ライティ
ング・モデルの鏡面項のみを使用して、浮動小数点プロ
セッサ152で計算される。プロセッサ152はさら
に、これらの色に必要な導関数を計算する。
【0073】別の実施形態では、テクスチャ付きの画像
を2つのパスでレンダリングする。1度目は、ライティ
ングされたテクスチャで、2度目は、鏡面光のみのテク
スチャ付きでないサブ三角形としてレンダリングされ
る。2つのパスの結果は次いで、フレーム・バッファ1
00の内部で合成される。テクスチャ付きでない三角形
は、テクスチャ付きの三角形より高速に処理されるの
で、この実施形態の性能は半減しないことに留意された
い。
【0074】描画プロセッサ計算 描画プロセッサ172は、三角形の内部の標本点につい
て同次テクスチャ座標を補間し、次いで、適当なミップ
・マップ・レベルを調べるのに使用するテクスチャ指標
(u=uh/wh、v=vh/wh)を決定する。プロセッ
サ172は次いで、使用中のエイリアス除去オプション
に基づいて、ポイント・サンプリングあるいは一次、双
一次、またはトリリニア(trilinear)補間を
実施し、各ピクセルのテクスチャ値を決定する。このピ
クセル値は、デプス・キューイング、およびフレーム・
バッファ100内の色との調節、置換、デカリング、お
よび、ブレンディングに使用される。
【0075】ミップ・マップ・レベルの決定 前述のとおり、コンピュータ・システムは、予め計算さ
れた複数のミップ・マップ・レベルを提供する(一実施
形態では5つ)。しかし、圧縮値から決定される理論上
のミップ・マップ・レベルは一般に、予め計算された2
つのレベルの間にある。アニメーション中にピクセルを
スムーズに遷移させるために、グラフィックス・アクセ
ラレータ112は、予め計算された2つのレベルの間の
一次補間を実施する。
【0076】各マップ・レベルの線寸法は、(前述のと
おりに計算した)所与のテクセル圧縮値Cに対する前段
のレベルの1/2であるので、理論上のレベルは、 マップレベル=log2C となる。一実施形態では、元の1024×1024のテ
クスチャ・マップを1つのピクセルに圧縮するために、
11の整数ビットおよび5つの小数ビット(11.5ビ
ットを意味する)をCに対して使用する。
【0077】理論上のマップ・レベルは一般に、小数成
分を有する。このような場合、理論上のレベルをはさむ
2つの隣接するミップ・レベルが決定され、ついで、マ
ージング・ファクタを用いてこれらの間の補間が実施さ
れる。マージング・ファクタmfおよび近傍のミップ・
マップ・レベルnlは以下の式によって与えられる。 nl=log2C および
【数7】 マージング・ファクタmfは、レベルnlとレベル(n
l+1)の間の部分直線距離(linear fractional dist
ance)である(2つの隣接するレベル間の直線距離は2
nlである)。より正確には、これは、5つの最下位小数
ビットとして表される。 mf=(C−(1<<(nl+5)))>>nl 一実施形態ではnl=log2Cを、ビット0を右端ビ
ットとして数えてCの整数部の最初の非ゼロ・ビットの
ビット位置として計算することができる。一実施形態で
は、事前に計算された5つの詳細レベル(したがって5
つのミップ・マップ・レベル)がある。しかし、102
4×1024のテクスチャ・マップでは、実際には合計
11のレベルがある。したがって、より正確なエイリア
ス除去のためには、これらの余分の6つのレベルもアド
レス可能でなければならない。
【0078】テクスチャ・テーブルの生成 uおよびvを除算(u=uh/wh,v=vh/wh)によ
って決定した後、それぞれの整数部分を使用して、テク
スチャ・マップからテクセル値をルックアップし、小数
部分を使用して、双一次補間を実施する。レベル0で、
uおよびvの整数部u_intおよびv_intを、2
次元テクスチャ・アレイへの指標として使用することが
できる。レベルmで、対応する指標が、(u_int>>
m)および(v_int>>m)として計算され、レベル
mでの小数値は、(u>>m)および(v>>m)の5つの
最下位ビットとなる。
【0079】エイリアス除去オプション コンピュータ・システム80は、ミップ・マップ・レベ
ルのサンプリングまたは補間を可能とする5つのオプシ
ョンXGLをサポートする。これらのうちの2つは、ミ
ップ・レベル0または理論レベルに最も近いレベルをポ
イント・サンプリングするためのものである。第3のオ
プションは、理論上のレベルをはさむ2つのミップ・マ
ップ・レベルのところでポイント・サンプリングされた
テクセル間の一次補間を扱うものである。第4のオプシ
ョンは、理論上のレベルに最も近いミップ・マップ・レ
ベル上の4つのテクセルの間の双一次補間に関与する。
最後のオプションは、理論上のレベルをはさむ2つのミ
ップ・マップ・レベル上の双一次補間の結果どうしの間
の最終的な一次補間を必要とするトリリニア補間を扱
う。レベル0マップよりも詳細なミップ・マップはない
ので、ミップ・マップ圧縮が1.0以下の場合は、たと
えアプリケーションがそのようなオプションを選択した
としても、2つのミップ・マップ間の補間は実施されな
い。
【0080】ポイント・サンプリング・オプション テクセル値をレベル0のミップ・マップから読み出す場
合、スケール値uおよびvの丸めた値は、 T=T〔uround,vround0 最も近いマップ・レベルを使用する(例えば圧縮値2.
4に対してレベル2)場合には、マージング・ファクタ
を問い合わせる。これが1/2より小さい場合は、 T=T〔(u>>nl)rounded,(V>>nl)rounded
nl そうでなければ、 T=T〔(u>>(nl+1))rounded,(V>>(nl
+1))roundednl+1 となる。
【0081】一次補間オプション このオプションは、近いレベルnlおよび次に近いレベ
ルflからの2つのポイント・サンプルを、これらの2
つの間にある理論上のレベルにマージするのに使用す
る。TnおよびTfが、近いレベルおよび次に近いレベル
のテクセル値を表すとすると、 Tn=T〔(u>>nl)rounded,(V>>n
l)roundednl および Tf=T〔(u>>(nl+1))rounded,(v>>(nl
+1))roundedfl マージされた最終的な結果は、 T=Tn・(1.0−mf)+Tf・mf ポイント・サンプリングを使用するので、テクセルの小
数指標は捨てられる。一実施形態では、1.0は実際に
は、5つの小数部ビットを有する2進形の1.0000
0として表されることに留意されたい。一方mfは、5
ビットの小数部だけを含み、整数部はゼロである。
【0082】双一次補間オプション このオプションは、1つのマップ(レベル0、または別
の実施形態では、理論上のレベルに最も近いマップ・レ
ベル)の4つのテクセルの重み付き平均をとるのに使用
される。(uint,vint)が、現在のミップ・マ
ップ・レベルでのテクセル指標の整数部分を表し、(u
frac,vfrac)が小数成分(レベル0の値から
の右シフト調整を含む)を表すものとすると、最下部の
2つのテクセルは、(uint,vint)および(u
int+1,vint)である。これらの間の補間か
ら、 Tbot=T〔uint,vint〕・(1.0−ufrac)+T
〔uint+1,vint〕・ufrac が得られる。同様に、最上部の2つのテクセルは、(u
int,vint+1)および(uint+1,vin
t+1)である。これらの間の補間から、 Ttop=T〔uint,vint+1〕・(1.0−ufrac
+T〔uint+1,vint+1〕・ufrac が得られる。最後に、これらの2つの値をマージした最
終的はテクセルは、 T=Tbot・(1.0−vfrac)+Ttop・vfrac で与えられる。
【0083】トリリニア補間オプション これは、近いミップ・マップ・レベルおよび遠いミップ
・マップ・レベルからそれぞれ4つずつの、合計8つの
サンプルを含む最も包括的なオプションである。双一次
補間を、これらの2つのマップ・レベルのそれぞれで使
用する。最終的な一次補間は、マージング関数mfの使
用を含む。 T=Tn・(1.0−mf)+Tf・mf
【0084】マージング・オプション ピクセルのテクスチャ成分を計算した後に、テクスチャ
付きの色を計算しなければならない。このレンダリング
段階は、調節、置換、デカリング(decaling)、最終的
な色値へのサンプリングされたテクセル・データのブレ
ンディングを含む。必要な演算を示すのに本明細書では
OpenGLの表記を使用する。CfおよびAfは、ピク
セル・フラグメントで補間された色およびアルファ値を
表す。サンプリングされたテクセル値は、単一チャネル
ではLt、2チャネル・テクスチャではLtおよびAt
3チャネル・テクスチャではCt(3つの色成分)、お
よび4チャネル・テクスチャではCtおよびAtで表され
る。出力色およびアルファ値はそれぞれ、CvおよびAv
で表される。
【0085】調節 このモードを、物体の色を調節するのに使用することが
できる。例えば1チャネル・テクスチャでは、調節モー
ドが、リップル効果を生み出し、オレンジの表面をシミ
ュレートする。色値および文字値は、 Cv=Lt・Cf、およびAv=Af である。このCvの式は、赤、青および緑成分について
の3つの個別の式から構成される。
【0086】2チャネル・モードでは、色値および文字
値が、 Cv=Lt・Cf、およびAv=At・Af で与えられる。
【0087】3チャネル・モードでは、3つの色チャネ
ルのそれぞれに、テクスチャ・テーブルの対応する成分
が乗じられる。 Cv=Ct・Cf、およびAv=Af これを、テクスチャ色が物体の拡散色の働きをするテク
スチャ・ライティングに使用することができる。
【0088】4チャネル・モードの場合には、アルファ
値にも乗算が行われる。 Cv=Ct・Cf、およびAv=At・Af
【0089】置換 このモードでは、サンプリングされたテクスチャが補間
された色値を置き換える。アルファ値は影響を受けな
い。 Cv=Ct、およびAv=Af
【0090】デカリング(Decaling) このモードは、4チャネルに対してのみ使用可能であ
る。これは、テクスチャのアルファ・チャネルを使用し
て、補間された色とサンプリングされたテクスチャ色を
混合する。 Cv=(1−At)・Cf+At・Ct、およびAv=Af このモードを、半透明テクスチャ効果に使用することが
できる。また、テクスチャ・マップ中のアルファ成分に
異なる値を割り当てることによって、このモードを、非
長方形ラスタ画像の効果を生み出すために使用すること
もできる。
【0091】混合 このモードは、1チャネル・テクスチャおよび2チャネ
ル・テクスチャに対してのみ使用可能である。1チャネ
ル・モードでは、補間された色を一定の色Ccと混合す
るのに使用される。この色は、OpenGL規格のテク
スチャ環境色と同一である。色およびアルファ値は、 Cv=(1−Lt)・Cf+Lt・Cc、およびAv=Af で与えられる。2チャネル・モードでは、アルファ値も
変更される。 Av=At・Af
【0092】本発明のシステムおよび方法を、記載の実
施形態との関連で説明してきたが、この説明は、本明細
書に記載した特定の形態にこれらを限定することを企図
したものではなく、添付の請求の範囲に定義された本発
明の趣旨および範囲に合理的に含めることのできる代替
形態、修正、および等価形態をカバーすることを企図し
たものである。
【図面の簡単な説明】
【図1】 本発明に基づく3次元(3−D)グラフィッ
クス・アクセラレータを含むコンピュータ・システムを
示す図である。
【図2】 図1のコンピュータ・システムの簡略ブロッ
ク図である。
【図3】 本発明の好ましい実施形態に基づく3−Dグ
ラフィックス・アクセラレータのブロック図である。
【図4】 本発明の好ましい実施形態に基づく3−Dグ
ラフィックス・アクセラレータの内部の描画プロセッサ
の1つを示すブロック図である。
【図5】 本発明の好ましい実施形態に基づく改良され
たテクスチャ・マッピング方法を示す流れ図である。
【図6】 本発明の好ましい実施形態に基づく幾何プリ
ミティブのタイリング・プロセスを示す図である。
【図7】 本発明の好ましい実施形態におけるテクスチ
ャ・メモリ・キャッシュのインタフェースを示すブロッ
ク図である。
【図8】 本発明の好ましい実施形態におけるテクスチ
ャ・メモリ・キャッシュのブロック図である。
【図9】 本発明の一実施形態に基づいてタイリングさ
れた幾何プリミティブのモザイク配列を示す図である。
【符号の説明】
202 FDバス・インタフェース・ブロック 204 プリミティブ蓄積バッファ 212 CDCバス・インタフェース論理 214 スクラッチ・バッファ 216 ダイレクト・ポート・ユニット 218 スコアボード 222 エッジ・ウォーカ論理 224 スパン充填論理 226 テクスチャ・ピクセル・プロセッサ 228 テクスチャ・エキスパンダ論理 230 テクスチャ・メモリ・キャッシュ 232 ピクセル・データMUX論理 234 ピクセル・プロセッサ 236 フレーム・バッファ・インタフェース論理
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年9月29日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図6】
【図9】
【図3】
【図4】
【図5】
【図7】
【図8】
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ランジット・エス・オベロイ アメリカ合衆国・95070・カリフォルニア 州・サラトガ・プリマス ドライブ・ 12564

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 幾何プリミティブをテクスチャ・マッピ
    ングする方法において、 前記幾何プリミティブの第1の領域を記述したデータを
    受け取る段階と、 前記幾何プリミティブの前記第1の領域に対応するテク
    スチャ・マップの第1の部分をテクスチャ・メモリ・キ
    ャッシュ内に受け取る段階と、 前記テクスチャ・メモリ・キャッシュに記憶された前記
    テクスチャ・マップの前記第1の部分に基づいて、前記
    幾何プリミティブの前記第1の領域をテクスチャ・マッ
    ピングする段階とを含むことを特徴とする方法。
  2. 【請求項2】 前記幾何プリミティブを、前記第1の領
    域を含む複数の領域に分割する段階をさらに含むことを
    特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記幾何プリミティブの前記第1の領域
    を、1つまたは複数のマイクロプリミティブに分割する
    段階をさらに含むことを特徴とする請求項1に記載の方
    法。
  4. 【請求項4】 前記幾何プリミティブの第2の領域を記
    述したデータを受け取る段階と、 前記幾何プリミティブの前記第2の領域に対応するテク
    スチャ・マップの第2の部分をテクスチャ・メモリ・キ
    ャッシュ内に受け取る段階と、 前記テクスチャ・メモリ・キャッシュに記憶された前記
    テクスチャ・マップの前記第2の部分に基づいて、前記
    幾何プリミティブの前記第2の領域をテクスチャ・マッ
    ピングする段階とをさらに含むことを特徴とする請求項
    1に記載の方法。
  5. 【請求項5】 前記テクスチャ・マッピングの結果を利
    用して、前記幾何プリミティブの前記第1の領域内に含
    まれるピクセルをレンダリングする段階をさらに含むこ
    とを特徴とする請求項1に記載の方法。
  6. 【請求項6】 幾何プリミティブのテクスチャ・マッピ
    ングを実行するように構成されたグラフィックス・サブ
    システムにおいて、 前記幾何プリミティブの第1の領域に対応するデータを
    受け取るように結合されたテクスチャ処理ユニットと、 前記第1の幾何プリミティブの前記第1の領域に対応す
    るテクスチャ・マップの第1の部分に対応するテクスチ
    ャ・データを受け取るように結合されたテクスチャ・メ
    モリ・キャッシュとを含み、 前記テクスチャ処理ユニットが、前記テクスチャ・メモ
    リ・キャッシュに記憶された前記テクスチャ・マップの
    前記第1の部分に基づいて、前記幾何プリミティブの前
    記第1の領域についてテクスチャ・マッピングを実行す
    るように構成されることを特徴とするグラフィックス・
    サブシステム。
  7. 【請求項7】 前記テクスチャ処理ユニットに結合さ
    れ、前記テクスチャ処理ユニットの出力を利用して、前
    記幾何プリミティブの前記第1の領域内に位置するピク
    セルをレンダリングするように構成されたラスタ化ユニ
    ットをさらに含むことを特徴とする請求項6に記載のグ
    ラフィックス・サブシステム。
  8. 【請求項8】 幾何プリミティブのテクスチャ・マッピ
    ングを実行するように構成されたコンピュータ・システ
    ムにおいて、 ホスト・プロセッサと、 前記ホスト・プロセッサに結合され、所与のテクスチャ
    画像に対応するテクスチャ・データを含むテクスチャ・
    マップを記憶するシステム・メモリと、 前記ホスト・プロセッサおよび前記システム・メモリに
    結合されたグラフィックス・サブシステムとを含み、 前記グラフィックス・サブシステムがテクスチャ処理ユ
    ニットと、 テクスチャ・メモリ・キャッシュとを含み、 前記ホスト・プロセッサが、前記幾何プリミティブの第
    1の部分を記述した情報を、前記グラフィックス・サブ
    システム内の前記テクスチャ処理ユニットに伝達するよ
    うに構成され、前記ホスト・プロセッサが、前記幾何プ
    リミティブの前記第1の部分に対応する前記テクスチャ
    ・マップの第1の部分を、前記グラフィックス・サブシ
    ステム内の前記テクスチャ・メモリ・キャッシュに伝達
    するように構成され、 前記テクスチャ処理ユニットが、前記テクスチャ・メモ
    リ・キャッシュに記憶された前記テクスチャ・マップの
    前記第1の部分を利用して、前記幾何プリミティブの前
    記第1の領域のテクスチャ・マッピングを実行するよう
    に構成されることを特徴とするコンピュータ・システ
    ム。
  9. 【請求項9】 幾何プリミティブをテクスチャ・マッピ
    ングするグラフィックス・サブシステムにおいて、 前記幾何プリミティブの第1の領域を記述したデータを
    受け取るテクスチャ処理手段と、 前記幾何プリミティブの前記第1の領域に対応するテク
    スチャ・マップの第1の部分を受け取るテクスチャ・メ
    モリ・キャッシング手段とを含み、 前記テクスチャ処理手段が、前記テクスチャ・メモリ・
    キャッシング手段に記憶された前記テクスチャ・マップ
    の前記第1の部分に基づいて、前記幾何プリミティブの
    前記第1の領域のテクスチャ・マッピングを実行するよ
    うに構成されることを特徴とするグラフィックス・サブ
    システム。
JP18383298A 1997-06-30 1998-06-30 テクスチャ・マッピング性能を向上させた3次元グラフィックス・アクセラレータを含むコンピュータ・システム Pending JPH1186028A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88469297A 1997-06-30 1997-06-30
US08/884692 1997-06-30

Publications (1)

Publication Number Publication Date
JPH1186028A true JPH1186028A (ja) 1999-03-30

Family

ID=25385159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18383298A Pending JPH1186028A (ja) 1997-06-30 1998-06-30 テクスチャ・マッピング性能を向上させた3次元グラフィックス・アクセラレータを含むコンピュータ・システム

Country Status (2)

Country Link
EP (1) EP0890925A3 (ja)
JP (1) JPH1186028A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001283251A (ja) * 2000-02-28 2001-10-12 Mitsubishi Electric Research Laboratories Inc グラフィックオブジェクトをレンダリングする方法及び装置
JP2002216158A (ja) * 2001-01-16 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2008502064A (ja) * 2004-06-08 2008-01-24 スリー−ビィ・インターナショナル・リミテッド 画像テクスチャの表示

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373482B1 (en) * 1998-12-23 2002-04-16 Microsoft Corporation Method, system, and computer program product for modified blending between clip-map tiles
US6618053B1 (en) 2000-01-10 2003-09-09 Vicarious Visions, Inc. Asynchronous multilevel texture pipeline
SE518545C2 (sv) * 2000-02-25 2002-10-22 Maple & Star Ab Förfarande och anordning för ett bildpresentationssystem
GB2372188B (en) 2001-02-08 2005-07-13 Imagination Tech Ltd Volume clipping in computer 3-D Graphics
GB2374775B (en) 2001-04-19 2005-06-15 Discreet Logic Inc Rendering animated image data
GB2383248B (en) * 2001-12-14 2005-12-07 Imagination Tech Ltd 3-dimensional computer graphics system
US7145570B2 (en) * 2002-03-11 2006-12-05 Sun Microsystems, Inc. Magnified texture-mapped pixel performance in a single-pixel pipeline

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945495A (en) * 1987-10-21 1990-07-31 Daikin Industries, Ltd. Image memory write control apparatus and texture mapping apparatus
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
JP2658902B2 (ja) * 1994-10-04 1997-09-30 日本電気株式会社 画像生成装置
GB9518696D0 (en) * 1995-09-13 1995-11-15 Philips Electronics Nv Image texture mapping

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001283251A (ja) * 2000-02-28 2001-10-12 Mitsubishi Electric Research Laboratories Inc グラフィックオブジェクトをレンダリングする方法及び装置
JP4610105B2 (ja) * 2000-02-28 2011-01-12 ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド グラフィックオブジェクトをレンダリングする方法及び装置
JP2002216158A (ja) * 2001-01-16 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP4610748B2 (ja) * 2001-01-16 2011-01-12 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP2008502064A (ja) * 2004-06-08 2008-01-24 スリー−ビィ・インターナショナル・リミテッド 画像テクスチャの表示

Also Published As

Publication number Publication date
EP0890925A2 (en) 1999-01-13
EP0890925A3 (en) 1999-03-31

Similar Documents

Publication Publication Date Title
US5949428A (en) Method and apparatus for resolving pixel data in a graphics rendering system
US5790134A (en) Hardware architecture for image generation and manipulation
US6947057B2 (en) Rendering lines with sample weighting
US5886701A (en) Graphics rendering device and method for operating same
US5808617A (en) Method and system for depth complexity reduction in a graphics rendering system
US5852443A (en) Method and system for memory decomposition in a graphics rendering system
US6111584A (en) Rendering system with mini-patch retrieval from local texture storage
US5990904A (en) Method and system for merging pixel fragments in a graphics rendering system
US6008820A (en) Processor for controlling the display of rendered image layers and method for controlling same
US5867166A (en) Method and system for generating images using Gsprites
US5777629A (en) Graphics subsystem with smart direct-memory-access operation
US5864342A (en) Method and system for rendering graphical objects to image chunks
US5870097A (en) Method and system for improving shadowing in a graphics rendering system
EP0850462B1 (en) Method and system for rendering graphical objects to image chunks and combining image layers into a display image
US5977977A (en) Method and system for multi-pass rendering
US6275235B1 (en) High precision texture wrapping method and device
US6924808B2 (en) Area pattern processing of pixels
US6819324B2 (en) Memory interleaving technique for texture mapping in a graphics system
US7405735B2 (en) Texture unit, image rendering apparatus and texel transfer method for transferring texels in a batch
WO2005101320A1 (ja) 画像生成装置および画像生成方法
EP1434172A2 (en) Method and system for generating a display image using Gsprites.
JP2002042159A (ja) コンピュータ・グラフィック・システムにおけるアンチエイリアシング方法
JPH1186028A (ja) テクスチャ・マッピング性能を向上させた3次元グラフィックス・アクセラレータを含むコンピュータ・システム
US5732248A (en) Multistep vector generation for multiple frame buffer controllers
US6943791B2 (en) Z-slope test to optimize sample throughput