JP2002506547A - 3次元の三角形描画におけるブロック及びバンド志向走査 - Google Patents

3次元の三角形描画におけるブロック及びバンド志向走査

Info

Publication number
JP2002506547A
JP2002506547A JP50565799A JP50565799A JP2002506547A JP 2002506547 A JP2002506547 A JP 2002506547A JP 50565799 A JP50565799 A JP 50565799A JP 50565799 A JP50565799 A JP 50565799A JP 2002506547 A JP2002506547 A JP 2002506547A
Authority
JP
Japan
Prior art keywords
texture
map
span
space
cache
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
JP50565799A
Other languages
English (en)
Other versions
JP4203128B2 (ja
Inventor
ツァオ,ランディ,エックス
クオ,ドン−イン
Original Assignee
エススリー・インコーポレイテッド
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25382775&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2002506547(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エススリー・インコーポレイテッド filed Critical エススリー・インコーポレイテッド
Publication of JP2002506547A publication Critical patent/JP2002506547A/ja
Application granted granted Critical
Publication of JP4203128B2 publication Critical patent/JP4203128B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

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

Abstract

(57)【要約】 テクスチャマッピングにおいて、ブロック及びバンド志向走査アルゴリズム(1208,1203)を利用して、スクリーン空間内に表現されるグラフィックプリミティブを走査し、描画するためのシステム及び方法である。正方形に細分されたテクスチャマップと共に、バーストモードテクスチャアクセスとテクスチャキャッシングを利用することによって性能が改善される。ブロック及びバンド志向走査を用いることにより、ページブレークとテクスチャキャッシュのスワップアウトを容易に最小化することができる。改善された決定論は、画素並べ替えアルゴリズムを不要とすることによって簡単になる(1201)。バーストモードアクセスにおける取り出されたデータセグメント(1202)の改善された再利用が容易になる。

Description

【発明の詳細な説明】 発明の名称 3次元の三角形描画におけるブロック及びバンド志向走査 発明の背景1.発明の分野 本発明は、一般に、グラフィックシステムにおけるテクスチャマッピングに関 連し、より詳細には、かかるシステムにおいて帯域幅を改善するための、ブロッ ク及びバンド志向走査に関するシステム及び方法に関連する。2.従来技術の説明 テクスチャマッピングは、3次元グラフィックシステムにおける表面上に画像 をマッピングするプロセスである。この技術は、当該技術分野において周知であ り、例えば、J.Foley他による「Computer Graphics:Principles and Practice」 (Addison-Wesley第2版、1990、741-744頁)に記載されている。 図1に、従来技術によるテクスチャマッピングの例を示す。マッピングされる 画像をテクスチャマップ101と呼び、その個々の要素をテクセルと呼ぶ。テク スチャマップ101は、一般的に、(u,v)で指定される矩形座標系において 記述され、通常は、例えば、従来のページモードダイナミックランダムメモリ( DRAM)や他のページメモリのような従来のメモリのある領域に格納される。図1 の例では、4つのページ110、111、112、113が示されており、それ ぞれのページは、テクスチャマップ101の対応する部分を含む画像領域の一部 に対応する。 3次元空間における表面104は、それ自身の座標系(s,t)を有する。典 型的な3次元グラフィックシステムでは、表面104をポリゴンのようなプリミ ティブとすることができる。このような多くのポリゴンを3次元空間で定義して 、3次元の物体または光景を形成することができる。この場合、このようなポリ ゴンの各々は、図1に示した表面104に類似したそれ自身の座標系(s,t) を有する。3次元空間内での表面104の配向と、「カメラ」の位置 及び配向に基づいて、表面104は、コンピュータシステムで表示するために、 フレームバッファ内に記憶された2次元表示グリッド103にマッピングされる 。表示グリッド103への表面104のマッピングは、当該技術分野において周 知であるマトリックス変換によって行われる。表示グリッド103は、座標系( x,y)を有しており、一般的には、ビデオランダムアクセスメモリ(ビデオRA M)のようなビデオ表示用に予約されたメモリの領域に配置されている。このビ デオRAMは、例えば、VRAMまたは同期式グラフィックスランダムアクセスメモリ (SGRAM)である。表示グリッド103は、ビデオRAM内の個別のメモリ位置によ って表される、画素(ピクセル)として知られる個々の要素を含んでいる。 表示グリッド103上の座標は、「スクリーン(画面)空間」内にあるものと みなされることが多い。同様に、表面102内の座標は、「表面空間」内にある ものとみなされ、テクスチャマップ101内の座標は、「テクスチャ空間」内に あるものとみなされることが多い。各座標系の原点は、任意の位置に配置するこ とができるが、スクリーン空間の原点は、一般的に、最下部左側または最上部右 側のいずれかに配置される。 表示グリッド103のある領域内の各画素は、表面104上のある点(ポイン ト)にマッピングし、テクスチャマップ101内のある点にもマッピングする。 従って、図1の例では、表示グリッド103の点Axyは、表面102の座標内の 点Astとテクスチャマップ101における点Auvにマッピングするか、あるいは 、テクスチャマップ101内のある領域を形成する一群の点にマッピングする。 表示グリッド103、表面102、及びテクスチャマップ101間のそれぞれマ ッピングを、点対点、点対領域、領域対点あるいは、領域対領域とすることがで きる。従来のテクスチャマッピングシステムでは、表示グリッド103から表面 104への、そして、テクスチャマップ101へのマッピングは、また、特定の テクセルに対する詳細レベルを表す値dを生成する。一般的に、dは、フレーム バッファ内のポイントに対するz値によって決定されるような、テクスチャマッ プ内の認識されたポイントの距離の測定値である。より遠くにあるものとして認 識されたポイントの詳細レベルはより低く、それは、 解像度がより小さいことを表している。テクスチャマップ101からテクセルを 取り出す際に、dは、圧縮マッピング(multum in parvo:MIPマップ)方式を実 施するために使用される。この方式では、いくつかのテクセルを平均化し、ある いは、それ以外のフィルタリングを施して、フレームバッファの1つの画素上に マッピングすることができる。このフィルタリングは、動作中に実行することが できるが、フィルタリングする画素をいくつかの指定された解像度レベルで事前 に計算して、後で取り出すために記憶して、性能を改善することができる。dの 値が大きくなる程、詳細レベルは低くなり、より多くの画素フィルタリングが実 行される。極限的には、テクスチャマップ全体を、フレームバッファ内の1つの 画素に集約することが理論上は可能である。 従来のラスター化エンジンは、ポリゴン及びラインのような既知のプリミティ ブの走査変換技法によって、画像をフレームバッファ内に描く(例えば、Folay他 を参照)。走査変換は、それの入力を、頂点及び配向で規定されたプリミティブ と見なし、その出力を、スクリーン(画面)上に描かれるべき一連の画素として 出力する。各画素が走査変換によって生成されると、ラスター化エンジンは、テ クスチャマップ101のどのテクセルが、その画素に対応するかを決定するため に、必要なマッピング計算を実行する。次に、ラスター化エンジンは、テクスチ ャフェッチ、z−フェッチ、z−ライトバック、色フェッチ、色ライトバック等 の、メモリ参照が要求されるあらゆるものを発行して、処理中の画素に書き込む ためのテクセル情報を取り出す。従って、メモリ参照は、走査変換によって生成 された順番で発行される。従来、かかるメモリ参照は、FIFOキューを使用した先 入れ先出し(FIFO)方式に従って、記憶され、管理されている。 従来のページモードDRAMコンポーネントが、異なるメモリページからメモリ位 置をアクセスするときは、アクセスタイムのペナルティを被るということが知ら れている。例えば、SGRAMのようないくつかのメモリアーキテクチャでは、開い ているページに対するアクセスには、1サイクルを必要とし、開いていないペー ジからの読み出しには、9サイクル、開いていないページへの書き込みには、6 サイクル、異なるバンク上の開いているページへのアクセス には3サイクルが必要である。従って、走査変換によって生成された順番でメモ リ参照を発行する上述の方式では、このようなペナルティを被る場合がある。な ぜなら、テクスチャマップ101の参照領域は、異なるページに存在しうるから である。実際に、使用する特定のマッピング変換によって生じるテクスチャ境界 の歪みに依存して、走査変換の順に生成される参照は、「スラッシング」として も知られる、ページ切換の頻繁な繰り返しを必要とする場合がある。メモリ帯域 幅は、一般的に、3次元画像を高速に生成する際のボトルネックであるので、そ のように頻繁にページ切換を行うことは性能を低下させることになる。 さらに、多くのメモリシステムが、バーストモードアクセス方式を使用する。 この方式では、1つのプロセスに対して、特定の時間期間、共有メモリリソース が利用可能にされ、このリソースが他のプロセスにサービスしている間は、当該 プロセスには利用不能となる。データ転送を最大にするためには、バースト内の ページブレークを回避することが有効である。本質的に、いったん、プロセスが 、共有メモリリソースにアクセスすると、所望のデータセグメントが、転送され るまで、プロセスがアクセスを保持するのが有効である。ページブレークによっ てアクセスが他のプロセスに移動し、このために、パフォーマンスがさらに低下 する。 バーストモードアクセスにおけるデータ転送を改善することにおいて、及び、 ページブレークを少なくすることにおいて、タイリングが有用であることが分か っている。図1には、テクスチャ空間101が、メモリ内のページに対応する4 つの領域110、111、112、113に分割されて示されている。これは、 典型的なタイリング方式の例であり、各領域(すなわち、タイル)は、タイル内 で実施されたどの走査もページブレークを起こさないように、1ページのメモリ に記録される。一般に、ページブレークは、1つのタイルの走査が完了し、他の タイルの走査が開始するときにのみ生じる。一般的に、タイリングによる記憶方 式により、線形走査に比べてページブレークが少ない、改善された走査経路が生 じる。 タイル及び関連するページは、任意の大きさとすることができ、例えば、32 ×32画素、すなわち、全部で1024画素である。16ビット画素の場合は、これ は、2KBのページサイズに相当する。 図1A及び1Bに、タイリングによるアドレス指定方式(tiled addressing s cheme)の利点の1例を示す。図1Aは、線形アドレス指定方式で表されたプリ ミティブ120を示す。フレームバッファの幅及びページサイズに依存して、各 走査ライン121を、それ自身のページのメモリ内に表すことができる。例えば 、幅が1024で高さが768のフレームバッファにおいて、各画素の幅が16 ビットの場合は、2KBのページは1つの走査ラインを保持する。従って、プリ ミティブ120の各ラインセグメントは、異なるページに記憶され、プリミティ ブ120を描画するために、最高8個のページブレークが必要とされる。 これとは対照的に、図1Bは、タイリングによるアドレス指定方式で表された プリミティブ120を示している。プリミティブ全体が、1つのタイル122に ぴったり合えば、プリミティブ120を描写するためにページブレークは必要と されない。プリミティブ120が、複数のタイルにまたがるものであっても、図 1Aの線形アドレス指定方式よりは、必要なページブレークは一般的に少ない。 上述したタイリングによるアドレス指定方式を、画像記憶に適用することがで き、また、色バッファ及び/または、z−バッファにも拡張することができる。 従来技術では、線形アクセス方式とタイリングによるアクセス方式の両方に対 して、ページブレークを最小限にするために、他の技法も試みられてきた。1つ の例は、従来のページモードメモリコンポーネントの代わりに専用のメモリを使 用することである。例えば、H.FuchsとJ.Poultonの「Pixel-Planes:AVLSI-Orien ted Design for a Raster Graphics Engine,」(VLSI Design,vol.2.,no .3,1981)、M.Deering他の「FBRAM:A New Form of Memory Optimized for 3D Graphics,」(Computer Graphics,Proceedings of SIGGRAPH,1995)、 A.Schilling他の「Texram:A Smart Memory for Texturing,」(IEEE Comput er Graphics and Applications,1996)を参照され たい。このようなシステムは、例えば、特定用途向け集積回路(ASIC)上でメモ リを処理に直接関連付けることによって、または、DRAMチップ上でロジックをメ モリに直接関連付けることによって、一般的にメモリの帯域幅を改善する。A.Sc hilling他を参照されたい。しかしながら、このような技法は、従来のページモ ードDRAMよりも一般的に高価な、高度に専用化されたコンポーネントを必要とす る。 メモリ帯域幅を低減する別の試みが、K.Akeleyの「RealityEngine Graphics 」(Computer Graphics,Proceedings of SIGGRAPH,1993)に記載されている。Akel eyは、極端なメモリインターリービングシステムについて記載している。この技 法は、従来のメモリシステムが必要とするものよりも非常に多くのメモリチップ を必要とし、結果として、より高価なものとなる。 テクスチャマップへのアクセス帯域幅を改善するために、テクスチャキャッシ ュを使用することができる。しかし、テクスチャキャッシュのヒット率は、テク セル参照の局在性によって制限される。局在性が不十分であると、テクスチャキ ャッシュ内外へのテクセルのスワッピングが非常に多くなる可能性がある。従来 の走査ライン志向走査(traversal)アルゴリズムでは、局在性が不十分になる 場合があり、テクスチャプリミティブが変わった形状である場合は特にそうであ る。例えば、従来のように、三角形がテクスチャプリミティブとして使用され、 非常に長く、細い三角形がxまたはy軸に沿って十分な長さにわたってのびるよ うな場合は、スパン(全長)を走査し終わるときには、スパンの開始点はもはや テクスチャキャッシュ内にはキャッシュされていない。従って、次のスパンの走 査(横断)が開始されるときには、要求されたテクセルはもはやキャッシュされ ておらず、メインのテクスチャメモリから取り出さなければならない。すなわち 、局在性に基づくテクスチャキャッシュのスワップアウトは、(長く、細い三角 形のような)所定の形状を描画する場合に、不十分なヒット率を招く。 局在性を改善するために、テクセル再順序付け技法(reordering techniques) を使用することができる。しかし、このアプローチの効果は、アクセスバッファ の大きさによって制限され、グラフィックスプリミティブが変則的な形状で あるいくつかの状況では、テクスチャ空間の局在性の問題を解決するのに依然と して失敗することがある。2つ以上の走査ラインを1つのグループとして走査す ることによってテクセルの再順序付けを向上させ、局在性を改善することができ る。このアプローチは、次にどの走査ラインを処理するかを決定する際に、スケ ジュール調整の問題が生じるので、より複雑なものとなる。かかる改善されたテ クセルの再順序付けは、また、並べ替えアルゴリズムから多くのフィードバック を必要とし、待ち時間及び検証に起因する重大なハードウエア設計の問題を生じ る可能性がある。 上述の技法は、描画効率をある程度改善することにおいて効果があるが、不要 なページ切換が依然として生じる。特に、テクスチャ空間へのバーストモードア クセスは、テクセル参照の不十分な局在性のために、不要なページスラッシング を引き起こし、かつ、キャッシュ領域の再使用を制限することになる。 バーストモードアクセスを、テクスチャ記憶部をアクセスするために使用する 場合には、別の問題が生じる。バーストモードは、一般的に、メモリバスの幅( 例えば、64ビット、または128ビット)に対応する固定長を有するデータセグメ ントを取り出す。従って、テクスチャ空間へのバーストモードアクセスは、一般 的に、すぐに必要としているデータより多くのデータを取り出す。従来のテクス チャ記憶メカニズムは、後で再使用するための不要なデータを十分にキャッシュ するものではない。従って、このデータへの追加のアクセスが生成される。しか しながら、局在性を改善することにより、より効率の良いキャッシング、及び、 以前取り出されたデータセグメントの再使用がもたらされるであろう。 コンポーネントの数、または、全体のコストを実質的に増加させることなく、 広範にわたるクライアントのアルゴリズム用に、グラフィックエンジンの性能を 改善するために、従来のページモードメモリにおけるページ切換を最小限にする ことによってメモリ帯域幅を低減するシステムが必要とされている。特に、既存 のエッジ−ウォーキング及びスパン−ウォーキング走査技法に対するテクセル参 照の局在性を改善するシステム、及び、取り出されたデータの再使用を改善する テクスチャ空間の改善されたバーストアクセス方式が必要とされてい る。 発明の要約 本発明によれば、ページ切換を最小限にし、かつ、グラフィックエンジンの性 能を改善するために、3次元グラフィックシステムにおいて三角形のプリミティ ブを描画する際に、ブロック及びバンド(ベルト)志向走査に関するシステム及 び方法が提供される。 本発明は、テクスチャマップに対するアクセス帯域幅を改善するために、テク スチャキャッシュを利用する。以前に取り出されたデータの再使用を改善する方 式において、高速のキャッシュメモリへのバーストモードアクセスを使用するこ とにより、最大の帯域幅が実現される。テクスチャキャッシュは、改善されたア クセスに対する特定の領域に関連したテクセルを記憶する。テクスチャ空間にお ける局在性は、各画素のテクスチャ座標によって決まる。テクスチャキャッシュ は、有限の大きさであり、従って、キャッシュの一部分は、それが、すぐにアク セスされる可能性が低くなったときには、スワップアウトされる。スワップアウ トは、局在性に応じて実行される。従って、テクスチャキャッシュを参照するこ とによってテクセルをアクセスする速度を表す、テクスチャキャッシュのヒット 率は走査の局在性が改善されると向上する。本発明は、テクスチャキャッシュの ヒット率を改善するために、特にバーストモードアクセスと併用して、テクセル 参照の局在性を改善することを目的としている。 三角形の描画は、既知のエッジウォーキング、及びスパンウォーキング技法を 使用して実現される。三角形の各スパンが決定され、次に走査される。 上述の問題に対処するために、本発明は、タイリング、改善されたテクスチャ 記憶方式、及び、修正された走査技法を利用し、これにより、テクセル参照の局 在性を改善し、その結果としてヒット率を上げる。 タイリングは、上述したように、スクリーン空間走査の局在性を改善する。一 般的に、スクリーン空間におけるプリミティブの描画において、タイリングによ るアドレス指定方式が使用される場合には、ページブレークが少なくなる。 本発明は、改善されたテクスチャ記憶方式をさらに利用し、これによって、 テクスチャ空間を、4×4テクセルのような、ある固定した大きさの「正方形( スクエア)」(実際には、正方形である必要はなく、矩形、または、他の任意の形 状でもよい)に分割する。テクスチャスクエア(正方形)の各々は、連続したメ モリ領域において表される。規定されたビット配置及びメモリバス幅に従ったバ ーストモードアクセスにより、処理される特定のラインセグメントを描画するた めに必要とされるデータより多くのデータを取り出すことになる。取り出された データセグメントは、後で使用するためにキャッシュされる。改善されたテクス チャ記憶方式は、テクスチャ空間内の特定のラインセグメントの対角配向を利用 することにより、キャッシュされたデータセグメントに対するヒット率を高める 。特に、テクスチャスクエアは、テクスチャキャッシュが走査されるときに、ペ ージブレークを低減するように機能する。 最後に、本発明は、テクスチャアクセスの改善された局在性を提供するスクリ ーン空間走査方式を利用する。本発明の方法は、画像をスクリーン空間における 複数のブロックまたはバンドに分割する。各ブロックまたはバンドの幅と高さは 一定であり、例えば、8×8画素または16×16画素である。三角形のような 画像プリミティブは、スクリーン空間において任意の数のブロックまたはバンド にまたがること場合がある。従って、任意の特定のブロッまたはバンドに横たわ るプリミティブの一部を、各スパンがブロックまたはバンドの一定幅に対応する 最大幅を有するところの複数の水平スパンとして表すことができる。特定の走査 経路は、描画されるプリミティブの幾何学的特徴に従って選択される。 MIPマップテクスチャマッピング方式は、利用可能なテクスチャ空間と、描画 されるプリミティブのセグメントの大きさに基づいて決定される適切な詳細レベ ル(LOD)を利用する。従って、LODは、テクスチャ空間の単一のテクセルのテク セル値を得るために、スクリーン空間の一組の画素についての画素値の平均化、 または(それ以外の)フィルタリングを行うことによって実施されるスケーリン グファクタを表す。計算速度は、LODスケーリングファクタを2のべき乗に制限 することによって高速になるが、それは、本発明の要件ではない。 スクリーン空間内の各スパンは、テクスチャ空間内のラインセグメントに対応 する。MIPマップテクスチャマッピング方式が与えられると、テクスチャ空間の ラインセグメントの長さは、1.41w以下に必然的に制限される。ここで、wは、 スクリーン空間におけるブロックまたはバンドの一定寸法である。 スクリーン空間の8画素の一定寸法については、テクスチャ空間のラインセグ メントの最大長は1.41×8=11.28であり、これは、12テクセルに切り上げられる 。より詳細に後述するように、スケーリングの小数部が、丸めではなくて切り捨 てによって処理されるいくつかの場合においては、テクスチャ空間の最大のライ ンセグメントは、16画素に達する場合がある。従って、12×12(または、 切り捨てが採用される場合は、16×16)テクセルの寸法を有するテクスチャ キャッシュは、任意のプリミティブのブロックまたはバンドを細分したものの全 幅または全高を確実に記憶することができ、このため、細分されたプリミティブ の走査は、テクスチャキャッシュのスワップアウトを必要としない。 テクスチャ空間の任意のセグメントの固定された最大寸法(上記例では、12 画素、または16画素)が与えられた場合は、メモリの局在性を保証するために 、所定数のテクスチャキャッシュスクエアが、連続アクセスのために使用できな ければならない。テクスチャ空間のセグメントの配向が水平か垂直である最良の 場合では、テクスチャ空間の最大セグメント長をテクスチャキャッシュスクエア の寸法で割ることによって、テクスチャキャッシュスクエアの数を決定すること ができる。従って、上記の例において、セグメントが垂直または水平に配向して いる場合には、3つの隣り合う4×4のテクセルスクエアによって、12テクセ ルの最大セグメント長を表すことができる。セグメントがテクスチャ空間で45 度配向している最悪の状況では、全部で13スクエアの4×4寸法が必要である 。従って、13のテクスチャキャッシュスクエアが提供されて、連続アクセスに 利用できる場合は、スクリーン空間の8画素のスクエアについてのすべてのライ ンセグメント及びバンドに対して、メモリの局在性が保証される。 8画素幅のブロックまたはバンドを使用する本発明の他の利点は、上記分割 されたものが必然的にページ境界に整列し、これによって、z−バッファに良好 な局在性を生ずることである。 図面の簡単な説明 図1は、従来技術によるテクスチャマッピングを示す図である。 図1Aは、従来技術による線形アドレス指定方式を示す図である。 図1Bは、従来技術のタイリングによるアドレス指定方式を示す図である。 図2Aは、従来技術による、スクリーン空間における三角形プリミティブを示 す図である。 図2Bは、従来技術による、テクスチャ空間におけるテクスチャ画像の図であ る。 図2Cは、従来技術による、スクリーン空間におけるテクスチャマッピングさ れた三角形プリミティブの図である。 図3は、従来技術による、エッジ及びスパンウォーキングの方法のフローチャ ートである。 図4Aは、本発明による、スクリーン空間における三角形プリミティブの図で ある。 図4Bは、本発明による、スクリーン空間における走査用のブロックを示す図 である。 図4Cは、図4Bのブロックに対応するテクスチャ空間内の領域を示す図であ る。 図4Dは、本発明による、スクリーン空間内の走査用のバンドを示す図である 。 図5は、本発明の1実施態様によるMIPマップテクスチャマッピングの1例を 示す図である。 図6は、正方形を使用したテクスチャマップの実施を示す図である。 図7A及び7Bは、テクスチャ空間のラインセグメントを示す図である。 図8は、本発明を実施するためのシステムのブロック図である。 図9Aは、コンポーネントのラインセグメントを有する、スクリーン空間内 の三角形プリミティブを示す図である。 図9Bは、テクスチャ空間内のラインセグメントを示す図である。 図9Cは、線形アドレス指定方式を使用するテクスチャ空間内のラインセグメ ントのバーストモードによる取り出しを示す図である。 図9Dは、正方形中に細分されたテクスチャ空間内のラインセグメントのバー ストモードによる取り出しを示す図である。 図10は、テクスチャ空間内のラインセグメントの1例を示す詳細図である。 図11Aから11Dは、スクリーン空間における走査経路を示す図である。 図12は、走査経路を選択する方法のフローチャートである。 図13は、画素の走査順番を含む、スクリーン空間における走査経路を示す図 である。 発明の詳細な説明 図8に、本発明を実施するためのシステム800を示す。テクスチャメモリ8 01は、プリミティブ上にマッピングされるテクスチャの2次元表現を含む。キ ャッシュ802は、より詳細に後述するように、アクセス速度を改善するために 、テクスチャメモリ801の一部の一時的な記憶を提供する。グラフィックプリ ミティブは、メモリのプリミティブ記憶部(不図示)に記憶され、三角形や他の 多角形のような表示されるグラフィック要素の大きさと形状を規定する。後述す る走査及び横断技法を実施するために、プリミティブは、三角形セットアップモ ジュール810によって処理され、エッジウォークモジュール809とスパンウ ォークモジュール808を使用して走査される。テクスチャマッピングエンジン 803は、テクスチャメモリ801に記憶されたテクスチャをプリミティブにマ ッピングする処理を実行する。次に、画素処理モジュール807が、z-バッフ ァリング(z-buffering)、テクスチャライティング(lighting)、かぶり効果(fogg ing)、アルファ混合(alpha blending)、及び他の画素処理を実行して、その結果 として描画された画像をフレームバッファメモリ805、または、他のビデオメ モリに書き込む。フレームバッファ805内の画像は、ディスプレイ806に送 られる。本発明は、テクスチャマッピン グエンジン803の動作と、図8の他のコンポーネントとのそれの関係に関連す る。 図2Aに、テクスチャ空間のテクスチャマップ219をアクセスすることによ って、スクリーン空間に描画される三角形プリミティブ200を示す。プリミテ ィブ200は、一般的には、ディスプレイスクリーン806上のグラフィック画 像のある要素を表しており、テクスチャマップ219は、プリミティブ200に マッピングされる、あるグラフィックパターンすなわち画像220を含む。テク スチャマップ219内の画像220は、3次元空間においてある角度で見るとい う効果を与えるために、プリミティブ200にマッピングされるときに、変形さ れる場合がある。例えば、ビデオゲームにおいて、プリミティブ200は、空間 を飛行する宇宙船のある部分を表すことができ、テクスチャマップ219は、そ の宇宙船の部分の模様及び他の表面形状のグラフィック画像を含むことができる 。3次元動作の効果を与えるために、プリミティブ200によって表された宇宙 船の部分を引き伸ばし、あるいは、ひずませて、これによって、それを3次元空 間においてある角度からながめたように見せる。テクスチャ画像220は、プリ ミティブ200にマッピングされると、効果を保持して強化するために、同じよ うに、引き伸ばされ、ひずまされる。エッジ及びスパンウォーキング テクスチャ画像220をプリミティブ200にマッピングするために、エッジ 及びスパンウォーキングとして既知の技法が一般的に使用される。図3に、エッ ジ及びスパンウォーキング処理のフローチャートを示す。スクリーン空間におい てプリミティブ200が規定される(301)と、スクリーン空間における水平 画素行のスパン202が規定される。各スパンは、画素の行を表す固有のy値、 すなわち、x軸からの距離を有している。各スパンは、プリミティブ200の2 つのエッジによって仕切られ、2つのエッジの各々は、一次方程式によって規定 することができる。例えば、図2Aにおいて、スパン203は、「高さ」すなわ ちスパンの行数を表すy値206によって規定される。スパンの仕切り(境界) は、プリミティブ200のエッジ204と205を記述する一次方程式によって 規定されるが、それは、プリミティブ200を規定する3 つの3角形の点から導くことができる。従って、スパン202を規定するために 、エッジがプリミティブ200の特徴に基づいて規定され(302)、スパン20 2が、エッジに基づいて規定される(303)。各スパン202は、仕切り用のエ ッジ座標間の差に依存して、特定数の画素を含む。 プリミティブ200は、スパンごとに走査され、各スパンについて、そのスパ ン内の画素は、左から右に向かう順番で処理される。第1のスパン202が選択 され(304)、選択されたスパン202内の第1の画素が指定される(305)。 一般的には、第1のスパンの第1の画素は、一番上のスパンの最も左側の画素を 表すが、図11Aから11Dを参照して詳細に後述するように、他のスパンウォ ーキング及び/またはエッジウォーキング方式を使用することもできる。 次に、選択された画素に対応するテクスチャマップ219のテクセルが取り出 される(306)(図2Bも参照)。MIPマップテクスチャマッピングを使用する と、当該技術分野では知られているように、選択された画素の値を生成するため に、平均化または他のあるフィルタリング技法を使用して、複数のテクスチャマ ップ219のテクセルを結合することができる。この方法では、種々の詳細レベ ルがサポートされており、極めて小さなプリミティブ200に対する、不要なテ クセルデータの不要な取り出しが回避されるようになっている。いくつかの実施 態様では、テクスチャマップ画像220のいくつかのバージョンを、種々の詳細 レベルで記憶することができ、これによって、所望の詳細レベルでのフィルタリ ングされた画素値を生成するために、実行時に計算することが不要となる。 例示のために、現在説明しているエッジ及びスパンウォーキングでは、テクセ ルのフィルタリングが起こらないと仮定している。従って、単一のテクセルが取 り出され、それのデータが、プリミティブ200の選択された画素について描画 される。例えば、プリミティブ200の画素201は、テクスチャ画像220の テクセル221に対応することができ、これによって、テクセル221を取り出 して、スクリーン空間で画素201を描画する際に使用することができる。プリ ミティブ200の他の画素も同様に処理される。 現在のスパンの終了まで到達したかどうかを判定するために、チェック307 が実行される。このチェックは、例えば、現在選択されている画素のx座標と、 プリミティブ200の境界エッジ205を比較することによって実行することが できる。スパンの終わりにまだ到達していない場合は、スパン内の次の画素を選 択し(308)、テクセルの取り出し(306)を繰り返すことによってスパンウ ォーキングが継続される。1実施態様では、画素毎ではなくて、バーストモード アクセスによって各スパンを取り出して処理することにより、性能が改善される 。バーストモードアクセスについては、図9Aから9Dを参照して、さらに詳し く後述する。 スパンウォーキング中の連続するテクセルに対するテクセルの取り出し(30 6)は、スクリーン空間の単一の画素移動に対応するテクスチャ空間のテクセル ウォークベクトル(walk vector)を決定することによって容易になる。テクセ ルウォークベクトルは、スクリーン空間のx方向における単一の画素走査に対応 する、テクスチャ空間における走査の距離及び方向を表す。従って、テクセルウ ォークベクトルは、スクリーン空間のプリミティブ200とテクスチャマップ2 20の相対的な大きさと配向に依存する。スクリーン空間における単一の画素走 査は、テクスチャ空間における1つのテクセル走査より小さいので、一般的に、 図2Aに示すような比較的大きなプリミティブ200は、比較的小さなテクセル ウォークベクトルを生じる。従って、2つ以上の連続する画素をテクスチャ画像 220内の同じテクセルにマッピングすることができる。逆に言えば、比較的小 さなプリミティブ200は、比較的大きなテクセルウォークベクトルを生じる。 なぜなら、テクスチャマップは縮小され、個々のテクセルがスキップされうるか らである。 スパンの終わりに到達すると、スパン202がさらに存在するかどうかを判定 するためにチェックが実施される(309)。このチェックは、例えば、現在のス パンのy値と、プリミティブ200のy値指標を比較することによって実施する ことができる。他にスパンが存在する場合は、次のスパンが選択され(310)、 上述したように走査される。他にスパンが存在しない場合には、プリミティブは 完全に描画されたことになり、表示の準備が整ったことになる。 図2Cに、プリミティブ200と同じ形状を有するが、今や、テクスチャマッ プ画像220をプリミティブ200にマッピングすることによって生成されたパ ターンを含む、描画されたプリミティブ240の一例を示す。 上記のスパンウォーキング法は、水平走査が各画素を順にアクセスするので、 一般に、画素を順次的に処理するものである。メモリへの画素データの記憶は、 一般的に、左から右へのパターンに追従して行われ、隣の画素は隣のメモリ位置 に記憶される。従って、スパンウォーキングの水平走査は、一般的に、スクリー ンメモリ805内の連続するメモリ位置をアクセスすることによって実施される 。メモリの局在性は、個々のスパンに対するスパンウォーキング処理の間保持さ れ、パフォーマンスを改善するために、ページブレークが全体的に回避される。 しかし、スパンの終わりに到達して次のスパンが処理されることになると、画 素データのメモリアドレスの取り出しに不連続が生じる場合がある。すなわち、 所定のスパンにおける最後の画素に対するメモリ位置は、次のスパンにおける最 初の画素に対するメモリ位置の隣にはない場合がある。スパンが十分に長いと、 あるスパンから次のスパンへのジャンプによってページブレークが生じ、そのた め、上述したように、パフォーマンスが劣化する場合がある。ブロック及びバンド志向走査 図4Aに、前に図2Aに示したのと同様の大きさ及び形状を有する、スクリー ン空間内のプリミティブ200を示す。一定のx及びy寸法を有するブロック4 01を利用して、スクリーン空間とプリミティブ200を細分する。1実施態様 では、ブロック401の寸法は、8画素×8画素であるが、任意の適切な寸法を 使用することもできる。 メモリの局在性を改善し、ベージブレークを少なくするために、スパンウォー キングは、ブロック毎の走査方式を使用して行われる。図4Bに、走査に必要な ブロック402と共に、スクリーン空間内のプリミティブ200を示す。ブロッ ク402は、例示のために、8画素の幅×8画素の高さのものとして示されてい る。スパン403は、上述したように規定されるが、ブロック境界の追加のデリ ミタを備えている。ブロック境界のデリミタによって、すべてのス パンが、ブロックの水平寸法に対応する最大長を有することが保証される。ある 走査ラインから次ぎの走査ラインにジャンプするときに、ページブレークが起こ らないように、この寸法を十分小さなものとして選択することができる。 代替の実施態様では、ブロック401の代わりにバンドが使用される。バンド は、一定のx寸法、または、一定のy寸法を有する。図4Dに、以前に図2Aに 示したのと同様の寸法と形状を有する、スクリーン空間内のプリミティブ200 を示す。ここでは、バンド405が、ブロック401の代わりに規定される。バ ンドの境界は、スパンの走査に対してデリミタとして機能し、最大のスパン長が バンドの寸法に対応することを保証する。ブロックの寸法に関しては、ある走査 ラインから次ぎの走査ラインにジャンプするときに、ページブレークが起こらな いように、バンドの寸法を選択することができる。 当業者には明らかなことであるが、本発明の思想または本質的な特性から逸脱 することなく、水平のバンドまたは種々の形状のブロックの如き他の形式の細分 化を利用する代替実施態様を使用することができる。 好ましい実施態様では、ブロックまたはバンドによる走査が実行される場合に 、4つの異なる走査経路から走査経路が選択される。図11A〜11Dに、タイ ル122を走査するための走査経路1101を示す。図11Aは左から右へ、上 から下への、図11Bは右から左へ、上から下への、図11Cは左から右へ、下 から上への、図11Dは右から左へ、下から上への走査をそれぞれ示している。 類似の走査経路を、タイリングによる細分化にも同様に適用することができる。 水平走査ラインではなくて、垂直走査ラインを伴う走査経路を実施することも可 能である。 図12に、本発明の1実施態様に従う、どの走査経路を使用するかを決定する ための方法を示す。各頂点が、スクリーン空間におけるx座標とy座標を有する 、3つの頂点を有する三角形のようなプリミティブを想定する。説明のために、 最上部左側の角に原点(x、y=0,0)があると仮定する。 3つの頂点は、それらのy座標によって並べ替えられて、ラベル0、1、2を 付される(1201)。従って、頂点1は、頂点0と2のy座標の間にy座標を有 する。頂点1が、頂点0と2に接続したラインセグメントの右側にある場 合(1202)は、左から右への走査が選択される(1203)。この選択がされ ると、頂点0と2のX座標が比較される(1204)。頂点2のX座標が、頂点0 のx座標より小さい場合は、下から上への走査が選択される(1205)。これは 、図11Cに示した走査経路である。そうでなければ、上から下への走査が選択 される(1207)が、これは、図11Aに示した経路である。 1202で、頂点1が、頂点0と2に接続されているラインセグメントの右側 にない場合は、右から左への走査が選択される(1208)。この選択が行われる と、頂点0と2のx座標が比較される(1209)。頂点2のx座標が頂点0のx 座標よりも小さい場合は、上から下への走査が選択される(1207)。これは、 図11Bに示す走査経路である。そうでない場合は、下から上への走査が選択さ れる(1205)が、これは図11Dに示す経路である。 図11Aから11Dに示す走査経路をブロックまたはバンドと呼ぶ。ブロック またはバンド内で、個々の画素が走査される。1実施態様では、個々の画素の走 査は、ブロック走査経路に類似した経路に従って実行されるが、他の経路を使用 することもできる。図13に、左から右、下から上への走査経路に従う個々の画 素走査の例を示す。個々の画素の描画順序を、番号1〜117で示す。 図4Bを再度参照すると、ブロック402は、ブロック402の縦の寸法によ って制限された複数の走査ライン403を含んでいる。前述したように、各走査 ラインの幅は、ブロック402の横(水平)寸法によって制限される。例に示す ように、これらの寸法の各々は8画素である。図4Cに、図2Bを参照して上述 したテクスチャ画像220を含むテクスチャマップ219を示す。テクスチャ空 間スクエア420は、図4Bのブロック402に対応するテクスチャ画像220 の領域を表す。従って、テクスチャ空間スクエア420に含まれるテクセルは、 ブロック402を走査するプロセスにおいて順次アクセスされる。テクスチャキ ャッシュ802が実施される場合は、テクスチャ空間における局在性が改善され と、個々のテクセルをアクセスする性能も改善されることになる。テクスチャ空 間メモリアクセスにおいてページブレークを回避し、かつ、テクスチャキャッシ ュ802を最大限に使用するために、スクエア420内のテクセルのテクセル表 現を含むメモリ位置が、互いに十分に近接している ことは利点である。特に、十分なメモリアドレスの局在性と連続性が与えられた 場合には、テクスチャキャッシュ802へのバーストモードアクセスが容易にな る。当該技術分野において周知のように、バーストモードアクセスは、検索(取 り出し)動作における性能を著しく改善するものである。 好ましい実施態様では、スクエア402の寸法とテクスチャキャッシュのサイ ズは、上記の目的を達成するために、テクスチャ空間の局在性を考慮して選択さ れる。例えば、8画素のスクエア402の寸法に対しては、スクリーン空間の最 大スパン長は8画素である。テクスチャマッピングを実行するときに、スケーリ ング(拡大縮小)を使用することができるので、8画素のスパンを、スケーリン グファクタに依存して、テクスチャ空間の任意の長さのスパンに対応させること ができる。最大テクスチャ空間のスパン長の不確定性を除去するために、かつ、 テクスチャマップスケーリングの効率を改善するために、MIPマップテクスチャ マッピングが使用される。MIP マップテクスチャマッピング 図5に、MIPマップテクスチャマッピングの例を示す。図示のテクスチャマッ プ501は、512テクセル×512のテクセルの寸法を有する。テクスチャ画 像は、テクスチャマップ501にフルサイズで記憶される。テクスチャ画像の別 の表現502、503を示すが、これらは、詳細レベルが順次少なくなっている 。値dによって表される詳細レベルは、テクスチャマッピングで使用されること になるスケーリングファクタを表す。例えば、テクスチャ画像が、より大きな認 識距離を有するような比較的小さなプリミティブ上に描画されるときは、テクス チャ画像が、より大きなプリミティブ上に描画されるときよりも必要な詳細度は 低い。より小さく表現された502、503は、フルサイズ画像501内の隣接 する画素を平均化するか、あるいは、フィルタリングすることによって生成され る。例えば、256テクセルスのスクエア表現502を、2×2スクエアのテク セル値をフィルタリングすることによってフルサイズ画像501から生成して、 より小さな表現における単一のテクセルのテクセル値を得る。フィルタリング処 理は、詳細レベルが減少するに従い、順次的により大きなテクセルの組に対して 実行される(128テクセルのスクエアが、4× 4スクエアをフィルタする等)。一般的に、M×MスクエアにおけるNテクセル のテクセル値は、より小さな表現における1画素を生成するためにフィルタリン グ(平均化)される。ここで、 M=(フルサイズ画像の幅)/(より小さい画像の幅) (式1) N=M2 (式2) である。 1実施態様では、テクセルを描画のために取り出しながら、「実行中」にテク セルをフィルタリングする。他の実施態様では、テクセルのフィルタリングを事 前に実行して、異なるサイズの複数の表現を記憶する。こうして、複数の詳細レ ベルを計算キャッシュに記憶し、種々の解像度でテクスチャ画像を収容する。こ の技法は、複数のテクセル表現用に追加の記憶空間を使用することを伴うが、「 実行中」のスケーリング計算のオーバーヘッドが回避されるので、性能が改善さ れる。計算を簡単にするために2のべき乗に対応する寸法が好ましいが、必須で はない。例示の目的のために、正方形のテクスチャ画像を示したが、三角形や矩 形のような他の形状を使用することもできる。特に、u軸とv軸に沿ってスケー リングファクタが等しくなく、その結果、実際には、一方の軸に沿った圧縮比が 他方の軸に沿った圧縮比よりも高くなるような場合には、矩形のテクスチャ画像 を使用することができる。これは、例えば、特定の画像が、垂直軸よりも水平軸 に沿って解像度を上げることを要求する場合に有益である。しかし、以下の説明 では、スケーリングファクタは両軸に沿って一様であると仮定している。 上述のMIPマップスケーリング技法によれば、テクスチャ空間内の最大スパン 長を予測する精度が大きく向上する。一般的に、スクリーン空間における1画素 のウォーク(walk)は、テクスチャ空間におけるL画素のウォークに相当する。 ここで、Lは、使用するテクスチャ空間表現の詳細レベル(d)に依存する。具 体的には、Lとdは、以下の式によって関連付けられる。 L=2d (式3) あるいは、逆にして、 d=log2L (式4) 1実施態様では、MIPマップの表現の集合からのテクスチャマップ表現は、d に基づいて選択される。図5を再度参照すると、フルサイズ表現501は0とし て指定され、表現502は1として指定され、表現503は2として指定されて おり、順次的に小さくなる表現は、順次的に大きくなるdの値として指定される 。このように、Lが2のべき乗である場合は、dは整数値であり、適切なテクス チャマップ表現を選択して、スクリーン空間内の画素寸法に等しいテクセル寸法 を有するようにすることができる。 例えば、L=4の場合は、スクリーン空間内の8画素スパンは、4×8=32 なので、フルサイズのテクスチャマップ表現の32テクセルに対応する。しかし 、フルサイズのテクスチャマップ表現を使用せずに、d=log24=2の値に対応 するスケーリングされた表現を使用する。表現2は、フルサイズ表現の1/4サ イズの線形寸法を有する。従って、8画素のスクリーン空間スパンは、8画素の テクスチャ空間スパンに対応する。一般的に、MIPマップスケーリングで、Lが 2のべき乗の値である場合は、スクリーン空間スパンの画素寸法は、対応するテ クスチャ空間スパンのテクセルの寸法に常に等しい。 Lが2のべき乗の値に限定されない場合は、d=log2Lは小数部を有する。こ の場合、dは次の式によって表すことができる。 d=id+fd (式5) ここで、idは整数部であり、fdは小数部である。上述したように、テクセル マップ表現は、それぞれが、dの値に対応する指定を有する。1実施態様では、 dが整数でない場合は、dの値に一番近い指定を有するテクセルマップ表現が選 択される。従って、fdが0.5より小さい場合は、idの指定を有するテクセ ルマップ表現が使用され、fdが0.5以上の場合は、id+1の指定を有する テクセルマップ表現が使用される。このように、所望の詳細レベルを最も良く近 似するテクセルマップ表現が選択される。 fdが0.5より小さく、テクセルマップ表現idが使用される場合は、テク スチャ空間スパンの最大寸法は、以下のように表される。 (最大スクリーン空間スパン)×2d/2id (式6) これは、次のように表すことができる。 (最大スクリーン空間スパン)×2(id+fd)/2id (式7) 整理すると、 (最大スクリーン空間スパン)×2fd (式8) 2fdの最大値は、20.5=1.41であり、従って、最大テクスチャ空間スパ ンは、最大スクリーン空間スパンの1.41倍以下である。 fdが0.5以上で、テクセルマップ表現id+1が使用される場合は、テク スチャ空間スパンの最大寸法は、以下のように表される。 (最大スクリーン空間スパン)×2d/2id+1 (式9) これは、次のように表すことができる。 (最大スクリーン空間スパン)×2(id+fd)/2id+1 (式10) 整理すると、 (最大スクリーン空間スパン)×2fd-1 (式11) 2fd-1の最小値は、2-0.5=0.71であり、従って、最大テクスチャ空間ス パンは、最大スクリーン空間スパンの0.71倍以上である。 従って、MIPマップ方式によれば、テクスチャ空間スパンが、0.71×(ス クリーン空間スパン)と1.41×(スクリーン空間スパン)の間にあることが 保証される。8画素の固定ブロック幅、従って、8画素の最大スクリーン空間ス パンの場合は、テクスチャ空間スパンの幅は、1.41×8=11.28テクセ ルを決して越えない。切り上げると、テクスチャ空間スパン幅は、12テクセル の最大寸法を有する。このため、12テクセルのスパン幅を設けることによって 、テクスチャキャッシュのスワップアウトを回避することができる。一般的に、 MIPマップ方式は、テクスチャキャッシュ802が、スクリーン空間ブロック幅 の1.41倍のスパンを許容する場合は、ページブレークすなわちスワップアウ トが任意の所与のブロックの走査中に生じないということを保証する。 代替実施態様では、2fdが、21.0=2.00の最大値を有するように、小数 部を丸めるのではなくて切り捨てる。この場合は、最大テクスチャ空間スパンは 、最大スクリーン空間スパンの2倍以下である。従って、スクリーン空間の8画 素最大長は、16テクセルの最大テクセル長を生じる。 丸めを用いる方式または切り捨てを用いる方式のいずれにおいても、異なる表 現を使用することができるようにdの値が変化するときに、不連続性が認識され る場合がある。なめらかな動きが所望されるビデオゲームのようないくつかのア プリケーションでは、不連続性の効果によって不快な感じが与えられることがあ る。従って、さらに別の実施態様では、3−一次(tri-linear)テクスチャマッ ピング方式が使用されるが、この場合は、2つの最も近い表現の両方を平均化し て(またはフィルタリングして)、dの値にさらに近い新しい表現を生成する。従 って、例えば、d=2.9の場合、2.0と3.0に対する表現が取り出されて 、フィルタリング技法を使用して結合される。 例えば、各表現の4つのテクセルを平均化して、2つのテクセル値t2.0とt3 .0 を生成する。この場合は、以下のように、新しい値は、t2.0とt3.0から重み 付き平均を使用して生成される。 t2.9=0.1(t2.0)+0.9(t3.0) あるいは、より一般的に、 td=(1−fd)(tid)+fd(tid+1) 3−1次マッピング方式により、あるMIPマップ表現から次の表現へのより緩 やかな移動が行われ、上述した不連続性の認識が回避される。テクスチャマップスクエア:バーストモードアクセス 1実施態様では、テクスチャマップ101は、マップが「スクエア(正方形)」 にさらに分割され、テクスチャキャッシュ802がスクエア毎にテクスチャマッ プ101のセグメントを記憶するアーキテクチャに従って実施される。「スクエ ア」という用語を、テクスチャマップを細分化したものを意味するために使用し て、前述したタイルまたはブロックと区別する。しかし、「スクエア」は、実際 には任意の形状とすることができ、特に、正方形でない矩形とすることができる 。 図6に、スクエア601を有するテクスチャマップ101を示す。各スクエア 601は、多くのテクセル602を含む。例示の目的のために、図では、16の テクセルが4×4配列で1つのスクエア601を構成しているが、任意の数を使 用することができる。テクスチャキャッシュ802は、複数のキャッシ ュライン604を設けることによって、スクエア毎にスクエア上のテクスチャマ ップ101の一部分を記憶し、各キャッシュラインは、1つのスクエア601を 表すデータを記憶することができる。この例では、16ビットの603が、各キ ャッシュライン604内に示されているが、これは、スクエア601内の16の テクセル602に対応している。テクスチャキャッシュ802のスワップアウト は、スワップアウトが生じたときに、キャッシュライン604全体を新しいデー タで置き換えるように、スクエア毎にスクエア上で生じる。 本発明のこのような状況における細分されたテクスチャマップ101の実施が 意味することは以下のようである。図9A〜9Dに、バーストモードアクセスと 共に使用される細分されたテクスチャマップ101の動作例を示す。図9Aに、 スクリーン空間103における三角形プリミティブ120の単純化した例を示す 。単一の水平ラインセグメント901を示すが、これは、プリミティブ120を 描くときに、スクリーン空間に描画される。 図9Bには、テクスチャ空間101内のラインセグメント902を示す。ライ ンセグメント902は、上述した従来のテクスチャマッピング技法に従って、ラ インセグメント901に対応する。テクスチャマッピング動作では一般的である ように、対応するスクリーン空間のラインセグメント901は水平であるが、テ クスチャ空間のラインセグメント902は斜めである。 図9Cには、テクスチャマッピング動作の実行中におけるテクスチャマップ1 01に対するバーストモードアクセスの例を示す。ラインセグメント902内の 各テクセルをアクセスするために、多くの連続するテクスチャ空間アクセスを実 行することが必要とされる。バーストモードアクセスを使用する規定された固定 幅(例えば64ビット幅)のメモリバスの場合、かかるテクスチャ空間アクセス の各々は、規定された幅に対応するテクスチャ空間ラインセグメント903を取 り出す。従って、図示の例では、各ラインセグメント903は、バイト整列され た、64ビットの連続するテクスチャメモリの領域を表す。バーストモードアク セスは、一般的に、すべてのテクスチャアクセスがこのようにして生じることを 要求し、このため、各アクセスが、描画すべきラインセグメント902の一部分 と、すぐには使用されないテクスチャ空間101の領域 を含むようになっている。取り出された各ラインセグメント903の未使用部分 を、後で使用するためにテクスチャキャッシュに記憶することができる。しかし 、続いて起こるテクスチャアクセスは、一般的に、隣接する行(同じ行の他の部 分ではなくて)を必要とするので、テクスチャキャッシュのヒット率は比較的小 さい。従って、図9Cの行ベースの線形(1次)アクセス方式では、テクスチャ キャッシュに対するヒット率は低く、キャッシュされた部分のほとんどは、再使 用されるのでなく、破棄されることになる。特定のラインセグメント903への 続くアクセスは、テクスチャキャッシュがクリアされた後のずっと後に起こるこ とが多く、そのために、キャッシュの利益を受けることなく再ロードすることが 必要になる。 図9Dには、細分されたテクスチャマップを有するテクスチャマップ101に 対するバーストモードアクセスの例を示す。この場合は、テクスチャマップ10 1に対するアドレス指定方式は、テクセルの水平行ではなく、「スクエア」90 4に基づいている。例えば、64ビットバーストは、16画素のラインセグメン トではなく、4×4スクエアのテクセルを提供する。バス幅に関連するスクエア の実際のサイズは、テクセルのビットの深さに依存する。 各スクエア904は、テクスチャキャッシュ802のキャッシュラインに記憶 され、キャッシュ記憶について既知のように、取り出されるかまたは破棄される 。テクスチャマップ101の特定の部分に対するバーストモードアクセスは、水 平のラインセグメントではなくスクエアを取り出す。図9Dの例に示すように、 取り出されたバーストの未使用部分は、続くラインセグメント902の部分のた めにより効率的に再利用される。一般的に、テクスチャ空間101内のラインセ グメントは斜めに傾いているので、同じスクエア内にあることが多いラインセグ メントの続く部分は、以前にキャッシュされた部分であり、従って、図9Cに例 示した線形アドレス指定方式よりも、良好な局在性及びヒット率を生じる。 さらに、細分したテクスチャ空間方式により、ヒット率を犠牲にすることなく 、より少ないテクスチャキャッシュラインを容易に使用することができるように なる。スクエアの細分化構成によりヒット率が向上するので、各テクスチ ャキャッシュラインをより大きくすることができる。より少ないキャッシュライ ンを使用すれば、キャッシュを保持するときに必要とされる比較回数を低減する ことにより性能が改善される。 図7Aに、それぞれが4×4構成に16テクセルを含むスクエア601を有す るテクスチャマップ101の例を示す。上述したように、スクリーン空間内の8 画素のラインセグメントは、最大12テクセルのテクスチャ空間セグメントに対 応する。従って、テクスチャキャッシュのスワップアウトが発生しないことを保 証するためには、テクスチャキャッシュ802は、12テクセルのラインセグメ ントを記憶するのに十分なサイズであることが望ましい。図7Aに、ラインセグ メントが3つのテクセルスクエア601内に含まれるように、配向して配置され た12テクセルのラインセグメント701を示す。従って、かかる配置では、3 つのキャッシュライン604が、12テクセルのラインセグメントをマッピング するために必要なすべてのテクセルを記憶するために必要になる。 しかし、他の配置では、3つのキャッシュライン604は、12テクセルのラ インセグメントに十分なものではない場合がある。例えば、図7Bでは、ライン セグメント702は、長さが12テクセルであるが、45度だけ傾いており、こ のため、7つのテクセルスクエア601にまたがっている。従って、かかる配置 では、7つのキャッシュライン604が、12テクセルのラインセグメントをマ ッピングするために必要なすべてのテクセルを記憶するために必要である。 図10に、テクスチャマップ配置の最悪の場合の例を詳細に示す。この場合は 、スクリーン空間における8画素ウォークがテクスチャ空間上にマッピングされ る。図示のラインセグメント1001は、スクリーン空間の8画素スパンを表す 8つのドット1021、1022、…、1028を含んでいる。上述したように 、切り捨てられた小数部を利用するMIPマップ方式では、スクリーン空間内の1 画素ウォーク毎に、2つのテクセルの最小テクスチャ空間ウォークが生成される 。従って、図10のドット1021、1022、…、1028間には2テクセル 分の間隔がある。ライン1001は、45度傾き、4つのテク セルスクエア1003、1004、1005、1006の交差部に終点を有して おり、これは、最悪の場合の配置を表している。ドット1021の値は、4つの 隣り合うテクセルをフィルタリングすることにより決定されるが、これらのテク セルは、それぞれ異なるテクセルスクエアに存在する。同様に、各ドット102 2、1023、…、1028の値は、対応するドットに隣り合う4つのテクセル をフィルタリングすることによって決定される。従って、テクセルスクエア10 03、1004、1005、…、1015には、ラインセグメント1001内の すべての8つのドットの値を決定することが要求されるということが分かる。こ れは、この最悪の配置の場合、全部で13のテクセルスクエアであることを表し ている。 例示的な目的のために、隣の走査ラインを表す、第2のラインセグメント10 02を示す。この例から、ラインセグメント1002は、7つのテクセルスクエ ア1005、1006、1008、1009、1011、1012及び1014 を再使用し、5つの新しいテクセルスクエアに対するアクセスを要求するという ことが分かる。従って、再使用により、従来のラインベースのテクスチャキャッ シュ方式に対して大きな改善が行われる。 一般的に、最悪の場合の配置において、丸めの代わりに切り捨てが使用される 場合、テクセルスクエアの最大数は13である。本発明の1実施態様では、テク スチャのスワップアウトが生じないことを保証するために、少なくとも13のキ ャッシュライン604が、スクリーン空間内の8画素のブロックサイズに対して 設けられる。16のキャッシュラインが、アドレス指定を簡単にするために設け られることが多い。 上記の例は、単に実施態様を例示するためのものである。他のスクリーンブロ ックサイズ、テクセルスクエアサイズ、及びキャッシュライン長を、本発明の本 質的な特性から逸脱することなく使用することができる。さらに、代替の実施態 様では、テクスチャキャッシュ802が、スクエア毎ではなくテクセル毎に動作 するように、タイリングされないテクスチャマップを使用する。この場合は、上 記実施例の細部は適用できない場合がある。 本発明を実施することに関連する待ち時間の問題は、関連出願第08/780,787 号に記載されているようなFIFOキューを使用する従来の方法で対処される。1実 施態様では、テクスチャキャッシュ802は、予測される動作の待ち時間を処理 するのに十分な深さのFIFOを有する。 要約すると、本発明の細分されたテクスチャ空間方式は、各バーストアクセス に対して、1次元のラインセグメントではなく正方形(あるいは、他の矩形)領 域を生成し、これによって、テクスチャのヒット率と再利用性を改善し、並びに 、より少ないキャッシュラインの使用を容易にするものである。 上述したように、本発明の1実施態様は、テクスチャ空間のラインセグメント の長さを最大1.41wに制限するMIPマップテクスチャマッピング方式を使用す る。ここで、wは、スクリーン空間におけるラインセグメントの最大長である。 この制限は、本明細書に記載した細分されたテクスチャ空間アーキテクチャと結 合されると、十分なサイズのテクスチャキャッシュが利用可能な場合は、局在性 を保証するものである。特に、MIPマップテクスチャマッピングにより、スクリ ーン空間用にフィルタリングされた画素値を生成するために、(2×2グリッド 内に)隣り合うテクセルを4つ以上必要としないことが保証される。前に説明し た改善された走査方式では、テクスチャ空間内のラインセグメントの絶対長を、 テクスチャキャッシュのヒット率と性能を所定のレベルで保証するために制限す ることができる。他の利点 当業者には理解されるように、本発明で使用するような固定寸法の画素ブロッ クは、いくつかのグラフィック描画方式において他の利点を提供する。具体的に は、いくつかのグラフィックスシステムにおいては、当該技術分野で周知のよう に、3次元空間で何重にも重なり合った物体を描画するために、z−バッファを 使用して可視表面アルゴリズム(visible-surface algorithm)を実施する。例 えば、J.Foley他による66872を参照されたい。z−バッファアクセスは、性能を 改善するためにバーストモードで行うことが好ましく、各キャッシュライン60 4は、キャッシュライン604毎に4つの4倍長ワード(quadword)を有するVi RGE-2グラフィックスエンジン内で実施することができるような単一のバースト で取り出される。前述したように、本発明のテク セルスクエア方式により、バーストモードアクセス方式の性能が改善される。ほ とんどのメモリアーキテクチャは、送信と取り出しが2のべき乗で整列した未加 工のメモリ境界に沿って起こるバーストモードを利用するので、本明細書におい て1例として説明した8画素のブロック寸法により、高速のz−バッファ要求を 容易にするという他の利益が提供される。バーストモードにおけるz−バッファ 要求は、4倍長ワード(8×8画素ブロックに対応する64ビット単位)で記述 することができる。同じ様に整列されたメモリセグメント及びバーストモードア クセスと共に任意の他の2のべき乗を使用して、同様な利点を実現することがで きる。 タイリングされたz−バッファ及びタイリングされた宛先に関連して使用され る1実施態様では、ブロック寸法は、z−バッファ及び宛先のタイル寸法が、水 平及び垂直の両方のブロック寸法の偶数倍になるように選択される。こにれよっ て、各ブロックに対するz−バッファと宛先をアクセスするときに、ページブレ ークを最小限にして、1ブロックにつき最大1つのページブレークとする。 本発明の他の利点は、テクスチャマッピングされない画素の順番が、宛先に極 めて良好に整列されることである。ViRGE-2では、ブロック境界は、4倍長ワー ド境界上に整列される。これによって、宛先FIFOへの4倍長ワード編成が簡単明 瞭になる。 これまでの説明から、本明細書に開示された本発明が、グラフィックスシステ ムにおいて、ブロック及びバンド志向走査に関する新規で有利なシステム及び方 法を提供して、帯域幅と性能を改善するものであることが明らかであろう。これ までの説明は、本発明の方法と実施態様を単に例示的に開示し、及び記載したも のである。当業者には明らかなように、本発明を、その思想または本質的な特性 から逸脱することなく、他の特定の形態で具現化することができる。具体的には 、スクリーン及びテクスチャの細分のために他の寸法及びアーキテクチャを利用 することができ、他のプリミティブのタイプ、他の原点位置、及び配向を使用す ることができる。従って、本発明の開示事項及び例示した図は、請求の範囲に記 載した本発明の範囲を例示することを意図したものであって限 定することを意図したものではい。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,ML,MR, NE,SN,TD,TG),AP(GH,GM,KE,L S,MW,SD,SZ,UG,ZW),EA(AM,AZ ,BY,KG,KZ,MD,RU,TJ,TM),AL ,AM,AT,AU,AZ,BA,BB,BG,BR, BY,CA,CH,CN,CU,CZ,DE,DK,E E,ES,FI,GB,GE,GH,GM,GW,HU ,ID,IL,IS,JP,KE,KG,KP,KR, KZ,LC,LK,LR,LS,LT,LU,LV,M D,MG,MK,MN,MW,MX,NO,NZ,PL ,PT,RO,RU,SD,SE,SG,SI,SK, SL,TJ,TM,TR,TT,UA,UG,UZ,V N,YU,ZW

Claims (1)

  1. 【特許請求の範囲】 1.グラフィックスシステムにおいて、スクリーン空間に表現されるグラフィッ クプリミティブを走査し、描画する、コンピュータによって実施される方法であ って、 a)ブロック寸法を決定するステップと、 b)前記ブロック寸法に従って前記スクリーン空間を細分して、複数のブロッ クを規定するステップと、 c)少なくとも前記グラフィックプリミティブの一部を含む各ブロックに対し て、 c.1)前記ブロック内に複数のスパンを規定するステップであって、前記 スパンは集合して、前記ブロックに対応する前記グラフィックプリミティブの一 部分を表現することからなるステップと、 c.2)各規定されたスパンについてテクスチャマッピング処理を実行する ステップ とからなる方法。 2.前記ステップc.1)が、エッジ及びスパンウォーキング走査法を使用して実行 される、請求項1の方法。 3.前記ステップc.2)が、 c.2.1)規定された各スパンについて、テクスチャマップ内の対応するテクスチ ャ空間のラインセグメントを決定するステップと、 c.2.2)前記テクスチャマップから前記テクスチャ空間のラインセグメントを表 すデータを取り出すステップ を含む、請求項1の方法。 4.前記ステップc.2)が、 c.2.3)テクスチャキャッシュ内に前記取り出したデータを記憶するステップで あって、前記テクスチャキャッシュは、前記ブロック寸法に基づいて決定された 最大長を有するテクスチャ空間のラインセグメントを記憶するのに十分な寸法で あることからなるステップ をさらに含み、前記ステップc.2.2)が、前記テクスチャキャッシュからデータを 選択的に取り出すステップをさらに含む ことからなる請求項3の方法。 5.前記ステップc.2.2)が、バーストモードアクセスを使用して前記テクスチャ マップからデータを取り出すステップをさらに含む、請求項4の方法。 6.前記テクスチャマップが、複数のテクスチャマップ区分にさらに分割され、 前記ステップc.2.2)が、バーストモードアクセスを使用して前記テクスチャマッ プからデータを取り出して、選択されたテクスチャマップ区分に対応するデータ を取り出すステップを含む、請求項4の方法。 7.各テクスチャマップ区分が矩形である、請求項6の方法。 8.各テクスチャマップ区分が正方形である、請求項6の方法。 9.前記ステップc.2)が、multum in parvoマップテクスチャマッピング処理を 実行するステップを含む、請求項1の方法。 10.前記ステップc.2)が、 c.2.1)少なくとも1つの利用可能なテクスチャ空間と前記規定されたスパンの 寸法に応答して、適切なスケーリングファクタを決定するステップと、 c.2.2)前記決定されたスケーリングファクタに応答して、複数のテクスチャマ ップ表現から1つのテクスチャマップ表現を選択するステップと、 c.2.3)前記選択されたテクスチャマップ表現からデータを取り出すステップを 含む、請求項9の方法。 11.前記ステップc.2.2)が、 c.2.2.1)前記スケーリングファクタの対数を求めるステップと、 c.2.2.2)小数部を含む前記対数の値に応答して、前記対数の値を最も近い整数 値に丸めるステップと、 c.2.2.3)前記対数の値に対応するテクスチャマップ表現を選択するステップを 含む、請求項10の方法。 12.前記ステップc.2.2)が、 c.2.2.1)前記スケーリングファクタの対数を求めるステップと、 c.2.2.2)小数部を含む前記対数の値に応答して、前記対数の値を切り捨ててす ぐ下の整数値にするステップと、 c.2.2.3)前記対数の値に対応するテクスチャマップ表現を選択するステップを 含む、請求項10の方法。 13.前記ステップc.2.2)が、 c.2.2.1)前記スケーリングファクタの対数を求めるステップと、 c.2.2.2)小数部を含む前記対数の値に応答して、 c.2.2.2.1)前記対数の値に近い整数値を有する2つのテクスチャマップ 表現を取り出すステップと、 c.2.2.2.2)前記2つの取り出されたテクスチャマップ表現について重み 付きフィルタリングを実施することにより、フィルタリングされたテクスチャマ ップ表現を得るステップと、 c.2.2.2.3)前記フィルタリングされたテクスチャマップ表現を選択する ステップ を実行するステップと、 c.2.2.3)小数部を含まない前記対数の値に応答して、前記対数の値に対応するテ クスチャマップ表現を選択するステップ を含む、請求項10の方法。 14.b.1)前記グラフィックプリミティブの少なくとも一部を含む各ブロックに ついて、前記ステップc)を実行するための走査経路を規定するステップをさら に含む、請求項1の方法。 15.前記ステップb.1)が、横方向の走査順序と縦方向の走査順序を選択するス テップ含む、請求項14の方法。 16.グラフィックスシステムにおいて、スクリーン空間に表現されるグラフィ ックプリミティブを走査し、描画する、コンピュータによって実施される方法で あって、 a) 集合的に前記グラフィックプリミティブの表現を提供する、複数のスパンを 規定するステップと、 b) b.1)規定された各スパンについて、テクスチャマップ内の対応するテクスチ ャ空間のラインセグメントを決定するステップであって、前記テクスチャマ ップが、複数のテクスチャマップ区分にさらに分割されることからなる、ステッ プと、 b.2)選択されたテクスチャマップ区分に対応するデータを取り出すためにバ ーストモードアクセスを使用して、前記テクスチャマップから前記テクスチャ空 間のラインセグメントを表すデータを取り出すステップ b.3)テクスチャキャッシュに前記取り出したデータを記憶するステップとに よって、各規定されたスパンについてテクスチャマッピング処理を実行するステ ップ を含み、前記ステップb.2)が、さらに、前記テクスチャキャッシュからデータを 選択的に取り出すステップを含むことからなる方法。 17.各テクスチャマップ区分が矩形である、請求項16の方法。 18.各テクスチャマップ区分が正方形である、請求項16の方法。 19.スクリーン空間に表現されるグラフィックプリミティブを走査し、描画す るためのシステムであって、 グラフィックプリミティブの表現を規定し、記憶するためのプリミティブセッ トアップモジュールと、 前記プリミティブセットアップモジュールに記憶されたグラフィックプリミテ ィブについてエッジウォーキング走査を実行して複数のスパンを規定するための 、前記プリミティブセットアップモジュールに結合されたエッジウォークモジュ ールと、 前記エッジウォークモジュールによって規定されたスパンについてスパンウォ ーキング走査を実行するための、前記エッジウォークモジュールに結合されたス パンウォークモジュールと、 テクスチャマップを記憶するためのテクスチャメモリと、 前記テクスチャメモリのうちの選択された再分割部を記憶するために前記テク スチャメモリに結合されたテクスチャキャッシュと、 前記テクスチャキャッシュに対するバーストモードアクセスを使用してテクス チャマッピングを実行するために、前記スパンウォータモジュールと前記テクス チャキャッシュに結合されたテクスチャマッピングエンジンと、 テクスチャマッピングされたデータを受け取るために、前記テクスチャマッピ ングエンジンに結合されたフレームバッファメモリ を備えるシステム。 20.前記テクスチャマッピングされたデータを表示するために、前記フレーム バッファメモリに結合されたディスプレイをさらに含む、請求項19のシステム 。 21.テクスチャマッピングされた画素データを処理し、前記フレームバッファ に処理されたデータを書き込むために、前記テクスチャマッピングエンジンと前 記フレームバッファメモリに結合された画素処理モジュールをさらに含む、請求 項19のシステム。
