説明

プログラム可能なオフセット位置を用いてテクスチャサンプルを処理するための方法及びシステム

【課題】ユーザ指定のオフセット位置を用いてテクスチャ動作を実行するための方法及びシステムを提供すること。
【解決手段】具体的には、本発明の一実施形態は、テクスチャマップに射影された画素に関連する元のサンプルの位置、及びユーザによって指定された第1のオフセット位置に基づいて第1の目標テクセル位置を導出するステップと、テクスチャ動作のために第1の目標テクセル位置のテクセルの属性を取り出すステップとを含む方法を説明する。

【発明の詳細な説明】
【発明の分野】
【0001】
[0001]本発明は、概してコンピュータグラフィックスに関し、より具体的にはプログラム可能なオフセット位置を用いてテクスチャサンプルを処理するための方法及びシステムに関する。
【関連技術の説明】
【0002】
[0002]本明細書において別途指示されない限り、このセクションで説明されるアプローチは本願の特許請求の範囲に対する従来技術ではなく、このセクションに含まれることによって従来技術であると認められることはない。
【0003】
[0003]エイリアシングアーティファクトに対処するための一般的なテクスチャフィルタリングは、テクスチャ空間にマッピングされる画素中心を囲む異なる軸に沿った等しい数のテクセルにアクセスし、それらのテクセルをフィルタリングすることを伴う。概して、そのようなアプローチは、バイリニアフィルタ又はトリリニアフィルタを使用する。例示として、図1Aは、従来技術の2×2フィルタカーネルが、単一のクロックサイクルにおいて、画素中心102を囲む4つの近接するテクセル104、106、108、及び110にアクセスし、次にテクセルをバイリニアフィルタリングするテクスチャマップ100である。
【0004】
[0004]しかし、一部のテクスチャアプリケーションは、テクセルを異なるやり方でフィルタリングする。1つの例はテクスチャに基づくシャドウマッピングであり、別の例はハイダイナミックレンジ(HDR)レンダリングである。シャドウマッピングは、コンピュータによって生成される情景の現実感を向上するための陰影レンダリング技術である。より具体的には、シャドウマッピングプロセス中、情景は、最初に、一般にシャドウマップと呼ばれる特殊なテクスチャマップを生成するために光源の視点からレンダリングされ、シャドウマップ内の各テクセルは可視表面に関連する深度値を記憶する。次に、情景の像が観察者の視点からレンダリングされ、それによってスクリーン空間内の位置(x,y)の画素が光線空間座標に射影され、それから可視性が試験される。この試験は、画素の深度値を深度マップの対応する位置に記憶された深度値と比較して、画素が物体の後ろにあるかどうかを判定する。比較結果に基づいて、画素は、影になっているようにか、又は光源に照らされているようにかのいずれかで描画される。見た目に美しい滑らかな陰影をレンダリングするために、画素毎にシャドウマップから4つ以上のテクセルがサンプリングされる必要がある可能性があり、これらのテクセルは互いに近接しないことが多い。
【0005】
[0005]HDRレンダリング技術に関しては、HDRレンダリング技術は、コントラストの差が大きい情景内の詳細を保つための技術である。換言すれば、情景内に暗い領域と明るい領域とが両方存在する場合に、両方の領域が、この技術を使用して正確に表現されることができる。上述のシャドウマッピング技術と同様に、HDRレンダリング技術も、画素毎に4つ以上のテクセルをサンプリングする可能性がある。通常、これらのテクセルは、図1Bに示されるテクセル124、126、128、及び130のように2×2の領域よりもまばらに分布されている。
【0006】
[0006]上述のシャドウマッピング及びHDRレンダリング動作において従来技術の2×2フィルタカーネルを使用することはいくつかの欠点を有する。第1に、おそらく、2×2フィルタカーネルは、クロックサイクル毎に、まばらに分散したテクセルのうちの1つにしかアクセスできない。したがって、全ての所望のテクセルにアクセスするために複数のクロックサイクルが必要とされる。例示するために、テクスチャアプリケーションがテクセル124、126、128、及び130にアクセスする必要があり、従来技術の2×2フィルタカーネルが使用されると仮定する。2×2フィルタカーネルのサイズは4つ全ての所望のテクセルを一度に包含するのに十分なほど大きくないが、テクセル124など、4つのテクセルのうちの1つを包含することができるので、フィルタカーネルに対する利用可能なテクスチャアクセス帯域幅の4分の3は使用されない。画素毎に4つ以上のテクセル(例えば、16個のテクセル)にアクセスする必要があるテクスチャアプリケーションに関して、2×2フィルタカーネルの非効率性はより一層明らかである。第2に、従来技術の2×2フィルタカーネルはサンプリングされたテクセルをバイリニア式に重み付けし、この重み付けは、上述のシャドウマッピング及びHDRレンダリング動作を伴うテクスチャアプリケーションなどの特定のテクスチャアプリケーションに対して最適ではない可能性がある。
【0007】
[0007]以上が示すように、したがって、当技術分野で必要とされているのは、指定テクセルを効率的及び柔軟にサンプリングすることができ、少なくとも上述の問題に対処することができるテクスチャフィルタリング技術である。
【発明の概要】
【0008】
[0008]ユーザ指定のオフセット位置を用いてテクスチャ動作を実行するための方法及びシステムが開示される。具体的には、本発明の一実施形態は、テクスチャマップに射影された画素に関連する元のサンプルの位置、及びユーザによって指定された第1のオフセット位置に基づいて第1の目標テクセル位置を導出するステップと、テクスチャ動作のために第1の目標テクセル位置のテクセルの属性を取り出すステップとを含む方法を説明する。
【0009】
[0009]本明細書において開示される発明の少なくとも1つの利点は、テクスチャ動作が柔軟に実装され、効率的に実行されることができるように、ユーザ指定のオフセット位置によって決定される位置のテクスチャサンプルに対して動作する能力である。
【0010】
[0010]本発明の上述の特徴が実現されるやり方が詳細に理解されることができるように、上で簡潔に説明された本発明のより具体的な説明が、添付の図面に一部が図示される実施形態を参照することによってなされることができる。しかし、添付の図面は本発明の典型的な実施形態のみを示し、したがって本発明の範囲を限定するとみなされるべきではなく、その理由は本発明がその他の同様に有効な実施形態を認めることができるからであることに留意されたい。
【詳細な説明】
【0011】
[0019]本開示の全体を通して、用語「ユーザ」は、概して、コンピューティングデバイス上で実行されるソフトウェアプログラムのユーザ又は開発者を指す。さらに、「ユーザ指定の」及び「プログラム可能な」は、ユーザによって指定又は修正されることができるテクスチャサンプルの位置又はテクスチャサンプルオフセット位置を修飾するために交換可能に使用されることができる。テクスチャサンプルは、一般的にテクセルと呼ばれる。また、本明細書において言及される「コンピュータ可読媒体」のいくつかの例は、限定することなしに、不揮発性媒体(例えば、光又は磁気ディスク)及び揮発性媒体(例えば、ダイナミックメモリ)を含む。
【0012】
[0020]図2Aは、本発明の1つ又は複数の態様を実装するように構成されたコンピューティングデバイス200の概念図である。コンピューティングデバイス200は、中央演算処理装置(CPU)202、システムインターフェース204、システムメモリ210、グラフィックス処理ユニット(GPU)250、GPUのローカルメモリ260、及びディスプレイ270を含む。CPU202は、システムメモリ210及びシステムインターフェース204に接続する。CPU202は、システムメモリ210に記憶されたプログラム命令を実行し、システムメモリ210に記憶されたデータに対して動作し、システムインターフェース204を通じてGPU250と通信する。代替実施形態において、CPU202、GPU250、システムインターフェース204、又はそれらの任意の組合せが、単一の処理ユニットに統合されることができる。さらに、GPU250の機能は、チップセット、又は何らかのその他の種類の専用処理ユニット若しくはコプロセッサに含まれることができる。概して、システムメモリ210は、CPU202に(図示されたように)直接か、又は代替的にシステムインターフェース204を介してかのいずれかで接続するように構成されたダイナミックランダムアクセスメモリ(DRAM)を含む。GPU250は、CPU202によって送信された命令を受信し、GPUのローカルメモリ260に記憶されたグラフィックスデータ及び画像をディスプレイ270上にレンダリングするために命令を実行する。ディスプレイ270は、入力データ信号に対応する視覚的画像を出力することができる出力装置である。
【0013】
[0021]システムメモリ210は、アプリケーションプログラム212、高レベルシェーダプログラム214、アプリケーションプログラミングインターフェース(API)216、及びGPUドライバ218を含む。アプリケーションプログラム212は、高レベルシェーダプログラム214の1つ又は複数のインスタンスを呼び出すことができる。概して、高レベルシェーダプログラムは、GPU250内の1つ又は複数の処理エンジン上で動作するように設計された高レベルプログラム命令のソースコードテキストを含む。高レベルシェーダプログラム214は、GPUドライバ218に含まれるコンパイラ若しくはアセンブラによって、又は代替的にコンピュータデバイス200若しくはその他のコンピュータデバイスのいずれかの上で動作するオフラインコンパイラ又はアセンブラによって、実行可能なシェーダプログラム262などの実行可能なプログラムオブジェクトに変換されることができる。
【0014】
[0022]実行可能なシェーダプログラム262、テクスチャバッファ266、及びフレームバッファ268は、全てGPUのローカルメモリ260内に存在する。実行可能なシェーダプログラム262は、GPU250内の画素シェーダエンジン254によって実行されるときに、レンダリングパイプライン252の様々なコンポーネントに命令を発行する。概して、テクスチャバッファ266は、シャドウマップを含むテクスチャマップを記憶する。フレームバッファ268は、ディスプレイ270を動かすために使用される少なくとも1つの2次元サーフェスを含む。
【0015】
[0023]レンダリングパイプライン252は画素シェーダエンジン254を含み、さらに画素シェーダエンジン254はテクスチャユニット256を含む。テクスチャユニット256は、テクスチャバッファ266から、プログラム可能なオフセット位置を用いて要求されたテクセルの属性を取り出し、フィルタの重みを処理し、深度比較動作及びテクスチャフィルタリング動作を実行することができる。以降の段落は、テクスチャユニット256の機能及び動作をさらに詳細に説明する。
【0016】
[0024]図2Bは、本発明の一実施形態による、プログラム可能なオフセット位置を用いてテクスチャフィルタリング動作を実行する図2Aに示されたGPU250の一部の概略図である。例示するために、テクスチャフィルタリング動作が、図2Cに示されるスクリーンの画素Pに対する陰影状態値Sを生成しなければならないと仮定する。1つの実装において、テクスチャユニット256に対して発行されるシェーダプログラム命令は、出力引数Sと、P、オフセット、及びテクスチャ[n]などの複数の入力引数とを含む。ここで、Sは、計算された陰影の結果のためのプレースホルダを表す。Pは、シャドウマップ280において射影されるスクリーンの画素のテクスチャ座標を表す。オフセットは、シャドウマップ280内のプログラム可能な(u,v)の対を指す。テクスチャ[n]は、シャドウマップ280などの、テクスチャバッファ266に記憶された特定のシャドウマップに対応する。
【0017】
[0025]P、S、オフセット、及びテクスチャ[n]を入力として、テクスチャユニット256は、オフセットをPに適用することによって目標テクセルD、D、D、及びDを導出する。例えば、Pが(u,v)によって表され、オフセットが(uoffset,voffset)によって表される場合、Dは(u+uoffset,v+voffset)又は(u,v)である。さらに、図2Cに示されるように、始点をPに置いて、各対(u,v)は、ベクトルVにやはり関連付けられる。例えば、Vは、Pにある始点とオフセットとに関連付けられる。さらに、この実装においては、4つの異なる(u,v)の対はユーザによって指定され、互いに対称的であるように要求されない。具体的には、オフセット内のuの長さは、オフセット、オフセット、及びオフセット内のu又はvの長さのうちのいずれかに等しいように要求されない。同様に、オフセット内のvの長さも、オフセット、オフセット、及びオフセット内のv又はuの長さのうちのいずれかに等しいように要求されない。したがって、これらの目標テクセル位置を包含するフィルタカーネルのサイズ及び形状は任意的であることができる。本発明の範囲を超えることなしにN個のオフセットの対を用いてN個のサンプルにスケーリングすることは当業者に明らかであるに違いない。
【0018】
[0026]目標テクセル位置を用いて、テクスチャユニット256は、深度値などの、D、D、D、及びDの適切なテクセルの属性を取り出すためにテクスチャバッファ266に読み出し要求を送信する。次に、深度値のそれぞれが、深度マップ試験においてPに関連する深度値と比較される。図2Dは、テクセルD、D、D、及びDに対して深度マップ試験を適用した結果の1つの集合を示す概念図である。Pに関連する深度値がD、D、D、及びDの記憶された深度値よりも大きいか、それとも小さいかが1又は0によって示される。最終的な陰影状態値Sを導出するために、テクスチャユニット256は、フィルタの重みを深度マップ試験の結果に適用する。一実施形態において、テクスチャユニット256は、エイリアシング効果を小さくするために深度マップ試験の結果を単純に平均することによって陰影状態値を計算する。ここで、4つのサンプルが存在するので、4つのフィルタの重みのそれぞれは1/4に等しい。代替として、テクスチャユニット256は、通常のバイリニアフィルタなどにおいて、サンプリングされたテクセルと射影された画素との間の相対的な距離に基づくフィルタの重みを適用することもできる。テクスチャユニット256は、最終的な陰影状態値Sを画素シェーダエンジン254に返す。
【0019】
[0027]上述の実施形態は、それぞれのサンプリングされるテクセルの位置がユーザ指定のオフセット位置から導出される1つの実装を示すが、本発明は、目標テクセル位置を導出するためのその他の可能なやり方を想定する。本発明の代替実施形態によれば、図2Eは、単一のユーザ指定のオフセット位置からのテクセル位置の導出を示す概念図である。具体的には、上述の実施形態のように4つのユーザ指定の(u,v)の対を受信する代わりに、テクスチャユニット256は、ここで、(u,v)のような単一のオフセットを受信する。次に、テクスチャユニット256は、(u,v)の対を対称的に変換して、さらなるユーザの介入なしにその他の3つのオフセットを生成する。1つの実装において、オフセット、オフセット、及びオフセットは、それぞれ(v,−u)、(−v,u)、及び(−u,−v)である。例えば、(u,v)が値(3,1)を有する場合、オフセット、オフセット、及びオフセットは、それぞれ値(1,−3)、(−1,3)、及び(−3,−1)を有する。これらのオフセット、オフセット、オフセット、及びオフセットと、射影されたスクリーンの画素Pの元のサンプルの位置とを用いて、目標テクセル位置D’、D’、D’、及びD’が計算される。注目に値するのは、図2Cに示され、上で検討された実装と異なり、この実装において使用される対称的な変換は互いに鏡像関係の目標テクセル位置を自動的に生成し、これらの鏡像関係のテクセルを包含するフィルタカーネルのサイズ及び形状は任意的であることができないことである。
【0020】
[0028]本発明のさらに別の実施形態によれば、テクスチャユニット256は、ユーザ指定の倍率αを全てのオフセットに適用する。αが3であると仮定する。上で検討された例を再び参照すると、スケーリングされたオフセット、オフセット、オフセット、及びオフセットは、それぞれ(9,3)、(3,−9)、(−3,9)、及び(−9,−3)となる。この倍率を用いて、目標テクセル位置を包含するフィルタカーネルのサイズが容易に修正されることができる。
【0021】
[0029]単一の(u,v)の対だけを指定し、その他3つのオフセットを生成するためにテクスチャユニット256に頼る代わりに、本発明の別の実施形態によれば、テクスチャユニット256は、2つのユーザ指定の非鏡像関係の(u,v)の対を受信し、さらなるユーザの介入なしにその他2つの対を生成する。例えば、再び図2Eを参照して、テクスチャユニット256が(u,v)及び(−v,u)を受信すると仮定する。この実施形態において、テクスチャユニット256は、受信された(u,v)の対を対称的に反映して、(−u,−v)及び(v,−u)をそれぞれ生成する。
【0022】
[0030]テクスチャユニット256に上述の動作のいずれかを実行させるために、1つのアプローチは、テクスチャユニット256に対して特定の入力引数と共に特定のシェーダプログラム命令を発行することである。この種のシェーダプログラム命令は、「プログラム可能なテクセル位置(PTP)命令」と呼ばれる。PTP命令に関する入力引数のうちの1つは、ユーザ指定のオフセット位置、又はユーザ指定のオフセット位置の配列であることができる。代替として、入力引数のうちの1つは、テクスチャユニット256に、ユーザによって指定され、テーブルに記憶された1つ又は複数のオフセットを検索させる。本発明の一実施形態によれば、PTP命令のいくつかの例は、限定することなしに、
Sample_ptp
Sample_ptp2
Sample_ptp4
Sample_c_ptp
Sample_c_pfp2
Sample_c_ptp4
Load4_ptp
Load4_ptp2
Load4_ptp4
Load4_c_ptp
Load4_c_ptp2
Load4_c_ptp4
を含む。
【0023】
[0031]上記のPTP命令のいずれかを実行することは、テクスチャユニット256に、特定のオフセット位置の、射影された画素に関連するいくつかのテクセルにアクセスさせる。ここで、接尾辞「ptp」は、命令において1つのプログラム可能なオフセット位置だけが1つの画素に対して指定されることを意味する。接尾辞「ptp」を有するそのような命令に応答して、テクスチャユニット256は、単一のユーザ指定のオフセット位置に基づいてその他3つのオフセット位置を生成する。接尾辞「ptp2」は、2つのプログラム可能なオフセット位置が命令において指定されることを意味する。接尾辞「ptp2」を有する命令に応答して、テクスチャユニット256は、2つのユーザ指定のオフセット位置と鏡像関係のその他2つのオフセット位置を生成する。最後に、接尾辞「ptp4」は、4つのプログラム可能なオフセット位置が命令において規定されることを指示するために使用される。上述の段落は、(1つ又は複数の)ユーザ指定のオフセット位置からオフセット位置を導出する一部の実装を詳細に説明する。
【0024】
[0032]図3は、本発明の一実施形態による、プログラム可能なオフセット位置を含むテクスチャユニット256内のPTP命令を実行するための方法のステップの流れ図である。より具体的には、図2Aに示された画素シェーダエンジン254及びテクスチャユニット256に関連して、画素シェーダエンジン254が実行可能なシェーダプログラム262を実行するとき、少なくとも1つのユーザ指定のオフセット位置を伴うPTP命令がテクスチャユニット256に発行されることができる。例示するために、発行されたPTP命令が接尾辞「ptp4」を有し、4つの(u,v)の対を含むと仮定する。ステップ302において、テクスチャユニット256は、命令を受信し、複数の(u,v)の対が存在することを命令の接尾辞から認識する。ステップ304において、テクスチャユニット256は、ユーザ指定のオフセット位置の4つの対を取得し、次に、ステップ306において目標テクセル位置を導出する。その一方、発行されたPTP命令が接尾辞「ptp」を代わりに有する場合、テクスチャユニット256は、ステップ304において、単一のユーザ指定のオフセット位置をやはり取得し、ステップ306において、その他3つの目標テクセル位置を導出するために上で詳細に説明された対称的な変換を実行する。
【0025】
[0033]いったん目標テクセル位置が決定されると、テクスチャユニット256は、ステップ308において、PTP命令で指定されたテクスチャマップから深度値などの関連するテクセルの属性を取り出す。ステップ310において、発行されたPTP命令の種類及び内容に応じて、テクスチャユニット256は、命令によって要求された動作を実行する。例えば、PTP命令がSample_[ptp/ptp2/ptp4]である場合、取り出されたテクセルの属性がフィルタリングされ、画素毎に一意的なテクセルが生成される。PTP命令がSample_c_[ptp/ptp2/ptp4]である場合、取り出されたテクセルの属性に対して深度比較が実行され、画素毎に一意的なテクセルを生成するために結果がフィルタリングされる。PTP命令がLoad4_[ptp/ptp2/ptp4]である場合、取り出されたテクセルの属性が画素毎に返される。深度比較動作もフィルタリング動作も実行されない。PTP命令がLoad4_c_[ptp/ptp2/ptp4]である場合、取り出されたテクセルの属性に対して深度比較が実行され、結果が画素毎に返される。フィルタリング動作は実行されない。
【0026】
[0034]1つの実装において、この新しい種類のPTP命令は図2Aに示されたAPI216の一部であり、その結果、それらのPTP命令は、API216を使用して開発された任意のアプリケーションプログラムによって呼び出されることができ、ハードウェアプラットフォームから独立していることができる。また、テクスチャユニット256に関連するこれらの命令は、開発者が、確率的なサンプリング技術などの、大きなサイズ及び動的に生成される形状を有するフィルタカーネルをもたらすサンプリング方法を効率的に実装することを可能にする。さらに、上で検討されたバイリニアフィルタリング及び等価な平均フィルタリングに加えて、異方性フィルタリング及び等方性フィルタリングなどのその他のフィルタリングスキームにおいてプログラム可能なオフセット位置を使用することは当業者に明らかであるに違いない。例えば、異方性フィルタリング動作が16個のサンプルを探し、フィルタリングすることを必要とする場合、1つの実装において、PTP命令のうちの1つが、16個のオフセット位置が16個全てのサンプルに適用されるように4回発行される。
【0027】
[0035]上記の説明は、本発明の種々の実施形態を本発明の態様がどのように実装されることができるかの例と共に示す。実施形態は上記の例、実施形態、命令の意味、及び図面のみであるとみなされるべきではなく、上記の例、実施形態、命令の意味、及び図面は、添付の特許請求の範囲によって規定される本発明の柔軟性及び利点を例示するために与えられる。
【図面の簡単な説明】
【0028】
【図1A】従来技術の2×2フィルタカーネルが、単一のクロックサイクルにおいて、画素中心を囲む4つの近接するテクセルにアクセスし、次にテクセルにバイリニアフィルタリングを適用するテクスチャマップの図である。
【図1B】テクスチャ動作において必要とされるまばらに分散したテクセルを示すテクスチャマップの図である。
【図2A】本発明の1つ又は複数の態様を実装するように構成されたコンピューティングデバイスの概念図である。
【図2B】本発明の一実施形態による、プログラム可能なオフセット位置を用いてテクスチャフィルタリング動作を実行する図2Aに示されたGPU250の一部の概略図である。
【図2C】本発明の一実施形態による、プログラム可能なオフセット位置を用いたテクスチャ動作を示すテクスチャマップの一部の図である。
【図2D】本発明の一実施形態による、目標テクセル位置のいくつかのテクセルに深度マップ試験を適用した結果の1つの集合を示す概念図である。
【図2E】本発明の一実施形態による、単一のユーザ指定のオフセット位置からのテクセル位置の導出を示す概念図である。
【図3】本発明の一実施形態による、テクスチャユニットにおけるプログラム可能なオフセット位置を用いたテクスチャ動作を実行するための方法のステップの流れ図である。
【符号の説明】
【0029】
100 テクスチャマップ
104 テクセル
106 テクセル
108 テクセル
110 テクセル
124 テクセル
126 テクセル
128 テクセル
130 テクセル
200 コンピューティングデバイス
202 中央演算処理装置(CPU)
204 システムインターフェース
210 システムメモリ
212 アプリケーションプログラム
214 高レベルシェーダプログラム
216 アプリケーションプログラミングインターフェース(API)
218 GPUドライバ
250 グラフィックス処理ユニット(GPU)
252 レンダリングパイプライン
254 画素シェーダエンジン
256 テクスチャユニット
260 GPUのローカルメモリ
262 実行可能なシェーダプログラム
266 テクスチャバッファ
268 フレームバッファ
270 ディスプレイ
P シャドウマップ280に射影されたスクリーンの画素のテクスチャ座標
オフセット シャドウマップ280内のプログラム可能な(u,v)の対
テクスチャ[n] テクスチャバッファ266に記憶された特定のシャドウマップ
目標テクセル
目標テクセル
目標テクセル
目標テクセル
ベクトル

