JP4660254B2 - 描画方法及び描画装置 - Google Patents

描画方法及び描画装置 Download PDF

Info

Publication number
JP4660254B2
JP4660254B2 JP2005112418A JP2005112418A JP4660254B2 JP 4660254 B2 JP4660254 B2 JP 4660254B2 JP 2005112418 A JP2005112418 A JP 2005112418A JP 2005112418 A JP2005112418 A JP 2005112418A JP 4660254 B2 JP4660254 B2 JP 4660254B2
Authority
JP
Japan
Prior art keywords
texture
pixels
unit
pixel
anisotropy
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
Application number
JP2005112418A
Other languages
English (en)
Other versions
JP2006293627A (ja
Inventor
洋介 坂東
敬弘 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005112418A priority Critical patent/JP4660254B2/ja
Priority to TW095109960A priority patent/TWI311730B/zh
Priority to CNB2006100741856A priority patent/CN100419797C/zh
Priority to US11/400,420 priority patent/US7355604B2/en
Publication of JP2006293627A publication Critical patent/JP2006293627A/ja
Application granted granted Critical
Publication of JP4660254B2 publication Critical patent/JP4660254B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

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

Description

この発明は、描画方法及び描画装置に関するもので、例えば異方性テクスチャマッピングに関するものである。
近年、画像描画装置の高性能化には目覚ましいものがある。
デジタル画像データは複数のピクセル(pixel)の集合として表される。ピクセル処理の際に、物体表面の絵柄や材質を表す画像(texture)を貼り付けることによって、より詳細な表現が可能となる。この処理はテクスチャマッピング(texture mapping)と呼ばれている。テクスチャにおける各ピクセルの該当位置は、ピクセルをテクスチャ上に逆射影した像(ピクセルフットプリント:pixel footprint)から知ることが出来る。フットプリントは、テクスチャ上において異方性を持って歪む場合がある。このような場合には、異方性の方向を推測してテクスチャに何らかのフィルタリングを施して再構成する方法が提案されている(例えば非特許文献1、2参照)。
しかしながら非特許文献1記載の手法であると、フレームバッファ上においてピクセルを中心とした正規分布(Gaussian)を考えて、それをテクスチャ上に逆投影して、楕円に歪んだフィルタ(Elliptical Weighted Average)をかけている。従って、計算量が膨大であり計算コストが高く、またハードウェア化に不向きであるという問題があった。
また非特許文献2記載の手法であると、ミップマッピング回路を複数回用いることで、計算コストを低減出来る。しかし、ピクセルのフットプリントの形状が長方形から離れるにつれて異方性の計算が困難になる傾向がある。その結果、画像が暈けてしまい、画像描画精度が悪化するという問題があった。
Paul S. Heckbert著、"Fundamentals of Texture Mapping and Image Warping (Masters Thesis)"、Report No. UCB/CSD 89/516, Computer Science Division, University of California, Berkeley, June 1989年 Open GL Extension、[online]、[平成17年4月4日検索]、インターネット<URL:http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_filter_anisotropic.txt>
この発明は、計算コストを低減しつつ画像の描画精度を向上出来る描画方法及び描画装置を提供する。
この発明の一態様に係る描画方法は、描画すべき図形に応じてピクセルを生成するラスタライザと、前記ピクセルにテクスチャを貼り付けるテクスチャユニットと、描画された前記図形のデータを記憶するメモリとを備える描画装置による図形の描画方法であって、前記ラスタライザが、図形情報に従って前記ピクセルを生成するステップと、前記テクスチャユニットが、テクセルの集合がuv座標に配置された前記テクスチャに前記ピクセルを投影して得られるフットプリントの異方性の方向を判断するステップと、前記テクスチャユニットが、前記異方性の方向に従ってミップマップのサンプリングを行って、前記ピクセルに対してテクスチャマッピングを行うステップと、前記テクスチャマッピングの施された前記ピクセルを、前記メモリが記憶するステップとを具備し、前記異方性を判断するステップは、前記フットプリントの、前記テクスチャ上において互いに異なる少なくとも3つの方向の長さを比較することにより前記異方性の方向を判断する。
またこの発明の一態様に係る描画装置は、図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、前記ラスタライザによって生成された前記ピクセルに対して描画処理を行って、前記ピクセルの集合がxy座標に配置されたフレームバッファを作成する複数のピクセル処理部と、前記ピクセルに、テクセルの集合がuv座標に配置されたテクスチャを貼り付ける処理を行うテクスチャユニットと、前記ピクセル処理部及び前記テクスチャユニットによって描画された前記ピクセルのデータを保持する複数のメモリとを具備し、前記テクスチャユニットは、前記フレームバッファ上の少なくとも3方向に関する前記テクスチャ座標の微分値を計算する微分回路と、前記微分回路における計算結果に基づいて、前記テクスチャ座標の前記3方向の差分ベクトルを算出する差分ベクトル計算回路と、前記差分ベクトル計算回路の結果、前記3方向のうちで前記差分ベクトルが最も大きい方向を前記テクスチャ座標上における前記ピクセル形状の異方性の軸として選択する選択回路とを備える。
この発明によれば、計算コストを低減しつつ画像の描画精度を向上出来る描画方法及び描画装置を提供できる。
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
この発明の第1の実施形態に係る描画方法及び描画装置について、図1を用いて説明する。図1は、本実施形態に係る画像描画プロセッサシステムLSIのブロック図である。
図示するように、本実施形態に係る画像描画プロセッサシステムLSI10は、ホストプロセッサ20、I/Oプロセッサ30、メインメモリ40、及びグラフィックプロセッサ50を備えている。ホストプロセッサ20とグラフィックプロセッサ50とは、プロセッサバスBUSによって、相互に通信可能に接続されている。
ホストプロセッサ20は、メインプロセッサ21、I/O部22〜24、及び複数の信号処理部(DSP:Digital Signal Processor)25を備えている。これらの回路ブロックは、ローカルネットワークLN1によって相互に通信可能に接続されている。メインプロセッサ21は、ホストプロセッサ20内の各回路ブロックの動作を制御する。I/O部22は、I/Oプロセッサ30を介してホストプロセッサ20外部とデータの授受を行う。I/O部23は、メインメモリ40との間でデータの授受を行う。I/O部24は、プロセッサバスBUSを介してグラフィックプロセッサ50との間でデータの授受を行う。信号処理部25は、メインメモリ40や外部から読み込んだデータに基づいて信号処理を行う。
I/Oプロセッサ30は、ホストプロセッサ20と、例えば汎用バス、HDDやDVD(Digital Versatile Disc)ドライブ等の周辺機器並びにネットワークとを接続する。この際、HDDやDVDドライブは、LSI10に搭載されているものでも良いし、またはLSI10外部に設けられていても良い。
メインメモリ40は、ホストプロセッサ20が動作するために必要なプログラムを保持する。このプログラムは、例えば図示せぬHDD等から読み出されて、メインメモリ40に格納される。
グラフィックプロセッサ50は、DMA(Direct Memory Access)コントローラ51、I/O部52、53、及び演算処理部54を備えている。DMAコントローラ51は、ホストプロセッサ20とグラフィックプロセッサ50との間の通信や、演算処理部54内の通信の制御を行う。I/O部52は、プロセッサバスBUSを介したホストプロセッサ20との間の入出力を司る。I/O部53は、PCI等の各種汎用バス、ビデオ及びオーディオ、更に外部メモリ等との入出力を司る。演算処理部54は、画像処理演算を行う。
演算処理部54はラスタライザ(rasterizer)55、複数のピクセルシェーダ(pixel shader)56−0〜56−3、及びパケットマネジメントユニット(packet management unit)57を備えている。なお、本実施形態ではピクセルシェーダの数は4個であるがこれは一例に過ぎず、8個、16個、32個等でも良く、その数は限定されるものではない。演算処理部54の構成について図2を用いて説明する。図2は演算処理部54のブロック図である。
ラスタライザ55は、入力された図形情報に従ってピクセル(pixel)を生成する。ピクセルとは、所定の図形を描画する際に取り扱われる最小単位の領域のことであり、ピクセルの集合によって図形が描画される。
ピクセルシェーダ56−0〜56−3は、ラスタライザ55から投入されたピクセルにつき演算処理を行い、リアライズメモリ(後述する)上のフレームバッファに画像データを生成する。ピクセルシェーダ56−0〜56−3の各々は、エキスパンダ(expander)60、RPCシンクロナイザ(synchronizer)61、命令キャッシュユニット62、テクスチャユニット(texture unit)63、及び4つのリアライズパイプクラスタ(realize pipe cluster)64−0〜64−3を備えている。
エキスパンダ60はラスタライザ55からピクセルデータを受け取る。そして、受け取ったピクセルデータをリアライズパイプクラスタ64−0〜64−3へ割り振る。
RPCシンクロナイザ61は、各ピクセルシェーダ56−0〜56−3において、4つのリアライズパイプクラスタ64−0〜64−3の同期化を行う。RPCシンクロナイザ61は、ホストプロセッサ20からKick信号を受け取ると、リアライズパイプクラスタ64−0〜64−3に対して処理を起動させる。そしてリアライズパイプクラスタ64−0〜64−3の処理が終了すると、ホストプロセッサ20に対してアクノリッジ(acknowledge)を返す。
命令キャッシュユニット62は、命令フェッチ要求に応答して、リアライズパイプクラスタ64−0〜64−3に命令を供給する。
テクスチャユニット63はテクスチャ処理を行い、リアライズパイプクラスタ64−0〜64−3で処理されたピクセルにテクスチャデータを貼り付ける(テクスチャマッピング:texture mapping)。
リアライズパイプクラスタ64−0〜64−3はシェーダエンジン部であり、ピクセルデータに対してリアライズパイププログラムを実行する。そしてリアライズパイプクラスタ64−0〜64−3のそれぞれはSIMD(Single Instruction Multiple Data)動作を行って、4個のピクセルについての描画処理を同時に行う。
パケットマネジメントユニット57は、ピクセルシェーダ56−0〜56−3毎に設けられたリアライズメモリ(realize memory)58−0〜58−3を備えている。リアライズメモリ58−0〜58−3は、例えば互いに同一の半導体基板上に形成されたeDRAM(embedded DRAM)であり、それぞれピクセルシェーダ56−0〜56−3で描画されたピクセルデータを記憶する。なお、各リアライズメモリ58−0〜58−3は4つのメモリマクロを備えており、それぞれがリアライズパイプクラスタ64−0〜64−3に対応している。
次に、各ピクセルシェーダ56−0〜56−3が備えるテクスチャユニット63の構成について図3を用いて説明する。図3はテクスチャユニット63の一部領域のブロック図である。図示するようにテクスチャユニット63は、パラメータ計算部70、座標計算部71、サンプリング部72、累積加算部73、及びテクスチャキャッシュメモリ74を備えている。
図3は、テクスチャユニット63において異方性テクスチャマッピングを行う部分について示している。異方性テクスチャマッピングについて以下説明する。
ラスタライザ55は、描画すべき図形に覆われるピクセルの集合を決定し、図形の頂点座標から各パラメータ値を補間する。そして各ピクセルについて、パラメータから色等を計算して、フレームバッファ(frame buffer)に格納する。フレームバッファはピクセルの2次元配列であり、以下、ピクセルの座標を(x、y)と表すことにする。
ピクセル処理の際に、物体表面の絵柄や材質を表す画像(テクスチャ)をマッピングすることにより、図形をより詳細に表現できる。これがテクスチャマッピングである。テクスチャはテクセル(texel)の2次元配列であり、以下テクセルの座標を(u、v)と表すことにする。テクセル座標は、基本的に図形の頂点にパラメータの1つとして与えられる。各ピクセルについて、ラスタライザ55で補間された座標でテクスチャの該当物体へのテクスチャ座標の与え方と、投影変換によりフレームバッファ上のピクセルをテクスチャ上に射影した像(ピクセルフットプリント:pixel footprint)は様々に変化する。従って、テクスチャマッピングを行う際には、フットプリント内のテクセルに何らかのフィルタリングを施す必要がある。
この様子を示しているのが図4及び図5である。図4はフレームバッファと対応するポリゴンの様子を示す概念図である。図示するように、フレームバッファ上に円形のピクセルがあったとする。そのピクセルに対応するポリゴンが視線に対して大きく傾いていたとする。すると、図5に示すようにフットプリントはある方向に細長く伸びた形状となる。この伸びた方向を異方性の方向と呼ぶ。従って、この場合にはテクセルをそのままピクセルに貼り付けること無く、テクセルに対するフィルタリングを行う。
テクスチャユニット63において使用するフィルタ方式は、バイリニアフィルタリング(bilinear filtering)やミップマッピング(mip mapping)である。バイリニアフィルタリングは、あるピクセルの近傍4テクセルを取得して、これらにより線形補間する方法である。これらのフィルタリング処理を、サンプリング部72が実行する。
ミップマッピングは、予めフィルタリングしておいた解像度の異なる画像(ミップマップ)をメモリに複数枚用意しておき、フットプリントのサイズに応じて適切な解像度の画像を選択する方法である。ミップマップの枚数をNとすると、(0−(N−1))をミップマップレベルと呼ぶ。ミップマップレベルが1高くなると、画像のサイズは幅、高さともに半分になる。ミップマップレベルは、テクスチャの詳細度(level-of-detail)を表す値LODによって選択される。LODの計算はパラメータ計算部70で行われる。
またサンプリング部72は、フットプリントがある方向に伸びている場合、すなわち異方性を有する場合、その異方性の方向に応じてミップマップのサンプリングを複数回行う。サンプリング点の個数を示す値ANISOと、サンプリングを行う方向(du、dv)は、パラメータ計算部70で算出される。またサンプリングを行うべき点のテクスチャ座標は、座標計算部71が(du、dv)とANISOとを基に算出する。
そして累積加算部73が、複数点におけるミップマップのサンプリング結果を累積加算し、ANISOで除算して得た平均値を最終結果として出力する。テクスチャキャッシュメモリ74は、リアライズメモリ58−0〜58−3のいずれかから読み出したテクスチャデータを保持する。サンプリング部72は、必要なテクスチャデータのメモリアドレスを計算してテクスチャキャッシュメモリ74へテクスチャデータの読み出し要求を行う。必要なデータがテクスチャキャッシュメモリ74に無い場合、テクスチャキャッシュメモリ74にリアライズメモリからデータを読み出すよう命令する。
次に、上記構成のグラフィックプロセッサ50の動作について、特に異方性テクスチャマッピングに着目して説明する。図6はグラフィックプロセッサ50により図形を描画する際の処理のフローチャートである。
図形を描画するにあたって、まずラスタライザ55に図形情報が入力される(ステップS10)。図形情報は、例えば図形の頂点座標や色情報などである。すると、ラスタライザ55は描画すべき図形が占める位置に対応するピクセルを生成し、生成したピクセルをピクセルシェーダ56−0〜56−3のいずれかのエキスパンダ60に送る(ステップS11)。次にエキスパンダ60は、リアライズパイプクラスタ64−0〜64−3へピクセルを4個ずつ割り振る。そして各リアライズパイプクラスタ64−0〜64−3がリアライズパイププログラムを実行して、ピクセルの描画処理を行う(ステップS12)。引き続き、ピクセルはリアライズパイプクラスタ64−0〜64−3からテクスチャユニット63へ送付され、テクスチャユニット63でテクスチャマッピングが実行される(ステップS13)。テクスチャマッピングが終了すると、そのピクセルはリアライズメモリ58−0〜58−3のいずれかに格納されて、処理が終了する(ステップS14)。
なお、テクスチャマッピングの結果は、一旦リアライズパイプクラスタ64−0〜64−3のいずれかに返された後で、その後リアライズメモリへ格納される。リアライズパイプクラスタ64−0〜64−3は、ピクセル処理中の任意の時点でテクスチャ要求を出し、その結果がテクスチャユニット63から返ってくるまでの間、他の命令を実行出来る。また、テクスチャユニット63から返ってきた結果を用いて更にピクセル処理を進めても良いし、更なるテクスチャ要求を出しても良いし、また結果をリアライズメモリに格納しても良い。リアライズパイプクラスタ64−0〜64−3はプログラマの書いた命令に従って動作するので、上記のように様々な自由度がある。その意味では、図6においてテクスチャマッピング(ステップS13)はピクセル演算処理(ステップS12)の一部であると言うことも出来る。
次に、上記ステップS13におけるテクスチャマッピングの詳細について図3及び図7を用いて説明する。図7はテクスチャマッピングのフローチャートである。
まずリアライズパイプクラスタ64−0〜64−3のいずれかからピクセルデータがテクスチャユニット63へ投入される(ステップS20)。図3に示すように、(2×2)個のピクセルp00、p01、p02、p03のデータが投入される。これら4個のピクセルのuv座標値をそれぞれ次のように表記する。
p00: (p00.u, p00.v)
p01: (p01.u, p01.v)
p10: (p10.u, p10.v)
p11: (p11.u, p11.v) (1)
1個のピクセルのxy座標における形状及びuv座標におけるフットプリントの形状の一例を図8、図9に示す。
次にパラメータ計算部70が、上記座標を元にANISO、LOD、(du、dv)を計算する(ステップS21)。ステップS21の処理を、図10のフローチャートを用いて詳細に説明する。
パラメータ計算部70はまず、フレームバッファ上における0度方向(x軸)及び90度方向(y軸)に対するテクスチャ座標の偏微分値du/dx、du/dy、dv/dx、dv/dyを求める(ステップS30)。これらの偏微分値は下記(2)式により求められる。
du/dx = ((p10.u - p00.u) + (p11.u - p01.u)) / 2
dv/dx = ((p10.v - p00.v) + (p11.v - p01.v)) / 2
du/dy = ((p01.u - p00.u) + (p11.u - p10.u)) / 2
dv/dy = ((p01.v - p00.v) + (p11.v - p10.v)) / 2 (2)
更に図11に示すように、x軸に対して45度の方向(l軸)及び135度(r軸)に対するテクスチャ座標の偏微分値du/dr、du/dl、dv/dr、dv/dlを求める(ステップS31)。これらの偏微分値は下記(3)式により求められる。
du/dl = (p11.u - p00.u) / √2
dv/dl = (p11.v - p00.v) / √2
du/dr = (p10.u - p01.u) / √2
dv/dr = (p10.v - p01.v) / √2 (3)
√2による除算は、ピクセルの対角線の長さを打ち消すために行うものである。
次にANISO及びLODを計算する。ANISO及びLODの計算は、x軸及びy軸だけでなく、l軸及びr軸に対しても行う。以下、x軸及びy軸に対するANISO及びLODを、それぞれANISOxy、LODxyと呼び、l軸及びr軸に対するANISO及びLODを、それぞれANISOlr、LODlrと呼ぶことにする。
テクスチャユニット63は、まずANISOxy及びLODxyを求めるためにPmax及びPminを求める(ステップS32)。この様子を図12に示す。図12はuv座標であり、ピクセルのフットプリントを示している。
図示するように、Pmaxは四角形の形状を有するフットプリントにおける四辺のうちの長辺の長さであり、Pminは短辺の長さである。従ってPmax及びPminは次の(4)、(5)式で求められる。
Pmax = max (|(du/dx, dv/dx)|, |(du/dy, dv/dy)|) (4)
Pmin = min (|(du/dx, dv/dx)|, |(du/dy, dv/dy)|) (5)
但しmax及びminは最大及び最小の値を取得する関数である。Pmax及びPminを用いてANISOxyが下記(6)式で求められる。
ANISOxy = min (ceil (Pmax / Pmin), MAXANISO) (6)
上記(6)式においてceilは、小数点以下を切り上げて整数化する関数であり、MAXANISOはサンプリング点数の最大値である。すなわちフットプリントの(長辺の長さ/短辺の長さ)と、サンプリング点数の最大規定数とのいずれか小さい方が、ANISOxyとなる。またLODxyは下記(7)式で求められる。
LODxy = log2 (Pmax / ANISOxy) (7)
以上のようにしてANISOxy及びLODxyが求められる。
次にテクスチャユニット63は、ANISOlr及びLODlrを求めるためにQmax及びQminを求める(ステップS33)。この様子を図13に示す。図13はuv座標であり、図12と同じピクセルのフットプリントを示している。
図示するように、Qmaxはフットプリントの対角線の長軸の長さに対応し、Qminは対角線の短軸の長さに対応する。従ってQmax及びQminは次の(8)、(9)式で求められる。
Qmax = max (|(du/dl, dv/dl)|, |(du/dr, dv/dr)|) (8)
Qmin = min (|(du/dl, dv/dl)|, |(du/dr, dv/dr)|) (9)
Qmax及びQminを用いてANISOlrが下記(10)式で求められる。
ANISOlr = min (ceil (Qmax / Qmin), MAXANISO) (10)
すなわちフットプリントの対角線の(長軸の長さ/短軸の長さ)と、サンプリング点数の最大規定数とのいずれか小さい方が、ANISOlrとなる。またLODlrは下記(11)式で求められる。
LODlr = log2 (Qmax / ANISOlr) (11)
以上のようにしてANISOlr及びLODlrが求められる。
次にサンプリング方向(du、dv)を計算する。(du、dv)もANISO及びLODと同様に、x軸及びy軸だけでなくl軸及びr軸に対しても行う。以下、x軸及びy軸に対するdu、dvをそれぞれduxy、dvxyと呼び、l軸及びr軸に対するdu、dvをそれぞれdulr、dvlrと呼ぶことにする。
テクスチャユニット63は、まずduxy及びdvxyを求めるために、|(du/dx,dv/dx)|と|(du/dy,dv/dy)|とを比較する(ステップS34)。比較の結果、|(du/dx,dv/dx)|≧|(du/dy,dv/dy)|であれば(ステップS35)、下記(12)式のように決定する(ステップS36)。
duxy = du/dx
dvxy = dv/dx (12)
すなわち、図12の例であると軸D1に沿ってサンプリング点が配置される。|(du/dx,dv/dx)|<|(du/dy,dv/dy)|であれば下記(13)式のように決定する(ステップS37)。
duxy = du/dy
dvxy = dv/dy (13)
すなわち、図12の例であると軸D2に沿ってサンプリング点が配置される。
次にテクスチャユニット63は、dulr及びdvlrを求めるために、|(du/dl,dv/dl)|と|(du/dr,dv/dr)|とを比較する(ステップS38)。比較の結果、|(du/dl,dv/dl)|≧|(du/dr,dv/dr)|であれば(ステップS39)、下記(14)式のように決定する(ステップS40)。
dulr = du/dl
dvlr = dv/dl (14)
すなわち、図13の例であると軸D3に沿ってサンプリング点が配置される。|(du/dl,dv/dl)|<|(du/dr,dv/dr)|であれば下記(15)式のように決定する(ステップS41)。
dulr = du/dr
dvlr = dv/dr (15)
すなわち、図13の例であると軸D4に沿ってサンプリング点が配置される。
次に最終的なANISO、LOD、(du、dv)を決定する。これらの値には、異方性のより強い軸について求めた値を選択する。異方性の強さはPmax/PminとQmax/Qminで計算できるので、これらの値の大きい方に対応する値を選択すればよい。しかし、Pmax/PminとQmax/Qminの大小関係はPmaxとQmaxの大小関係と等価である。従って、テクスチャユニット63はPmaxとQmaxとを比較する(ステップS42)。
比較の結果、Pmax≧Qmaxであれば(ステップS43)、下記(16)式となる(ステップS44)。
ANISO = ANISOxy
LOD = LODxy
(du, dv) = (duxy, dvxy) (16)
逆にPmax<Qmaxであれば、下記(17)式となる(ステップS45)。
ANISO = ANISOlr
LOD = LODlr
(du, dv) = (dulr, dvlr) (17)
すなわち、Pmax≧Qmaxの場合には、四角形の四辺のうち、長辺及び短辺を異方性の主軸及び副軸と考えてフィルタリングを行う。逆にPmax<Qmaxの場合には、四角形の対角線のうち、長軸及び短軸を異方性の主軸及び副軸と考えてフィルタリングを行う。
以上のようにしてパラメータを算出した後、座標計算部71がサンプリング点のテクスチャ座標(u、v)を計算する(図7、ステップS22)。サンプリング点の番号をN(Nは整数であり、1、2、…、ANISO)とすると、テクスチャ座標は下記(18)式で算出される。
(u - du/2 + ddu × N, v - dv/2 + ddv × N) (18)
図12、図13の例において、Qmax>Pmaxであり、ANISO=4であったとすると、サンプリング点は図14のようになる。図14はテクスチャ座標である。なおddu、ddvはサンプリング点間のオフセットであり、下記(19)式の通りである。
ddu = du/(ANISO + 1)
ddv = dv/(ANISO + 1) (19)
次にサンプリング部72が、(18)式で求めた座標について、(16)式または(17)式で求めたLODにより適切なミップマップレベルを選択してサンプリングを行う(ステップS23)。そして累積加算部73が、複数回のサンプリング結果の平均値を算出する(ステップS24)。以上のようにしてテクスチャマッピングが終了する。
上記のように、本実施形態に係る描画装置及び描画方法であると、下記(1)の効果が得られる。
(1)計算コストを抑えつつ、フットプリントを精度良く近似した異方性フィルタリングが可能となる。
本実施形態に係る構成であると、テクスチャ座標における偏微分値を計算する際、図11に示すように、x軸とy軸の他に、x軸に対して45度及び135度でずれるl軸及びr軸も考慮している。すなわち、フットプリントの辺に対してだけでなく、2本の対角線に対してもLODlrを計算し、更に対角線に沿ったサンプリング点の数ANISOlr及びサンプリング方向(dulr、dvlr)を求めている。そして、PmaxとQmaxとを比較し、Pmaxが大きい場合についてはフットプリントの辺に沿った方向に対して求めた値を、Qmaxが大きい場合についてはフットプリントの対角線に沿った方向に対して求めた値をLOD、ANISO、(du、dv)として用いている。従って、従来に比べて異方性を正しく計算出来る。つまり、ミップマップを複数回行った結果としてカバーされる領域を、フットプリントの形状により近づけることが出来る。その結果、ミップマップを用いることで計算コストを抑えつつ、テクスチャマッピングの精度が向上し、描画装置の描画精度を向上出来る。
例えば、偏微分値を計算する際にx軸とy軸とのみを考慮した場合を考える。図15及び図16に示すように、フットプリントが長方形の形状を有しておりPmax≫Pminの場合、異方性は正しく計算出来る。これは本実施形態の場合も同様であり、ANISO、LOD、(du、dv)にはANISOxy、LODxy、(duxy、dvxy)がそれぞれ用いられる。しかしx軸及びy軸のみを考慮する方法であると、フットプリントが長方形から離れるに従って、異方性の計算の誤差が大きくなる。例えば図17に示すように、フットプリントが菱形の形状に近づいてPmax≒Pminになると異方性が小さいと判断され、完全な菱形であるとPmax=Pminとなるので、完全な等方性であると判断される。すると、ANISO=1、LOD=log(Pmax)となり、単なるミップマッピングと等価となる。しかし本実施形態であると、Pmax=Pminの場合にはQmax>Pmaxとなるので、対角線の長軸に沿った方向が異方性の向きであると判断される。従って、フットプリントが完全な菱形であったとしても異方性フィルタリングが可能となる。なお、異方性を判断する際に、Pminの代わりにフットプリントの面積を考慮する方法も考え得る。しかし、このような方法よりも、本実施形態に係る計算方法の方が、フットプリントがより菱形に近い場合、フットプリントの近似精度は高い。
次に、この発明の第2の実施形態に係る描画装置及び描画方法について説明する。本実施形態は、上記第1の実施形態における計算式をハードウェア化に適した形に変形したものである。従ってLSI10の構成及び描画方法自体は第1の実施形態と同様であるので説明は省略し、以下ではパラメータ計算部70における計算方法について説明する。なお実数値は仮数部mと指数部eとによって、m×2の形式で表現される。
まず図10のステップS30においてパラメータ計算部70は、フレームバッファ上における0度方向(x軸)及び90度方向(y軸)に対するテクスチャ座標の偏微分値du/dx、du/dy、dv/dx、dv/dyを求める。これは上記(2)式により求める。次にl軸及びr軸に対するテクスチャ座標の偏微分値du/dr、du/dl、dv/dr、dv/dlを求める(ステップS31)。この際、上記(3)式の代わりに下記(20)式を用いて求める。
du/dl = p11.u - p00.u
dv/dl = p11.v - p00.v
du/dr = p10.u - p01.u
dv/dr = p10.v - p01.v (20)
すなわち(3)式から√2による除算を除去する。これは、ベクトルの絶対値はLノルムで求め、またノルムそのものは求めずにその2乗を求めるからである。これにより平方根の計算が不要になる。そして(20)式で省略した√2による除算の補正を、2による除算で行うことが出来る。Lノルムは下記(21)式である。
ノルム: |(x, y)| = √(x2 + y2) (21)
また各ベクトルのノルムは下記(22)式として扱う。
|(du/dx, dv/dx)|2 = (du/dx)2 + (dv/dx)2
|(du/dy, dv/dy)|2 = (du/dy)2 + (dv/dy)2
|(du/dl, dv/dl)|2 = (du/dl)2 + (dv/dl)2) / 2
|(du/dr, dv/dr)|2 = (du/dr)2 + (dv/dr)2) / 2 (22)
これらのノルムの大小判定も、2乗した値のままで行うことが出来る。
すなわち、第1の実施形態における(4)、(5)、(8)、(9)式はそれぞれ下記(23)〜(26)式に変形される。
Pmax2 = max (|(du/dx, dv/dx)|2, |(du/dy, dv/dy)|2) (23)
Pmin2 = min (|(du/dx, dv/dx)|2, |(du/dy, dv/dy)|2) (24)
Qmax2 = max (|(du/dl, dv/dl)|2, |(du/dr, dv/dr)|2) (25)
Qmin2 = min (|(du/dl, dv/dl)|2, |(du/dr, dv/dr)|2) (26)
以降では、x及びy軸方向に関する計算について説明する。l及びr軸方向に関する計算も同様であるので説明は省略する。
ANISOは、後段の計算を簡略化できるように2の冪乗に限定する。すなわち(6)式ではPmax/Pminの小数点を切り上げることによって整数値としていたのに対して、本実施形態ではPmax/Pminに近い値の2の冪乗にする。Pmaxが仮数部Mmaxと指数部Emaxで表現され、Pminが仮数部Mminと指数部Eminで表されているとする。すると、一例として以下の(27)式及び(28)式でANISOxyが計算出来る。
ANISO_EXP = (Emax - Emin - m + BIAS) / 2 (27)
ANISOxy = min (2ANISO_EXP, MAXANISO) (28)
ここで、Mmax<Mminのときm=1、そうでない場合にはm=0である。(27)式及び(28)式は、Pmax/Pminが下記(29)式のように表すことが出来ることから導かれる。
Pmax/Pmin = (Pmax2 /Pmin2)1/2 = ((Mmax / Mmin) × 2(Emax-Emin))1/2 (29)
Mmax<Mminのとき指数部が1減ずるのでm=1としている。BIASは、Pmax/Pminの値を2の冪乗へ丸める際の切り上げ/切り下げの調節を行う。BIAS=0とすると、Pmax/Pminが[2、2n+1)の範囲の値であるとき(n:整数)、ANISOが2となり、切り下げとなる。BIAS=2とすると、Pmax/Pminが[2、2n+1)の範囲の値であるとき(n:整数)、ANISOが2n+1となり、切り上げとなる。BIAS=1の場合、Pmax/Pminが[√(2)×2、√(2)×2n+1)の範囲内であるときANISOは2n+1となり、√(2)×2が切り上げと切り下げの境界値となる。(28)式において、MAXANISOも2の冪乗であるものとする。
以上により(6)式における除算を省略する。
LODの計算は、ANISOが2の冪乗であることから、第1の実施形態における(7)式を下記(30)式に変形する。
LODxy = log2 (Pmax2/(2ANISO_EXP)2) /2
= log2 (Mmax × 2(Emax-2×ANISO_EXP)) / 2 (30)
すなわち、Pmax2の指数部からANISO_EXPの2倍を減算し、その結果に対して2を底とした対数を取る。m×2の形に表現された実数の対数は以下の式(31)で計算する。
log2 (m × 2e) = e + log2 (m) (31)
log(m)はテーブル参照により計算しても良いし、仮数部mが[1、2)の範囲に正規化されているとして、以下の式(32)で近似しても良い。
log2 (m) = m - 1 (32)
以上の変形によって、(7)式における除算を省略する。
サンプリング点を取る方向(du、dv)は式(12)、(13)と同様である。但し、ベクトルノルムを2乗の形で保持しているので2乗のままで比較する。すなわち、|(du/dx,dv/dx)|≧|(du/dy,dv/dy)|であれば、
duxy = du/dx
dvxy = dv/dx (33)
すなわち、図12の例であると軸D1に沿ってサンプリング点が配置される。|(du/dx,dv/dx)|<|(du/dy,dv/dy)|であれば
duxy = du/dy
dvxy = dv/dy (34)
上述の変形を式(10)、(11)、(14)、(15)にも適用し、最終的なANISO、LOD、(du、dv)は式(16)、(17)によって決定する。
サンプリング点のテクスチャ座標は、式(18)、(19)を変形し、下記の式(35)、(36)のようにして求める。
(u - du/2 - ddu/2 + ddu×N, v - dv/2 -ddv/2 + ddv×N) (35)
ddu = du / ANISO
ddv = dv / ANISO (36)
式(36)において、ANISOが2の冪乗であるので、除算は指数部の減算となる。式(19)において(ANISO+1)で除算しているところをANISOによる除算に変更している。従って、式(18)で座標を計算するとサンプリング点が元のテクスチャ座標(u、v)に対して対称にならないため、式(35)では(−ddu/2、−ddv/2)のオフセットで補正している。du/2、dv/2、ddu/2、ddv/2は指数部から1を減算することで計算可能である。
上記のように本実施形態に係る計算方法を用いることにより、第1の実施形態で説明した効果(1)に加えて、下記(2)の効果を得られる。
(2)テクスチャユニットのハードウェア構成を簡略化出来る。
上記方法であると、式(20)に示すように偏微分の計算から√2による除算を省略出来る。また、それを補正する式(22)の2による除算は指数部から1を減算することによって可能である。従って、回路構成を簡略化出来、計算コストが低下出来る。
また式(28)に示すように、ANISOを2の冪乗で表現している。従ってANISOの計算では指数部ANISO_EXPのみを考慮すれば良く、その際の式(27)、(28)は整数演算である。従って、小数点演算を行う必要が無く、回路構成を簡略化出来る。更に、式(6)における除算を省略出来る。また式(27)における仮数部Mmax及びMminは、mの値を求めるために大小関係のみが必要である。従ってこれらの値Mmax及びMminの精度は低くて良い。従ってベクトルノルムの計算式(23)乃至(26)の仮数部の精度を落とすことが出来るので、計算コストを削減出来る。
なおANISOを2の冪乗に丸めることで、画質と計算速度とのトレードオフが発生する。例えばBIAS=0とすることでより小さい2の冪乗に丸めた場合、サンプリング点数は本来必要な数より少なくなるため画質は下がる。しかしサンプリング回数が減るので計算速度は向上する。逆にBIAS=2とすることでより大きい2の冪乗に丸めると、画質は上がるが計算速度は下がる。そこでBIAS=1とすることで、両者の中間程度の画質と速度とが得られる。但し、画質を保つためにサンプリング回数を増やしたとしても、同じ処理の繰り返し回数が増えるだけなので、回路面積の増大にはつながらない。
更に式(30)、(31)、(32)の変形を用いることにより、LOD算出時の除算及び対数演算を省略出来る。
以上のように、計算式を本実施形態のように変形することで回路構成を簡略化でき、計算コストを削減出来る。本実施形態の方法を用いた場合のサンプリング点を図18及び図20に示す。図18及び図19はテクスチャ座標上のフットプリントを示しており、図18はx軸方向に対応する辺が異方性の主軸と判断された場合、図19はl軸方向に対応する対角線が異方性の主軸と判断された場合について示している。
図18に示すように、サンプリング点の間隔ddu、ddvは、式(18)、(19)の場合よりも大きくなる。しかし全てのサンプリング点はフットプリント内に収まっているので、フィルタリングの質は大きく変化しない。図19の場合も、第1の実施形態における式(14)から√2による除算を省略しているので、サンプリング点の間隔ddu、ddvは大きくなる。しかし全てのサンプリング点はフットプリント内にあるので、フィルタリングの質が悪化することはない。
次に、この発明の第3の実施形態に係る描画装置について説明する。本実施形態は、上記第1の実施形態に係るテクスチャユニット63の備えるパラメータ計算部70を実現するハードウェア構成に関するものである。その他の構成は第1の実施形態と同様であるので説明は省略する。
図20はパラメータ計算部70のブロック図である。図示するようにパラメータ計算部70は、偏微分計算ユニット80、(xy、lr)パラメータ計算ユニット81、及びパラメータ決定ユニット82を備えている。以下、各ユニットの詳細について説明する。
図21は偏微分計算ユニット80の回路図である。図示するように偏微分計算ユニット80は、x微分回路90、y微分回路91、l微分回路92、及びr微分回路93を備えている。x微分回路90は、減算器100、101、加算器102、及び除算器103を有している。減算器100は、(p11.u)と(p01.u)との減算、及び(p11.v)と(p01.v)との減算を行う。減算器101は、(p10.u)と(p00.u)との減算、及び(p10.v)と(p00.v)との減算を行う。加算器102は、減算器100の減算結果と減算器101の減算結果との加算を行う。除算器103は、加算器102の加算結果を2で割る除算を行う。以上の結果、式(2)に示すdu/dx、dv/dxが求められる。
y微分回路91は、減算器104、105、加算器106、及び除算器107を有している。減算器104は、(p11.u)と(p10.u)との減算、及び(p11.v)と(p10.v)との減算を行う。減算器105は、(p01.u)と(p00.u)との減算、及び(p01.v)と(p00.v)との減算を行う。加算器106は、減算器104の減算結果と減算器105の減算結果との加算を行う。除算器107は、加算器106の加算結果を2で割る除算を行う。以上の結果、式(2)に示すdu/dy、dv/dyが求められる。
l微分回路92は、減算器108及び除算器109を有している。減算器108は、(p11.u)と(p00.u)との減算、及び(p11.v)と(p00.v)との減算を行う。除算器109は、減算器108の加算結果を√2で割る除算を行う。以上の結果、式(3)に示すdu/dl、dv/dlが求められる。
r微分回路93は、減算器110及び除算器111を有している。減算器110は、(p10.u)と(p01.u)との減算、及び(p10.v)と(p01.v)との減算を行う。除算器111は、減算器110の加算結果を√2で割る除算を行う。以上の結果、式(3)に示すdu/dr、dv/drが求められる。
図22は(xy、lr)パラメータ計算ユニット81の回路図である。図示するようにパラメータ計算ユニット81は、xl軸計算部120、yr軸計算部121、及び選択部122を備えている。
xl座標計算部120は式(4)、(5)、(8)、(9)のうちのx、lに関する計算を実行するものであり、2乗計算器123、124、加算器125、及び平方根計算器126を備えている。2乗計算器123は、(du/dx)及び(du/dl)を計算する。2乗計算器124は、(dv/dx)及び(dv/dl)を計算する。加算器125は、2乗計算器123、124で求めた(du/dx)及び(dv/dx)との加算、及び(du/dl)及び(dv/dl)との加算を行う。平方根計算器126は、加算器125の計算結果の平方根を計算する。その結果、下記(37)式に示すNx、Nlが求められる。
Nx = √((du/dx)2 + (dv/dx)2)
Nl = √((du/dl)2 + (dv/dl)2) (37)
yr座標計算部121は式(4)、(5)、(8)、(9)のうちのy、rに関する計算を実行するものであり、2乗計算器127、128、加算器129、及び平方根計算器130を備えている。2乗計算器127は、(du/dy)及び(du/dr)を計算する。2乗計算器128は、(dv/dy)及び(dv/dr)を計算する。加算器129は、2乗計算器127、128で求めた(du/dy)及び(dv/dy)との加算、及び(du/dr)及び(dv/dr)との加算を行う。平方根計算器130は、加算器129の計算結果の平方根を計算する。その結果、下記(38)式に示すNy、Nrが求められる。
Ny = √((du/dy)2 + (dv/dy)2)
Nr = √((du/dr)2 + (dv/dr)2) (38)
選択部122は、比較器131及び選択回路132〜135を備えている。比較器131は、NxとNy、及びNlとNrとを比較する。
選択回路132は、比較器131における比較結果がNx≧Nyの場合、NxをPmaxとして出力し、Nx<Nyの場合、NyをPmaxとして出力する。またNl≧Nrの場合、NlをQmaxとして出力し、Nl<Nrの場合、NrをQmaxとして出力する。選択回路133は、選択回路132と逆の法則でNxまたはNy、NlまたはNrを選択し、それぞれをPmin及びQminとして出力する。
選択回路134は、比較器131における比較結果がNx≧Nyの場合、du/dxをduxyとして出力し、Nx<Nyの場合、du/dyをduxyとして出力する。またNl≧Nrの場合、du/dlをdulrとして出力し、Nl<Nrの場合、du/drをdulrとして出力する。
選択回路135は、比較器131における比較結果がNx≧Nyの場合、dv/dxをdvxyとして出力し、Nx<Nyの場合、dv/dyをdvxyとして出力する。またNl≧Nrの場合、dv/dlをdvlrとして出力し、Nl<Nrの場合、dv/drをdvlrとして出力する。
以上のようにして、式(4)、(5)、(8)、(9)、(12)〜(15)、及び(21)が実行される。
図23はパラメータ決定部82の回路図である。パラメータ決定部82は、式(6)、(7)、(10)、(11)、(16)、(17)を実行する。図示するようにパラメータ決定部82は、選択部140、ANISO計算部141、及びLOD計算部142を備えている。選択部140は、比較器143及び選択回路144〜147を備えている。比較器143は、PmaxとQmaxとを比較する。
選択回路144は、比較器143における比較結果がPmax≧Qmaxの場合にPmaxを出力し、Pmax<Qmaxの場合にQmaxを出力する。選択回路145は、Pmax≧Qmaxの場合にPminを出力し、Pmax<Qmaxの場合にQminを出力する。選択回路146は、Pmax≧Qmaxの場合にduxyを最終的なduとして出力し、Pmax<Qmaxの場合にdulrを最終的なduとして出力する。選択回路147は、Pmax≧Qmaxの場合にdvxyを最終的なdvとして出力し、Pmax<Qmaxの場合にdvlrを最終的なdvとして出力する。
ANISO計算部141は、除算器148、整数化器149、及び選択回路150を備えている。除算器148は、選択回路144、145の出力の除算(Pmax/Pmin)または(Qmax/Qmin)を計算する。整数化器149は、除算器148の計算結果の小数点を切り上げて整数化する。選択回路150は、整数化器149の出力とMAXANISOのうちの小さい方を選択し、最終的なANISOとして出力する。
LOD計算部142は、除算器151及び対数計算器152を備えている。除算器151は、選択回路144の出力と選択回路150の出力との除算(Pmax/ANISO)または(Qmax/ANISO)を計算する。対数計算器152は、除算器152の出力の対数(log)を計算し、その結果を最終的なLODとして出力する。
以上のようにしてLOD、ANISO、(du、dv)を計算出来る。なお、偏微分計算ユニット80及び(xy、lr)パラメータ計算ユニット81におけるxy軸に関する計算及びlr軸に関する計算は、異なるサイクルで計算することで同一の回路を使用出来る。すなわち、偏微分計算ユニット80において、u座標の偏微分に使用する回路を、v座標の偏微分のために使用することが出来る。また(xy、lr)パラメータ計算ユニット81において、xy方向についてのパラメータ計算回路を、lr方向のパラメータ計算のために使用することが出来る。勿論、同一の回路を2つ設けて、それぞれをxy軸、lr軸についての計算に用いても良い。
次にこの発明の第4の実施形態に係る描画装置について説明する。本実施形態は、上記第2の実施形態に係るテクスチャユニット63の備えるパラメータ計算部70を実現するハードウェア構成に関するものである。以下では上記第3の実施形態と異なる点についてのみ説明する。
パラメータ計算部70のブロック構成は図20と同一である。図24は偏微分計算ユニット80の回路図である。図示するように、偏微分計算ユニット80は上記第3の実施形態で説明した図21の構成において、除算器109、111を除去したものである。本構成により式(2)、(20)を実行する。
図25は、(xy、lr)パラメータ計算ユニット81のブロック図である。図示するように、パラメータ計算ユニット81は上記第3の実施形態で説明した図25の構成において、平方根計算器126、130をそれぞれ除算器160及び選択回路161、並びに除算器162及び選択回路163に置き換えたものである。
すなわち、x軸及びy軸に関する場合には、選択回路161は加算器125の計算結果((du/dx)2 + (dv/dx)2)を選択してNxとして出力し、選択回路163は加算器129の計算結果((du/dy)2 + (dv/dy)2)を選択してNyとして出力する。またl軸及びr軸に関する場合には、除算器160、162がそれぞれ加算器125、129の出力を2で除算し、その結果(((du/dl)2+(dv/dl)2)/2)、(((du/dr)2+(dv/dr)2)/2)がNl、Nrとして出力される。すなわち、式(22)が実行される。そして選択部122が、NxとNy、及びNlとNrとの比較結果に応じて、式(23)〜(26)、(33)、(34)を出力する。
図26はパラメータ決定ユニット82の回路図である。パラメータ決定ユニット82は、式(27)、(28)、(30)、(31)、(32)を実行する。従って、上記第3の実施形態と異なり、Pmax、Pmin、Qmax、Qminに代えて、Pmax、Pmin、Qmax、Qminを用いる。選択部140の構成は第3の実施形態と同様であるが、第2の実施形態で説明したように、Pmax及びQmaxが仮数部Mmaxと指数部Emaxで表現され、Pmin及びQminは仮数部Mminと指数部Eminで表されている。従って、選択回路144はPmaxまたはQmaxの仮数部Mmaxと指数部Emaxを出力し、選択回路145はPminまたはQminの仮数部Mminと指数部Eminを出力する。
ANISO計算部141は、比較器164、選択回路165、150、減算器166、加算器167、除算器168、及び冪乗計算器169を備えている。比較器164はMmaxとMminとを比較する。そして選択回路165は、比較器164においてMmax<Mminのときに0を選択し、そうでないときに1を選択して、この値を式(27)における(−m+BIAS)=m’として出力する(BIAS=1)。また減算器166は(Emax−Emin)を計算する。加算器167は、減算器166の出力と選択回路165の出力を加算する。そして除算器168が加算器167の出力を2で除算して、式(27)によって与えられるANISO_EXPを出力する。その後、冪乗計算器169によって2ANISO_EXPが計算される。冪乗の計算は、2進数表示において、入力値の分だけ“1”を左シフト(上位ビット側へシフト)することによって実行できる。そして選択回路150が冪乗計算器169の出力とMAXANISOとのいずれか小さい方を選択して式(28)を実行する。その結果、最終的なANISOが得られる。なお、第2の実施形態において式(28)は最終的なANISOではないが、本実施形態の場合、先にPmaxとQmaxとを比較してからANISOを計算しているので、この段階で得られる値が最終的に用いるANISOとなる。
LOD計算部142は式(30)を実行するものであり、減算器170、171、加算器172、及び除算器173を備えている。減算器170はMmaxから1を減ずる。これによって式(32)の近似が行われ、log(Mmax)が計算出来る。減算器171はlog(2(Emax−2×ANISO_EXP))を計算する。すなわち、(Emax−2×ANISO_EXP)を計算すれば良い。(2×ANISO_EXP)は、加算器167の出力である(Emax−Emin+m’)の最下位ビットLSBをゼロにすることで得られる。従って、減算器171がEmaxから、加算器167の出力のLSBをゼロにした結果を減算する。その後、加算器172が減算器170、171の出力を加算する。その結果、log2(Mmax×2(Emax−2×ANISO_EXP)が得られる。よって、除算器173が加算器172の出力を2で除算して、式(30)の計算が終了し、最終的なLODが得られる。ANISOと同様、第2の実施形態において式(30)は最終的なLODではないと説明したが、本実施形態の場合、先にPmaxとQmaxとを比較してからLODを計算しているので、この段階で得られる値が最終的に用いるLODとなる。
上記のように、第2の実施形態の計算方法を用いることで、√2による除算及び対数計算を無くすことが出来る。第3の実施形態で説明した構成に比べて部品点数は増加しているが、各部分での計算量は小さいので実際の回路面積は小さく出来る。
上記のように、この発明の第1乃至第4の実施形態に係る描画装置及び描画方法によれば、異方性テクスチャマッピングを行う際に、フットプリントの辺に沿った方向だけでなく、対角線に沿った方向を考慮して異方性を判断している。従って、フットプリントの長辺と短辺とがほぼ等しくなるような場合であっても、より精度良く異方性を判断出来る。その結果、異方性フィルタリングの精度が向上し、より画質の良いテクスチャマッピングを行うことが出来、描画装置の描画精度を向上出来る。
なお上記実施形態のステップS35、S39、S43では、分岐の条件をそれぞれ|(du/dx,dv/dx)|≧|(du/dy,dv/dy)|、|(du/dl,dv/dl)|≧|(du/dr,dv/dr)|、Pmax≧Qmaxとした。しかしこれらの条件は、|(du/dx,dv/dx)|>|(du/dy,dv/dy)|、|(du/dl,dv/dl)|>|(du/dr,dv/dr)|、Pmax>Qmaxであっても良い。すなわち、比較対象の2値が等しい場合には、xy座標に基づいて計算を行ってもlr座標に基づいて計算を行っても同じだからである。
また図10において、ステップS33の後にPmaxとQmaxとを比較しても良い。PmaxがQmaxより大きければステップS38〜S43、S45の計算は不要である。逆の場合にはステップS34〜S37、S42〜S44が不要となる。更には、第3、第4の実施形態のようにステップS32、S33ではPmax、Pmin、Qmax、Qminのみを計算し、ANISOとLODの計算をPmaxとQmaxとの比較の後に行うことで、ステップS43〜S45の選択を行うことなく最終的なANISO及びLODを計算することも出来る。
更に上記実施形態では、図11に示すようにx軸に対して45度方向のl軸と135度方向のr軸を考慮する場合について説明した。しかし、x軸及びy軸に加えるべき軸のx軸に対する角度は必ずしも45度及び135度に限られるものではなく、任意に設定できる。また、x軸及びy軸に加えるべき軸の数も2つに限定されるものではない。例えば1本でも良いし3本以上であっても良い。また追加する軸は、必ずしもx軸とy軸とをベースに決まる必要も無い。例えば3本の軸を考慮する場合には、x軸と、x軸に対して120度、及び240度の角度を有する軸を用いても良い。軸が増えればそれだけ計算量も増加するので、必要な画質とのトレードオフで決めることが出来る。一例として1本の軸(z軸)のみを加えた場合について図27に示す。軸の数が3本であっても、そのうちの最も長いものと短いものとを比較すれば良い。図27ではフットプリントが楕円形の場合について示している。上記実施形態では説明の便宜上、フットプリントが四角形である場合を例に説明したが、図27のように楕円形でも良いし、その形状は限定されるものではない。
なお、上記第1乃至第4の実施形態に係る画像処理装置は、例えばゲーム機、ホームサーバー、テレビ、または携帯情報端末などに搭載することが出来る。図28は上記第1乃至第4の実施形態に係る画像処理装置を備えたデジタルテレビの備えるデジタルボードのブロック図である。デジタルボードは、画像・音声などの通信情報を制御するためのものである。図示するように、デジタルボード1100は、フロントエンド部1110、画像描画プロセッサシステム1120、デジタル入力部1130、A/Dコンバータ1140、1180、ゴーストリダクション部1150、三次元YC分離部1160、カラーデコーダ1170、LAN処理LSI1190、LAN端子1200、ブリッジメディアコントローラ1210、カードスロット1220、フラッシュメモリ1230、及び大容量メモリ(例えばDRAM)1240を備えている。フロントエンド部1110は、デジタルチューナーモジュール1111、1112、OFDM(Orthogonal Frequency Division Multiplex)復調部1113、QPSK(Quadrature Phase Shift Keying)復調部1114を備えている。
画像描画プロセッサシステム1120は、送受信回路1121、MPEG2デコーダ1122、グラフィックエンジン1123、デジタルフォーマットコンバータ1124、及びプロセッサ1125を備えている。そして、例えばグラフィックエンジン1123及びプロセッサ1125が、上記第1乃至第4の実施形態で説明したグラフィックプロセッサ50及びホストプロセッサ20に対応する。
上記構成において、地上デジタル放送波、BSデジタル放送波、及び110°CSデジタル放送波は、フロントエンド部1110で復調される。また地上アナログ放送波及びDVD/VTR信号は、3次元YC分離部1160及びカラーデコーダ1170でデコードされる。これらの信号は、画像描画プロセッサシステム1120に入力され、送受信回路1121で、映像・音声・データに分離される。そして、映像に関しては、MPEG2デコーダ1122を介してグラフィックエンジン1123に映像情報が入力される。するとグラフィックエンジン1123は、上記実施形態で説明したようにして図形を描画する。
図29は、上記第1乃至第4の実施形態に係る画像処理装置を備えた録画再生機器のブロック図である。図示するように、録画再生機器1300はヘッドアンプ1310、モータードライバ1320、メモリ1330、画像情報制御回路1340、ユーザI/F用CPU1350、フラッシュメモリ1360、ディスプレイ1370、ビデオ出力部1380、及びオーディオ出力部1390を備えている。
画像情報制御回路1340は、メモリインターフェース1341、デジタル信号プロセッサ1342、プロセッサ1343、映像処理用プロセッサ1345、及びオーディオ処理用プロセッサ1344を備えている。そして、例えば映像処理用プロセッサ1345及びデジタル信号プロセッサ1342が、上記第1乃至第4の実施形態で説明したグラフィックプロセッサ50及びホストプロセッサ20に対応する。
上記構成において、ヘッドアンプ1310で読み出された映像データが画像情報制御回路1340に入力される。そして、デジタル信号処理プロセッサ1342から映像情報用プロセッサに図形情報が入力される。すると映像情報用プロセッサ1345は、上記実施形態で説明したようにして図形を描画する。
上記のデジタルテレビや録画再生機器の場合、特に三次元グラフィックス機能を有する場合に特に上記実施形態の効果が得られる。
なお、上記第1乃至第4の実施形態で説明した異方性テクスチャマッピングは、コンピュータを用いてソフトウェアにて実施することも可能である。すなわち、CPUによって図10に示す処理を行わせても良い。またその際、図10に示す処理を行うプログラムは記憶媒体に記録させることによって自由に携帯可能であり、様々なハードウェアにおいて本実施形態に係る図形描画方法が可能となる。
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
この発明の第1の実施形態に係る画像処理装置のブロック図。 この発明の第1の実施形態に係るグラフィックプロセッサの備える演算処理部のブロック図。 この発明の第1の実施形態に係る演算処理部の備えるテクスチャユニットのブロック図。 この発明の第1の実施形態に係る画像処理方法において、フレームバッファとポリゴンとの関係を示す模式図。 この発明の第1の実施形態に係る画像処理方法において、テクスチャの模式図。 この発明の第1の実施形態に係る画像処理方法のフローチャート。 この発明の第1の実施形態に係る画像処理方法のフローチャート。 この発明の第1の実施形態に係る画像処理方法におけるフレームバッファの模式図。 この発明の第1の実施形態に係る画像処理方法におけるテクスチャの模式図。 この発明の第1の実施形態に係る画像処理方法のフローチャート。 この発明の第1の実施形態に係る画像処理方法におけるフレームバッファの模式図。 この発明の第1の実施形態に係る画像処理方法におけるテクスチャ上のフットプリントの様子を示す模式図。 この発明の第1の実施形態に係る画像処理方法におけるテクスチャ上のフットプリントの様子を示す模式図。 この発明の第1の実施形態に係る画像処理方法におけるテクスチャ上のフットプリントの様子を示す模式図。 この発明の第1の実施形態に係る画像処理方法におけるテクスチャ上のフットプリントの様子を示す模式図。 この発明の第1の実施形態に係る画像処理方法におけるテクスチャ上のフットプリントの様子を示す模式図。 この発明の第1の実施形態に係る画像処理方法におけるテクスチャ上のフットプリントの様子を示す模式図。 この発明の第2の実施形態に係る画像処理方法におけるテクスチャ上のフットプリントの様子を示す模式図。 この発明の第2の実施形態に係る画像処理方法におけるテクスチャ上のフットプリントの様子を示す模式図。 この発明の第3の実施形態に係るテクスチャユニットの備えるパラメータ計算部のブロック図。 この発明の第3の実施形態に係るテクスチャユニットの備える偏微分計算ユニットのブロック図。 この発明の第3の実施形態に係るテクスチャユニットの備える(xy、lr)パラメータ計算ユニットのブロック図。 この発明の第3の実施形態に係るテクスチャユニットの備えるパラメータ決定ユニットのブロック図。 この発明の第4の実施形態に係るテクスチャユニットの備える偏微分計算ユニットのブロック図。 この発明の第4の実施形態に係るテクスチャユニットの備える(xy、lr)パラメータ計算ユニットのブロック図。 この発明の第4の実施形態に係るテクスチャユニットの備えるパラメータ決定ユニットのブロック図。 この発明の第1乃至第4の実施形態の変形例に係る画像処理方法において、テクスチャ上のフットプリントの様子を示す模式図。 この発明の第1乃至第4の実施形態に係る画像処理装置を備えたデジタルテレビのブロック図。 この発明の第1乃至第4の実施形態に係る画像処理装置を備えた録画再生機器のブロック図。
符号の説明
10…システムLSI、20…ホストプロセッサ、30…I/Oプロセッサ、40…メインメモリ、50…グラフィックプロセッサ、54…演算処理部、55…ラスタライザ、56−0〜56−31…ピクセルシェーダ、57…パケットマネジメントユニット、58−0〜58−3…リアライズメモリ、60…エキスパンダ、61…RPCシンクロナイザ、62…命令キャッシュユニット、63…テクスチャユニット、70…パラメータ計算部、71…座標計算部、72…サンプリング部、73…累積加算部、74…テクスチャキャッシュ、90〜93…微分回路、100、101、104、105、108、110、166、170、171…減算器、102、106、125、129、167、172…加算器、103、107、109、111、148、151、160、162、168、173…除算器、120…xl軸計算部、121…yr軸計算部、122、140…選択部、123、124、127、128…2乗計算器、126、130…平方根計算器、131、143、164…比較器、132〜135、144〜147、150、161、163、165…選択回路、141…ANISO計算部、142…LOD計算部、149…整数化器、152…対数計算器、169…冪乗計算器

Claims (5)

  1. 描画すべき図形に応じてピクセルを生成するラスタライザと、前記ピクセルにテクスチャを貼り付けるテクスチャユニットと、描画された前記図形のデータを記憶するメモリとを備える描画装置による図形の描画方法であって、
    前記ラスタライザが、図形情報に従って前記ピクセルを生成するステップと、
    前記テクスチャユニットが、テクセルの集合がuv座標に配置された前記テクスチャに前記ピクセルを投影して得られるフットプリントの異方性の方向を判断するステップと、
    前記テクスチャユニットが、前記異方性の方向に従ってミップマップのサンプリングを行って、前記ピクセルに対してテクスチャマッピングを行うステップと
    前記テクスチャマッピングの施された前記ピクセルを、前記メモリが記憶するステップと
    を具備し、前記異方性を判断するステップは、前記フットプリントの、前記テクスチャ上において互いに異なる少なくとも3つの方向の長さを比較することにより前記異方性の方向を判断する
    ことを特徴とする描画方法。
  2. 前記異方性を判断するステップは、前記ピクセルの集合がxy座標に配置されたフレームバッファのx軸方向及びy軸方向、並びに前記x軸方向に対して45度の角度を有するl軸方向及び135度の角度を有するr軸方向の4つの方向の長さを比較する
    ことを特徴とする請求項1記載の描画方法。
  3. 描画すべき図形に応じてピクセルを生成するラスタライザと、前記ピクセルにテクスチャを貼り付けるテクスチャユニットと、描画された前記図形のデータを記憶するメモリとを備える描画装置による図形の描画方法であって、
    前記ラスタライザが、図形情報に従って前記ピクセルを生成するステップと、
    前記テクスチャユニットが、テクセルの集合がuv座標に配置された前記テクスチャに前記ピクセルを投影して得られるフットプリントの異方性の方向を判断するステップと、
    前記テクスチャユニットが、前記異方性の方向に従ってミップマップのサンプリングを行って、前記ピクセルに対してテクスチャマッピングを行うステップと
    前記テクスチャマッピングの施された前記ピクセルを、前記メモリが記憶するステップと
    を具備し、前記異方性を判断するステップは、前記ピクセルの集合が二次元座標に配置されたフレームバッファ上における少なくとも3方向に対応する前記フットプリントの長
    さの、前記フレームバッファ上における長さに対する変化分を比較することにより前記異方性の方向を判断する
    ことを特徴とする描画方法。
  4. 図形の描画領域をマトリクス状に分割して得られる複数のピクセルのうち、描画すべき図形に応じたピクセルを生成するラスタライザと、
    前記ラスタライザによって生成された前記ピクセルに対して描画処理を行って、前記ピクセルの集合がxy座標に配置されたフレームバッファを作成する複数のピクセル処理部と、
    前記ピクセルに、テクセルの集合がuv座標に配置されたテクスチャを貼り付ける処理を行うテクスチャユニットと、
    前記ピクセル処理部及び前記テクスチャユニットによって描画された前記ピクセルのデータを保持する複数のメモリと
    を具備し、前記テクスチャユニットは、前記フレームバッファ上の少なくとも3方向に関する前記テクスチャ座標の微分値を計算する微分回路と、
    前記微分回路における計算結果に基づいて、前記テクスチャ座標の前記少なくとも3方向の差分ベクトルを算出する差分ベクトル計算回路と、
    前記差分ベクトル計算回路の結果、前記少なくとも3方向のうちで前記差分ベクトルが最も大きい方向を前記テクスチャ座標上における前記ピクセル形状の異方性の軸として選択する選択回路と
    を備えることを特徴とする描画装置。
  5. 前記微分回路は、前記微分値の2乗を計算し、
    前記差分ベクトル計算回路は、前記微分値の2乗の値を用いて前記差分ベクトルの2乗を計算し、
    前記選択回路は、前記差分ベクトルの2乗の値を比較する
    ことを特徴とする請求項4記載の描画装置。
JP2005112418A 2005-04-08 2005-04-08 描画方法及び描画装置 Expired - Fee Related JP4660254B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005112418A JP4660254B2 (ja) 2005-04-08 2005-04-08 描画方法及び描画装置
TW095109960A TWI311730B (en) 2005-04-08 2006-03-22 Image rendering method and image rendering apparatus using anisotropic texture mapping
CNB2006100741856A CN100419797C (zh) 2005-04-08 2006-04-07 使用各向异性纹理映射的图像绘制方法和图像绘制设备
US11/400,420 US7355604B2 (en) 2005-04-08 2006-04-07 Image rendering method and image rendering apparatus using anisotropic texture mapping

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005112418A JP4660254B2 (ja) 2005-04-08 2005-04-08 描画方法及び描画装置

Publications (2)

Publication Number Publication Date
JP2006293627A JP2006293627A (ja) 2006-10-26
JP4660254B2 true JP4660254B2 (ja) 2011-03-30

Family

ID=37064106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005112418A Expired - Fee Related JP4660254B2 (ja) 2005-04-08 2005-04-08 描画方法及び描画装置

Country Status (4)

Country Link
US (1) US7355604B2 (ja)
JP (1) JP4660254B2 (ja)
CN (1) CN100419797C (ja)
TW (1) TWI311730B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101349171B1 (ko) * 2007-01-17 2014-01-09 삼성전자주식회사 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
US8207980B2 (en) * 2007-05-01 2012-06-26 Vivante Corporation Coordinate computations for non-power of 2 texture maps
JP5050786B2 (ja) * 2007-11-05 2012-10-17 富士通セミコンダクター株式会社 描画処理装置、描画処理方法および描画処理プログラム
US8502832B2 (en) * 2008-05-30 2013-08-06 Advanced Micro Devices, Inc. Floating point texture filtering using unsigned linear interpolators and block normalizations
KR101427408B1 (ko) * 2008-05-30 2014-08-07 어드밴스드 마이크로 디바이시즈, 인코포레이티드 스케일링가능하고 통합된 컴퓨팅 시스템
US8558836B2 (en) * 2008-05-30 2013-10-15 Advanced Micro Devices, Inc. Scalable and unified compute system
US8687011B2 (en) * 2010-10-28 2014-04-01 Microsoft Corporation Techniques for efficient sampling for image effects
US20120162215A1 (en) * 2010-12-22 2012-06-28 Electronics And Telecommunications Research Institute Apparatus and method for generating texture of three-dimensional reconstructed object depending on resolution level of two-dimensional image
FR2986892B1 (fr) * 2012-02-13 2014-12-26 Total Immersion Procede, dispositif et systeme de generation d'une representation texturee d'un objet reel
JP6150560B2 (ja) * 2013-03-01 2017-06-21 株式会社Screenホールディングス データ変換方法、描画システムおよびプログラム
US9569880B2 (en) * 2013-12-24 2017-02-14 Intel Corporation Adaptive anisotropic filtering
US9710957B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Graphics processing enhancement by tracking object and/or primitive identifiers
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America 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
US9865074B2 (en) 2014-04-05 2018-01-09 Sony Interactive Entertainment America Llc Method for efficient construction of high resolution display buffers
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
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
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
KR102477265B1 (ko) * 2015-09-24 2022-12-13 삼성전자주식회사 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법
JP6310898B2 (ja) * 2015-11-17 2018-04-11 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、情報処理装置、および画像処理方法
GB2583154B (en) * 2019-10-17 2021-04-28 Imagination Tech Ltd Texture filtering
CN113628316B (zh) * 2020-05-08 2023-12-01 辉达公司 使用射线锥进行各向异性纹理滤波的技术
US11158110B1 (en) 2021-01-06 2021-10-26 Arm Limited Graphics texture mapping
CN116168138A (zh) * 2023-02-21 2023-05-26 格兰菲智能科技有限公司 细节层次确定方法、装置、计算机设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11250279A (ja) * 1997-11-20 1999-09-17 Real 3 D コンピュ―タ画像形成ジェネレ―ションシステムにおけるシルエット/フットプリント解析を用いた異方性テクスチャマッピング
JPH11511277A (ja) * 1995-08-04 1999-09-28 マイクロソフト コーポレイション グラフィック対象物をチャンク映像に変換し、かつ、映像層を結合して表示画像に換える方法、および、装置
JP2001236523A (ja) * 1999-12-16 2001-08-31 Sega Corp 画像生成方法及びこれを用いた画像生成装置
JP2004021979A (ja) * 2002-06-20 2004-01-22 Microsoft Corp 制御可能なテクスチャサンプリングを提供するためのシステムおよび方法
JP2005538475A (ja) * 2002-09-13 2005-12-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フットプリントの解析および修正方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219064B1 (en) 1998-01-07 2001-04-17 Seiko Epson Corporation Graphics mechanism and apparatus for mipmap level estimation for anisotropic texture mapping
US6765570B1 (en) * 1998-07-21 2004-07-20 Magic Earth, Inc. System and method for analyzing and imaging three-dimensional volume data sets using a three-dimensional sampling probe
US6816167B1 (en) * 2000-01-10 2004-11-09 Intel Corporation Anisotropic filtering technique
US6400370B1 (en) 1999-09-10 2002-06-04 Intel Corporation Stochastic sampling with constant density in object space for anisotropic texture mapping
KR100788642B1 (ko) * 1999-10-01 2007-12-26 삼성전자주식회사 디지털 영상 텍스쳐 분석 방법
US6724395B1 (en) 2000-03-24 2004-04-20 Nvidia Corporation System, method and article of manufacture for anisotropic texture sampling
US6664971B1 (en) 2000-08-25 2003-12-16 Microsoft Corporation Method, system, and computer program product for anisotropic filtering and applications thereof
US7221371B2 (en) * 2004-03-30 2007-05-22 Nvidia Corporation Shorter footprints for anisotropic texture filtering
CN1256707C (zh) * 2004-05-09 2006-05-17 北京航空航天大学 基于多样图的纹理合成方法
US7271810B1 (en) * 2005-03-01 2007-09-18 Nvidia Corporation Spread-compensated anisotropic texture sampling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11511277A (ja) * 1995-08-04 1999-09-28 マイクロソフト コーポレイション グラフィック対象物をチャンク映像に変換し、かつ、映像層を結合して表示画像に換える方法、および、装置
JPH11250279A (ja) * 1997-11-20 1999-09-17 Real 3 D コンピュ―タ画像形成ジェネレ―ションシステムにおけるシルエット/フットプリント解析を用いた異方性テクスチャマッピング
JP2001236523A (ja) * 1999-12-16 2001-08-31 Sega Corp 画像生成方法及びこれを用いた画像生成装置
JP2004021979A (ja) * 2002-06-20 2004-01-22 Microsoft Corp 制御可能なテクスチャサンプリングを提供するためのシステムおよび方法
JP2005538475A (ja) * 2002-09-13 2005-12-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フットプリントの解析および修正方法

Also Published As

Publication number Publication date
CN100419797C (zh) 2008-09-17
US20060250409A1 (en) 2006-11-09
TWI311730B (en) 2009-07-01
CN1845178A (zh) 2006-10-11
JP2006293627A (ja) 2006-10-26
US7355604B2 (en) 2008-04-08
TW200643822A (en) 2006-12-16

Similar Documents

Publication Publication Date Title
JP4660254B2 (ja) 描画方法及び描画装置
US7982745B1 (en) Trilinear optimization for texture filtering
US7339594B1 (en) Optimized anisotropic texture sampling
JP3705923B2 (ja) 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体
JP5149288B2 (ja) 非等長的(anisometric)テクスチャ(texture)の合成(synthesis)
US7403208B1 (en) Generation of jittered sub-pixel samples using programmable sub-pixel offsets
US7586496B1 (en) Shorter footprints for anisotropic texture filtering
JP2006244426A (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
WO2011062205A1 (ja) 画像描画装置、画像描画方法および記録媒体
KR20220099501A (ko) 그래픽 텍스처 맵핑
US9483843B2 (en) Method and system for expediting bilinear filtering
JP2005301758A (ja) 画像生成装置および画像生成方法
US7852347B1 (en) Texture map pixel pairing optimization
KR20160004096A (ko) 밉맵 생성 방법 및 장치
JP2007249796A (ja) 画像処理装置および画像処理方法、並びにプログラム
US20070279434A1 (en) Image processing device executing filtering process on graphics and method for image processing
JPH11126261A (ja) テクスチャマッピング方法及びその装置
JP2007249795A (ja) 画像処理装置および画像処理方法、並びにプログラム
US6522337B1 (en) Image processing apparatus, image processing method, and recording medium
JP3985321B2 (ja) 演算装置および画像処理装置
JP3903557B2 (ja) データ変換装置および画像生成装置
US6947041B2 (en) Image processing method
US7324117B1 (en) Method and apparatus for using non-power of two dimension texture maps
US7091983B1 (en) Coordinate wrapping for anisotropic filtering of non-power of two textures
JP2007249791A (ja) 画像処理装置および画像処理方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

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

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

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees