(57)【要約】コンピュータグラフィックスシステムが、フォワードテクスチャマッピングを使用して画像を描写する。画像ピクセルが、画面空間にピクセルグリッドを形成する。画像のオブジェクトが、プリミティブによってモデル化される。テクスチャメモリ（１３４）が、テクスチャ空間におけるテクセルグリッドを形成するテクセルを有するテクスチャマップを記憶する。ラスタライザ（１２０）が、テクスチャ空間における各プリミティブについて、少なくとも部分的にプリミティブに入る関連テクセルを決定し、これらのテクセルにテクセル属性を付与する。テクセルシェーダ（１３０）が、テクセル属性を色属性に変換する。コントリビューションフィルタ（８１０）が、プリミティブを描写する連続信号をフィルタし、所定のテクセル位置についてサンプルされたとき、テクスチャ空間におけるプリミティブに対応するテクセルの重複の測定値を供給する各コントリビューション係数を生成する。画面空間リサンプラ（１４０）が、コントリビューション係数をウェイトとして使用してディスプレイピクセルデータを形成するピクセルグリッドに従って、テクセルの色属性をリサンプルする。
2006527879.tif 000002
【特許請求の範囲】
【請求項１】
フォワードテクスチャマッピングを使用して画像を描写し、表示するためのコンピュータグラフィックスシステムであって、前記画像のピクセルは、画面空間における所定のピクセルグリッドに従って規定され、前記画像は、プリミティブによってモデル化された少なくとも１つのオブジェクトを含む、コンピュータグラフィックスシステムにおいて、
−  テクスチャマップのテクセルが、テクスチャ空間における所定のテクセルグリッドに従って規定される、少なくとも１つのテクスチャマップを記憶するためのテクスチャメモリと、
−  前記テクスチャ空間における各プリミティブについて、少なくとも部分的に前記プリミティブに入る関連テクセルを決定し、前記関連テクセルにテクセル属性を割り当てるように動作する、ラスタライザと、
−  前記テクスチャ空間における各プリミティブについて、前記プリミティブを描写する連続信号をフィルタし、所定のテクセル位置についてサンプルされたときに、テクスチャ空間における前記プリミティブに対応するテクセルの重複の測定値を供給する各コントリビューション係数を生成するように動作する、コントリビューションフィルタと、
−  前記テクスチャ空間における各プリミティブについて、前記関連テクセルのテクセル属性を前記テクセルの色属性に変換するように動作する、テクセルシェーダと、
−  前記コントリビューション係数をウェイトとして使用して前記表示のためのピクセルデータを形成する前記所定のピクセルグリッドに従って、前記テクセルの色属性をリサンプルするように動作する、画面空間リサンプラと、
を含むことを特徴とするシステム。
【請求項２】
前記コントリビューションフィルタは、エリアフィルタであって、前記コントリビューション係数は、前記テクセルグリッドにおけるテクセルフットプリントと前記プリミティブのエリア重複の割合に依存する、ことを特徴とする請求項１に記載のコンピュータグラフィックスシステム。
【請求項３】
前記エリアフィルタは、エリア重複を分析的に決定するように動作する、ことを特徴とする請求項２に記載のコンピュータグラフィックスシステム。
【請求項４】
前記分析的な決定は、完全にプリミティブの外側にあるのでも内側にあるのでもないテクセルフットプリントについて、前記プリミティブの境界と前記テクセルフットプリントの境界との間の交点を決定することを含む、ことを特徴とする請求項３に記載のコンピュータグラフィックスシステム。
【請求項５】
前記プリミティブの前記境界のための事前に計算された境界式を含み、完全に前記プリミティブの外側にあるのでも内側にあるのでもない前記テクセルフットプリントのそれぞれに前記境界式を適用する、ことを特徴とする請求項４に記載のコンピュータグラフィックスシステム。
【請求項６】
中央処理ユニットと、メモリと、ディスプレイと、請求項１に記載のコンピュータグラフィックスシステムと、を含むコンピュータ。
【請求項７】
フォワードテクスチャマッピングを使用して画像を描写し、表示する方法であって、前記画像のピクセルは、画面空間における所定のピクセルグリッドに従って規定され、前記画像は、プリミティブによってモデル化された少なくとも１つのオブジェクトを含む、方法であって、
−  少なくとも１つのテクスチャマップを記憶するためステップであって、テクスチャマップのテクセルが、テクスチャ空間における所定のテクセルグリッドに従って規定される、ステップと、
−  前記テクスチャ空間における各プリミティブについて、
−  少なくとも部分的に前記プリミティブに入る関連テクセルを決定し、前記関連テクセルにテクセル属性を割り当てるステップと、
−  前記プリミティブを描写する連続信号をフィルタし、所定のテクセル位置についてサンプルされたときに、テクスチャ空間における前記プリミティブに対応するテクセルの重複の測定値を供給する各コントリビューション係数を生成するステップと、
−  前記関連テクセルのテクセル属性を前記テクセルの色属性に変換するステップと、
−  前記コントリビューション係数をウェイトとして使用して前記表示のためのピクセルデータを形成する前記所定のピクセルグリッドに従って、前記テクセルの色属性をリサンプリングするステップと、
を含むことを特徴とする方法。
【請求項８】
プロセッサに請求項７の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータグラフィックスシステムおよびコンピュータグラフィックス処理の方法に関する。
【背景技術】
【０００２】
３次元グラフィックスを描写するうえで重要な要素は、テクスチャマッピングである。コンピュータによって生成されたオブジェクトの表面にテクスチャをマッピングすることは、オブジェクトの外観の写実性を大幅に向上させる技術である。テクスチャは、典型的には、写真またはコンピュータによって生成された画像のような、２次元画像である。例えば、壁の２次元画像（の一部）を、コンピュータゲームにおいて壁の３次元描写の上に投影してもよい。「テクスチャ」という語は、オブジェクトの上にマップされる任意の画像または構造の同意語として用いられる。「テクセル」（テクスチャ要素）という語は、テクスチャの画素（ピクセル）を指すために用いられる。一般に、画面グリッド上にテクスチャをマッピングする方法が、いくつか知られている。最も一般的なコンピュータグラフィックスシステムでは、いわゆるインバーステクスチャマッピング法(inverse texture mapping approach)を使用している。この方法では、画面のピクセルは、連続的に処理され、ラスター化プロセスの間、各ピクセルについてテクスチャ上の画面ピクセルの投影（テクスチャ空間における投影されたピクセルの「フットプリント」になる）が決定され、正しいピクセル色に最も近似する平均値が、算定される。これは、投影されたピクセルのフットプリントと重複するテクセルを決定することを伴う。別の方法は、いわゆるフォワードテクスチャマッピング法（forward texture mapping method）である。この方法は、テクスチャマップによって定義される（すなわち、テクスチャ空間から始まる）座標系でテクセルをトラバースすることによって機能する。次に、テクセル色は、ビデオスケーリングによく使用されるリサンプラを用いて画面ピクセルに散らされる。このリサンプリングは、テクスチャ空間における再構成と、テクスチャ空間から画面空間へのマッピングと、画面空間におけるプレフィルタリングおよびサンプリングと、を含んでもよい。次に、テクセルのコントリビューションが、ピクセルに散らされ（すなわち散布され）、このピクセルのプレフィルタフットプリントは、テクセルの再構成フィルタフットプリントと重複する。
【０００３】
描写される２次元または３次元オブジェクトは、典型的に、プリミティブ（通常は三角形）を使用してモデル化される。グラフィックスシステムの頂点シェーダは、プリミティブの頂点を入力として受信し、頂点シェーディングプログラムを使用して、これらの頂点のそれぞれについて属性を変更または追加する。ラスタライザは、プリミティブの頂点を定義する頂点座標を受け入れる。フォワードマッピングシステムにおいて、ラスタライザは、これらの属性を補間しながらテクスチャ空間におけるプリミティブをトラバースする。トラバース中に訪れるテクスチャの各グリッド位置（ｕ、ｖ）について、テクセルシェーダは、これらの属性からプリミティブの表面の局部の色を計算する。そして、これらの表面色は、画面空間リサンプラによって、画面ピクセル位置にマップおよびリサンプルされる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、高品質のフォワードテクスチャマッピングを提供できるコンピュータグラフィックスシステムを提供することである。
【課題を解決するための手段】
【０００５】
本発明の目的を果たすために、フォワードテクスチャマッピングを使用して画像を描写し、表示するためのコンピュータグラフィックスシステムであって、画像のピクセルは、画面空間における所定のピクセルグリッドに従って規定され、画像は、プリミティブによってモデル化された少なくとも１つのオブジェクトを含む、コンピュータグラフィックスシステムは、
テクスチャマップのテクセルが、テクスチャ空間における所定のテクセルグリッドに従って規定される、少なくとも１つのテクスチャマップを記憶するためのテクスチャメモリと、
テクスチャ空間における各プリミティブについて、少なくとも部分的にプリミティブに入る関連テクセルを決定し、関連テクセルにテクセル属性を割り当てるように動作する、ラスタライザと、
テクスチャ空間における各プリミティブについて、プリミティブを描写する連続信号をフィルタし、所定のテクセル位置についてサンプルされたときに、テクスチャ空間におけるプリミティブに対応するテクセルの重複の測定値を供給する各コントリビューション係数を生成するように動作する、コントリビューションフィルタ（８１０）と、
テクスチャ空間における各プリミティブについて、関連テクセルのテクセル属性をテクセルの色属性に変換するように動作する、テクセルシェーダ（１３０）と、
コントリビューション係数をウェイトとして使用して表示のためのピクセルデータを形成する前記所定のピクセルグリッドに従って、テクセルの色属性をリサンプルするように動作する、画面空間リサンプラ（１４０）と、
を含む。
【０００６】
本発明者は、グラフィックスシステムの品質は、画面空間でのリサンプリングに加えてテクスチャ空間でフィルタリングステップを実施することによって改善できることを、知得した。プリミティブを描写する連続信号を、訪れたテクセル位置についてサンプリングする前にフィルタリングすることによって、テクセルとテクスチャ空間におけるプリミティブとの重複の測定値に依存するコントリビューション係数が、割り当てられる。多角形に関しては、連続信号は、プリミティブの内側または外側にあることを表し、典型的に、プリミティブのエッジによって、その頂点を用いて規定される。従来技術のフォワードテクスチャマッピングシステムでは、テクセルがプリミティブの外側にある場合は、テクセルのフットプリントが部分的にプリミティブの境界と重複していたとしても、テクセルは無視された。本発明に係るシステムは、特に、従来技術のメカニズムではより強いエイリアシング効果がもたらされた幅の狭いオブジェクトに、より高品質のレンダリングを達成する。プリミティブは、原則として任意の適切な形でよい。一般に使用される形は、多角形、特に三角形である。
【０００７】
従属請求項２の手段によれば、コントリビューション係数は、テクセルグリッドにおけるテクセルフットプリントとプリミティブのエリア重複の割合に依存する。これは、プリミティブ境界信号をフィルタリングするためにボックスフィルタを使用していると理解することができる。
【０００８】
好適な実施形態において、従属請求項３の手段によれば、エリア重複は、分析的に決定される。これにより、エリア重複の割合の正確な結果がもたらされる。
【０００９】
従属請求項４の手段によれば、分析的な決定は、完全にプリミティブの外側にあるのでも内側にあるのでもないテクセルフットプリントについて、プリミティブの境界とテクセルフットプリントの境界との間の交点を決定することを含む。特に多角形では、交点を知ることにより、重複の割合の決定が単純になる。
【００１０】
従属請求項５の手段によれば、プリミティブの境界を求める境界式は、事前に計算される。これにより、プリミティブの境界とテクセルフットプリントとの交点が、早く決定できる。
【００１１】
本発明の目的を果たすために、フォワードテクスチャマッピングを使用して画像を描写し、表示する方法であって、画像のピクセルは、画面空間における所定のピクセルグリッドに従って規定され、画像は、プリミティブによってモデル化された少なくとも１つのオブジェクトを含む、方法は、
少なくとも１つのテクスチャマップを記憶するためステップであって、テクスチャマップのテクセルが、テクスチャ空間における所定のテクセルグリッドに従って規定される、ステップと、
テクスチャ空間における各プリミティブについて、少なくとも部分的にプリミティブに入る関連テクセルを決定し、関連テクセルにテクセル属性を付与するステップと、プリミティブを描写する連続信号をフィルタし、所定のテクセル位置についてサンプルされたときに、テクスチャ空間におけるプリミティブに対応するテクセルの重複の測定値を供給する各コントリビューション係数を生成するステップと、関連テクセルのテクセル属性をテクセルの色属性に変換するステップと、
コントリビューション係数をウェイトとして使用して表示のためのピクセルデータを形成する所定のピクセルグリッドに従って、テクセルの色属性をリサンプリングするステップと、
を含む。
【００１２】
本発明のこれらおよびその他の面は、以下に説明される実施形態から明らかであり、実施形態を参照して説明される。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明が利用可能なグラフィックスパイプラインの最終段階の好適な構成を示している。本明細書において、視覚化されるモデルは、三角形をプリミティブとして使用して説明されるものとする。当業者は、同じ技術を、他の多角形または四角形もしくはベジエパッチ（Bezier patch）のような曲面などの他のプリミティブに容易に適用できる。パイプラインに入力されるのは、コンピュータゲームなどのグラフィックスプログラムおよびグラフィックスパイプラインの初期段階によって、その頂点により規定されるプリミティブである。プリミティブは、（ｘ、ｙ）座標を使用して画面空間に、また（ｕ、ｖ）座標を使用して各テクセル空間に、与えられる。パイプラインは、頂点シェーダ１１０と、テクスチャ空間ラスタライザ１２０と、テクセル空間リサンプラ１３２およびテクスチャメモリ１３４を有するテクセルシェーダ１３０と、画面空間リサンプラ１４０と、エッジアンチエイリアシングおよび隠面消去（ＥＡＡ ＆ ＨＳＲ：Edge Anti-Aliasing and Hidden Surface Removal）ユニット１５０と、を含む。出力されたピクセルは、表示のためのフレームバッファ１６０に記憶され、例えばＲＡＭＤＡＣのようなＤ／Ａ変換器を使用して、アナログ出力を生成する。所望であれば、ＤＶＩのようなデジタルインターフェースを使用してピクセルデータをディスプレイに供給してもよい。ディスプレイは、ＣＲＴ、ＬＣＤ、プラズマディスプレイを含む任意の種類でよい。あるいは、描写された画像を、後続のプリミティブのためのテクスチャマップとして使用してもよい。ここで、図１に示されるグラフィックスパイプラインの機能が、より詳細に説明され、本発明が使用可能である例示的なシステムが、説明される。
【００１４】
頂点シェーダ１１０は、三角形（プリミティブ）の頂点を入力として受信し、頂点シェーディングプログラムを使用してこれらの頂点のそれぞれについて属性を変更または追加する。頂点シェーダによって供給されるデータは、通常、拡散および／または鏡面反射色のような属性と、テクスチャ座標と、（同次）画面座標と、時には、表面法線のような付加的なデータまたはシェーディングプロセスに必要な他のデータと、を含む。頂点シェーダは、従来の変換および照明ユニット（Transform and Lighting unit）であってもよい。頂点シェーダによって生成された属性は、ラスタライザに付与される。
【００１５】
ラスタライザ１２０は、従来、画面空間で動作した。このようなラスタライザは、走査線アルゴリズムを使用して、画面座標をラスター化プロセスの駆動変数として頂点属性から選択することによって、画面上のプリミティブの投影内にあるピクセルをトラバースした。本発明が使用されるフォワードテクスチャマッピングシステムでは、ラスタライザは、表面空間で動作する。表面空間ラスタライザは、例えば、（画面座標の代わりに）テクスチャ座標をラスター化プロセスの駆動変数として選択することによって、（画面上の投影でなく）プリミティブの表面のパラメータ表示をトラバースする。ラスタライザは、プリミティブを「表面グリッド」の上でトラバースする。テクスチャマップに関連するグリッドは、このような表面グリッドを供給するものであり、好ましくは表面グリッドとして使用される（テクスチャグリッド上でテクスチャサンプルを得れば、リサンプリングを必要としないため）。テクスチャマップがない場合、または例えばテクスチャが１次元または３次元である場合、別のグリッドが選ばれてもよい。テクスチャ空間の座標として、ｕ（「水平」方向）およびｖ（「垂直」方向）が、使用される。「水平」および「垂直」は本明細書では相対的なものでしかないことが、理解されるであろう。例えば、画面は、回転されてもよく、グラフィックス処理は影響を受けないが、画面上の出力は回転する。テクスチャグリッドは、しばしば表面グリッドとして使用されるため、「テクスチャグリッド」（および「テクスチャ空間」ならびに「テクセル」）という表記は、そのような一般化されたグリッド（および関連する空間ならびにサンプル）を示すために使用される。ラスタライザが、グリッドのテクセル位置をトラバースしているとき、各頂点で付与された属性は、グリッドの上で補間される（典型的には直線的に、テクセルが投影されている画面座標を除いて、透視的に補間される）。このとき、属性は各テクセル位置で得られ、テクセルシェーダ１３０は、ここで属性を使用できる。ラスタライザは、ベースグリッドのｕおよびｖテクスチャ座標をトラバースしながら、対応する画面座標（ｘ、ｙ）も維持し、ここで、ｘは水平ピクセル位置を表し、ｙは垂直ピクセル位置を表す。対応は、
【数１】
2006527879.tif 000003
の直線補間によって維持することができ、ここで、＾は、同次の座標を示す。このような座標は、当該技術では周知であるので、ここではこれ以上詳細に説明しない。次いで、画面座標は、透視
【数２】
2006527879.tif 000004
を用いて計算することができる。画面のｙ座標は、以下により詳細に説明されるように、ミップマップ決定の目的にのみ使用される。実際の色を算定するために、ラスタライザは、拡散色（ＲＧＢＡ）、鏡面色（ＲＧＢ）、および（マルチテクスチャリングを可能にする）付加的なテクスチャ座標対を補間してもよい。また、（表面法線などの）他の属性を補間してもよい。
【００１６】
好ましくは、テクスチャ空間ラスタライザは、図２に示すように、４次元ミップマッピングに対応するグリッド上でテクスチャマップをトラバースする。ミップマッピングを使用して、前処理ステップでオリジナルテクスチャ（２次元写真）の縮小版が、いくつか作成される。テクスチャマッピングの間、解像度が画面画像に最も合う、より小さい縮小写真だけの部分が、読み込まれて画面にマップされる。オリジナル２次元写真は、その縮小版とともに、ミップマップと呼ばれる。テクスチャマッピングおよびミップマップは、ポール・Ｓ．ヘックバート（Paul. S. Heckbert）による１９８６年１１月の「テクスチャマッピングの調査」 (Survey of Texture Mapping) 、ＩＥＥＥコンピュータグラフィックス・アンド・アプリケーション（IEEE Computer Graphics and Applications）の５６〜６７ページ、および米国特許第６，２３６，４０５号で、特に説明されている。ミップマップにおいて、オリジナル画像は、レベル０として示される。レベル１において、各エントリーは、例えば２×２テクセルという平均値を保持する。本明細書で使用されるように、「テクセル」（テクスチャ要素）という語は、テクスチャの画素（ピクセル）を指す。これは、トップレベルに達するまで続けることができ、トップレベルは、テクスチャ全体の平均色を保持する１つのエントリーのみを有する。従って、後続のレベルが各方向の２つの係数のうち１つを使用してスケールされるスクエアミップマップでは、レベルｎは、レベルｎ−１の４分の１のサイズを有する。その他のスケーリング係数も、使用することができる。いくつかの型のミップマップが知られており、どの縮小された画像が記憶されるかが異なっている。３次元ミップマップでは、両方の方向が、同じ係数によって縮小され、４次元ミップマップでは、オリジナル画像は、両方の次元で独立して縮小される。３次元ミップマップと比較すると、４次元ミップマップ構成は、記憶のために多くのメモリを必要とする。ゲームなどのコンピュータグラフィックスプログラムは、従って、しばしば３次元ミップマップ構成を使用する。本出願者の以前の出願であり、本出願と発明者を共にするＩＢ０２／０５４６８は、３次元ミップマップからオンザフライで４次元ミップマップを生成する方法を説明している。この方法は、グラフィックスシステムに４次元ミップマップを供給しないプログラムとの組み合わせにおいても、高品質のレンダリングを可能にする。３次元ミップマップは、ミップマップレベルによって規定される。４次元ミップマップは、水平ミップマップレベルｍｍｌｕおよび垂直ミップマップレベルｍｍｌｖによって規定される。図２は、１６のミップマップ（０，０）、（１，０）、…、（３，３）の詳細を明らかにする４次元ミップマップを示している。グレーで示されるミップマップ（０，０）、（１，１）、（２，２）および（３，３）は、それぞれオリジナル３次元ミップマップレベル０、１、２、および３を形成する。ラスタライザは、４次元ミップマップレベル（ｍｍｌｕ，ｍｍｌｖ）を供給する。
【００１７】
テクセルシェーダ１３０は、各テクセルごとに局部の表面色を算定する。テクセルシェーダは、表面グリッドにおけるグリッド位置の属性に影響し、プリミティブに関連する２次テクスチャがある場合に、標準テクスチャ空間リサンプラを用いたインバースマッピングを利用して、これらから色を得る。テクスチャデータが必要なときは、テクスチャ空間リサンプラを使用して、テクスチャ座標が与えられているテクスチャサンプルを得る。これらのテクスチャ座標は、テクセルシェーダによって、ラスタライザおよび以前のテクスチャフェッチからの任意の結果から受ける補間された座標（いわゆる依存テクスチャリング）および／または計算に基づいて、生成される。テクスチャフィルタ動作は、通常、近接するテクセルのバイリニアまたはトリリニア補間、または異方性の（透視的に変形された）フィルタフットプリントに近いテクスチャプローブの組み合わせに基づく。テクセル空間リサンプラの２次元リサンプリング動作は、１次元ＦＩＲフィルタ構造を使用した２つの１次元リサンプルパスにおいて効果的に実行できる。４次元ミップマップがオンザフライで構築される状況では、テクスチャフェッチは、このとき、テクスチャメモリ１３４に記憶される３次元ミップマップデータからの４次元ミップマップ再構築になる。図２の例において、４次元ミップマップ（３，０）は、３次元ミップマップレベル０をダウンサンプリングすることによって再構築される。フェッチされたテクセルは、補間された拡散および／または鏡面色と組み合わせることができ、その結果、このテクスチャサンプルが画面のどこにマップされるかを示す、関連する（一般に非整数の）画面座標を有する表面の色サンプルをもたらす。
【００１８】
画面空間リサンプラ１４０は、マップしたテクセルを整数の画面位置に散らし、画面にプリミティブの画像を供給する。画面空間リサンプリングは、
テクセルグリッド中の色情報を連続信号に再構築し、
テクスチャ空間からの連続信号を画面空間にマッピングし、
画面空間でマップされた連続信号をプレフィルタリングし、
画面空間でプレフィルタリングした信号をサンプリングする、
動作を含む。
【００１９】
図３は、再構築フィルタのフットプリントとしてボックスを使用する、再構築フィルタリングを示している。上位のフィルタなどの他のフィルタを使用してもよい。図は、テクセルのグリッドを示す。各テクセルは、ピクセルによって覆われた画像表面を表す矩形として示される。オリジナルテクセルのフットプリントが取られ、画面に投影される。これは、これらの入力フットプリントの位置だけでなく、サイズも変更する。好適なトランスフォーメーションのサイズおよび位置は、図３に点線の矩形で示されている。実点は、無次元入力テクセルの座標が、トランスフォーメーションの後に調和する場所（典型的に、入力テクセルフットプリントの中央に一致する）を示す。トランスフォーメーションの一部として、テクセル出力ドメイン内のボックスのサイズが、算定される。再構築フィルタリングの間、範囲トラバーサルの間にオクルード（occlude）されるように見える入力テクセルが、ドロップされて再構築されない場合もある。また、より精密な再構築を使用してもよく、特に、画像の１次再構築テクセルのオクルードされなかった部分に比例したコントリビューションを使用してもよい。図３は、ボックス再構築およびオクルージョン(occlusion)処理の結果を示している。ボックスのサイズは、オリジナルテクセルのコントリビューションの測定値である。例えば、入力テクセル３２０の再構築フットプリント（すなわち、変換後のフットプリント）は、セグメント３４０によって示される。この例では、再構築フットプリントは、出力テクセルのフットプリントの約７５％である。この場合、出力画像に対する入力テクセルのコントリビューションは、０．７５の係数に設定される。入力テクセル３３０の再構築マップフットプリントは、一部分が出力テクセル３１０に、一部分が３１０の右の出力テクセルに降下する。入力テクセル３３０の再構築フットプリントは、出力テクセル３１０のフットプリントの約２５％であり、隣接する出力テクセルのフットプリントの約７５％である。次いで、入力テクセル３３０の総コントリビューションは、２５％＋７５％である。次に、図４に示されるように、各出力テクセルは、このとき画面空間のピクセルに散らされ（すなわち分散され）、画面空間におけるプレフィルタフットプリントは、画面空間の再構築ボックス（すなわち、テクセルを画面空間にマッピングした後）と重複する。ピクセル４００の再構築ボックスは、ハイライトされた矩形４１０を用いて示される。プレフィルタフットプリントは、いくつかのピクセルに延びてもよい。フィルタは、水平方向のみに広がってもよいが、垂直の広がりを有してもよい。図４の例では、所属するピクセルを中心として隣接する２つのピクセルに及ぶ３つのピクセルの水平および垂直の両方の広がりを有するフィルタが、使用されている。この場合、１２の出力ピクセルが、コントリビューションを受信する。これらの各出力ピクセルについて、それぞれのプレフィルタの形を用いて入力ピクセル値を量ることによって、コントリビューションが、決定される。
【００２０】
画面空間リサンプラから届くピクセル断片は、次に、断片バッファ１６０を使用する、エッジアンチエイリアシングおよび隠面消去（ＥＡＡ ＆ ＨＳＲ）ユニット１５０において組み合わされる。ピクセル断片は、このバッファに深度ソートされ、隠面問題を解決する。すべてのプリミティブが描写された後、各ピクセルのすべての可視断片が組み合わされ（画面空間リサンプラが、プレフィルタによってすでにウェイトされた色を配するので、大部分が単純合計となる）、フレームバッファに送信される。エッジアンチエイリアシングは、エッジ近くの画面空間ラスタライザによって生成された部分コントリビューションを組み合わせることによってもたらされ、その結果、異なるプリミティブからの色の組み合わせであってもよい最終のピクセル色が得られる。
【００２１】
図１に示されるパイプラインは、２つのリサンプリング段階を特徴とし、それらは、シェーダを介して制御されるテクスチャ空間リサンプラ１３２、およびディスプレイグリッドへのリサンプリングを実行するための画面空間リサンプラ１４０である。テクスチャマッピングは、テクスチャサンプル（テクセル）から画面サンプル（ピクセル）へのリサンプリングプロセスと理解することができる。高品質テクスチャおよびエッジアンチエイリアシングは、リサンプリングの最終ステップであるサンプリングプロセスの前に画面空間プレフィルタリングを使用することによって達成できる。しかしながら、プリミティブをラスター化するときには、単なるテクスチャ（リ）サンプリングよりもサンプリングが多く行われる。ラスタライザ自体は、どのラスター化グリッド位置を訪れるべきかを決定するときに、三角形をサンプルする。このサンプリングプロセスもまた、エイリアシングをもたらすことがある。これは、テクセル空間でそのとき動作している追加のプレフィルタを使用することによって減少させることができ、アーテファクトが避けられる。三角形のラスター化プロセスは、２つの入力を有し、それらは、離散的なテクスチャマップ状のテクスチャ信号、および連続的な三角形信号を描写する３つの頂点の形の三角形信号である。従来、この信号は、例えば三角形内で値１および三角形外で値０を有し、一種の離散的なコントリビューション信号として作用し、離散的なコントリビューション信号は、三角形外のテクスチャ情報はコントリビュートすべきでなく、三角形内のテクスチャ情報が完全にコントリビュートすべきであると決定する。従来のラスター化プロセスの間、この信号は、三角形信号が１であるグリッド位置を正確に訪れることによって、サンプルされる。このようなグリッド位置では、テクセル色は、完全にコントリビュートするようにされる。これが、エイリアシングをもたらす。本発明によれば、エッジ近く（三角形の内外）のテクセルは、部分的にのみコントリビュートすることが確認される。これは、連続コントリビューション信号をプレフィルタリングすることによって達成でき、エッジ付近で０〜１の間のコントリビューション値が得られる。このプレフィルタリングプロセスは、最初に、以下により詳しく説明される。あるいは、フィルタリングは、テクスチャ空間から画面空間へのリサンプリングプロセスにおける再構築フィルタリングのより良い形として理解することができる。この観点は、テクスチャ空間プレフィルタリングの説明の後で提示される。
【００２２】
テクスチャ空間のプレフィルタリング
フォワードテクスチャマッピングを用いるときは、テクスチャ空間ラスタライザが使用される。三角形信号は、テクスチャ空間で考慮され、テクスチャ空間エッジエイリアシングを避けるためにプレフィルタされる。これは、図５に示されている。プレフィルタリングがないと、入力テクスチャの各テクセルは、画面空間にマップされる（その位置が三角形内である場合）か、またはされないかのどちらかである。従って、テクセルは、完全にコントリビュートするか、またはしないかのどちらかである。後続のリサンプリングプロセスは、サンプルを用い、ボックスフィルタを使用してサンプルの周囲に連続信号を再構築する。このエリアの一部が三角形の内側にない場合、テクセルは過剰にコントリビュートし、テクセルが三角形のすぐ外側にあるものの再構築シグナルが三角形との重複がある場合、テクセルは十分にコントリビュートしないことがある。三角形をプレフィルタリングすることは、これを修正するのに役立つ。原則的に、任意の適切なフィルタを使用することができる。ボックスフィルタを使用するとき、プレフィルタは、エリア再構築として理解することができる。他の適切なフィルタには、テントフィルタ、３次ｂ−スプラインフィルタなどが含まれる。ボックスフィルタを用いるエリアフィルタリングは、図６に示されている。図６Ａでは、サンプルグリッドが、三角形とともに示されている。図６Ｂにおいて、この信号はサンプルされ（黒点が完全なコントリビューションを示し、白点がコントリビューションなしを示す）、テクスチャ空間ラスター化／リサンプリングによって行われる従来技術のポイントサンプリングを表している。図６Ｃにおいて、三角形が、点線で印をつけたボックスフィルタに関連するプレフィルタフットプリントエリアとともに、再び示されている。図６Ｄは、三角形と各テクセルのフィルタフットプリントとの間の重複量に応じたコントリビューションを（グレーレベルの点として）示している。これは、三角形信号のボックスプレフィルタリングになり、テクセルフットプリントと三角形との間のエリア重複の割合は、テクセルの初期コントリビューション（後続のリサンプリングプロセスで使用される）を決定するために使用される。図７は、さらなる例を示している。図７Ａは、テクセルのボックスフットプリントと交差する三角形の境界を示している。図７Ｂは、結果エリアとして生じるコントリビューション係数を、グレーレベルを使用して示している。
【００２３】
図８に示される好適な実施形態において、ラスタライザグリッドの現在位置の色がわかる場合、エリアプレフィルタリング８１０は、テクセルシェーダ１３０の直後に行われる（エリア計算は、必要に応じてシェーディング計算と平行して行うことができる）。この色は、画面空間リサンプラに送信され、画面空間リサンプラはコントリビューション値も受信する。従来、このコントリビューション係数は１である。エリアプレフィルタリング法を用いて、エリアカバレッジ分数が、リサンプラへのコントリビューション入力として使用される。エリアプレフィルタリングは、このとき三角形によって覆われるテクセルの矩形フィルタフットプリントの分数を計算することになる。エリア分数は、任意の適切な方法で決定されてよい。例えば、近似アプローチが使用されてもよく、この方法では、三角形内点テストを用いてフットプリントをサンプルして、このようなサンプルが三角形の内側にあるか外側にあるかを調べるスーパーサンプリングを使用し、内側にあるサンプルの分数を算定して、エリア分数が計算される。あるいは、分数は、分析的に決定してもよい。三角形について、テストは、分析的アプローチがより効率的であったことを示した。分析的アプローチを用いて、最初にチェックを行い、フィルタフットプリントが完全に三角形内に入っているか（これは、テクセルフットプリントがどのエッジからも離れて三角形の内部に入っているときにしばしば起こるケースである）を調べてもよい。このケースである場合、エリア分数は、１である。そうでない場合、三角形が完全にフットプリント内に含まれている、さらに特別なケースでチェックが行われる。このケースでは、エリア分数は、三角形エリアとフットポイントエリアとの比として計算することができる。この２つの特別なケースのどちらも当てはまらない場合、三角形のエッジとフットプリントのエッジとの交点が計算され、それによって構築される多角形のエリアを用いて、エリア分数が計算される。三角形およびボックスフットプリントの交点の決定は、当業者の技術の範囲内に十分入る。ラスタライザは、通常、三角形との重複がないテクセルを訪れないことに留意されたい。簡易化されたラスタライザがそのようなテクセルを訪れるかもしれない場合、０の分数が生成されなければならない。
【００２４】
点のコンテインメントおよび交点計算を促進するために、（テクスチャスペースの）エッジ式を、三角形セットアップの一部として、三角形ごとにいちど前もって計算することが好ましい。エリアカバレッジ分数は、三角形内のフットプリントエリアと総フットプリントエリアとの比である。後者は、現在のミップマップレベルに依存するのみであり、したがって、いちど初期化することができ、ミップマップレベルの切り替えが生じたときのみにアップデートが必要となる。
【００２５】
プレフィルタリングは、特に、他の場合では見落とされるか、または過剰にコントリビュートされるおそれがある小さな三角形を扱うときに役に立ち、画面へのリサンプリングプロセスの第一段階において三角形信号を階段状に再構築させる。この効果は、図９に示されている。図９Ａは、２つの薄い三角形を、より大きい基準から上に突き出ているスパイクとして示している。図は、各テクセルのコントリビューションをグレーレベルとして示している。図９Ａに示されるように、プレフィルタリングなしでは、テクセルが完全にコントリビュートするか、またはまったくしないかのいずれかであるため、スパイクは塊状に見える。三角形をプレフィルタリングすると、図９Ｂに示されるように、スパイクを上るにつれて輝度が減退し、三角形が細くなることが示唆される。テクスチャ色の追加（コントリビューションがウェイトとして使用されている）および画面への投影後の同様のオブジェクトが、図１０に示されている。図１０Ａは、プレフィルタリングなしの結果を示し、図１０Ｂは、プレフィルタリングをした結果を示す。三角形のプレフィルタリングをしなくても、高周波が、画面空間リサンプラによって最終画像から取り除かれていることに留意されたい。しかし、劣悪な三角形信号サンプリングに起因する塊状の形として見えるエイリアシングのアーテファクトは、これらのフィルタによって取り除くことはできない。また、テクスチャ座標は、普通、オブジェクトに固定されたままなので、何らかの再構築（および三角形信号サンプリング）が、後続フレームにわたって継続する。リバースマッピングにおいて、小さな三角形は、フリッカリングを起こす場合があり、その理由は、小さな三角形は１つのフレームで見失われ次のフレームでは見失われないためである。これは、テクスチャ空間における三角形信号のプレフィルタリングおよびサンプリングが適用された場合は、起こらない。従って、シルエットエッジの外見は、三角形のプレフィルタリングによって実際に利益を受ける。
【００２６】
テクスチャ空間ラスター化の問題は、三角形のエッジ近くのピクセルでは隣接する三角形のコントリビューションが、確実に補足し合わない可能性があることである。これは、三角形が異なるグリッド上でラスター化されるとき、または異なるミップマップレベルが選択された場合にあるように、同じグリッドの異なる解像度でラスター化されるときでさえ、起こることがある。これは、図１１に示されている（図は、画面へのリサンプリングプロセスで使用されるボックス再構築信号を示す）。図１１Ａは、２つの隣接するプリミティブを示している。左側では２つの三角形が少し離れて、再構築されたエッジがより明確に見えるようになっており、右側ではそれらが並んで示されて、コントリビューションの合計を示している。両方の三角形は、同じグリッド上でサンプルされるため、互いに正確に補足しあう。図１１Ｂは、同じ状況を示すが、左上の三角形は、より高いミップマップで描写されている。ホールおよび重複が、組み合わせた信号中に存在する。三角形信号にエリアプレフィルタリングを用いる（図１１Ｃに示されるように）とき、三角形の問題が、ある程度緩和し、この例では誤差の最大振幅が、半分になっている。テクセルのボックス再構築が原因で、いくつかの誤差は残り、きめがより粗いミップマップレベルでのボックス再構築は、より細かいレベルでの４つのエリアに相当するエリアの上に均等にコントリビューションを分配する。これらの４つのエリアは、同じコントリビューション値を有するように実施されておらず、そのため両方の合計は、一定にならないであろう。しかしながら、エッジ近くのコントリビューションは、ラスタライザがサンプルするサンプル位置への依存がより小さく、隣接する三角形を継続的に補足する事実上の潜在的な連続三角形信号への依存がより大きいため、誤差は、より小さくなる。
【００２７】
改善された再構築フィルタ
上記では、本発明に係るシステムが、三角形信号のプレフィルタリングプロセスとして説明された。システムは、図１にアイテム１４０として示されるリサンプリングの改善された再構築プロセス部分を有していると理解することもできる。この説明も本明細書に含まれ、正確なコンボルーションにどう近づけるかについてさらなる見識を提供している。テクスチャサンプルを三角形信号と組み合わせることは、テクスチャ信号が画面にマップされる前にテクスチャ信号を再構築する再構築プロセスの始まりとして理解することができる。何が起こるかを説明するために、リサンプリングプロセスが、図１２に、１次元のケースとして描かれている。図１２Ａ〜図１２Ｄは、三角形のエッジが考慮されていないリサンプリングプロセスを示している。図１２Ａは、三角形のエッジ近くのテクセルを示している。ボックスフィルタ（図１２Ｂ）を使用して、連続信号を再構築する。この再構築された信号は、次に、画面空間にマップされ（図１２Ｃ）、プレフィルタ機能を用いてコンボルブ（convolve）される。結果のエリア（図１２Ｄ）は、ピクセルへのコントリビューションを決定するテクセルのウェイトである。図１２Ｅ〜図１２Ｈは、三角形のエッジを考慮に入れ、結果として、より小さなウェイトをエッジテクセルにもたらす、同一のプロセスを示している。図５のリサンプリングプロセスは、図６に示される計算に従ってテクセルを量り、その結果が図６Ｄで示されるウェイトになる。このウェイトには、次に、エリアカバレッジ分数が乗じられる。この結果は、図１２Ｈに示すウェイトに近似する。例えば図１２において、これは、この三角形には少し近似が低すぎる（しかしこの三角形の左側に隣接する任意の三角形には少し近似が高すぎる）全体ウェイトをもたらす。エリア分数で単純に乗じることによって、プレフィルタセグメントの空間ウェイト分配は、実質的に連続的であるとみなされる。
【００２８】
２次元表面を有する２次元テクスチャマップで、同じ原則が適用できる。図１３は、画面空間におけるテクセルの、マップされた再構築フットプリント１３１０を示し、その上方に特定のテクセルのプレフィルタのセグメント１３２０を示している。これは、図１２Ｃの２次元変形例である。三角形の上方にある、このプレフィルタセグメントの下の体積のみが、考慮されるべきである。これは、暗い体積１３３０で、図１２Ｈのエリアに類似している。この体積を正確に計算しなくても、テクスチャ空間におけるテクセルのエリアウェイト化（リサンプリングプロセスの前）が、（通常はリサンプリングプロセスによって計算されているように）プレフィルタセグメント全体の下の総体積を取り、これをテクスチャ空間における三角形で覆われているエリアの分数１２４０（一般的なパースペクティブマッピングでは画面空間におけるエリア分数と同じではない）で乗じることによって、この体積に近似する。図１３を見る別の方法は、テクスチャ空間で考慮することである。このとき、再構築フィルタのフットプリントは、テクスチャ空間の矩形フットプリントであり、プレフィルタセグメントは、(画面からテクスチャ空間に)マップされたセグメントである。
【００２９】
図１４は、コンピュータ１４００のブロック図を示し、コンピュータは、中央処理ユニット１４１０と、メモリ１４２０と、ディスプレイ１４３０と、本発明に係るコンピュータグラフィックスシステム１４４０と、を含む。コンピュータは、パーソナルコンピュータまたはワークステーションなどの従来のコンピュータでもよい。コンピュータグラフィックスシステムは、グラフィックスプロセッサを使用して実施してもよい。このようなグラフィックスプロセッサは、本発明に係る方法をグラフィックスプロセッサに実行させるプログラムの制御下で動作してもよい。プログラムは、（例えばＲＯＭに）固定して埋め込んでもよいが、背景メモリからロードしてもよい。後者の場合、プログラムは、例えば、ＣＤ−ＲＯＭなどのレコードキャリア、またはインターネットなどの有線または無線通信手段を使用して、任意の適切な形で配信してもよい。
【００３０】
上述の実施形態は、本発明を説明するものであって、限定するものではなく、当業者は、添付の特許請求の範囲から逸脱することなく、多くの代わりの実施形態を設計することができることに留意されたい。請求項において、括弧内に示されたいずれの参照符号も、請求項を限定するものと解釈されるべきではない。「備える」という動詞およびその活用形の使用は、請求項に述べられるもの以外の要素またはステップの存在を除外しない。要素の前の「ひとつの」という冠詞は、そのような要素が複数存在することを除外しない。本発明は、いくつかの別個の要素を備えるハードウエアによって、および適切にプログラムされたコンピュータによって実施してもよい。いくつかの手段を列挙する装置請求項において、これらの方法のいくつかは、ハードウエアの同一のアイテムによって具体化してもよい。特定の方法が相互に異なる従属請求項に述べられているという単なる事実は、これらの方法の組み合わせが有利に使用できないと示唆するものではない。
【図面の簡単な説明】
【００３１】
【図１】図１は、本発明が使用可能なグラフィックスパイプラインを示す。
【図２】図２は、４次元ミップマップ構造を示す。
【図３】図３は、再構築フィルタリングを示す。
【図４】図４は、画面空間プレフィルタリングを示す。
【図５】図５は、本発明に係るテクスチャプレフィルタリングを示す。
【図６】図６は、エリアプレフィルタリングを示す。
【図７】図７は、エリアプレフィルタリングのさらなる例を提供する。
【図８】図８は、エリアプレフィルタの形の本発明に係るコントリビューションフィルタを示す。
【図９】図９は、テクスチャ空間エリアプレフィルタリングがないシステムおよびあるシステムの結果を比較している。
【図１０】図１０は、テクスチャ空間エリアプレフィルタリングがないシステムおよびあるシステムの結果を比較している。
【図１１】図１１は、隣接する三角形のためになされる改善を示す。
【図１２】図１２は、改善されたテクスチャ空間再構築フィルタの形の本発明を示す。
【図１３】図１３は、再構築フィルタフットプリントの２次元表現のための、改善されたテクスチャ空間再構築フィルタを示す。
【図１４】図１４は、本発明に係るグラフィックスシステムを組み込んだコンピュータのブロック図を示す。
【図１】
2006527879.tif 000005
【図２】
2006527879.tif 000006
【図３】
2006527879.tif 000007
【図４】
2006527879.tif 000008
【図５】
2006527879.tif 000009
2006527879.tif 000010
2006527879.tif 000011
【図８】
2006527879.tif 000012
2006527879.tif 000013
2006527879.tif 000014
2006527879.tif 000015
【図１２】
2006527879.tif 000016
【図１３】
2006527879.tif 000017
【図１４】
2006527879.tif 000018
【国際調査報告】
2006527879.tif 000019
2006527879.tif 000020
2006527879.tif 000021