JP2002519769A - Improved method and apparatus for pixel-by-pixel MIP mapping and three-line filtering - Google Patents

Improved method and apparatus for pixel-by-pixel MIP mapping and three-line filtering

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
Application number
JP2000556341A
Other languages
Japanese (ja)
Other versions
JP4160261B2 (en
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
Application filed by マイクロン・テクノロジイ・インコーポレーテッド filed Critical マイクロン・テクノロジイ・インコーポレーテッド
Publication of JP2002519769A publication Critical patent/JP2002519769A/en
Application granted granted Critical
Publication of JP4160261B2 publication Critical patent/JP4160261B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • 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

(57)【要約】 グラフィックスをレンダリングする際に実行される計算の数が、各スキャンラインの開始位置でのみある項を計算することによって削減される。各スキャンラインの開始位置で1度だけ、スキャンラインのx座標に対する2つのテクスチャ値のそれぞれのスキャンライン勾配が計算される。各スキャンラインの開始位置でのスキャンライン勾配計算の後で、スキャンラインのy座標に対するスキャンラインの各画素の画素勾配が計算される。スキャンライン勾配の2乗の和と画素勾配の2乗の和とが比較され、この2つの数量のうちの大きい方が、対応する画素の最大Rho定数項として選択され、最大Rho定数は、対応する画素をレンダリングするためのテクスチャ・マップを選択するために使用される。さらに、各スキャンラインの開始位置で、スキャンラインのy座標に対するスキャンラインの第1の画素についての2つのテクスチャ値のそれぞれの画素値を計算することができる。画素勾配に関する導関数が計算され、この導関数を使用して画素勾配が求められ、それによって各画素ごとの画素勾配の計算が不要になる。 (57) Summary The number of calculations performed in rendering graphics is reduced by calculating terms that are only at the start of each scanline. Only once at the start of each scan line is the scan line gradient of each of the two texture values for the x coordinate of the scan line calculated. After the scan line gradient calculation at the start position of each scan line, the pixel gradient of each pixel of the scan line with respect to the y coordinate of the scan line is calculated. The sum of the squares of the scan line gradients and the sum of the squares of the pixel gradients are compared, and the larger of the two quantities is selected as the maximum Rho constant term for the corresponding pixel, and the maximum Rho constant is Used to select a texture map for rendering the pixel to be rendered. In addition, at the start of each scan line, the respective pixel values of the two texture values for the first pixel of the scan line relative to the y coordinate of the scan line can be calculated. The derivative with respect to the pixel gradient is calculated, and the derivative is used to determine the pixel gradient, thereby eliminating the need to calculate the pixel gradient for each pixel.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】 (発明の分野) 本発明は、コンピュータ・グラフィックスの分野に関する。詳細には、本発明
は画素ごとのMIPマッピングおよび三線フィルタリングの改良された方法およ
び装置を開示する。
[0001] The present invention relates to the field of computer graphics. In particular, the present invention discloses an improved method and apparatus for per-pixel MIP mapping and three-line filtering.

【0002】 (背景) マルチメディア・グラフィックスは通常、画面または陰極線管上に配置される
独立に制御される小さなドット、または画素の集合として画像を処理することに
よって生成される。コンピュータ・グラフィック画像は通常、背景画像上にレン
ダリングされたいくつかの対象物体で構成される。それぞれの対象物体は複数の
画素からなる。レンダリング中、複合技法を使用して、対象物体をすでに生成さ
れた対象物体と組み合わせることができ、この場合、複合とは、画像同士を重ね
合わせるか、あるいは混合することによって複数の画像を組み合わせることであ
る。複合画像では、各画素の値は画像成分から計算される。
BACKGROUND [0002] Multimedia graphics are typically generated by processing an image as a collection of independently controlled small dots or pixels located on a screen or cathode ray tube. Computer graphic images typically consist of several target objects rendered on a background image. Each target object is composed of a plurality of pixels. During rendering, a compound technique can be used to combine a target object with an already generated target object, where combining is combining multiple images by superimposing or mixing the images. It is. In a composite image, the value of each pixel is calculated from the image components.

【0003】 3次元(3D)コンピュータ・グラフィックスは一般に、豊富な色、テクスチ
ャ、正しい視点、および影付けを用いるグラフィックス環境を示す。典型的な3
Dグラフィックス・システムは一般に、コンピュータ・グラフィックス開発者に
より優れた、より現実的なグラフィックス環境を作成させる一連の技法を実施す
る。これらの技法のいくつかを以下に詳しく説明する。
[0003] Three-dimensional (3D) computer graphics generally refers to a graphics environment that uses a rich set of colors, textures, correct viewpoints, and shadows. Typical 3
D graphics systems generally implement a set of techniques that allow computer graphics developers to create better, more realistic graphics environments. Some of these techniques are described in detail below.

【0004】 3D場面の構成単位は多角形である。多角形はレンダリングされた画素を使用
して生成される平坦な形状である。たとえば、様々な形状を作成するために三角
形が頻繁に使用される。多角形は、平坦に見える単一の色を有する画素を使用す
るか、あるいは距離や場面の照明に基づいて少しずつ暗く見えるように色が変化
するようにシェーディングが施された画素を使用してレンダリングすることがで
きる。
[0004] A constituent unit of a 3D scene is a polygon. Polygons are flat shapes created using rendered pixels. For example, triangles are frequently used to create various shapes. Polygons use pixels that have a single color that looks flat, or pixels that are shaded so that the color changes gradually to appear darker based on distance or scene lighting. Can be rendered.

【0005】 画像を形成する三角形を構成する際、各頂点または座標は、特定のカラー・モ
デルの対応する色値を有する。カラー・モデルは、3D色座標系と、特定の色域
内のすべての色が存在する座標系内の可視サブセットとで表すことができる。こ
の場合、色域とはすべての可視色度のサブセットである。たとえば、赤(R)、
緑(G)、青(B)のカラー・モデル(RGB)は3Dデカルト座標系の単位立
方体サブセットである。カラー・モデルの目的は、ある色域内で色を好都合に指
定することを可能にすることである。RGB原色は、各原色の個々の寄与が互い
に加算されて結果的な画素が生成されるという点で加法原色である。複合マルチ
メディア画像内の各画素の色値は、画像成分からある方法で計算される。
In constructing the triangles that form an image, each vertex or coordinate has a corresponding color value of a particular color model. A color model can be represented by a 3D color coordinate system and a visible subset in a coordinate system where all colors in a particular color gamut are present. In this case, the gamut is a subset of all visible chromaticities. For example, red (R),
The green (G) and blue (B) color models (RGB) are a unit cube subset of the 3D Cartesian coordinate system. The purpose of the color model is to allow colors to be conveniently specified within a certain color gamut. RGB primary colors are additive primaries in that the individual contributions of each primary color are added together to produce the resulting pixel. The color value of each pixel in the composite multimedia image is calculated in some way from the image components.

【0006】 テクスチャ・マッピングは、3D開発者が、ビットマップ画像ファイルをスケ
ーリングし、多角形上にマッピングすることによって現実的で、細部まで表現さ
れた印象的な場面を作成することができる技法である。単に多角形を赤くシェー
ディングする代わりに、テクスチャ・マッピングを使用すれば、現実的なレンガ
壁のように見せることができる。
[0006] Texture mapping is a technique that allows 3D developers to create realistic, detailed and impressive scenes by scaling bitmap image files and mapping them onto polygons. is there. Instead of simply shading a polygon red, texture mapping can make it look like a realistic brick wall.

【0007】 Multum in parvo(MIP)マッピングは、テクスチャ・マッ
ピングの可視品質を改善し、同時に性能を最適化するために使用される技法であ
る。この技法は、各テクスチャ・マップが異なる解像度でレンダリングされた、
複数のテクスチャ・マップを各テクスチャごとに有することによって機能する。
この場合、様々なテクスチャ・マップを使用して画像が様々な距離に表される。
双線形フィルタリングを使用してテクスチャ・マッピングの可視品質を改善する
こともできる。双線形フィルタリングは、テクスチャ・マップから得た4つの取
り囲んでいるテクセルを使用して、3D空間内の任意の所与の画素の値をより厳
密に計算する。テクセルとはテクスチャ・マップ内のドットであり、それに対し
て画素とは画面上のドットを指す。
[0007] Multitum in parvo (MIP) mapping is a technique used to improve the visual quality of texture mapping while at the same time optimizing performance. The technique is that each texture map is rendered at a different resolution,
It works by having multiple texture maps for each texture.
In this case, the images are represented at different distances using different texture maps.
Bilinear filtering can also be used to improve the visual quality of texture mapping. Bilinear filtering uses the four surrounding texels obtained from the texture map to more precisely calculate the value of any given pixel in 3D space. A texel is a dot in a texture map, whereas a pixel is a dot on the screen.

【0008】 三線フィルタリング(trilinear filtering )は高度なフィルタリング技法で
あり、第3の次元へのフィルタリングを使用する。三線フィルタリングを用いた
場合、結果として得られる画素は、2つの最も近くのMIPマップから得た4つ
の取り囲んでいるテクセルを平均した値である。三線フィルタリングでは、テク
スチャ・マッピングの可視品質が向上するが、双線形フィルタリングとは異なり
1画素当たり4回のメモリ読取りではなく1画素当たり8回のメモリ読取りと、
どのMIPマップから読み取るべきかを判定するための計算とが必要になる。こ
れを正確に計算するには非常にコストがかかる。この計算には、詳細レベル(L
OD)の計算が含まれる。この場合、次式が成立する。
[0008] Trilinear filtering is an advanced filtering technique that uses filtering into a third dimension. With three-line filtering, the resulting pixel is the average of the four surrounding texels from the two closest MIP maps. With three-line filtering, the visual quality of the texture mapping is improved, but unlike bilinear filtering, eight memory reads per pixel instead of four memory reads per pixel,
Calculations are needed to determine from which MIP map to read. Calculating this accurately is very costly. This calculation includes the level of detail (L
OD). In this case, the following equation is established.

【数1】 および LOD=log2Rho 平方根を求めることを回避するように簡略化すると、これらの数式は次式のよう
になる。
(Equation 1) And LOD = log 2 Rho Simplified to avoid finding the square root, these equations become:

【数2】 および(Equation 2) and

【数3】 (Equation 3)

【0009】 各画素ごとにRho’を正確に計算するためには、乗算器および加算器を使用
してdu/dx、dv/dx、du/dy、およびdv/dyを計算する。追加
の乗算器および加算器を使用してこれらの値のそれぞれの2乗を計算する。極め
て高い処理機能を有するシステムでは、4回の追加のメモリ読取りを実行するコ
ストが三線フィルタリングを制限することはない。しかし、パーソナル・コンピ
ューティング環境など、より処理能力の低い環境では、三線フィルタリングを実
施すると必ず性能に影響が及ぶ。したがって、性能に影響を与えない三線フィル
タリングを行うための改良された費用効果の高い方法が極めて望ましい。
In order to accurately calculate Rho ′ for each pixel, du / dx, dv / dx, du / dy, and dv / dy are calculated using a multiplier and an adder. Calculate the square of each of these values using additional multipliers and adders. In systems with very high processing capabilities, the cost of performing four additional memory reads does not limit three-line filtering. However, in an environment with lower processing capacity, such as a personal computing environment, performance is always affected by performing three-line filtering. Therefore, an improved cost-effective method for performing three-line filtering without affecting performance is highly desirable.

【0010】 (発明の概要) 各スキャンラインの開始位置でのみある項を計算して、グラフィックスをレン
ダリングする際に実行される計算の数を削減することによって三線フィルタリン
グの性能が改善される、画素ごとのMIPマッピングおよび三線フィルタリング
のための方法および装置を提供する。一実施態様では、各スキャンラインの開始
位置で1度だけ、スキャンラインのx座標に対する2つのテクスチャ値のそれぞ
れのスキャンライン・グラジェント(gradient:勾配)が計算される。各スキャ
ンラインの開始位置でのスキャンライン勾配計算の後で、スキャンラインのy座
標に対してスキャンラインの各画素ごとに画素勾配が計算される。スキャンライ
ン勾配の2乗の和と画素勾配の2乗の和とが比較され、この2つの数量のうちの
大きい方が、対応する画素の最大Rho定数項として選択される。最大Rho定
数を使用して、スキャンラインの各画素ごとに詳細レベル(Level of Detail:L
OD)が計算される。各画素のLOD値を使用して、対応する画素をレンダリン
グするためのテクスチャ・マップが選択される。
SUMMARY OF THE INVENTION Three-line filtering performance is improved by calculating terms that are only at the start of each scanline and reducing the number of calculations performed when rendering graphics. Methods and apparatus are provided for per-pixel MIP mapping and three-line filtering. In one embodiment, only once at the start of each scan line is the scan line gradient of each of the two texture values relative to the x coordinate of the scan line calculated. After calculating the scan line gradient at the start of each scan line, a pixel gradient is calculated for each pixel of the scan line with respect to the y coordinate of the scan line. The sum of the square of the scan line gradient and the sum of the square of the pixel gradient are compared, and the larger of the two quantities is selected as the maximum Rho constant term for the corresponding pixel. Using the maximum Rho constant, Level of Detail (L) is set for each pixel of the scan line.
OD) is calculated. Using the LOD value of each pixel, a texture map for rendering the corresponding pixel is selected.