JP50565799A 1997-06-26 1998-06-18 3次元の三角形描画におけるブロック及びバンド志向走査 Expired - Lifetime JP4203128B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/883,536 1997-06-26
US08/883,536 US5945997A (en) 1997-06-26 1997-06-26 Block- and band-oriented traversal in three-dimensional triangle rendering
PCT/US1998/013029 WO1999000768A1 (en) 1997-06-26 1998-06-18 Block- and band-oriented traversal in three-dimensional triangle rendering

Publications (2)

Publication Number Publication Date
JP2002506547A true JP2002506547A (ja) 2002-02-26
JP4203128B2 JP4203128B2 (ja) 2008-12-24

Family

ID=25382775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50565799A Expired - Lifetime JP4203128B2 (ja) 1997-06-26 1998-06-18 3次元の三角形描画におけるブロック及びバンド志向走査

Country Status (7)

Country Link
US (1) US5945997A (ja)
EP (1) EP1066600B1 (ja)
JP (1) JP4203128B2 (ja)
AU (1) AU8161898A (ja)
CA (1) CA2294323C (ja)
DE (1) DE69836924T2 (ja)
WO (1) WO1999000768A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006003856A1 (ja) * 2004-07-01 2008-04-17 松下電器産業株式会社 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路
JP2010198156A (ja) * 2009-02-24 2010-09-09 Fujitsu Semiconductor Ltd 画像描画装置

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7859551B2 (en) 1993-10-15 2010-12-28 Bulman Richard L Object customization and presentation system
US6304268B1 (en) * 1997-06-26 2001-10-16 S3 Graphics Co., Ltd. Trilinear texture filtering of two levels of detail based on a single level of detail
US6232981B1 (en) * 1998-03-26 2001-05-15 Silicon Graphics, Inc. Method for improving texture locality for pixel quads by diagonal level-of-detail calculation
US6091428A (en) * 1998-04-01 2000-07-18 Real 3D, Inc. Frame buffer memory system for reducing page misses when rendering with color and Z buffers
US7136068B1 (en) * 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US6144392A (en) * 1998-04-30 2000-11-07 Ati Technologies, Inc. Method and apparatus for formatting a texture in a frame buffer
US6078335A (en) * 1998-06-01 2000-06-20 Ati Technologies, Inc. Method and apparatus for determining level of detail for texture filtering
FR2779848B1 (fr) * 1998-06-15 2001-09-14 Commissariat Energie Atomique Procede invariant d'indexation d'une image utilisant des caracterisations fractales et par moments
US6233647B1 (en) * 1998-07-07 2001-05-15 Silicon Graphics, Inc. Hashed direct-mapped texture cache
GB2343599B (en) * 1998-11-06 2003-05-14 Videologic Ltd Texturing systems for use in three dimensional imaging systems
US6738059B1 (en) * 1998-12-18 2004-05-18 Kabushiki Kaisha Sega Enterprises Apparatus and methods for image processing using mixed display objects
US6405267B1 (en) 1999-01-22 2002-06-11 S3 Graphics Co., Ltd. Command reordering for out of order bus transfer
US6353438B1 (en) * 1999-02-03 2002-03-05 Artx Cache organization—direct mapped cache
US6342884B1 (en) * 1999-02-03 2002-01-29 Isurftv Method and apparatus for using a general three-dimensional (3D) graphics pipeline for cost effective digital image and video editing, transformation, and representation
US6919895B1 (en) * 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US8595764B2 (en) 1999-06-25 2013-11-26 Jlb Ventures, Llc Image-oriented electronic programming guide
US6825848B1 (en) * 1999-09-17 2004-11-30 S3 Graphics Co., Ltd. Synchronized two-level graphics processing cache
US6750872B1 (en) 1999-09-17 2004-06-15 S3 Graphics, Co., Ltd. Dynamic allocation of texture cache memory
US6756986B1 (en) * 1999-10-18 2004-06-29 S3 Graphics Co., Ltd. Non-flushing atomic operation in a burst mode transfer data storage access environment
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
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6433789B1 (en) * 2000-02-18 2002-08-13 Neomagic Corp. Steaming prefetching texture cache for level of detail maps in a 3D-graphics engine
US6819321B1 (en) * 2000-03-31 2004-11-16 Intel Corporation Method and apparatus for processing 2D operations in a tiled graphics architecture
US7126600B1 (en) * 2000-08-01 2006-10-24 Ati International Srl Method and apparatus for high speed block mode triangle rendering
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6784894B2 (en) * 2000-08-24 2004-08-31 Sun Microsystems, Inc. Mapping time-sorted to direction-sorted triangle vertices
FR2819082A1 (fr) * 2000-12-28 2002-07-05 Koninkl Philips Electronics Nv Composition d'une image
US6803916B2 (en) * 2001-05-18 2004-10-12 Sun Microsystems, Inc. Rasterization using two-dimensional tiles and alternating bins for improved rendering utilization
US6864900B2 (en) * 2001-05-18 2005-03-08 Sun Microsystems, Inc. Panning while displaying a portion of the frame buffer image
US6670959B2 (en) 2001-05-18 2003-12-30 Sun Microsystems, Inc. Method and apparatus for reducing inefficiencies in shared memory devices
US6833834B2 (en) 2001-12-12 2004-12-21 Sun Microsystems, Inc. Frame buffer organization and reordering
US6812929B2 (en) 2002-03-11 2004-11-02 Sun Microsystems, Inc. System and method for prefetching data from a frame buffer
US6836272B2 (en) 2002-03-12 2004-12-28 Sun Microsystems, Inc. Frame buffer addressing scheme
US7336268B1 (en) * 2002-10-30 2008-02-26 National Semiconductor Corporation Point-to-point display system having configurable connections
US6989837B2 (en) * 2002-12-16 2006-01-24 S3 Graphics Co., Ltd. System and method for processing memory with YCbCr 4:2:0 planar video data format
US7023444B2 (en) * 2003-03-20 2006-04-04 Sun Microsystems, Inc. Multi-texturing by walking an appropriately-sized supertile over a primitive
CN1781121A (zh) * 2003-04-29 2006-05-31 皇家飞利浦电子股份有限公司 分段精化
US7528840B1 (en) * 2003-10-01 2009-05-05 Apple Inc. Optimizing the execution of media processing routines using a list of routine identifiers
US7324117B1 (en) * 2004-03-29 2008-01-29 Nvidia Corporation Method and apparatus for using non-power of two dimension texture maps
US6940514B1 (en) * 2004-04-26 2005-09-06 Sun Microsystems, Inc. Parallel initialization path for rasterization engine
US8223845B1 (en) 2005-03-16 2012-07-17 Apple Inc. Multithread processing of video frames
US7542043B1 (en) * 2005-05-23 2009-06-02 Nvidia Corporation Subdividing a shader program
TWI273510B (en) * 2005-09-05 2007-02-11 Via Tech Inc 3D graphics processing method and device
JP4977712B2 (ja) * 2005-12-01 2012-07-18 スウィフトフット グラフィックス アーベー ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法
JP5079341B2 (ja) * 2006-06-01 2012-11-21 株式会社リコー 印刷データ処理装置
AU2008316530A1 (en) * 2007-10-26 2009-04-30 Tomtom International B.V. A method of creating map data
US8509569B2 (en) * 2008-02-11 2013-08-13 Apple Inc. Optimization of image processing using multiple processing units
ITMI20080999A1 (it) * 2008-05-29 2009-11-30 St Microelectronics Srl Modulo di renderizzazione per grafica a due dimensioni
US8681169B2 (en) * 2009-12-31 2014-03-25 Nvidia Corporation Sparse texture systems and methods
US8823724B2 (en) * 2009-12-31 2014-09-02 Nvidia Corporation Sparse texture systems and methods
US8860743B2 (en) * 2009-12-31 2014-10-14 Nvidia Corporation Sparse texture systems and methods
CN104346770A (zh) * 2013-07-24 2015-02-11 联咏科技股份有限公司 数据插补方法及数据插补系统
KR102477265B1 (ko) * 2015-09-24 2022-12-13 삼성전자주식회사 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법
CN109191557B (zh) * 2018-09-11 2023-05-02 中国科学院国家天文台 立体地形图的影像纹理映射方法及装置
US10657699B1 (en) * 2018-12-08 2020-05-19 Arm Limited Performing texturing operations for sets of plural execution threads in graphics processing systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377320A (en) * 1992-09-30 1994-12-27 Sun Microsystems, Inc. Method and apparatus for the rendering of trimmed nurb surfaces
US5801714A (en) * 1995-05-01 1998-09-01 Intergraph Corporation Vertex list management system
US5574836A (en) * 1996-01-22 1996-11-12 Broemmelsiek; Raymond M. Interactive display apparatus and method with viewer position compensation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006003856A1 (ja) * 2004-07-01 2008-04-17 松下電器産業株式会社 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路
JP4691494B2 (ja) * 2004-07-01 2011-06-01 パナソニック株式会社 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路
JP2010198156A (ja) * 2009-02-24 2010-09-09 Fujitsu Semiconductor Ltd 画像描画装置