【特許請求の範囲】
【請求項1】
テクスチャ動作を実行するための方法であって、
テクスチャマップに射影された画素に関連する元のサンプルの位置、及びユーザによって指定された第1のオフセット位置に基づいて第1の目標テクセル位置を導出するステップと、
前記テクスチャ動作のために前記第1の目標テクセル位置のテクセルの属性を取り出すステップと
を含む方法。
【請求項2】
前記第1の目標テクセル位置の第1の目標テクセルは、前記テクスチャマップにおいて前記画素に関連し、前記画素に近接して配置される4つのバイリニアサンプルのうちの1つである請求項1に記載の方法。
【請求項3】
前記第1のオフセット位置から、前記4つのバイリニアサンプルのうちの第2の目標テクセルに関する第2のオフセット位置を導出するステップと、
前記元のサンプルの位置及び前記第2のオフセット位置に基づいて前記第2の目標テクセルに関する第2の目標テクセル位置を導出するステップと、
前記テクスチャ動作のために前記第2の目標テクセル位置のテクセルの属性を取り出すステップと
をさらに含む請求項2に記載の方法。
【請求項4】
前記第2の目標テクセル位置は、前記テクスチャマップの少なくとも1つの軸に沿って前記第1の目標テクセル位置と対称的である請求項3に記載の方法。
【請求項5】
前記第1のオフセット位置及び前記第2のオフセット位置に、前記ユーザによって指定された倍率を適用するステップをさらに含む請求項4に記載の方法。
【請求項6】
前記第2のオフセット位置に関する前記テクスチャマップに沿った第1の軸に沿った座標値を、前記第1のオフセット位置に関する前記テクスチャマップに沿った第2の軸に沿った座標値に等しいように設定するステップをさらに含む請求項3に記載の方法。
【請求項7】
前記元のサンプルの位置、及びユーザによって指定された第2のオフセット位置に基づいて前記4つのバイリニアサンプルのうちの第2の目標テクセルに関する第2の目標テクセル位置を導出するステップと、
前記テクスチャ動作のために前記第2の目標テクセル位置のテクセルの属性を取り出すステップと
をさらに含む請求項2に記載の方法。
【請求項8】
前記テクスチャ動作は、フィルタの重みを前記4つのバイリニアサンプルに適用して前記画素に関する一意的な値を生成することを含む請求項1に記載の方法。
【請求項9】
前記フィルタの重みは任意の値を有することができる請求項8に記載の方法。
【請求項10】
前記テクスチャ動作は、前記画素と前記取り出されたテクセルの属性との深度比較を実行することを含む請求項1に記載の方法。
【請求項11】
前記テクスチャ動作は、深度比較動作の結果に対してフィルタリング動作を適用することを含む請求項10に記載の方法。
【請求項12】
テクスチャ動作を実行するように構成されたコンピューティングデバイスであって、
テクスチャユニットを伴う処理ユニットと、
テクスチャマップを含む、前記処理ユニットに結合されたローカルメモリと
を備え、
前記テクスチャユニットは、
テクスチャマップに射影された画素に関連する元のサンプルの位置、及びユーザによって指定された第1のオフセット位置に基づいて第1の目標テクセル位置を導出し、
前記テクスチャ動作のために前記第1の目標テクセル位置のテクセルの属性を取り出すように構成されている、コンピューティングデバイス。
【請求項13】
前記第1の目標テクセル位置の第1の目標テクセルは、前記テクスチャマップにおいて前記画素に関連し、前記画素に近接して配置される4つのバイリニアサンプルのうちの1つである請求項12に記載のコンピューティングデバイス。
【請求項14】
前記テクスチャユニットは、
前記第1のオフセット位置から、前記4つのバイリニアサンプルのうちの第2の目標テクセルに関する第2のオフセット位置を導出し、
前記元のサンプルの位置及び前記第2のオフセット位置に基づいて前記第2の目標テクセルに関する第2の目標テクセル位置を導出し、
前記テクスチャ動作のために前記第2の目標テクセル位置のテクセルの属性を取り出すようにさらに構成される請求項13に記載のコンピューティングデバイス。
【請求項15】
前記第2の目標テクセル位置は、前記テクスチャマップの少なくとも1つの軸に沿って前記第1の目標テクセル位置と対称的である請求項14に記載のコンピューティングデバイス。
【請求項16】
前記ユーザによって指定された倍率が、前記第1のオフセット位置及び前記第2のオフセット位置に適用される請求項15に記載のコンピューティングデバイス。
【請求項17】
前記テクスチャユニットは、前記第2のオフセット位置に関する前記テクスチャマップに沿った第1の軸に沿った座標値を、前記第1のオフセット位置に関する前記テクスチャマップに沿った第2の軸に沿った座標値に等しいように設定するようにさらに構成される請求項14に記載のコンピューティングデバイス。
【請求項18】
前記テクスチャユニットは、
前記元のサンプルの位置、及びユーザによって指定された第2のオフセット位置に基づいて前記4つのバイリニアサンプルのうちの第2の目標テクセルに関する第2の目標テクセル位置を導出し、
前記テクスチャ動作のために前記第2の目標テクセル位置のテクセルの属性を取り出すようにさらに構成される請求項13に記載のコンピューティングデバイス。
【請求項19】
前記テクスチャユニットは、前記テクスチャ動作において、等しいフィルタの重みを前記4つのバイリニアサンプルに適用して前記画素に関する一意的な値を生成するようにさらに構成される請求項12に記載のコンピューティングデバイス。
【請求項20】
前記テクスチャユニットは、前記テクスチャ動作において前記画素と前記取り出されたテクセルの属性との深度比較を実行するようにさらに構成される請求項12に記載のコンピューティングデバイス。

【図1A】
image rotate

【図1B】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図2D】
image rotate

【図2E】
image rotate

【図3】
image rotate


【公開番号】特開2008−299852(P2008−299852A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−143299(P2008−143299)
【出願日】平成20年5月30日(2008.5.30)
【出願人】(501261300)エヌヴィディア コーポレイション (166)
【Fターム(参考)】