【0011】 代替実施態様では、各スキャンラインの開始位置で1度だけ、2つのテクスチ
ャ値のそれぞれのスキャンライン勾配が計算され、各スキャンライン開始位置で
のスキャンライン勾配計算の後で、スキャンラインのy座標に対してスキャンラ
インの第1の画素に対して2つのテクスチャ値のそれぞれについて画素勾配が計
算される。画素勾配に関する導関数が計算され、この導関数を使用して画素勾配
が求められ、それによって各画素ごとの画素勾配の計算が不要になる。スキャン
ライン勾配の2乗の和と画素勾配の2乗の和とが比較され、この2つの量のうち
の大きい方が、対応する画素の最大Rho定数項として選択される。最大Rho
定数を使用してLODが計算され、各画素のLOD値を使用して、対応する画素
をレンダリングするためのテクスチャ・マップが選択される。
In an alternative embodiment, the scan line gradient of each of the two texture values is calculated only once at the start of each scan line, and after the scan line gradient calculation at each scan line start, the scan line is calculated. The pixel gradient is calculated for each of the two texture values for the first pixel of the scan line for the y coordinate of. The derivative with respect to the pixel gradient is calculated, and the derivative is used to determine the pixel gradient, thereby eliminating the need to calculate the pixel gradient for each pixel. The sum of the square of the scan line gradient and the sum of the square of the pixel gradient are compared, and the larger of the two quantities is selected as the maximum Rho constant term for the corresponding pixel. Maximum Rho
The LOD is calculated using a constant and the LOD value of each pixel is used to select a texture map for rendering the corresponding pixel.

【0012】 添付の図面では、本発明を制限としてではなく一例として示す。図面で、同じ
参照符号は同様な要素を指す。
In the accompanying drawings, the invention is illustrated by way of example and not by way of limitation. In the drawings, like reference numbers refer to similar elements.

【0013】 (詳細な説明) 本発明は、画素ごとのMIPマッピングおよび三線フィルタリングのための改
良された方法および装置を開示する。以下の詳細な説明では、本発明を完全に理
解していただくために、多数の特定の詳細について述べる。当業者には、これら
の特定の詳細を使用せずに本発明を実施できることが理解されよう。他の例では
、本発明を不必要に曖昧にしないように、周知の構造、インタフェース、および
プロセスは詳しく示していない。
DETAILED DESCRIPTION The present invention discloses an improved method and apparatus for per-pixel MIP mapping and three-line filtering. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. One skilled in the art will understand that the invention may be practiced without these specific details. In other instances, well-known structures, interfaces and processes have not been shown in detail in order not to unnecessarily obscure the present invention.