Also Published As

Publication number Publication date
AU8161898A (en) 1999-01-19
EP1066600A1 (en) 2001-01-10
EP1066600A4 (en) 2004-03-24
CA2294323C (en) 2006-05-30
JP4203128B2 (ja) 2008-12-24
DE69836924D1 (de) 2007-03-08
EP1066600B1 (en) 2007-01-17
DE69836924T2 (de) 2007-11-08
CA2294323A1 (en) 1999-01-07
US5945997A (en) 1999-08-31
WO1999000768A1 (en) 1999-01-07

Similar Documents

Publication Publication Date Title
JP4203128B2 (ja) 3次元の三角形描画におけるブロック及びバンド志向走査
US6407736B1 (en) Deferred scanline conversion architecture
JP4540753B2 (ja) グラフィックオブジェクトを画像チャンクにレンダリングして、画像層を表示画像に組み合わせる方法及びシステム
US6611272B1 (en) Method and apparatus for rasterizing in a hierarchical tile order
US7164426B1 (en) Method and apparatus for generating texture
JP3645024B2 (ja) 描画装置及び描画方法
JPH08161509A (ja) テクスチャ・マッピングを行うコンピュータ・システム
JP2000149048A (ja) 実時間ボリュ―ムレンダリングを可能にする方法
JP2002504251A (ja) 無停止要求テクスチャキャッシュシステム及び方法
KR100701445B1 (ko) Z-버퍼를 렌더링하기 위한 방법 및 장치
JP2882465B2 (ja) 画像生成方法およびその装置
EP1434171A2 (en) Method and system for texture mapping a source image to a destination image
CN104796649B (zh) 一种三维投影的方法及装置
US20020101435A1 (en) Apparatus and method for rendering antialiased image
US6982719B2 (en) Switching sample buffer context in response to sample requests for real-time sample filtering and video generation
JP2003529860A (ja) タイル型グラフィックス・アーキテクチャ
JP2000182069A (ja) 画像処理装置およびその方法
US20030231180A1 (en) Image processing apparatus and method of same
CN109829970B (zh) 一种基于不等尺寸分块的海量数据并行体绘制方法
JP3548648B2 (ja) 描画装置及び描画方法
JP3971448B2 (ja) 描画装置及び描画方法
JP3934111B2 (ja) 描画装置及び描画方法
US20020101420A1 (en) Triangle shading method for a 3D graphic system
JPH09245194A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050510

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20070328

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070328

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080808

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111017

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111017

Year of fee payment: 3

R154 Certificate of patent or utility model (reissue)

Free format text: JAPANESE INTERMEDIATE CODE: R154

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

Free format text: PAYMENT UNTIL: 20121017

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131017

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term