JP4160261B2 - 画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置 - Google Patents
画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置 Download PDFInfo
- Publication number
- JP4160261B2 JP4160261B2 JP2000556341A JP2000556341A JP4160261B2 JP 4160261 B2 JP4160261 B2 JP 4160261B2 JP 2000556341 A JP2000556341 A JP 2000556341A JP 2000556341 A JP2000556341 A JP 2000556341A JP 4160261 B2 JP4160261 B2 JP 4160261B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- scanline
- gradient
- texture
- scan line
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
Description
(発明の分野)
本発明は、コンピュータ・グラフィックスの分野に関する。詳細には、本発明は画素ごとのMIPマッピングおよび三線フィルタリングの改良された方法および装置を開示する。
【0002】
(背景)
マルチメディア・グラフィックスは通常、画面または陰極線管上に配置される独立に制御される小さなドット、または画素の集合として画像を処理することによって生成される。コンピュータ・グラフィック画像は通常、背景画像上にレンダリングされたいくつかの対象物体で構成される。それぞれの対象物体は複数の画素からなる。レンダリング中、複合技法を使用して、対象物体をすでに生成された対象物体と組み合わせることができ、この場合、複合とは、画像同士を重ね合わせるか、あるいは混合することによって複数の画像を組み合わせることである。複合画像では、各画素の値は画像成分から計算される。
【0003】
3次元(3D)コンピュータ・グラフィックスは一般に、豊富な色、テクスチャ、正しい視点、および影付けを用いるグラフィックス環境を示す。典型的な3Dグラフィックス・システムは一般に、コンピュータ・グラフィックス開発者により優れた、より現実的なグラフィックス環境を作成させる一連の技法を実施する。これらの技法のいくつかを以下に詳しく説明する。
【0004】
3D場面の構成単位は多角形である。多角形はレンダリングされた画素を使用して生成される平坦な形状である。たとえば、様々な形状を作成するために三角形が頻繁に使用される。多角形は、平坦に見える単一の色を有する画素を使用するか、あるいは距離や場面の照明に基づいて少しずつ暗く見えるように色が変化するようにシェーディングが施された画素を使用してレンダリングすることができる。
【0005】
画像を形成する三角形を構成する際、各頂点または座標は、特定のカラー・モデルの対応する色値を有する。カラー・モデルは、3D色座標系と、特定の色域内のすべての色が存在する座標系内の可視サブセットとで表すことができる。この場合、色域とはすべての可視色度のサブセットである。たとえば、赤(R)、緑(G)、青(B)のカラー・モデル(RGB)は3Dデカルト座標系の単位立方体サブセットである。カラー・モデルの目的は、ある色域内で色を好都合に指定することを可能にすることである。RGB原色は、各原色の個々の寄与が互いに加算されて結果的な画素が生成されるという点で加法原色である。複合マルチメディア画像内の各画素の色値は、画像成分からある方法で計算される。
【0006】
テクスチャ・マッピングは、3D開発者が、ビットマップ画像ファイルをスケーリングし、多角形上にマッピングすることによって現実的で、細部まで表現された印象的な場面を作成することができる技法である。単に多角形を赤くシェーディングする代わりに、テクスチャ・マッピングを使用すれば、現実的なレンガ壁のように見せることができる。
【0007】
Multum in parvo(MIP)マッピングは、テクスチャ・マッピングの可視品質を改善し、同時に性能を最適化するために使用される技法である。この技法は、各テクスチャ・マップが異なる解像度でレンダリングされた、複数のテクスチャ・マップを各テクスチャごとに有することによって機能する。この場合、様々なテクスチャ・マップを使用して画像が様々な距離に表される。双線形フィルタリングを使用してテクスチャ・マッピングの可視品質を改善することもできる。双線形フィルタリングは、テクスチャ・マップから得た4つの取り囲んでいるテクセルを使用して、3D空間内の任意の所与の画素の値をより厳密に計算する。テクセルとはテクスチャ・マップ内のドットであり、それに対して画素とは画面上のドットを指す。
【0008】
三線フィルタリング(trilinear filtering )は高度なフィルタリング技法であり、第3の次元へのフィルタリングを使用する。三線フィルタリングを用いた場合、結果として得られる画素は、2つの最も近くのMIPマップから得た4つの取り囲んでいるテクセルを平均した値である。三線フィルタリングでは、テクスチャ・マッピングの可視品質が向上するが、双線形フィルタリングとは異なり1画素当たり4回のメモリ読取りではなく1画素当たり8回のメモリ読取りと、どのMIPマップから読み取るべきかを判定するための計算とが必要になる。これを正確に計算するには非常にコストがかかる。この計算には、詳細レベル(LOD)の計算が含まれる。この場合、次式が成立する。
【数1】
および
LOD=log2Rho
平方根を求めることを回避するように簡略化すると、これらの数式は次式のようになる。
【数2】
および
【数3】
【0009】
各画素ごとにRho’を正確に計算するためには、乗算器および加算器を使用してdu/dx、dv/dx、du/dy、およびdv/dyを計算する。追加の乗算器および加算器を使用してこれらの値のそれぞれの2乗を計算する。極めて高い処理機能を有するシステムでは、4回の追加のメモリ読取りを実行するコストが三線フィルタリングを制限することはない。しかし、パーソナル・コンピューティング環境など、より処理能力の低い環境では、三線フィルタリングを実施すると必ず性能に影響が及ぶ。したがって、性能に影響を与えない三線フィルタリングを行うための改良された費用効果の高い方法が極めて望ましい。
【0010】
(発明の概要)
各スキャンラインの開始位置でのみある項を計算して、グラフィックスをレンダリングする際に実行される計算の数を削減することによって三線フィルタリングの性能が改善される、画素ごとのMIPマッピングおよび三線フィルタリングのための方法および装置を提供する。一実施態様では、各スキャンラインの開始位置で1度だけ、スキャンラインのx座標に対する2つのテクスチャ値のそれぞれのスキャンライン・グラジェント(gradient:勾配)が計算される。各スキャンラインの開始位置でのスキャンライン勾配計算の後で、スキャンラインのy座標に対してスキャンラインの各画素ごとに画素勾配が計算される。スキャンライン勾配の2乗の和と画素勾配の2乗の和とが比較され、この2つの数量のうちの大きい方が、対応する画素の最大Rho定数項として選択される。最大Rho定数を使用して、スキャンラインの各画素ごとに詳細レベル(Level of Detail:LOD)が計算される。各画素のLOD値を使用して、対応する画素をレンダリングするためのテクスチャ・マップが選択される。
【0011】
代替実施態様では、各スキャンラインの開始位置で1度だけ、2つのテクスチャ値のそれぞれのスキャンライン勾配が計算され、各スキャンライン開始位置でのスキャンライン勾配計算の後で、スキャンラインのy座標に対してスキャンラインの第1の画素に対して2つのテクスチャ値のそれぞれについて画素勾配が計算される。画素勾配に関する導関数が計算され、この導関数を使用して画素勾配が求められ、それによって各画素ごとの画素勾配の計算が不要になる。スキャンライン勾配の2乗の和と画素勾配の2乗の和とが比較され、この2つの量のうちの大きい方が、対応する画素の最大Rho定数項として選択される。最大Rho定数を使用してLODが計算され、各画素のLOD値を使用して、対応する画素をレンダリングするためのテクスチャ・マップが選択される。
【0012】
添付の図面では、本発明を制限としてではなく一例として示す。図面で、同じ参照符号は同様な要素を指す。
【0013】
(詳細な説明)
本発明は、画素ごとのMIPマッピングおよび三線フィルタリングのための改良された方法および装置を開示する。以下の詳細な説明では、本発明を完全に理解していただくために、多数の特定の詳細について述べる。当業者には、これらの特定の詳細を使用せずに本発明を実施できることが理解されよう。他の例では、本発明を不必要に曖昧にしないように、周知の構造、インタフェース、およびプロセスは詳しく示していない。
【0014】
図1は、本発明が実施されるコンピュータ・システム1の一実施形態である。コンピュータ・システム1は、システム・バス30によってシステム・メモリ20に結合された中央演算処理装置(CPU)10を含む。CPU10およびメモリ20は、バス・インタフェース50を通しシステム・バス30を介して周辺要素相互接続(PCI)バス40に結合される。PCIバス40には、グラフィックス/ビデオ・アクセレレータ・カード60と様々な周辺装置80、90が結合されている。グラフィックス/ビデオ・アクセレレータ・カード60はディスプレイ/モニタ70に結合されている。
【0015】
図2は、様々な3次元(3D)グラフィックス機能を実行する回路を含め、一実施形態のグラフィックス/ビデオ・アクセレレータ・カード60内に含まれる例示的な回路を示す。PCIインタフェース100は、グラフィックス/ビデオ・アクセレレータ・カード60をPCIバス40に結合する。グラフィックス・プロセッサ102は、PCIインタフェース100に結合され、様々なグラフィックス処理機能およびビデオ処理機能を実行するように設計されている。グラフィックス・プロセッサ102は通常、RISC(縮小命令セット・コンピューティング)プロセッサである。
【0016】
画素エンジン120は、グラフィックス・プロセッサ102に結合され、後述のように、三線フィルタリングやMIPマッピングなど様々なグラフィックス機能を実行する回路を含む。ローカル・ランダム・アクセス・メモリ(RAM)110は、送信元画素色値と宛先画素色値の両方を記憶する。宛先色値は、メモリ100内のフレーム・バッファ112に記憶される。好ましい実施形態では、メモリ110としてはダイナミックRAM(DRAM)が使用される。ディスプレイ・コントローラ114がRAM110および先入先出しバッファ(FIFO)116に結合されている。ディスプレイ・コントローラ114の制御下で、フレーム・バッファ112に記憶されている宛先色値がFIFO116に供給される。FIFO116に記憶されている宛先値は1組のデジタル・アナログ変換器(DAC)118に供給され、デジタル・アナログ変換器118は赤、緑、青のアナログ色信号をモニタ70に出力する。
【0017】
RAM110にはメモリ・コントローラ108も結合されている。メモリ・コントローラ108はRAM110と画素エンジン120とグラフィックス・プロセッサ102の両方との間のデータの転送を制御する。命令キャッシュ104およびデータ・キャッシュ106はそれぞれ、グラフィックス・プロセッサ102およびメモリ・コントローラ108に結合され、それぞれ、頻繁に使用される命令およびデータを記憶するために使用される。データ・キャッシュ106は、PCIインタフェース100および画素エンジン120にも結合されている。
【0018】
一実施形態の画素エンジンは三角形エンジンを備える。三角形エンジンは、3D画像をレンダリングするためにスキャンライン・アルゴリズムと共に使用される。3D画像をレンダリングする際、複数の画素をレンダリングすることによって複数の多角形または三角形が形成される。三角形の画素をレンダリングするためにスキャンライン・アルゴリズムが使用される。図3は、一実施形態の三角形300および対応するスキャンライン302および画素304である。三角形エンジンは、後述のように、画素をレンダリングするためのすべての計算を実行する。
【0019】
コンピュータ・グラフィックス内の合成画像に可視ディテールを加えるためにテクスチャ・マッピングが使用される。一実施形態のテクスチャ・マッピングは一連の空間変形を含む。この変形は、テクスチャ平面[u、v]が3D表面[x、y、z]に変形され、次いで出力画面[x、y]上に投影される。テクスチャ・マッピングは、単に、壁紙と同様に表面上に画像ディテールを付与することによって、画像上に複雑な外観を作成する働きをする。テクスチャは一般に、目標の表面上に色をマッピングするために使用された画像とされている。さらに、面法線を摂動し、したがって、こぶおよびしわを、そのような摂動をモデル化する必要なしにシミュレートさせるのにテクスチャが使用される。
【0020】
一実施形態で画素をレンダリングする際、色画像を複数の解像度でメモリに記憶するためにMIPマップが使用される。図4は、RGBカラー・モデルを使用する一実施形態のMIPマップ・メモリ構成である。このMIPマップは三線補間をサポートする。この補間では、3つの正規化座標u、v、およびqを使用してレベル内補間およびレベル間補間を計算することができる。uとvは共に、テクスチャ・マップ内の点にアクセスするために使用される空間座標である。q座標は、角錐の様々なレベルにインデックス付けし、それらのレベル同士を補間するために使用される。RGBカラー・モデルでは、東側境界および南側境界に接触している象限は、色画像の最初の赤成分、緑成分、および青成分を含む。残りの左上の象限はオリジナルのすべてのより低い解像度のコピーを含む。各レベルは、[u、v、q]座標系によってインデックス付けされるが、この実施形態はこのように制限されるわけではない。三線補間または三線フィルタリングは、[u、v、q]座標系を使用して行うことができる。qの値は、エイリアシングとブラーリングとのトレードオフをバランスさせる式を使用して選択され、この式は、次式のように、表面投影を使用して部分導関数を計算する。
【数4】
【0021】
一実施形態では、2つの最も近くのMIPマップから得た4つの取り囲んでいるテクセルから、結果として得られる画素を判定するために、三線フィルタリングが使用される。一実施形態の三線フィルタリングを実行する際、特定の画素をレンダリングするうえで使用されるMIPレベルを選択するために、最大スケール・ファクタRhoが使用される。Rhoとは、送信元テクセルと画面画素との最大の比であり、次式を使用して計算される。
【数5】
ただし、この実施形態はこのように制限されるわけではない。詳細レベル(LOD)は、選択される実際のMIPレベルであり、次式のように定義される。
【数6】
ただし、この実施形態はこのように制限されるわけではない。
【0022】
一実施形態の三線フィルタリングは、商法則を使用して次式を示すことによって実現される。
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)
【0023】
本発明の一実施形態によれば、上記の定義に基づいて、以下の項が定義される。
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)
および
【数7】
【0024】
本発明の第1の実施形態によれば、三角形のあらゆる点ではなく、各スキャンラインの開始位置でのみある項を計算することにより、グラフィックスをレンダリングする際に実行される計算の数を削減し、それによって三線フィルタリングの性能が改善される。上記の数式中のc1およびc2の導関数はゼロであり、したがって、c1およびc2はスキャンラインに沿った定数であり、この場合、スキャンラインは、y軸に沿って単一の値を有し、かつx軸に沿って増減する値を有する。したがって、一実施形態によれば、数量(c1*c1+c2*c2)は各スキャンラインの開始位置で1度だけ計算され、それに対して、数量( c3*c3+c4*c4 )は、スキャンラインに沿って各点ごと、あるいは各画素ごとに計算される。数量(c1*c2+c2*c2)を各スキャンラインごとに1度計算するだけでよく、かつ数量(c3*c3+c4*c4)の計算がスキャンラインに沿った各画素ごとに上記の計算に従うので、この実施形態では、数量( c1*c1+c2*c2 )および数量(c3*c3+c4*c4)を計算する際に同じ乗算器ユニットを使用することができる。というのは、これらの値が同時に計算されることはないからである。
【0025】
図5は、第1の実施形態の三線フィルタリングを使用する画素レンダリングに関するフローチャートである。演算はステップ502から開始し、レンダリングすべき多角形のスキャンラインが選択される。各スキャンラインの開始位置で、三角形エンジンはステップ504で、数式7および数式8を使用し、スキャンラインのx座標に対する2つのテクスチャ値のそれぞれのスキャンライン勾配を計算する。これらのスキャンライン勾配を使用して数量(c1*c1+c2*c2)が計算される。一実施形態では、これらの計算は、各スキャンラインごとに6回の乗算、2回の減算、および1回の加算を使用して行われるが、この実施形態はこのように制限されるわけではない。この実施形態は6つの乗算器を使用するので、Rhoを単一のクロック・サイクルで計算することができる。
【0026】
各スキャンラインの開始位置でのスキャンライン勾配計算の後で、三角形エンジンはステップ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回の比較演算を使用して行われるが、この実施形態はこのように制限されるわけではない。
【0027】
最大Rho定数を求めた後で、三角形エンジンはステップ512で、数式2を使用してスキャンラインの各画素ごとにLODを計算する。各画素のLOD値は、ステップ514で、対応する画素をレンダリングするためのテクスチャ・マップを選択するために使用される。画素は、ステップ516でレンダリングされる。ステップ518で、スキャンラインのすべての画素がレンダリングされているかどうかが判定される。現在のスキャンラインのすべての画素がレンダリングされているわけではない場合、演算はステップ506に進み、スキャンラインの他の画素について画素勾配が計算される。現在のスキャンラインのすべての画素がレンダリングされている場合、演算はステップ520に進み、現在の多角形のすべてのスキャンラインがレンダリングされているかどうかが判定される。現在の多角形のすべてのスキャンラインがレンダリングされているわけではない場合、演算はステップ502に進み、多角形の新しいスキャンラインがレンダリングすべきスキャンラインとして選択される。現在の多角形のすべてのスキャンラインがレンダリングされている場合、現在の多角形に関する演算は終了する。
【0028】
本発明の第2の実施形態によれば、三角形のあらゆる点ではなく、各スキャンラインの開始位置でのみある項を計算することによりグラフィックスをレンダリングする際に実行される計算の数を削減することによって三線フィルタリングの性能が改善される。前述のように、c1およびc2はスキャンラインに沿った定数であり、したがって、数量(c1*c1+c2*c2)は各スキャンラインの開始位置で1度だけ計算される。さらに、数式9および数式10中のc3およびc4が線形数量であることに留意されたい。したがって、画素(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*delta_c3+c4*c4+4*c4*delta_c4+4*delta_c4*delta_c4]
(16)
したがって、各スキャンラインの開始位置でc3およびc4の導関数が計算された場合、そのスキャンラインに沿った各画素ごとにc3およびc4が計算されることはない。
【0029】
図6は、第2の実施形態の三線フィルタリングを使用する画素レンダリングに関するフローチャートである。演算はステップ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定数が計算され、この計算は、現在のスキャンラインについて画素がレンダリングされている間、連続するスキャンラインについて実行することができる。
【0030】
ステップ610で、数量(c1*c1+c2*c2)が数量(c3*c3+c4*c4)と比較され、ステップ612で、この2つの数量のうちの大きい方が、対応する画素に関する最大Rho定数項として選択される。一実施形態では、最大Rho定数計算は、各画素ごとに2回の加算および1回の比較演算を使用して行われるが、この実施形態はこのように制限されるわけではない。
【0031】
最大Rho定数を求めた後で、三角形エンジンは、ステップ614で、数式2を使用してスキャンラインの各画素ごとにLODを計算する。各画素のLOD値は、ステップ616で、対応する画素をレンダリングするためのテクスチャ・マップを選択するために使用される。画素は、ステップ618でレンダリングされる。ステップ620で、スキャンラインのすべての画素がレンダリングされているかどうかが判定される。現在のスキャンラインのすべての画素がレンダリングされているわけではない場合、演算はステップ610に進む。現在のスキャンラインのすべての画素がレンダリングされている場合、演算はステップ622に進み、現在の多角形のすべてのスキャンラインがレンダリングされているかどうかが判定される。現在の多角形のすべてのスキャンラインがレンダリングされているわけではない場合、演算はステップ602に進み、多角形の新しいスキャンラインがレンダリングすべきスキャンラインとして選択される。現在の多角形のすべてのスキャンラインがレンダリングされている場合、現在の多角形に関する演算は終了する。
【0032】
したがって、画素ごとのMIPマッピングおよび三線フィルタリング用の方法および装置を開示する。本明細書で説明するこれらの特定の構成および方法は本発明の原則を例示するものに過ぎない。当業者によって、本発明の範囲から逸脱せずに形態および詳細に多数の修正を加えることができる。特定の好ましい実施形態に関して本発明を示したが、本発明をそのように制限されるものとみなすべきではない。本発明は、添付の特許請求の範囲によってのみ制限される。
【図面の簡単な説明】
【図1】 本発明が実施されるコンピュータ・システムの一実施形態を示す図である。
【図2】 一実施形態のグラフィックス/ビデオ・アクセレレータ・カード内に含まれる例示的な回路を示す図である。
【図3】 一実施形態の三角形および対応するスキャンラインおよび画素を示す図である。
【図4】 RGBカラー・モデルを使用して一実施形態のMIPマップ・メモリ構成を示す図である。
【図5】 第1の実施形態の三線フィルタリングを使用した画素レンダリングに関するフローチャートである。
【図6】 第2の実施形態の三線フィルタリングを使用した画素レンダリングに関するフローチャートである。
Claims (27)
- 3次元(3D)グラフィックスを生成する方法であって、
各スキャンラインごとに、スキャンラインの第1の位置座標に関して複数のテクスチャ値のそれぞれに対してスキャンラインの開始位置で1度だけスキャンライン勾配をプロセッサによって計算するステップと、
スキャンラインの第2の位置座標に関してスキャンラインの画素のそれぞれに対して画素勾配をプロセッサによって計算するステップと、
スキャンライン勾配の2乗の和と画素勾配の2乗の和をプロセッサによって比較するステップと、
上記2つの2乗の和のうち大きい方が対応する画素に対する最大スケール・ファクタであると、プロセッサによって選択するステップと、
この最大スケール・ファクタに基づいて画素をレンダリングする際に使用する1つのテクスチャ・マップを複数のテクスチャ・マップからプロセッサによって選択するステップと、
この選択されたテクスチャ・マップを使用して、スキャンラインのすべての画素をレンダリングするステップとを含む方法。 - スキャンライン勾配(c1およびc2)が、プロセッサによってスキャンラインの開始位置で1度だけスキャンラインのX座標に関して2つのテクスチャ値(uおよびv)のそれぞれについて計算され、スキャンライン勾配が次式を使用して計算され、
c1=(q*dup/dx−up*dq/dx)
c2=(q*dvp/dx−vp*dq/dx)
上式で、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面上での位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項1に記載の方法。 - スキャンラインの各画素ごとに1度だけ、スキャンラインの第2の位置座標に対する複数のテクスチャ値のそれぞれの画素勾配がプロセッサによって計算され、前記画素勾配が、最大スケール・ファクタを計算するためにプロセッサによって使用される請求項1に記載の方法。
- 画素勾配(c3およびc4)が、スキャンラインのY座標に関して2つのテクスチャ値(uおよびv)のそれぞれについてプロセッサによって計算され、スキャンライン画素勾配が次式を使用して計算され、
c3=(q*dup/dy−up*dq/dy)
c4=(q*dvp/dy−vp*dq/dy)
上式で、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項3に記載の方法。 - 最大スケール・ファクタがRhoであり、Rhoが送信元テクセルと画面画素との最大の比であり、Rhoが、次式を使用してプロセッサによって計算される、
Rho=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)]/(q*q)
上式で、c1,c2およびc3,c4はそれぞれ請求項2および請求項4に記載のスキャンライン勾配、画素勾配であり、*は乗算記号であり、qがq軸に沿ってのゼロ点からの距離値である、請求項4に記載の方法。 - 画素勾配の導関数が、プロセッサによって各スキャンラインごとに、スキャンラインの開始位置で1度だけ複数のテクスチャ値のそれぞれについて計算され、前記画素勾配の前記導関数が、最大スケール・ファクタを計算するためにプロセッサによって使用される請求項1に記載の方法。
- 画素勾配の導関数(delta c3およびdelta c4)が、プロセッサによって2つのテクスチャ値(uおよびv)のそれぞれについて計算され、前記画素勾配の前記導関数が次式を使用して計算され、
delta c3=(dq/dx*dup/dy−dup/dx*dq/dy)
delta c4=(dq/dx*dvp/dy−dvp/dx*dq/dy)
上式で、c3,c4は請求項4に記載の画素勾配であり、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項6に記載の方法。 - さらに、各テクスチャ・マップが異なる解像度でレンダリングされる、複数のテクスチャのそれぞれについて複数のテクスチャ・マップをプロセッサによって生成するステップを含む請求項1に記載の方法。
- 第1の位置座標がX座標であり、第2の位置座標がY座標である請求項1に記載の方法。
- さらに、詳細レベル(LOD)をプロセッサによって計算するステップを含み、
LOD=log2(Rho)であり、前記LODが、画素をレンダリングするためのテクスチャ・マップを選択するために使用される請求項1に記載の方法。 - メモリと、
メモリに結合され、3次元(3D)グラフィックスを生成するプロセッサ・サブシステムとを備え、
各スキャンラインごとに、スキャンラインの第1の位置座標に関して複数のテクスチャ値のそれぞれに対してスキャンラインの開始位置で1度だけスキャンライン勾配がプロセッサ・サブシステムによって計算され、
スキャンラインの第2の位置座標に関してスキャンラインの画素のそれぞれに対して画素勾配が前記プロセッサ・サブシステムによって計算され、
スキャンライン勾配の2乗の和と画素勾配の2乗の和をプロセッサ・サブシステムによって比較し、
上記2つの2乗の和のうち大きい方が対応する画素に対する最大スケール・ファクタであると、プロセッサ・サブシステムによって選択し、
この最大スケール・ファクタに基づいて画素をレンダリングする際に使用する1つのテクスチャ・マップを複数のテクスチャ・マップからプロセッサ・サブシステムによって選択し、
この選択されたテクスチャ・マップを使用して、スキャンラインのすべての画素をプロセッサ・サブシステムによってレンダリングするコンピュータ・システム。 - プロセッサ・サブシステムが、スキャンラインの開始位置で1度だけ、スキャンラインのX座標に関して2つのテクスチャ値(uおよびv)のそれぞれのスキャンライン勾配(c1およびc2)を計算し、スキャンライン勾配が次式を使用して計算され、
c1=(q*dup/dx−up*dq/dx)
c2=(q*dvp/dx−vp*dq/dx)
上式で、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項11に記載のコンピュータ・システム。 - プロセッサ・サブシステムが、スキャンラインの各画素ごとに1度だけ、スキャンラインの第2の位置座標に対する複数のテクスチャ値のそれぞれの画素勾配を計算し、前記画素勾配が、最大スケール・ファクタを計算するためにプロセッサ・サブシステムによって使用される請求項11に記載のコンピュータ・システム。
- 画素勾配(c3およびc4)が、スキャンラインのY座標に関して2つのテクスチャ値(uおよびv)のそれぞれについてプロセッサ・サブシステムによって計算され、スキャンライン画素勾配がプロセッサ・サブシステムによって次式を使用して計算され、
c3=(q*dup/dy−up*dq/dy)
c4=(q*dvp/dy−vp*dq/dy)
上式で、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項13に記載のコンピュータ・システム。 - 最大スケール・ファクタがRhoであり、Rhoが送信元テクセルと画面画素との最大の比であり、Rhoが、プロセッサ・サブシステムによって次式を使用して計算される、
Rho=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)]/(q*q)
上式で、c1,c2およびc3,c4はそれぞれ請求項12および請求項14に記載のスキャンライン勾配、画素勾配であり、*は乗算記号であり、qがq軸に沿ってのゼロ点からの距離値である、請求項14に記載のコンピュータ・システム。 - プロセッサ・サブシステムが、各スキャンラインごとに、スキャンラインの開始位置で1度だけ、複数のテクスチャ値のそれぞれの画素勾配の導関数を計算し、前記画素勾配の前記導関数が、最大スケール・ファクタを計算するためにプロセッサ・サブシステムによって使用される請求項11に記載のコンピュータ・システム。
- プロセッサ・サブシステムが、2つのテクスチャ値(uおよびv)のそれぞれについて画素勾配の導関数(delta c3およびdelta c4)を計算し、前記画素勾配の前記導関数がプロセッサ・サブシステムによって次式を使用して計算され、
delta c3=(dq/dx*dup/dy−dup/dx*dq/dy)
delta c4=(dq/dx*dvp/dy−dvp/dx*dq/dy)
上式で、c3,c4は請求項15に記載の画素勾配であり、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項16に記載のコンピュータ・システム。 - プロセッサ・サブシステムがさらに、各テクスチャ・マップが異なる解像度でレンダリングされる、複数のテクスチャのそれぞれについて複数のテクスチャ・マップを生成し、
LOD=log2(Rho)であり、画素をレンダリングするためのテクスチャ・マップを選択するために使用される詳細レベル(LOD)を、計算するように構成される請求項11に記載のコンピュータ・システム。 - 3次元(3D)グラフィックスを生成するステップをコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記ステップが、
各スキャンラインごとに、スキャンラインの第1の位置座標に関して複数のテクスチャ値のそれぞれに対してスキャンラインの開始位置で1度だけスキャンライン勾配を計算するステップと、
スキャンラインの第2の位置座標に関してスキャンラインの画素のそれぞれに対して画素勾配を計算するステップと、
スキャンライン勾配の2乗の和と画素勾配の2乗の和を比較するステップと、
上記2つの2乗の和のうち大きい方を対応する画素に対する最大スケール・ファクタであると、選択するステップと、
この最大スケール・ファクタに基づいて画素をレンダリングする際に使用する1つのテクスチャ・マップを複数のテクスチャ・マップから選択するステップと、
この選択されたテクスチャ・マップを使用して、スキャンラインのすべての画素をレンダリングするステップとを含むコンピュータ読み取り可能な記録媒体。 - 前記プログラムが、コンピュータに、スキャンラインの開始位置で1度だけスキャンラインのX座標に関して2つのテクスチャ値(uおよびv)のそれぞれのスキャンライン勾配(c1およびc2)を計算させ、スキャンライン勾配が次式を使用して計算され、
c1=(q*dup/dx−up*dq/dx)
c2=(q*dvp/dx−vp*dq/dx)
上式で、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項19に記載のコンピュータ読み取り可能な記録媒体。 - 前記プログラムが、コンピュータに、スキャンラインの各画素ごとに1度だけ、スキャンラインの第2の位置座標に対する複数のテクスチャ値のそれぞれの画素勾配を計算させ、前記画素勾配が、最大スケール・ファクタを計算するために使用される請求項19に記載のコンピュータ読み取り可能な記録媒体。
- 前記プログラムが、コンピュータに2つのテクスチャ値(uおよびv)のそれぞれについて画素勾配(c3およびc4)を計算させ、スキャンライン画素勾配が次式に従って計算され、
c3=(q*dup/dy−up*dq/dy)
c4=(q*dvp/dy−vp*dq/dy)
上式で、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項21に記載のコンピュータ読み取り可能な記録媒体。 - 最大スケール・ファクタがRhoであり、Rhoが送信元テクセルと画面画素との最大の比であり、前記プログラムが、コンピュータに、次式に従ってRhoを計算させる、
Rho=MAX[sqrt(c1*c1+c2*c2),sqrt(c3*c3+c4*c4)]/(q*q)
上式で、c1,c2およびc3,c4はそれぞれ請求項20および請求項22に記載のスキャンライン勾配、画素勾配であり、*は乗算記号であり、qがq軸に沿ってのゼロ点からの距離値である、請求項22に記載のコンピュータ読み取り可能な記録媒体。 - 前記命令がシステムに、各スキャンラインごとに、スキャンラインの開始位置で1度だけ、複数のテクスチャ値のそれぞれの画素勾配の導関数を計算させ、前記画素勾配の前記導関数が、最大スケール・ファクタを計算するために使用される請求項19に記載のコンピュータ読み取り可能な記録媒体。
- 前記プログラムが、コンピュータに、2つのテクスチャ値(uおよびv)のそれぞれについて画素勾配の導関数を計算させ、前記画素勾配の前記導関数が次式に従って計算され、
delta c3=(dq/dx*dup/dy−dup/dx*dq/dy)
delta c4=(dq/dx*dvp/dy−dvp/dx*dq/dy)
上式で、c3,c4は請求項22に記載の画素勾配であり、*は乗算記号であり、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値であり、qがq軸に沿ってのゼロ点からの距離値である、請求項24に記載のコンピュータ読み取り可能な記録媒体。 - 前記プログラムが、コンピュータにさらに、
各テクスチャ・マップが異なる解像度でレンダリングされる、複数のテクスチャのそれぞれについて複数のテクスチャ・マップを生成するステップと、
LOD=log2(Rho)であり、画素をレンダリングするためのテクスチャ・マップを選択するために使用される詳細レベル(LOD)を、計算するステップを実行させる請求項19に記載のコンピュータ読み取り可能な記録媒体。 - 最大スケール・ファクタがRhoであり、Rhoが送信元テクセルと画面画素との最大の比であり、前記プログラムが、コンピュータに、次式を使用してRhoを計算させる、
Rho=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)]/(q*q)
上式で、c1,c2およびc3,c4はそれぞれ請求項20および請求項22に記載のスキャンライン勾配、画素勾配であり、*は乗算記号であり、qがq軸に沿ってのゼロ点からの距離値である、請求項22に記載のコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/104,160 | 1998-06-24 | ||
| 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 |
| 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 JP2002519769A (ja) | 2002-07-02 |
| JP4160261B2 true 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차원 그래픽 처리 방법 및 장치 |
| US8059124B2 (en) * | 2006-11-28 | 2011-11-15 | Adobe Systems Incorporated | Temporary non-tiled rendering of 3D objects |
| US8300050B2 (en) * | 2006-11-28 | 2012-10-30 | Adobe Systems Incorporated | Temporary low resolution 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 |
| JP6392370B2 (ja) | 2014-04-05 | 2018-09-19 | ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | 様々なレンダリング及びラスタライゼーション・パラメータ下でビューポートを変化させるための、オブジェクトの効率的再レンダリング方法 |
| US9710957B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Graphics processing enhancement by tracking object and/or primitive identifiers |
| US10783696B2 (en) | 2014-04-05 | 2020-09-22 | Sony Interactive Entertainment LLC | Gradient adjustment for texture mapping to non-orthonormal grid |
| 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 |
| 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 |
| US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
| US9865074B2 (en) | 2014-04-05 | 2018-01-09 | Sony Interactive Entertainment America Llc | Method for efficient construction of high resolution display buffers |
| 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 |
| US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
| 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 |
| 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 WO PCT/US1999/014488 patent/WO1999067748A2/en not_active Ceased
- 1999-06-24 JP JP2000556341A patent/JP4160261B2/ja not_active Expired - Fee Related
- 1999-06-24 CA CA002301607A patent/CA2301607C/en not_active Expired - Fee Related
- 1999-06-24 KR KR1020007001842A patent/KR100567204B1/ko not_active Expired - Fee Related
- 1999-06-24 AU AU49612/99A patent/AU4961299A/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| AU4961299A (en) | 2000-01-10 |
| JP2002519769A (ja) | 2002-07-02 |
| KR20010023213A (ko) | 2001-03-26 |
| WO1999067748A2 (en) | 1999-12-29 |
| CA2301607C (en) | 2007-04-03 |
| US6469700B1 (en) | 2002-10-22 |
| KR100567204B1 (ko) | 2006-04-03 |
| WO1999067748A3 (en) | 2000-04-06 |
| CA2301607A1 (en) | 1999-12-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4160261B2 (ja) | 画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置 | |
| US7432936B2 (en) | Texture data anti-aliasing method and apparatus | |
| US5949426A (en) | Non-linear texture map blending | |
| US6226012B1 (en) | Method and apparatus for accelerating the rendering of graphical images | |
| US5469535A (en) | Three-dimensional, texture mapping display system | |
| US6914610B2 (en) | Graphics primitive size estimation and subdivision for use with a texture accumulation buffer | |
| US6275235B1 (en) | High precision texture wrapping method and device | |
| US5704024A (en) | Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map | |
| US6239808B1 (en) | Method and apparatus for determining texture values of graphical images | |
| US6437781B1 (en) | Computer graphics system having per pixel fog blending | |
| JP3675488B2 (ja) | 線形補間を用いて非同次2次遠近テクスチャマッピング座標を決定する回路 | |
| US6795080B2 (en) | Batch processing of primitives for use with a texture accumulation buffer | |
| JPH07152923A (ja) | テクスチャ処理されたオブジェクトをレンダリングする方法及び装置 | |
| JPH0765197A (ja) | 画像処理方法と装置 | |
| US6184893B1 (en) | Method and system for filtering texture map data for improved image quality in a graphics computer system | |
| US8319789B2 (en) | Image generation device and image generation method | |
| US6100898A (en) | System and method of selecting level of detail in texture mapping | |
| US6583790B1 (en) | Apparatus for and method of converting height fields into parametric texture maps | |
| US6400370B1 (en) | Stochastic sampling with constant density in object space for anisotropic texture mapping | |
| JP3959862B2 (ja) | テクスチャマッピング方法及びその装置 | |
| US5704025A (en) | Computer graphics system having per pixel depth cueing | |
| EP1058912B1 (en) | Subsampled texture edge antialiasing | |
| US6570575B1 (en) | Associated color texture processor for high fidelity 3-D graphics rendering | |
| US6333746B1 (en) | Auto level of detail texture mapping for a software graphics engine | |
| 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 | Request for written amendment filed |
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 | Request for written amendment filed |
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 | Request for written amendment filed |
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 |