【0014】 図1は、本発明が実施されるコンピュータ・システム1の一実施形態である。
コンピュータ・システム1は、システム・バス30によってシステム・メモリ2
0に結合された中央演算処理装置(CPU)10を含む。CPU10およびメモ
リ20は、バス・インタフェース50を通しシステム・バス30を介して周辺要
素相互接続(PCI)バス40に結合される。PCIバス40には、グラフィッ
クス/ビデオ・アクセレレータ・カード60と様々な周辺装置80、90が結合
されている。グラフィックス/ビデオ・アクセレレータ・カード60はディスプ
レイ/モニタ70に結合されている。
FIG. 1 is an embodiment of a computer system 1 on which the present invention is implemented.
The computer system 1 is connected to a system memory 2 by a system bus 30.
And a central processing unit (CPU) 10 coupled to the CPU. The CPU 10 and the memory 20 are coupled to a peripheral component interconnect (PCI) bus 40 via a bus interface 50 and a system bus 30. A graphics / video accelerator card 60 and various peripheral devices 80, 90 are coupled to the PCI bus 40. Graphics / video accelerator card 60 is coupled to display / monitor 70.

【0015】 図2は、様々な3次元(3D)グラフィックス機能を実行する回路を含め、一
実施形態のグラフィックス/ビデオ・アクセレレータ・カード60内に含まれる
例示的な回路を示す。PCIインタフェース100は、グラフィックス/ビデオ
・アクセレレータ・カード60をPCIバス40に結合する。グラフィックス・
プロセッサ102は、PCIインタフェース100に結合され、様々なグラフィ
ックス処理機能およびビデオ処理機能を実行するように設計されている。グラフ
ィックス・プロセッサ102は通常、RISC(縮小命令セット・コンピューテ
ィング)プロセッサである。
FIG. 2 illustrates exemplary circuits included in graphics / video accelerator card 60 of one embodiment, including circuits that perform various three-dimensional (3D) graphics functions. PCI interface 100 couples graphics / video accelerator card 60 to PCI bus 40. Graphics·
Processor 102 is coupled to PCI interface 100 and is designed to perform various graphics and video processing functions. Graphics processor 102 is typically a RISC (Reduced Instruction Set Computing) processor.

【0016】 画素エンジン120は、グラフィックス・プロセッサ102に結合され、後述
のように、三線フィルタリングやMIPマッピングなど様々なグラフィックス機
能を実行する回路を含む。ローカル・ランダム・アクセス・メモリ(RAM)1
10は、送信元画素色値と宛先画素色値の両方を記憶する。宛先色値は、メモリ
100内のフレーム・バッファ112に記憶される。好ましい実施形態では、メ
モリ110としてはダイナミックRAM(DRAM)が使用される。ディスプレ
イ・コントローラ114がRAM110および先入先出しバッファ(FIFO)
116に結合されている。ディスプレイ・コントローラ114の制御下で、フレ
ーム・バッファ112に記憶されている宛先色値がFIFO116に供給される
。FIFO116に記憶されている宛先値は1組のデジタル・アナログ変換器(
DAC)118に供給され、デジタル・アナログ変換器118は赤、緑、青のア
ナログ色信号をモニタ70に出力する。
The pixel engine 120 is coupled to the graphics processor 102 and includes circuitry that performs various graphics functions, such as three-line filtering and MIP mapping, as described below. Local random access memory (RAM) 1
10 stores both the source pixel color value and the destination pixel color value. The destination color value is stored in the frame buffer 112 in the memory 100. In a preferred embodiment, a dynamic RAM (DRAM) is used as the memory 110. The display controller 114 has a RAM 110 and a first-in first-out buffer (FIFO)
116. Under the control of the display controller 114, the destination color values stored in the frame buffer 112 are supplied to the FIFO 116. The destination value stored in FIFO 116 is a set of digital-to-analog converters (
The digital-to-analog converter 118 outputs the red, green, and blue analog color signals to the monitor 70.

【0017】 RAM110にはメモリ・コントローラ108も結合されている。メモリ・コ
ントローラ108はRAM110と画素エンジン120とグラフィックス・プロ
セッサ102の両方との間のデータの転送を制御する。命令キャッシュ104お
よびデータ・キャッシュ106はそれぞれ、グラフィックス・プロセッサ102
およびメモリ・コントローラ108に結合され、それぞれ、頻繁に使用される命
令およびデータを記憶するために使用される。データ・キャッシュ106は、P
CIインタフェース100および画素エンジン120にも結合されている。
A memory controller 108 is also coupled to the RAM 110. The memory controller 108 controls the transfer of data between the RAM 110, the pixel engine 120, and both the graphics processor 102. The instruction cache 104 and the data cache 106 each include a graphics processor 102
And memory controller 108, each of which is used to store frequently used instructions and data. The data cache 106
It is also coupled to the CI interface 100 and the pixel engine 120.

【0018】 一実施形態の画素エンジンは三角形エンジンを備える。三角形エンジンは、3
D画像をレンダリングするためにスキャンライン・アルゴリズムと共に使用され
る。3D画像をレンダリングする際、複数の画素をレンダリングすることによっ
て複数の多角形または三角形が形成される。三角形の画素をレンダリングするた
めにスキャンライン・アルゴリズムが使用される。図3は、一実施形態の三角形
300および対応するスキャンライン302および画素304である。三角形エ
ンジンは、後述のように、画素をレンダリングするためのすべての計算を実行す
る。
In one embodiment, the pixel engine comprises a triangle engine. The triangle engine is 3
Used with the scanline algorithm to render D images. When rendering 3D images, multiple polygons or triangles are formed by rendering multiple pixels. A scanline algorithm is used to render the triangular pixels. FIG. 3 is a triangle 300 and corresponding scan lines 302 and pixels 304 of one embodiment. The triangle engine performs all calculations to render pixels, as described below.

【0019】 コンピュータ・グラフィックス内の合成画像に可視ディテールを加えるために
テクスチャ・マッピングが使用される。一実施形態のテクスチャ・マッピングは
一連の空間変形を含む。この変形は、テクスチャ平面[u、v]が3D表面[x
、y、z]に変形され、次いで出力画面[x、y]上に投影される。テクスチャ
・マッピングは、単に、壁紙と同様に表面上に画像ディテールを付与することに
よって、画像上に複雑な外観を作成する働きをする。テクスチャは一般に、目標
の表面上に色をマッピングするために使用された画像とされている。さらに、面
法線を摂動し、したがって、こぶおよびしわを、そのような摂動をモデル化する
必要なしにシミュレートさせるのにテクスチャが使用される。
Texture mapping is used to add visible detail to the composite image in computer graphics. The texture mapping of one embodiment includes a series of spatial deformations. This deformation is due to the fact that the texture plane [u, v] has a 3D surface [x
, Y, z] and then projected onto the output screen [x, y]. Texture mapping serves to create a complex appearance on an image simply by adding image detail on the surface, similar to wallpaper. Textures are commonly referred to as images used to map colors onto a target surface. In addition, textures are used to perturb the surface normals and thus simulate bumps and wrinkles without having to model such perturbations.

【0020】 一実施形態で画素をレンダリングする際、色画像を複数の解像度でメモリに記
憶するためにMIPマップが使用される。図4は、RGBカラー・モデルを使用
する一実施形態のMIPマップ・メモリ構成である。このMIPマップは三線補
間をサポートする。この補間では、3つの正規化座標u、v、およびqを使用し
てレベル内補間およびレベル間補間を計算することができる。uとvは共に、テ
クスチャ・マップ内の点にアクセスするために使用される空間座標である。q座
標は、角錐の様々なレベルにインデックス付けし、それらのレベル同士を補間す
るために使用される。RGBカラー・モデルでは、東側境界および南側境界に接
触している象限は、色画像の最初の赤成分、緑成分、および青成分を含む。残り
の左上の象限はオリジナルのすべてのより低い解像度のコピーを含む。各レベル
は、[u、v、q]座標系によってインデックス付けされるが、この実施形態は
このように制限されるわけではない。三線補間または三線フィルタリングは、[
u、v、q]座標系を使用して行うことができる。qの値は、エイリアシングと
ブラーリングとのトレードオフをバランスさせる式を使用して選択され、この式
は、次式のように、表面投影を使用して部分導関数を計算する。
When rendering pixels in one embodiment, a MIP map is used to store the color image at multiple resolutions in memory. FIG. 4 is an embodiment of a MIP map memory configuration using the RGB color model. This MIP map supports trilinear interpolation. In this interpolation, the intra-level interpolation and the inter-level interpolation can be calculated using the three normalized coordinates u, v, and q. u and v are both spatial coordinates used to access a point in the texture map. The q coordinate is used to index the various levels of the pyramid and interpolate between those levels. In the RGB color model, the quadrant touching the eastern and southern boundaries contains the first red, green, and blue components of the color image. The remaining upper left quadrant contains all lower resolution copies of the original. Each level is indexed by a [u, v, q] coordinate system, but this embodiment is not so limited. Three-line interpolation or three-line filtering is
[u, v, q] coordinate system. The value of q is selected using an equation that balances the trade-off between aliasing and blurring, which computes the partial derivative using surface projection, as follows:

【数4】 (Equation 4)

【0021】 一実施形態では、2つの最も近くのMIPマップから得た4つの取り囲んでい
るテクセルから、結果として得られる画素を判定するために、三線フィルタリン
グが使用される。一実施形態の三線フィルタリングを実行する際、特定の画素を
レンダリングするうえで使用されるMIPレベルを選択するために、最大スケー
ル・ファクタRhoが使用される。Rhoとは、送信元テクセルと画面画素との
最大の比であり、次式を使用して計算される。
In one embodiment, three-line filtering is used to determine the resulting pixels from the four surrounding texels from the two closest MIP maps. In performing the three-line filtering of one embodiment, the maximum scale factor Rho is used to select the MIP level used to render a particular pixel. Rho is the maximum ratio between the source texel and the screen pixel, and is calculated using the following equation.

【数5】 ただし、この実施形態はこのように制限されるわけではない。詳細レベル(LO
D)は、選択される実際のMIPレベルであり、次式のように定義される。
(Equation 5) However, this embodiment is not so limited. Level of detail (LO
D) is the actual MIP level selected and is defined as:

【数6】 ただし、この実施形態はこのように制限されるわけではない。(Equation 6) However, this embodiment is not so limited.

【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)
The three-line filtering of one embodiment is implemented by using the law of business to show: du / dx = d ((u * q) / q) / dx = (q * du p / dx-u p * dq / dx) / (q * q) (3) In the above equation, u p = u * q (i.e., u corrected by the repeated perspective in drawing the triangle). Similarly, the following equation is given. dv / dx = (q * dv p / dx-vp * dq / dx) / (q * q) (4) du / dy = (q * du p / dy-up * dq / dy) / (q * q ) and (5) dv / dy = ( q * dv p / 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), (11) (c3*c3+c4*c4)/(q***q)] (12) 上式は次式を意味する。 Rho’=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)
]/(q***q) (13) および
According to one embodiment of the present invention, based on the above definitions, the following terms are defined. c1 = (q * du p / dx-u p * dq / dx) (7) c2 = (q * dv p / dx-v p * dq / dx) (8) c3 = (q * du p / dy- in u p * dq / dy) and (9) c4 = (q * dv p / dy-v p * dq / dy) (10) the above equation, u and v are the texture values, x and y are texels The screen position value, and q is a distance value. Therefore, the following equations are shown using Equations 7 to 10. Rho '= MAX [(c1 * c1 + c2 * c2) / (q * q * q * q), (11) (c3 * c3 + c4 * c4) / (q * q * q * q)] (12) It means the following equation. Rho '= MAX [(c1 * c1 + c2 * c2), (c3 * c3 + c4 * c4)
] / (Q * q * q * q) (13) and

