JP2002519769A - 画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置 - Google Patents
画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置Info
- Publication number
- JP2002519769A JP2002519769A JP2000556341A JP2000556341A JP2002519769A JP 2002519769 A JP2002519769 A JP 2002519769A JP 2000556341 A JP2000556341 A JP 2000556341A JP 2000556341 A JP2000556341 A JP 2000556341A JP 2002519769 A JP2002519769 A JP 2002519769A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- scan line
- gradient
- texture
- calculated
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
Description
は画素ごとのMIPマッピングおよび三線フィルタリングの改良された方法およ
び装置を開示する。
独立に制御される小さなドット、または画素の集合として画像を処理することに
よって生成される。コンピュータ・グラフィック画像は通常、背景画像上にレン
ダリングされたいくつかの対象物体で構成される。それぞれの対象物体は複数の
画素からなる。レンダリング中、複合技法を使用して、対象物体をすでに生成さ
れた対象物体と組み合わせることができ、この場合、複合とは、画像同士を重ね
合わせるか、あるいは混合することによって複数の画像を組み合わせることであ
る。複合画像では、各画素の値は画像成分から計算される。
ャ、正しい視点、および影付けを用いるグラフィックス環境を示す。典型的な3
Dグラフィックス・システムは一般に、コンピュータ・グラフィックス開発者に
より優れた、より現実的なグラフィックス環境を作成させる一連の技法を実施す
る。これらの技法のいくつかを以下に詳しく説明する。
して生成される平坦な形状である。たとえば、様々な形状を作成するために三角
形が頻繁に使用される。多角形は、平坦に見える単一の色を有する画素を使用す
るか、あるいは距離や場面の照明に基づいて少しずつ暗く見えるように色が変化
するようにシェーディングが施された画素を使用してレンダリングすることがで
きる。
デルの対応する色値を有する。カラー・モデルは、3D色座標系と、特定の色域
内のすべての色が存在する座標系内の可視サブセットとで表すことができる。こ
の場合、色域とはすべての可視色度のサブセットである。たとえば、赤(R)、
緑(G)、青(B)のカラー・モデル(RGB)は3Dデカルト座標系の単位立
方体サブセットである。カラー・モデルの目的は、ある色域内で色を好都合に指
定することを可能にすることである。RGB原色は、各原色の個々の寄与が互い
に加算されて結果的な画素が生成されるという点で加法原色である。複合マルチ
メディア画像内の各画素の色値は、画像成分からある方法で計算される。
ーリングし、多角形上にマッピングすることによって現実的で、細部まで表現さ
れた印象的な場面を作成することができる技法である。単に多角形を赤くシェー
ディングする代わりに、テクスチャ・マッピングを使用すれば、現実的なレンガ
壁のように見せることができる。
ピングの可視品質を改善し、同時に性能を最適化するために使用される技法であ
る。この技法は、各テクスチャ・マップが異なる解像度でレンダリングされた、
複数のテクスチャ・マップを各テクスチャごとに有することによって機能する。
この場合、様々なテクスチャ・マップを使用して画像が様々な距離に表される。
双線形フィルタリングを使用してテクスチャ・マッピングの可視品質を改善する
こともできる。双線形フィルタリングは、テクスチャ・マップから得た4つの取
り囲んでいるテクセルを使用して、3D空間内の任意の所与の画素の値をより厳
密に計算する。テクセルとはテクスチャ・マップ内のドットであり、それに対し
て画素とは画面上のドットを指す。
あり、第3の次元へのフィルタリングを使用する。三線フィルタリングを用いた
場合、結果として得られる画素は、2つの最も近くのMIPマップから得た4つ
の取り囲んでいるテクセルを平均した値である。三線フィルタリングでは、テク
スチャ・マッピングの可視品質が向上するが、双線形フィルタリングとは異なり
1画素当たり4回のメモリ読取りではなく1画素当たり8回のメモリ読取りと、
どのMIPマップから読み取るべきかを判定するための計算とが必要になる。こ
れを正確に計算するには非常にコストがかかる。この計算には、詳細レベル(L
OD)の計算が含まれる。この場合、次式が成立する。
になる。
してdu/dx、dv/dx、du/dy、およびdv/dyを計算する。追加
の乗算器および加算器を使用してこれらの値のそれぞれの2乗を計算する。極め
て高い処理機能を有するシステムでは、4回の追加のメモリ読取りを実行するコ
ストが三線フィルタリングを制限することはない。しかし、パーソナル・コンピ
ューティング環境など、より処理能力の低い環境では、三線フィルタリングを実
施すると必ず性能に影響が及ぶ。したがって、性能に影響を与えない三線フィル
タリングを行うための改良された費用効果の高い方法が極めて望ましい。
ダリングする際に実行される計算の数を削減することによって三線フィルタリン
グの性能が改善される、画素ごとのMIPマッピングおよび三線フィルタリング
のための方法および装置を提供する。一実施態様では、各スキャンラインの開始
位置で1度だけ、スキャンラインのx座標に対する2つのテクスチャ値のそれぞ
れのスキャンライン・グラジェント(gradient:勾配)が計算される。各スキャ
ンラインの開始位置でのスキャンライン勾配計算の後で、スキャンラインのy座
標に対してスキャンラインの各画素ごとに画素勾配が計算される。スキャンライ
ン勾配の2乗の和と画素勾配の2乗の和とが比較され、この2つの数量のうちの
大きい方が、対応する画素の最大Rho定数項として選択される。最大Rho定
数を使用して、スキャンラインの各画素ごとに詳細レベル(Level of Detail:L
OD)が計算される。各画素のLOD値を使用して、対応する画素をレンダリン
グするためのテクスチャ・マップが選択される。
ャ値のそれぞれのスキャンライン勾配が計算され、各スキャンライン開始位置で
のスキャンライン勾配計算の後で、スキャンラインのy座標に対してスキャンラ
インの第1の画素に対して2つのテクスチャ値のそれぞれについて画素勾配が計
算される。画素勾配に関する導関数が計算され、この導関数を使用して画素勾配
が求められ、それによって各画素ごとの画素勾配の計算が不要になる。スキャン
ライン勾配の2乗の和と画素勾配の2乗の和とが比較され、この2つの量のうち
の大きい方が、対応する画素の最大Rho定数項として選択される。最大Rho
定数を使用してLODが計算され、各画素のLOD値を使用して、対応する画素
をレンダリングするためのテクスチャ・マップが選択される。
参照符号は同様な要素を指す。
良された方法および装置を開示する。以下の詳細な説明では、本発明を完全に理
解していただくために、多数の特定の詳細について述べる。当業者には、これら
の特定の詳細を使用せずに本発明を実施できることが理解されよう。他の例では
、本発明を不必要に曖昧にしないように、周知の構造、インタフェース、および
プロセスは詳しく示していない。
コンピュータ・システム1は、システム・バス30によってシステム・メモリ2
0に結合された中央演算処理装置(CPU)10を含む。CPU10およびメモ
リ20は、バス・インタフェース50を通しシステム・バス30を介して周辺要
素相互接続(PCI)バス40に結合される。PCIバス40には、グラフィッ
クス/ビデオ・アクセレレータ・カード60と様々な周辺装置80、90が結合
されている。グラフィックス/ビデオ・アクセレレータ・カード60はディスプ
レイ/モニタ70に結合されている。
実施形態のグラフィックス/ビデオ・アクセレレータ・カード60内に含まれる
例示的な回路を示す。PCIインタフェース100は、グラフィックス/ビデオ
・アクセレレータ・カード60をPCIバス40に結合する。グラフィックス・
プロセッサ102は、PCIインタフェース100に結合され、様々なグラフィ
ックス処理機能およびビデオ処理機能を実行するように設計されている。グラフ
ィックス・プロセッサ102は通常、RISC(縮小命令セット・コンピューテ
ィング)プロセッサである。
のように、三線フィルタリングやMIPマッピングなど様々なグラフィックス機
能を実行する回路を含む。ローカル・ランダム・アクセス・メモリ(RAM)1
10は、送信元画素色値と宛先画素色値の両方を記憶する。宛先色値は、メモリ
100内のフレーム・バッファ112に記憶される。好ましい実施形態では、メ
モリ110としてはダイナミックRAM(DRAM)が使用される。ディスプレ
イ・コントローラ114がRAM110および先入先出しバッファ(FIFO)
116に結合されている。ディスプレイ・コントローラ114の制御下で、フレ
ーム・バッファ112に記憶されている宛先色値がFIFO116に供給される
。FIFO116に記憶されている宛先値は1組のデジタル・アナログ変換器(
DAC)118に供給され、デジタル・アナログ変換器118は赤、緑、青のア
ナログ色信号をモニタ70に出力する。
ントローラ108はRAM110と画素エンジン120とグラフィックス・プロ
セッサ102の両方との間のデータの転送を制御する。命令キャッシュ104お
よびデータ・キャッシュ106はそれぞれ、グラフィックス・プロセッサ102
およびメモリ・コントローラ108に結合され、それぞれ、頻繁に使用される命
令およびデータを記憶するために使用される。データ・キャッシュ106は、P
CIインタフェース100および画素エンジン120にも結合されている。
D画像をレンダリングするためにスキャンライン・アルゴリズムと共に使用され
る。3D画像をレンダリングする際、複数の画素をレンダリングすることによっ
て複数の多角形または三角形が形成される。三角形の画素をレンダリングするた
めにスキャンライン・アルゴリズムが使用される。図3は、一実施形態の三角形
300および対応するスキャンライン302および画素304である。三角形エ
ンジンは、後述のように、画素をレンダリングするためのすべての計算を実行す
る。
テクスチャ・マッピングが使用される。一実施形態のテクスチャ・マッピングは
一連の空間変形を含む。この変形は、テクスチャ平面[u、v]が3D表面[x
、y、z]に変形され、次いで出力画面[x、y]上に投影される。テクスチャ
・マッピングは、単に、壁紙と同様に表面上に画像ディテールを付与することに
よって、画像上に複雑な外観を作成する働きをする。テクスチャは一般に、目標
の表面上に色をマッピングするために使用された画像とされている。さらに、面
法線を摂動し、したがって、こぶおよびしわを、そのような摂動をモデル化する
必要なしにシミュレートさせるのにテクスチャが使用される。
憶するためにMIPマップが使用される。図4は、RGBカラー・モデルを使用
する一実施形態のMIPマップ・メモリ構成である。このMIPマップは三線補
間をサポートする。この補間では、3つの正規化座標u、v、およびqを使用し
てレベル内補間およびレベル間補間を計算することができる。uとvは共に、テ
クスチャ・マップ内の点にアクセスするために使用される空間座標である。q座
標は、角錐の様々なレベルにインデックス付けし、それらのレベル同士を補間す
るために使用される。RGBカラー・モデルでは、東側境界および南側境界に接
触している象限は、色画像の最初の赤成分、緑成分、および青成分を含む。残り
の左上の象限はオリジナルのすべてのより低い解像度のコピーを含む。各レベル
は、[u、v、q]座標系によってインデックス付けされるが、この実施形態は
このように制限されるわけではない。三線補間または三線フィルタリングは、[
u、v、q]座標系を使用して行うことができる。qの値は、エイリアシングと
ブラーリングとのトレードオフをバランスさせる式を使用して選択され、この式
は、次式のように、表面投影を使用して部分導関数を計算する。
るテクセルから、結果として得られる画素を判定するために、三線フィルタリン
グが使用される。一実施形態の三線フィルタリングを実行する際、特定の画素を
レンダリングするうえで使用されるMIPレベルを選択するために、最大スケー
ル・ファクタRhoが使用される。Rhoとは、送信元テクセルと画面画素との
最大の比であり、次式を使用して計算される。
D)は、選択される実際のMIPレベルであり、次式のように定義される。
て実現される。 du/dx=d((u*q)/q)/dx=(q*dup/dx−up * dq/dx)/(q*q) (3) 上式で、up=u*qである(すなわち、三角形を描画する際に反復される遠近法
によって補正されるu)。同様に、次式が示される。 dv/dx=(q*dvp/dx−vp*dq/dx)/(q*q) (4) du/dy=(q*dup/dy−up*dq/dy)/(q*q)および (5) dv/dy=(q*dvp/dy−vp*dq/dy)/(q*q) (6)
。 c1=(q*dup/dx−up *dq/dx) (7) c2=(q*dvp/dx−vp *dq/dx) (8) c3=(q*dup/dy−up *dq/dy)および (9) c4=(q*dvp/dy−vp *dq/dy) (10) 上式で、uおよびvはテクスチャ値であり、xおよびyはテクセルの画面位置値
であり、qは距離値である。したがって、数式7〜10を使用して次式が示され
る。 Rho’=MAX[(c1*c1+c2*c2)/(q*q*q*q), (11) (c3*c3+c4*c4)/(q*q*q*q)] (12) 上式は次式を意味する。 Rho’=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)
]/(q*q*q*q) (13) および
ラインの開始位置でのみある項を計算することにより、グラフィックスをレンダ
リングする際に実行される計算の数を削減し、それによって三線フィルタリング
の性能が改善される。上記の数式中のc1およびc2の導関数はゼロであり、し
たがって、c1およびc2はスキャンラインに沿った定数であり、この場合、ス
キャンラインは、y軸に沿って単一の値を有し、かつx軸に沿って増減する値を
有する。したがって、一実施形態によれば、数量(c1*c1+c2*c2)は各
スキャンラインの開始位置で1度だけ計算され、それに対して、数量( c3*c
3+c4*c4 )は、スキャンラインに沿って各点ごと、あるいは各画素ごとに
計算される。数量(c1*c2+c2*c2)を各スキャンラインごとに1度計算
するだけでよく、かつ数量(c3*c3+c4*c4)の計算がスキャンラインに
沿った各画素ごとに上記の計算に従うので、この実施形態では、数量( c1*c
1+c2*c2 )および数量(c3*c3+c4*c4)を計算する際に同じ乗算
器ユニットを使用することができる。というのは、これらの値が同時に計算され
ることはないからである。
関するフローチャートである。演算はステップ502から開始し、レンダリング
すべき多角形のスキャンラインが選択される。各スキャンラインの開始位置で、
三角形エンジンはステップ504で、数式7および数式8を使用し、スキャンラ
インのx座標に対する2つのテクスチャ値のそれぞれのスキャンライン勾配を計
算する。これらのスキャンライン勾配を使用して数量(c1*c1+c2*c2)
が計算される。一実施形態では、これらの計算は、各スキャンラインごとに6回
の乗算、2回の減算、および1回の加算を使用して行われるが、この実施形態は
このように制限されるわけではない。この実施形態は6つの乗算器を使用するの
で、Rhoを単一のクロック・サイクルで計算することができる。
ジンはステップ506で、スキャンラインのy座標に対するスキャンラインの各
画素の画素勾配を計算する。画素勾配は、数式9および数式10を使用して2つ
のテクスチャ値のそれぞれについて計算される。この画素勾配を使用して数量(
c3*c3+c4*c4)が計算される。ステップ508で、数量(c1*c1+
c2*c2)が数量(c3*c3+c4*c4)と比較され、ステップ510で、
この2つの数量のうちの大きい方が、対応する画素に関する最大Rho定数項と
して選択される。一実施形態では、最大Rho定数計算は、各画素ごとに6回の
乗算、2回の減算、1回の加算、および1回の比較演算を使用して行われるが、
この実施形態はこのように制限されるわけではない。
使用してスキャンラインの各画素ごとにLODを計算する。各画素のLOD値は
、ステップ514で、対応する画素をレンダリングするためのテクスチャ・マッ
プを選択するために使用される。画素は、ステップ516でレンダリングされる
。ステップ518で、スキャンラインのすべての画素がレンダリングされている
かどうかが判定される。現在のスキャンラインのすべての画素がレンダリングさ
れているわけではない場合、演算はステップ506に進み、スキャンラインの他
の画素について画素勾配が計算される。現在のスキャンラインのすべての画素が
レンダリングされている場合、演算はステップ520に進み、現在の多角形のす
べてのスキャンラインがレンダリングされているかどうかが判定される。現在の
多角形のすべてのスキャンラインがレンダリングされているわけではない場合、
演算はステップ502に進み、多角形の新しいスキャンラインがレンダリングす
べきスキャンラインとして選択される。現在の多角形のすべてのスキャンライン
がレンダリングされている場合、現在の多角形に関する演算は終了する。
ラインの開始位置でのみある項を計算することによりグラフィックスをレンダリ
ングする際に実行される計算の数を削減することによって三線フィルタリングの
性能が改善される。前述のように、c1およびc2はスキャンラインに沿った定
数であり、したがって、数量(c1*c1+c2*c2)は各スキャンラインの開
始位置で1度だけ計算される。さらに、数式9および数式10中のc3およびc
4が線形数量であることに留意されたい。したがって、画素(x、y)、すなわ
ちスキャンラインの開始位置で数量(c3*c3+c4*c4)が計算された場合
、画素(x+1、y)、すなわちスキャンライン上の次の画素については次式が
成立し、 (c3*c3+c4*c4)= [(c3+delta_c3)*(c3+delta_c3)+(c4+ delta_c4)*(c4+delta_c4)]= [c3*c3+2*c3*delta_c3+delta_c3*delta_
c3+c4*c4+2*c4*delta_c4+delta_c4*delta_
c4] (15) 画素(x+2、y)については次式が成立する。 (c3*c3+c4*c4)= [(c3+delta_c3)*(c3+delta_c3)+(c4+ delta_c4)*(c4+delta_c4)]= [c3*c3+4*c3*delta_c3+4*delta_c3*delt
a_c3+c4*c4+4*c4*delta_c4+4*delta_c4*de
lta_c4] (16) したがって、各スキャンラインの開始位置でc3およびc4の導関数が計算され
た場合、そのスキャンラインに沿った各画素ごとにc3およびc4が計算される
ことはない。
関するフローチャートである。演算はステップ602から開始し、レンダリング
すべき多角形のスキャンラインが選択される。各スキャンラインの開始位置で、
三角形エンジンは、ステップ604で、数式7および数式8を使用し、スキャン
ラインのx座標に対する2つのテクスチャ値のそれぞれのスキャンライン勾配を
計算する。これらのスキャンライン勾配を使用して数量(c1*c1+c2*c2
)が計算される。各スキャンラインの開始位置でのスキャンライン勾配計算の後
で、三角形エンジンは、ステップ606で、スキャンラインのy座標に対するス
キャンラインの第1の画素の画素勾配を計算する。画素勾配は、数式9および数
式10を使用して2つのテクスチャ値のそれぞれについて計算される。ステップ
608で、次式および数式15に従って画素勾配に関する導関数が計算される。 delta_c3=(dq/dx*dup/dy−dup/dx*dq/dy)
(17) delta_c4=(dq/dx*dvp/dy−dvp/dx*dq/dy)
(18) この導関数を使用して各画素ごとに画素勾配が求められ、したがって、各画素の
画素勾配を別々に計算することが不要になる。数量(c1*c1+c2*c2)は
、スキャンライン勾配を使用して計算され、数量(c3*c3+c4*c4)は、
画素勾配を使用して計算される。一実施形態では、これらの計算は、各スキャン
ラインごとに20回の乗算、6回の減算、5回の加算、および2回の左シフト演
算を使用して行われるが、この実施形態はこのように制限されるわけではない。
一実施形態では、10個の乗算器を使用して各スキャンラインごとに2クロック
・サイクルにわたって最大Rho定数が計算され、この計算は、現在のスキャン
ラインについて画素がレンダリングされている間、連続するスキャンラインにつ
いて実行することができる。
応する画素に関する最大Rho定数項として選択される。一実施形態では、最大
Rho定数計算は、各画素ごとに2回の加算および1回の比較演算を使用して行
われるが、この実施形態はこのように制限されるわけではない。
を使用してスキャンラインの各画素ごとにLODを計算する。各画素のLOD値
は、ステップ616で、対応する画素をレンダリングするためのテクスチャ・マ
ップを選択するために使用される。画素は、ステップ618でレンダリングされ
る。ステップ620で、スキャンラインのすべての画素がレンダリングされてい
るかどうかが判定される。現在のスキャンラインのすべての画素がレンダリング
されているわけではない場合、演算はステップ610に進む。現在のスキャンラ
インのすべての画素がレンダリングされている場合、演算はステップ622に進
み、現在の多角形のすべてのスキャンラインがレンダリングされているかどうか
が判定される。現在の多角形のすべてのスキャンラインがレンダリングされてい
るわけではない場合、演算はステップ602に進み、多角形の新しいスキャンラ
インがレンダリングすべきスキャンラインとして選択される。現在の多角形のす
べてのスキャンラインがレンダリングされている場合、現在の多角形に関する演
算は終了する。
および装置を開示する。本明細書で説明するこれらの特定の構成および方法は本
発明の原則を例示するものに過ぎない。当業者によって、本発明の範囲から逸脱
せずに形態および詳細に多数の修正を加えることができる。特定の好ましい実施
形態に関して本発明を示したが、本発明をそのように制限されるものとみなすべ
きではない。本発明は、添付の特許請求の範囲によってのみ制限される。
例示的な回路を示す図である。
。
す図である。
ローチャートである。
ローチャートである。
Claims (26)
- 【請求項1】 3次元(3D)グラフィックスを生成する方法であって、 スキャンラインの第1の位置座標に関して複数のテクスチャ値のそれぞれに対
してスキャンラインの開始位置で1度だけスキャンライン勾配を計算して、画素
をレンダリングする際に使用する1つのテクスチャ・マップを複数のテクスチャ
・マップから選択するステップと、 画素をレンダリングするテクスチャ・マップを選択するために最大スケール・
ファクタを使用し、スキャンライン勾配を使用すると共に画素勾配と画素勾配の
導関数のうちの少なくとも一方を使用して各画素に対して最大スケール・ファク
タを計算するステップと を含む方法。 - 【請求項2】 スキャンライン勾配が、スキャンラインの開始位置で1度だ
け2つのテクスチャ値のそれぞれについて計算され、スキャンライン勾配が次式
を使用して計算され、 c1=(q*dup/dx−up *dq/dx) c2=(q*dvp/dx−vp *dq/dx) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項1に記載の方法。 - 【請求項3】 スキャンラインの各画素ごとに1度だけ、スキャンラインの
第2の位置座標に対する複数のテクスチャ値のそれぞれの画素勾配が計算され、
前記画素勾配が、最大スケール・ファクタを計算するために使用される請求項1
に記載の方法。 - 【請求項4】 画素勾配が、2つのテクスチャ値のそれぞれについて計算さ
れ、スキャンライン画素勾配が次式を使用して計算され、 c3=(q*dup/dy−up *dq/dy) c4=(q*dvp/dy−vp *dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項3に記載の方法。 - 【請求項5】 最大スケール・ファクタがRhoであり、Rhoが送信元テ
クセルと画面画素との最大の比であり、Rhoが、次式を使用して計算される、 Rho=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)]/
(q*q) 請求項4に記載の方法。 - 【請求項6】 画素勾配の導関数が、各スキャンラインごとに、スキャンラ
インの開始位置で1度だけ複数のテクスチャ値のそれぞれについて計算され、前
記画素勾配の前記導関数が、最大スケール・ファクタを計算するために使用され
る請求項1に記載の方法。 - 【請求項7】 画素勾配の導関数が、2つのテクスチャ値のそれぞれについ
て計算され、前記画素勾配の前記導関数が次式を使用して計算され、 delta c3=(dq/dx*dup/dy−dup/dx*dq/dy) delta c4=(dq/dx*dvp/dy−dvp/dx*dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項6に記載の方法。 - 【請求項8】 さらに、各テクスチャ・マップが異なる解像度でレンダリン
グされる、複数のテクスチャのそれぞれについて複数のテクスチャ・マップを生
成するステップを含む請求項1に記載の方法。 - 【請求項9】 第1の位置座標がX座標であり、第2の位置座標がY座標で
ある請求項1に記載の方法。 - 【請求項10】 さらに、詳細レベル(LOD)を計算するステップを含み
、 LOD=log2(Rho)であり、 前記LODが、画素をレンダリングするためのテクスチャ・マップを選択する
ために使用される請求項1に記載の方法。 - 【請求項11】 メモリと、 メモリに結合され、複数のテクスチャ・マップのうちの画素をレンダリングす
る際に使用すべき1つのテクスチャ・マップを選択するようにメモリに結合され
たプロセッサ・サブシステムとを備え、各スキャンラインごとに、スキャンライ
ンの開始位置で1度だけ、スキャンラインの第1の位置座標に対する複数のテク
スチャ値のそれぞれのスキャンライン勾配が計算され、前記プロセッサ・サブシ
ステムが、スキャンライン勾配を使用すると共に画素勾配と画素勾配の導関数の
うちの少なくとも一方を使用して各画素ごとに最大スケール・ファクタを計算し
、最大スケール・ファクタが、画素をレンダリングするためのテクスチャ・マッ
プを選択するために使用されるコンピュータ・システム。 - 【請求項12】 プロセッサ・サブシステムが、スキャンラインの開始位置
で1度だけ、2つのテクスチャ値のそれぞれのスキャンライン勾配を計算し、ス
キャンライン勾配が次式を使用して計算され、 c1=(q*dup/dx−up *dq/dx) c2=(q*dvp/dx−vp *dq/dx) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項11に記載のコンピュータ・システム。 - 【請求項13】 プロセッサ・サブシステムが、スキャンラインの各画素ご
とに1度だけ、スキャンラインの第2の位置座標に対する複数のテクスチャ値の
それぞれの画素勾配を計算し、前記画素勾配が、最大スケール・ファクタを計算
するために使用される請求項11に記載のコンピュータ・システム。 - 【請求項14】 画素勾配が、2つのテクスチャ値のそれぞれについて計算
され、スキャンライン画素勾配が次式を使用して計算され、 c3=(q*dup/dy−up *dq/dy) c4=(q*dvp/dy−vp *dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項13に記載のコンピュータ・システム。 - 【請求項15】 最大スケール・ファクタがRhoであり、Rhoが送信元
テクセルと画面画素との最大の比であり、Rhoが、次式を使用して計算される
、 Rho=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)]/
(q*q) 請求項14に記載のコンピュータ・システム。 - 【請求項16】 プロセッサ・システムが、各スキャンラインごとに、スキ
ャンラインの開始位置で1度だけ、複数のテクスチャ値のそれぞれの画素勾配の
導関数を計算し、前記画素勾配の前記導関数が、最大スケール・ファクタを計算
するために使用される請求項11に記載のコンピュータ・システム。 - 【請求項17】 プロセッサ・サブシステムが、2つのテクスチャ値のそれ
ぞれについて画素勾配の導関数を計算し、前記画素勾配の前記導関数が次式を使
用して計算され、 delta c3=(dq/dx*dup/dy−dup/dx*dq/dy) delta c4=(dq/dx*dvp/dy−dvp/dx*dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項16に記載のコンピュータ・システム。 - 【請求項18】 プロセッサ・サブシステムがさらに、 各テクスチャ・マップが異なる解像度でレンダリングされる、複数のテクスチ
ャのそれぞれについて複数のテクスチャ・マップを生成し、 LOD=log2(Rho)であり、画素をレンダリングするためのテクスチ
ャ・マップを選択するために使用される詳細レベル(LOD)を、計算するよう
に構成される請求項11に記載の方法。 - 【請求項19】 処理システム内で実行されたときに、3次元(3D)グラ
フィックスを生成するステップをシステムに実行させる実行可能な命令を含むコ
ンピュータ可読媒体であって、前記ステップが、 各スキャンラインごとに、スキャンラインの開始位置で1度だけ、スキャンラ
インの第1の位置座標に対する複数のテクスチャ値のそれぞれのスキャンライン
勾配を計算して、複数のテクスチャ・マップのうちの画素をレンダリングする際
に使用すべき1つのテクスチャ・マップを選択するステップと、 最大スケール・ファクタが、画素をレンダリングするためのテクスチャ・マッ
プを選択するために使用される、スキャンライン勾配を使用すると共に画素勾配
と画素勾配の導関数のうちの少なくとも一方を使用して各画素ごとに最大スケー
ル・ファクタを計算するステップとを含むコンピュータ可読媒体。 - 【請求項20】 前記命令が、システムに、スキャンラインの開始位置で1
度だけ、2つのテクスチャ値のそれぞれのスキャンライン勾配を計算させ、スキ
ャンライン勾配が次式を使用して計算され、 c1=(q*dup/dx−up *dq/dx) c2=(q*dvp/dx−vp *dq/dx) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項19に記載のコンピュータ可読媒体。 - 【請求項21】 前記命令が、システムに、スキャンラインの各画素ごとに
1度だけ、スキャンラインの第2の位置座標に対する複数のテクスチャ値のそれ
ぞれの画素勾配を計算させ、前記画素勾配が、最大スケール・ファクタを計算す
るために使用される請求項19に記載のコンピュータ・システム。 - 【請求項22】 前記命令が、システムに2つのテクスチャ値のそれぞれに
ついて画素勾配を計算させ、スキャンライン画素勾配が次式に従って計算され、 c3=(q*dup/dy−up *dq/dy) c4=(q*dvp/dy−vp *dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項21に記載のコンピュータ可読媒体。 - 【請求項23】 最大スケール・ファクタがRhoであり、Rhoが送信元
テクセルと画面画素との最大の比であり、前記命令が、システムに、次式に従っ
てRhoを計算させる、 Rho=MAX[sqrt(c1*c1+c2*c2), sqrt(c3*c3+c4*c4)]/(q*q) 請求項22に記載のコンピュータ可読媒体。 - 【請求項24】 前記命令がシステムに、各スキャンラインごとに、スキャ
ンラインの開始位置で1度だけ、複数のテクスチャ値のそれぞれの画素勾配の導
関数を計算させ、前記画素勾配の前記導関数が、最大スケール・ファクタを計算
するために使用される請求項19に記載のコンピュータ可読媒体。 - 【請求項25】 前記命令が、システムに、2つのテクスチャ値のそれぞれ
について画素勾配の導関数を計算させ、前記画素勾配の前記導関数が次式に従っ
て計算され、 delta c3=(dq/dx*dup/dy−dup/dx*dq/dy) delta c4=(dq/dx*dvp/dy−dvp/dx*dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項24に記載のコンピュータ可読媒体。 - 【請求項26】 前記命令が、システムにさらに、 各テクスチャ・マップが異なる解像度でレンダリングされる、複数のテクスチ
ャのそれぞれについて複数のテクスチャ・マップを生成するステップと、 LOD=log2(Rho)であり、画素をレンダリングするためのテクスチ
ャ・マップを選択するために使用される詳細レベル(LOD)を、計算するステ
ップを実行させる請求項19に記載のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/104,160 US6469700B1 (en) | 1998-06-24 | 1998-06-24 | Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps |
US09/104,160 | 1998-06-24 | ||
PCT/US1999/014488 WO1999067748A2 (en) | 1998-06-24 | 1999-06-24 | An improved method and apparatus for per pixel mip mapping and trilinear filtering |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002519769A true JP2002519769A (ja) | 2002-07-02 |
JP4160261B2 JP4160261B2 (ja) | 2008-10-01 |
Family
ID=22298959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000556341A Expired - Fee Related JP4160261B2 (ja) | 1998-06-24 | 1999-06-24 | 画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6469700B1 (ja) |
JP (1) | JP4160261B2 (ja) |
KR (1) | KR100567204B1 (ja) |
AU (1) | AU4961299A (ja) |
CA (1) | CA2301607C (ja) |
WO (1) | WO1999067748A2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6163320A (en) * | 1998-05-29 | 2000-12-19 | Silicon Graphics, Inc. | Method and apparatus for radiometrically accurate texture-based lightpoint rendering technique |
GB2343599B (en) * | 1998-11-06 | 2003-05-14 | Videologic Ltd | Texturing systems for use in three dimensional imaging systems |
US6975320B1 (en) * | 2000-12-12 | 2005-12-13 | Micron Technology, Inc. | Method and apparatus for level-of-detail computations |
US6836562B2 (en) * | 2001-04-09 | 2004-12-28 | Mitsubishi Electric Research Laboratories, Inc. | Method for determining the shape of objects directly from range images |
US7116841B2 (en) * | 2001-08-30 | 2006-10-03 | Micron Technology, Inc. | Apparatus, method, and product for downscaling an image |
US6940511B2 (en) | 2002-06-07 | 2005-09-06 | Telefonaktiebolaget L M Ericsson (Publ) | Graphics texture processing methods, apparatus and computer program products using texture compression, block overlapping and/or texture filtering |
US20050017982A1 (en) * | 2003-07-23 | 2005-01-27 | Kane Francis James | Dynamic imposter generation with MIP map anti-aliasing |
KR20070016851A (ko) * | 2005-08-05 | 2007-02-08 | (주)지큐소프트 | 통합 cdma 환경 3d 가속 엔진 |
KR100649111B1 (ko) * | 2005-09-21 | 2006-11-27 | 한국과학기술원 | 3차원 그래픽 시스템의 연산장치 및 그 방법 |
KR100908123B1 (ko) * | 2006-05-26 | 2009-07-16 | 삼성전자주식회사 | 원근 보정을 수행하는 3차원 그래픽 처리 방법 및 장치 |
US8300050B2 (en) * | 2006-11-28 | 2012-10-30 | Adobe Systems Incorporated | Temporary low resolution rendering of 3D objects |
US8059124B2 (en) * | 2006-11-28 | 2011-11-15 | Adobe Systems Incorporated | Temporary non-tiled rendering of 3D objects |
KR101983833B1 (ko) | 2012-06-26 | 2019-09-04 | 삼성전자주식회사 | 공유된 캐쉬들을 제공하는 방법 및 장치 |
US8982120B1 (en) * | 2013-12-18 | 2015-03-17 | Google Inc. | Blurring while loading map data |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
US9652882B2 (en) * | 2014-04-05 | 2017-05-16 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location |
US10068311B2 (en) | 2014-04-05 | 2018-09-04 | Sony Interacive Entertainment LLC | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US10438312B2 (en) | 2014-04-05 | 2019-10-08 | Sony Interactive Entertainment LLC | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters |
US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
US9836816B2 (en) | 2014-04-05 | 2017-12-05 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport |
US9710957B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Graphics processing enhancement by tracking object and/or primitive identifiers |
US11302054B2 (en) | 2014-04-05 | 2022-04-12 | Sony Interactive Entertainment Europe Limited | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US10783696B2 (en) | 2014-04-05 | 2020-09-22 | Sony Interactive Entertainment LLC | Gradient adjustment for texture mapping to non-orthonormal grid |
US9865074B2 (en) | 2014-04-05 | 2018-01-09 | Sony Interactive Entertainment America Llc | Method for efficient construction of high resolution display buffers |
US11120605B2 (en) | 2020-01-09 | 2021-09-14 | Samsung Electronics Co., Ltd. | Approximate trilinear filtering |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5224208A (en) * | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
US5719600A (en) * | 1995-12-12 | 1998-02-17 | Hewlett-Packard Company | Gradient calculation system and method |
US5831624A (en) * | 1996-04-30 | 1998-11-03 | 3Dfx Interactive Inc | Level of detail texture filtering with dithering and mipmaps |
US5953015A (en) * | 1996-11-15 | 1999-09-14 | Samsung Electronics Co., Ltd. | Determining the level of detail for texture mapping in computer graphics |
US5986663A (en) * | 1997-10-10 | 1999-11-16 | Cirrus Logic, Inc. | Auto level of detail-based MIP mapping in a graphics processor |
US6005583A (en) * | 1997-04-30 | 1999-12-21 | Hewlett-Packard Company | Precise gradient calculation system and method for a texture mapping system of a computer graphics system |
-
1998
- 1998-06-24 US US09/104,160 patent/US6469700B1/en not_active Expired - Lifetime
-
1999
- 1999-06-24 KR KR1020007001842A patent/KR100567204B1/ko not_active IP Right Cessation
- 1999-06-24 CA CA002301607A patent/CA2301607C/en not_active Expired - Fee Related
- 1999-06-24 JP JP2000556341A patent/JP4160261B2/ja not_active Expired - Fee Related
- 1999-06-24 WO PCT/US1999/014488 patent/WO1999067748A2/en active IP Right Grant
- 1999-06-24 AU AU49612/99A patent/AU4961299A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO1999067748A2 (en) | 1999-12-29 |
WO1999067748A3 (en) | 2000-04-06 |
US6469700B1 (en) | 2002-10-22 |
KR20010023213A (ko) | 2001-03-26 |
CA2301607A1 (en) | 1999-12-29 |
KR100567204B1 (ko) | 2006-04-03 |
JP4160261B2 (ja) | 2008-10-01 |
CA2301607C (en) | 2007-04-03 |
AU4961299A (en) | 2000-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4160261B2 (ja) | 画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置 | |
US6016151A (en) | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation | |
JP3678428B2 (ja) | クロマキー、透明性、およびフォグ動作を行う方法および装置 | |
US7280121B2 (en) | Image processing apparatus and method of same | |
US6891548B2 (en) | System and method for calculating a texture-mapping gradient | |
EP1792281B1 (en) | Method and system for anti-aliasing by pixel sampling | |
US5986663A (en) | Auto level of detail-based MIP mapping in a graphics processor | |
US20060119599A1 (en) | Texture data anti-aliasing method and apparatus | |
JP3675488B2 (ja) | 線形補間を用いて非同次2次遠近テクスチャマッピング座標を決定する回路 | |
JPH07152923A (ja) | テクスチャ処理されたオブジェクトをレンダリングする方法及び装置 | |
US6184893B1 (en) | Method and system for filtering texture map data for improved image quality in a graphics computer system | |
US6297834B1 (en) | Direction-dependent texture maps in a graphics system | |
US6100898A (en) | System and method of selecting level of detail in texture mapping | |
WO1999014710A1 (en) | Chroma-keyed specular texture mapping in a graphics processor | |
JP3959862B2 (ja) | テクスチャマッピング方法及びその装置 | |
JP2000228779A (ja) | 画像処理装置およびその方法 | |
JP3821880B2 (ja) | 色に奥行き指示を与える装置 | |
KR20080100854A (ko) | 렌더링 처리 방법, 렌더링 처리 장치, 및 렌더링 처리 프로그램이 기록된 컴퓨터 판독가능 기록 매체 | |
US8212835B1 (en) | Systems and methods for smooth transitions to bi-cubic magnification | |
US6259455B1 (en) | Method and apparatus for applying specular highlighting with specular components included with texture maps | |
JP2000182069A (ja) | 画像処理装置およびその方法 | |
JP2005332195A (ja) | テクスチャユニット、画像描画装置、テクセル転送方法 | |
US6333746B1 (en) | Auto level of detail texture mapping for a software graphics engine | |
US6693634B1 (en) | Reduction rate processing circuit and method with logarithmic operation and image processor employing same | |
KR100466473B1 (ko) | 텍셀 캐시들을 사용한 영상 텍스처 맵핑 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061212 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070312 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071011 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071127 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080227 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080327 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080307 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080403 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080428 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080527 |
|
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: 20080617 |
|
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: 20080717 |
|
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: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110725 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120725 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130725 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 |
|
LAPS | Cancellation because of no payment of annual fees |