【数7】 (Equation 7)

【0024】 本発明の第1の実施形態によれば、三角形のあらゆる点ではなく、各スキャン
ラインの開始位置でのみある項を計算することにより、グラフィックスをレンダ
リングする際に実行される計算の数を削減し、それによって三線フィルタリング
の性能が改善される。上記の数式中のc1およびc2の導関数はゼロであり、し
たがって、c1およびc2はスキャンラインに沿った定数であり、この場合、ス
キャンラインは、y軸に沿って単一の値を有し、かつx軸に沿って増減する値を
有する。したがって、一実施形態によれば、数量(c1*c1+c2*c2)は各
スキャンラインの開始位置で1度だけ計算され、それに対して、数量( c3*
3+c4*c4 )は、スキャンラインに沿って各点ごと、あるいは各画素ごとに
計算される。数量(c1*c2+c2*c2)を各スキャンラインごとに1度計算
するだけでよく、かつ数量(c3*c3+c4*c4)の計算がスキャンラインに
沿った各画素ごとに上記の計算に従うので、この実施形態では、数量( c1*
1+c2*c2 )および数量(c3*c3+c4*c4)を計算する際に同じ乗算
器ユニットを使用することができる。というのは、これらの値が同時に計算され
ることはないからである。
According to a first embodiment of the present invention, by calculating terms that are only at the start of each scanline, rather than at all points of the triangle, the calculations performed when rendering graphics are performed. The number is reduced, thereby improving the performance of the three-line filtering. The derivatives of c1 and c2 in the above equation are zero, so c1 and c2 are constants along the scanline, where the scanline has a single value along the y-axis , And values that increase and decrease along the x-axis. Thus, according to one embodiment, the quantity (c1 * c1 + c2 * c2) is calculated only once at the start of each scan line, whereas the quantity (c3 * c)
3 + c4 * c4) is calculated for each point or each pixel along the scan line. The quantity (c1 * c2 + c2 * c2) need only be calculated once for each scan line, and the calculation of the quantity (c3 * c3 + c4 * c4) follows the above calculation for each pixel along the scan line. In the embodiment, the quantity (c1 * c
The same multiplier unit can be used in calculating 1 + c2 * c2) and quantity (c3 * c3 + c4 * c4). This is because these values are not calculated simultaneously.

【0025】 図5は、第1の実施形態の三線フィルタリングを使用する画素レンダリングに
関するフローチャートである。演算はステップ502から開始し、レンダリング
すべき多角形のスキャンラインが選択される。各スキャンラインの開始位置で、
三角形エンジンはステップ504で、数式7および数式8を使用し、スキャンラ
インのx座標に対する2つのテクスチャ値のそれぞれのスキャンライン勾配を計
算する。これらのスキャンライン勾配を使用して数量(c1*c1+c2*c2)
が計算される。一実施形態では、これらの計算は、各スキャンラインごとに6回
の乗算、2回の減算、および1回の加算を使用して行われるが、この実施形態は
このように制限されるわけではない。この実施形態は6つの乗算器を使用するの
で、Rhoを単一のクロック・サイクルで計算することができる。
FIG. 5 is a flowchart relating to pixel rendering using three-line filtering according to the first embodiment. The operation starts at step 502 where a polygonal scanline to be rendered is selected. At the start of each scan line,
The triangle engine calculates, at step 504, the scanline gradient of each of the two texture values for the x-coordinate of the scanline using Equations 7 and 8. Quantity using these scan line gradients (c1 * c1 + c2 * c2)
Is calculated. In one embodiment, these calculations are performed using six multiplications, two subtractions, and one addition for each scan line, although this embodiment is not so limited. Absent. Since this embodiment uses six multipliers, Rho can be calculated in a single clock cycle.

【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回の比較演算を使用して行われるが、
この実施形態はこのように制限されるわけではない。
After calculating the scan line gradient at the start of each scan line, the triangle engine calculates, at step 506, the pixel gradient of each pixel of the scan line relative to the y coordinate of the scan line. The pixel gradient is calculated for each of the two texture values using Equations 9 and 10. Using this pixel gradient, the quantity (
c3 * c3 + c4 * c4) is calculated. In step 508, the quantity (c1 * c1 +
c2 * c2) is compared with the quantity (c3 * c3 + c4 * c4), and at step 510,
The larger of the two quantities is selected as the maximum Rho constant term for the corresponding pixel. In one embodiment, the maximum Rho constant calculation is performed using six multiplications, two subtractions, one addition, and one comparison operation for each pixel,
This embodiment is not so limited.

【0027】 最大Rho定数を求めた後で、三角形エンジンはステップ512で、数式2を
使用してスキャンラインの各画素ごとにLODを計算する。各画素のLOD値は
、ステップ514で、対応する画素をレンダリングするためのテクスチャ・マッ
プを選択するために使用される。画素は、ステップ516でレンダリングされる
。ステップ518で、スキャンラインのすべての画素がレンダリングされている
かどうかが判定される。現在のスキャンラインのすべての画素がレンダリングさ
れているわけではない場合、演算はステップ506に進み、スキャンラインの他
の画素について画素勾配が計算される。現在のスキャンラインのすべての画素が
レンダリングされている場合、演算はステップ520に進み、現在の多角形のす
べてのスキャンラインがレンダリングされているかどうかが判定される。現在の
多角形のすべてのスキャンラインがレンダリングされているわけではない場合、
演算はステップ502に進み、多角形の新しいスキャンラインがレンダリングす
べきスキャンラインとして選択される。現在の多角形のすべてのスキャンライン
がレンダリングされている場合、現在の多角形に関する演算は終了する。
After determining the maximum Rho constant, the triangle engine calculates LOD for each pixel of the scan line using Equation 2 at step 512. The LOD value of each pixel is used at step 514 to select a texture map to render the corresponding pixel. The pixels are rendered at step 516. At step 518, it is determined whether all pixels of the scan line have been rendered. If not all pixels of the current scan line have been rendered, operation proceeds to step 506, where a pixel gradient is calculated for the other pixels of the scan line. If all pixels of the current scanline have been rendered, operation proceeds to step 520, where it is determined whether all scanlines of the current polygon have been rendered. If not all scanlines of the current polygon have been rendered,
The operation proceeds to step 502, where a new scan line of the polygon is selected as the scan line to be rendered. If all scanlines of the current polygon have been rendered, the operation for the current polygon ends.

【0028】 本発明の第2の実施形態によれば、三角形のあらゆる点ではなく、各スキャン
ラインの開始位置でのみある項を計算することによりグラフィックスをレンダリ
ングする際に実行される計算の数を削減することによって三線フィルタリングの
性能が改善される。前述のように、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が計算される
ことはない。
According to a second embodiment of the present invention, the number of calculations performed in rendering graphics by calculating a term only at the start of each scanline, rather than at every point of the triangle Reduces the performance of the three-line filtering. As described above, c1 and c2 are constants along the scan line, so the quantity (c1 * c1 + c2 * c2) is calculated only once at the start of each scan line. Further, c3 and c in Expression 9 and Expression 10
Note that 4 is a linear quantity. Therefore, when the quantity (c3 * c3 + c4 * c4) is calculated at the pixel (x, y), that is, the start position of the scan line, the following equation is obtained for the pixel (x + 1, y), that is, the next pixel on the scan line. enacted, (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) The following expression holds for the pixel (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) Therefore, when the derivatives of c3 and c4 are calculated at the start position of each scan line, c3 and c4 are not calculated for each pixel along the scan line.

【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定数が計算され、この計算は、現在のスキャン
ラインについて画素がレンダリングされている間、連続するスキャンラインにつ
いて実行することができる。
FIG. 6 is a flowchart relating to pixel rendering using three-line filtering according to the second embodiment. The operation starts at step 602, where a polygonal scanline to be rendered is selected. At the start of each scan line,
The triangle engine calculates the scanline gradient of each of the two texture values for the x-coordinate of the scanline using Equations 7 and 8 at step 604. Using these scan line gradients, the quantity (c1 * c1 + c2 * c2)
) Is calculated. After calculating the scan line gradient at the start of each scan line, the triangle engine calculates, at step 606, the pixel gradient of the first pixel of the scan line relative to the y coordinate of the scan line. The pixel gradient is calculated for each of the two texture values using Equations 9 and 10. At step 608, the derivative with respect to the pixel gradient is calculated according to: delta_c3 = (dq / dx * du p / dy-du p / dx * dq / dy)
(17) delta_c4 = (dq / dx * dv p / dy-dv p / dx * dq / dy)
(18) The pixel gradient is determined for each pixel using this derivative, thus eliminating the need to separately calculate the pixel gradient for each pixel. The quantity (c1 * c1 + c2 * c2) is calculated using the scan line gradient and the quantity (c3 * c3 + c4 * c4) is
Calculated using pixel gradient. In one embodiment, these calculations are performed using 20 multiplications, 6 subtractions, 5 additions, and 2 left shift operations for each scan line, but this embodiment does this. It is not so limited.
In one embodiment, the maximum Rho constant is calculated over two clock cycles for each scanline using ten multipliers, the calculation being continuous while the pixel is being rendered for the current scanline. It can be performed on scan lines.

【0030】 ステップ610で、数量(c1*c1+c2*c2)が数量(c3*c3+c4* c4)と比較され、ステップ612で、この2つの数量のうちの大きい方が、対
応する画素に関する最大Rho定数項として選択される。一実施形態では、最大
Rho定数計算は、各画素ごとに2回の加算および1回の比較演算を使用して行
われるが、この実施形態はこのように制限されるわけではない。
In step 610, the quantity (c1 * c1 + c2 * c2) is compared to the quantity (c3 * c3 + c4 * c4), and in step 612 the greater of the two quantities is the maximum Rho constant for the corresponding pixel. Selected as a term. In one embodiment, the maximum Rho constant calculation is performed using two additions and one comparison operation for each pixel, but this embodiment is not so limited.

【0031】 最大Rho定数を求めた後で、三角形エンジンは、ステップ614で、数式2
を使用してスキャンラインの各画素ごとにLODを計算する。各画素のLOD値
は、ステップ616で、対応する画素をレンダリングするためのテクスチャ・マ
ップを選択するために使用される。画素は、ステップ618でレンダリングされ
る。ステップ620で、スキャンラインのすべての画素がレンダリングされてい
るかどうかが判定される。現在のスキャンラインのすべての画素がレンダリング
されているわけではない場合、演算はステップ610に進む。現在のスキャンラ
インのすべての画素がレンダリングされている場合、演算はステップ622に進
み、現在の多角形のすべてのスキャンラインがレンダリングされているかどうか
が判定される。現在の多角形のすべてのスキャンラインがレンダリングされてい
るわけではない場合、演算はステップ602に進み、多角形の新しいスキャンラ
インがレンダリングすべきスキャンラインとして選択される。現在の多角形のす
べてのスキャンラインがレンダリングされている場合、現在の多角形に関する演
算は終了する。
After determining the maximum Rho constant, the triangle engine determines in step 614 that
Is used to calculate the LOD for each pixel of the scan line. The LOD value of each pixel is used in step 616 to select a texture map to render the corresponding pixel. The pixels are rendered at step 618. At step 620, it is determined whether all pixels of the scan line have been rendered. If not all pixels of the current scanline have been rendered, the operation proceeds to step 610. If all pixels of the current scanline have been rendered, the operation proceeds to step 622, where it is determined whether all scanlines of the current polygon have been rendered. If not all scanlines of the current polygon have been rendered, operation proceeds to step 602, where a new scanline of the polygon is selected as the scanline to render. If all scanlines of the current polygon have been rendered, the operation for the current polygon ends.

【0032】 したがって、画素ごとのMIPマッピングおよび三線フィルタリング用の方法
および装置を開示する。本明細書で説明するこれらの特定の構成および方法は本
発明の原則を例示するものに過ぎない。当業者によって、本発明の範囲から逸脱
せずに形態および詳細に多数の修正を加えることができる。特定の好ましい実施
形態に関して本発明を示したが、本発明をそのように制限されるものとみなすべ
きではない。本発明は、添付の特許請求の範囲によってのみ制限される。
Thus, a method and apparatus for per-pixel MIP mapping and three-line filtering is disclosed. These specific structures and methods described herein are merely illustrative of the principles of the present invention. Numerous modifications in form and detail can be made by those skilled in the art without departing from the scope of the invention. Although the invention has been described with reference to certain preferred embodiments, the invention should not be deemed to be so limited. The invention is limited only by the appended claims.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明が実施されるコンピュータ・システムの一実施形態を示す図である。FIG. 1 is a diagram illustrating one embodiment of a computer system on which the present invention is implemented.

【図2】 一実施形態のグラフィックス/ビデオ・アクセレレータ・カード内に含まれる
例示的な回路を示す図である。
FIG. 2 illustrates an exemplary circuit included in a graphics / video accelerator card of one embodiment.

【図3】 一実施形態の三角形および対応するスキャンラインおよび画素を示す図である
FIG. 3 illustrates a triangle and corresponding scan lines and pixels of one embodiment.

【図4】 RGBカラー・モデルを使用して一実施形態のMIPマップ・メモリ構成を示
す図である。
FIG. 4 illustrates an embodiment of a MIP map memory configuration using an RGB color model.

【図5】 第1の実施形態の三線フィルタリングを使用した画素レンダリングに関するフ
ローチャートである。
FIG. 5 is a flowchart relating to pixel rendering using three-line filtering according to the first embodiment;

【図6】 第2の実施形態の三線フィルタリングを使用した画素レンダリングに関するフ
ローチャートである。
FIG. 6 is a flowchart relating to pixel rendering using three-line filtering according to the second embodiment.

───────────────────────────────────────────────────── フロントページの続き (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,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,UZ,VN,YU,ZA,Z W (72)発明者 ヤン,スティーブン アメリカ合衆国・94539・カリフォルニア 州・フレモント・ワグナー ストリート・ 663 Fターム(参考) 5B080 AA14 CA05 DA06 FA02 GA22──────────────────────────────────────────────────続 き Continuation of front page (81) Designated country EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE ), OA (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, KE, LS, MW, SD, SL, SZ, UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AL, AM, AT, AU, AZ, BA, BB, BG, BR , BY, CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS , JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, UA, UG, UZ, VN, YU, ZA, ZW (72) Inventor Jan, Stephen United States 94439 California・ Fremont Wagner Street ・ 663 F-term (reference) 5B080 AA14 CA05 DA06 FA02 GA22

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 3次元(3D)グラフィックスを生成する方法であって、 スキャンラインの第1の位置座標に関して複数のテクスチャ値のそれぞれに対
してスキャンラインの開始位置で1度だけスキャンライン勾配を計算して、画素
をレンダリングする際に使用する1つのテクスチャ・マップを複数のテクスチャ
・マップから選択するステップと、 画素をレンダリングするテクスチャ・マップを選択するために最大スケール・
ファクタを使用し、スキャンライン勾配を使用すると共に画素勾配と画素勾配の
導関数のうちの少なくとも一方を使用して各画素に対して最大スケール・ファク
タを計算するステップと を含む方法。
1. A method for generating three-dimensional (3D) graphics, comprising: providing a scan line gradient only once at a start position of a scan line for each of a plurality of texture values with respect to a first position coordinate of the scan line. And selecting one texture map from the plurality of texture maps to use in rendering the pixels; and maximizing the scale to select the texture map to render the pixels.
Calculating a maximum scale factor for each pixel using a factor, using a scan line gradient and using at least one of the pixel gradient and the derivative of the pixel gradient.
【請求項2】 スキャンライン勾配が、スキャンラインの開始位置で1度だ
け2つのテクスチャ値のそれぞれについて計算され、スキャンライン勾配が次式
を使用して計算され、 c1=(q*dup/dx−up *dq/dx) c2=(q*dvp/dx−vp *dq/dx) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項1に記載の方法。
2. A scan line slope is calculated for each of the two texture values only once at the start of the scan lines, the scan lines gradient is calculated using the following formula, c1 = (q * du p / in dx-u p * dq / dx ) c2 = (q * dv p / dx-v p * dq / dx) the above equation, u and v are the texture values, x and y are located at the texel screen position value , Q is a distance value.
【請求項3】 スキャンラインの各画素ごとに1度だけ、スキャンラインの
第2の位置座標に対する複数のテクスチャ値のそれぞれの画素勾配が計算され、
前記画素勾配が、最大スケール・ファクタを計算するために使用される請求項1
に記載の方法。
3. The pixel gradient of each of the plurality of texture values for a second position coordinate of the scan line is calculated only once for each pixel of the scan line;
2. The pixel gradient is used to calculate a maximum scale factor.
The method described in.
【請求項4】 画素勾配が、2つのテクスチャ値のそれぞれについて計算さ
れ、スキャンライン画素勾配が次式を使用して計算され、 c3=(q*dup/dy−up *dq/dy) c4=(q*dvp/dy−vp *dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項3に記載の方法。
4. A pixel gradient is calculated for each of the two texture values, the scan line pixel gradient is calculated using the following equation, c3 = (q * du p / dy-u p * dq / dy) c4 = in (q * dv p / dy- v p * dq / dy) the above equation, u and v is the texture values, x and y are screen position value of texel, claim q is a distance value 3. The method according to 3.
【請求項5】 最大スケール・ファクタがRhoであり、Rhoが送信元テ
クセルと画面画素との最大の比であり、Rhoが、次式を使用して計算される、 Rho=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)]/
(q*q) 請求項4に記載の方法。
5. The maximum scale factor is Rho, where Rho is the maximum ratio of source texel to screen pixel, and Rho is calculated using the following equation: Rho = MAX [(c1 * c1 + c2 * c2), (c3 * c3 + c4 * c4)] /
(Q * q) The method of claim 4.
【請求項6】 画素勾配の導関数が、各スキャンラインごとに、スキャンラ
インの開始位置で1度だけ複数のテクスチャ値のそれぞれについて計算され、前
記画素勾配の前記導関数が、最大スケール・ファクタを計算するために使用され
る請求項1に記載の方法。
6. The derivative of the pixel gradient is calculated for each of the plurality of texture values, once for each scan line, once at the start of the scan line, and wherein the derivative of the pixel gradient is a maximum scale factor. 2. The method according to claim 1, which is used to calculate
【請求項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に記載の方法。
7. A pixel derivative of the gradient is calculated for each of the two texture values, said derivative of said pixel gradient is calculated using the following equation, delta c3 = (dq / dx * du p / in dy-du p / dx * dq / dy) delta c4 = (dq / dx * dv p / dy-dv p / dx * dq / dy) the above equation, u and v are the texture values, x and y are 7. The method of claim 6, wherein the texel is a screen position value and q is a distance value.
【請求項8】 さらに、各テクスチャ・マップが異なる解像度でレンダリン
グされる、複数のテクスチャのそれぞれについて複数のテクスチャ・マップを生
成するステップを含む請求項1に記載の方法。
8. The method of claim 1, further comprising generating a plurality of texture maps for each of the plurality of textures, wherein each texture map is rendered at a different resolution.
【請求項9】 第1の位置座標がX座標であり、第2の位置座標がY座標で
ある請求項1に記載の方法。
9. The method according to claim 1, wherein the first position coordinate is an X coordinate and the second position coordinate is a Y coordinate.
【請求項10】 さらに、詳細レベル(LOD)を計算するステップを含み
、 LOD=log2(Rho)であり、 前記LODが、画素をレンダリングするためのテクスチャ・マップを選択する
ために使用される請求項1に記載の方法。
10. The method further includes calculating a level of detail (LOD), where LOD = log 2 (Rho), wherein the LOD is used to select a texture map for rendering pixels. The method of claim 1.
【請求項11】 メモリと、 メモリに結合され、複数のテクスチャ・マップのうちの画素をレンダリングす
る際に使用すべき1つのテクスチャ・マップを選択するようにメモリに結合され
たプロセッサ・サブシステムとを備え、各スキャンラインごとに、スキャンライ
ンの開始位置で1度だけ、スキャンラインの第1の位置座標に対する複数のテク
スチャ値のそれぞれのスキャンライン勾配が計算され、前記プロセッサ・サブシ
ステムが、スキャンライン勾配を使用すると共に画素勾配と画素勾配の導関数の
うちの少なくとも一方を使用して各画素ごとに最大スケール・ファクタを計算し
、最大スケール・ファクタが、画素をレンダリングするためのテクスチャ・マッ
プを選択するために使用されるコンピュータ・システム。
11. A memory and a processor subsystem coupled to the memory and coupled to the memory to select one texture map to be used in rendering a pixel of the plurality of texture maps. Calculating, for each scan line, only once at a start position of the scan line, a scan line gradient of each of a plurality of texture values for a first position coordinate of the scan line; Calculating a maximum scale factor for each pixel using the line gradient and using the pixel gradient and / or a derivative of the pixel gradient, wherein the maximum scale factor is a texture map for rendering the pixel; Computer system used to select the.
【請求項12】 プロセッサ・サブシステムが、スキャンラインの開始位置
で1度だけ、2つのテクスチャ値のそれぞれのスキャンライン勾配を計算し、ス
キャンライン勾配が次式を使用して計算され、 c1=(q*dup/dx−up *dq/dx) c2=(q*dvp/dx−vp *dq/dx) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項11に記載のコンピュータ・システム。
12. The processor subsystem calculates the scan line gradient of each of the two texture values only once at the start of the scan line, and the scan line gradient is calculated using the following equation: c1 = in (q * du p / dx- u p * dq / dx) c2 = (q * dv p / dx-v p * dq / dx) the above equation, u and v are the texture values, x and y are texels The computer system according to claim 11, wherein the screen position value is a distance value and q is a distance value.
【請求項13】 プロセッサ・サブシステムが、スキャンラインの各画素ご
とに1度だけ、スキャンラインの第2の位置座標に対する複数のテクスチャ値の
それぞれの画素勾配を計算し、前記画素勾配が、最大スケール・ファクタを計算
するために使用される請求項11に記載のコンピュータ・システム。
13. The processor subsystem calculates a pixel gradient of each of the plurality of texture values for a second position coordinate of the scan line only once for each pixel of the scan line, wherein the pixel gradient is at a maximum. The computer system of claim 11, used to calculate a scale factor.
【請求項14】 画素勾配が、2つのテクスチャ値のそれぞれについて計算
され、スキャンライン画素勾配が次式を使用して計算され、 c3=(q*dup/dy−up *dq/dy) c4=(q*dvp/dy−vp *dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項13に記載のコンピュータ・システム。
14. The pixel gradient is calculated for each of the two texture values, the scan line pixel gradient is calculated using the following equation, c3 = (q * du p / dy-u p * dq / dy) c4 = in (q * dv p / dy- v p * dq / dy) the above equation, u and v is the texture values, x and y are screen position value of texel, claim q is a distance value 14. The computer system according to claim 13.
【請求項15】 最大スケール・ファクタがRhoであり、Rhoが送信元
テクセルと画面画素との最大の比であり、Rhoが、次式を使用して計算される
、 Rho=MAX[(c1*c1+c2*c2),(c3*c3+c4*c4)]/
(q*q) 請求項14に記載のコンピュータ・システム。
15. The maximum scale factor is Rho, where Rho is the maximum ratio of source texel to screen pixel, and Rho is calculated using the following equation: Rho = MAX [(c1 * c1 + c2 * c2), (c3 * c3 + c4 * c4)] /
(Q * q) The computer system according to claim 14.
【請求項16】 プロセッサ・システムが、各スキャンラインごとに、スキ
ャンラインの開始位置で1度だけ、複数のテクスチャ値のそれぞれの画素勾配の
導関数を計算し、前記画素勾配の前記導関数が、最大スケール・ファクタを計算
するために使用される請求項11に記載のコンピュータ・システム。
16. The processor system calculates, for each scanline, a derivative of a pixel gradient of each of a plurality of texture values, once at a start position of the scanline, wherein the derivative of the pixel gradient is 12. The computer system of claim 11, which is used to calculate a maximum scale factor.
【請求項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に記載のコンピュータ・システム。
17. The processor subsystem calculates a derivative of a pixel gradient for each of two texture values, wherein the derivative of the pixel gradient is calculated using the following equation: delta c3 = (dq / in dx * du p / dy-du p / dx * dq / dy) delta c4 = (dq / dx * dv p / dy-dv p / dx * dq / dy) the above equation, u and v are located in texture value 17. The computer system according to claim 16, wherein x, y and y are screen position values of texels, and q is a distance value.
【請求項18】 プロセッサ・サブシステムがさらに、 各テクスチャ・マップが異なる解像度でレンダリングされる、複数のテクスチ
ャのそれぞれについて複数のテクスチャ・マップを生成し、 LOD=log2(Rho)であり、画素をレンダリングするためのテクスチ
ャ・マップを選択するために使用される詳細レベル(LOD)を、計算するよう
に構成される請求項11に記載の方法。
18. The processor subsystem further generates a plurality of texture maps for each of the plurality of textures, wherein each texture map is rendered at a different resolution, wherein LOD = log 2 (Rho), 12. The method of claim 11, wherein the method is configured to calculate a level of detail (LOD) used to select a texture map for rendering.
【請求項19】 処理システム内で実行されたときに、3次元(3D)グラ
フィックスを生成するステップをシステムに実行させる実行可能な命令を含むコ
ンピュータ可読媒体であって、前記ステップが、 各スキャンラインごとに、スキャンラインの開始位置で1度だけ、スキャンラ
インの第1の位置座標に対する複数のテクスチャ値のそれぞれのスキャンライン
勾配を計算して、複数のテクスチャ・マップのうちの画素をレンダリングする際
に使用すべき1つのテクスチャ・マップを選択するステップと、 最大スケール・ファクタが、画素をレンダリングするためのテクスチャ・マッ
プを選択するために使用される、スキャンライン勾配を使用すると共に画素勾配
と画素勾配の導関数のうちの少なくとも一方を使用して各画素ごとに最大スケー
ル・ファクタを計算するステップとを含むコンピュータ可読媒体。
19. A computer-readable medium containing executable instructions that, when executed in a processing system, cause the system to perform the steps of generating three-dimensional (3D) graphics, the steps comprising: For each line, only once at the start of the scan line, calculate the scan line gradient of each of the plurality of texture values relative to the first position coordinate of the scan line and render the pixels of the plurality of texture maps. Selecting a single texture map to use in conjunction with the scan line gradient and the pixel scale and the maximum scale factor used to select the texture map to render the pixel. A maximum scan for each pixel using at least one of the derivatives of the pixel gradient. Computer readable media comprising calculating an Lumpur factor.
【請求項20】 前記命令が、システムに、スキャンラインの開始位置で1
度だけ、2つのテクスチャ値のそれぞれのスキャンライン勾配を計算させ、スキ
ャンライン勾配が次式を使用して計算され、 c1=(q*dup/dx−up *dq/dx) c2=(q*dvp/dx−vp *dq/dx) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項19に記載のコンピュータ可読媒体。
20. The system according to claim 1, wherein the instruction is provided to the system at the start of the scan line.
Every time only, to calculate the respective scan lines gradient of two texture values, the scan line gradient is calculated using the following formula, c1 = (q * du p / dx-u p * dq / dx) c2 = ( in q * dv p / dx-v p * dq / dx) the above equation, u and v is the texture values, x and y are screen position value of texel claim 19 q is a distance value Computer readable media.
【請求項21】 前記命令が、システムに、スキャンラインの各画素ごとに
1度だけ、スキャンラインの第2の位置座標に対する複数のテクスチャ値のそれ
ぞれの画素勾配を計算させ、前記画素勾配が、最大スケール・ファクタを計算す
るために使用される請求項19に記載のコンピュータ・システム。
21. The instructions cause the system to calculate a pixel gradient of each of a plurality of texture values for a second position coordinate of the scan line only once for each pixel of the scan line, wherein the pixel gradient is: 20. The computer system according to claim 19, used to calculate a maximum scale factor.
【請求項22】 前記命令が、システムに2つのテクスチャ値のそれぞれに
ついて画素勾配を計算させ、スキャンライン画素勾配が次式に従って計算され、 c3=(q*dup/dy−up *dq/dy) c4=(q*dvp/dy−vp *dq/dy) 上式で、uおよびvがテクスチャ値であり、xおよびyがテクセルの画面位置値
であり、qが距離値である請求項21に記載のコンピュータ可読媒体。
22. wherein the instructions, to calculate the pixel gradient for each of the two texture values to the system, the scan line pixel gradient is calculated according to the following equation, c3 = (q * du p / dy-u p * dq / dy) with c4 = (q * dv p / dy-v p * dq / dy) the above equation, u and v is the texture values, x and y are screen position value of texel, q is a distance value A computer readable medium according to claim 21.
【請求項23】 最大スケール・ファクタがRhoであり、Rhoが送信元
テクセルと画面画素との最大の比であり、前記命令が、システムに、次式に従っ
てRhoを計算させる、 Rho=MAX[sqrt(c1*c1+c2*c2), sqrt(c3*c3+c4*c4)]/(q*q) 請求項22に記載のコンピュータ可読媒体。
23. The maximum scale factor is Rho, where Rho is the maximum ratio of source texels to screen pixels, and the instructions cause the system to calculate Rho according to: Rho = MAX [sqrt (C1 * c1 + c2 * c2), sqrt (c3 * c3 + c4 * c4)] / (q * q) The computer-readable medium according to claim 22.
【請求項24】 前記命令がシステムに、各スキャンラインごとに、スキャ
ンラインの開始位置で1度だけ、複数のテクスチャ値のそれぞれの画素勾配の導
関数を計算させ、前記画素勾配の前記導関数が、最大スケール・ファクタを計算
するために使用される請求項19に記載のコンピュータ可読媒体。
24. The instructions cause the system to calculate, for each scan line, a derivative of a pixel gradient of each of a plurality of texture values, once at a start position of the scan line, wherein the derivative of the pixel gradient is calculated. 20. The computer-readable medium of claim 19, wherein is used to calculate a maximum scale factor.
【請求項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に記載のコンピュータ可読媒体。
25. The instructions cause the system to calculate the derivative of the pixel gradient for each of two texture values, and the derivative of the pixel gradient is calculated according to: delta c3 = (dq / dx * in du p / dy-du p / dx * dq / dy) delta c4 = (dq / dx * dv p / dy-dv p / dx * dq / dy) the above equation, u and v are the texture value, x The computer-readable medium of claim 24, wherein and y are texel screen position values and q is a distance value.
【請求項26】 前記命令が、システムにさらに、 各テクスチャ・マップが異なる解像度でレンダリングされる、複数のテクスチ
ャのそれぞれについて複数のテクスチャ・マップを生成するステップと、 LOD=log2(Rho)であり、画素をレンダリングするためのテクスチ
ャ・マップを選択するために使用される詳細レベル(LOD)を、計算するステ
ップを実行させる請求項19に記載のコンピュータ可読媒体。
26. The instructions further comprising: generating a plurality of texture maps for each of a plurality of textures, wherein each texture map is rendered at a different resolution; LOD = log 2 (Rho). 20. The computer-readable medium of claim 19, comprising causing a step of calculating a level of detail (LOD) used to select a texture map for rendering pixels.
JP2000556341A 1998-06-24 1999-06-24 Improved method and apparatus for pixel-by-pixel MIP mapping and three-line filtering Expired - Fee Related JP4160261B2 (en)

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 (en) 2002-07-02
JP4160261B2 JP4160261B2 (en) 2008-10-01

Family

ID=22298959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000556341A Expired - Fee Related JP4160261B2 (en) 1998-06-24 1999-06-24 Improved method and apparatus for pixel-by-pixel MIP mapping and three-line filtering

Country Status (6)

Country Link
US (1) US6469700B1 (en)
JP (1) JP4160261B2 (en)
KR (1) KR100567204B1 (en)
AU (1) AU4961299A (en)
CA (1) CA2301607C (en)
WO (1) WO1999067748A2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
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 (en) * 2005-08-05 2007-02-08 (주)지큐소프트 system and Method for 3d graphic acceleration in synthesis cdma environment
KR100649111B1 (en) * 2005-09-21 2006-11-27 한국과학기술원 Apparatus and method for calculating in 3d graphics system
KR100908123B1 (en) * 2006-05-26 2009-07-16 삼성전자주식회사 3D graphics processing method and apparatus for performing perspective correction
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 (en) 2012-06-26 2019-09-04 삼성전자주식회사 Method and apparatus for providing shared caches
US8982120B1 (en) * 2013-12-18 2015-03-17 Google Inc. Blurring while loading map data
EP3129958B1 (en) 2014-04-05 2021-06-02 Sony Interactive Entertainment LLC Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US9710957B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Graphics processing enhancement by tracking object and/or primitive identifiers
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
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
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
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
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
US11120605B2 (en) 2020-01-09 2021-09-14 Samsung Electronics Co., Ltd. Approximate trilinear filtering

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
WO1999067748A3 (en) 2000-04-06
CA2301607A1 (en) 1999-12-29
AU4961299A (en) 2000-01-10
KR20010023213A (en) 2001-03-26
KR100567204B1 (en) 2006-04-03
CA2301607C (en) 2007-04-03
WO1999067748A2 (en) 1999-12-29
US6469700B1 (en) 2002-10-22
JP4160261B2 (en) 2008-10-01

Similar Documents

Publication Publication Date Title
JP4160261B2 (en) Improved method and apparatus for pixel-by-pixel MIP mapping and three-line filtering
US6016151A (en) 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation
JP3678428B2 (en) Method and apparatus for chroma key, transparency, and fog operation
US7280121B2 (en) Image processing apparatus and method of same
EP1792281B1 (en) Method and system for anti-aliasing by pixel sampling
US6891548B2 (en) System and method for calculating a texture-mapping gradient
US5986663A (en) Auto level of detail-based MIP mapping in a graphics processor
US20060119599A1 (en) Texture data anti-aliasing method and apparatus
JP3675488B2 (en) Circuit for determining non-homogeneous secondary perspective texture mapping coordinates using linear interpolation
JPH07152923A (en) Method and apparatus for rendering of texture-processed object
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
JP2000228779A (en) Image processor and image processing method
JP3821880B2 (en) Device that gives color depth instructions
KR20080100854A (en) Rendering processing method, rendering processing device, and computer-readable recording medium having recorded therein a rendering processing program
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 (en) Image processing unit and its method
JP2005332195A (en) Texture unit, image drawing apparatus, and texel transfer method
US6563507B1 (en) Storage circuit control device and graphic computation device
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 (en) Image texture mapping device using texel caches

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