(57)【要約】【課題】オブジェクトのアンチエイリアジングされたラスタライズのための方法およびシステムを提供すること。【解決手段】形状によって表されるオブジェクトの特定の視点から、オブジェクトのシルエット上にエッジを有する形状が選択される。オブジェクトのシルエット上にある形状の縁部に縁部ジオメトリが作成される。縁部ジオメトリがレンダリングされる。形状の一部分が縁部ジオメトリに重ならないように深さテストを設定した状態で縁部ジオメトリがレンダリングされた後で形状がレンダリングされるか、形状自体が縁部ジオメトリに重なる任意の部分を削除するように変更される。これは、オブジェクトのシルエット上にある各形状の縁部ごとに繰り返すことができる。【選択図】図４
2006120158.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトのシルエット上に縁部を有する形状を選択するステップと、
前記縁部に縁部ジオメトリを作成するステップと、
前記縁部ジオメトリをレンダリングするステップと、
前記縁部ジオメトリをレンダリングした後、前記形状をレンダリングするステップと
を含むコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項２】
前記形状は三角形を含むことを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項３】
前記シルエットは、前記オブジェクトをそこから見る視点によって定義されることを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項４】
前記シルエットは、前記視点に面する形状、および前記視点とは反対方向を向く形状に接する縁部を含むことを特徴とする請求項３に記載のコンピュータ可読媒体。
【請求項５】
前記縁部ジオメトリは、１ピクセル幅の形状を含むことを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項６】
前記形状は平面に配置され、前記縁部ジオメトリは前記平面に配置されることを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項７】
前記形状は平面に配置され、前記縁部ジオメトリは別の平面に配置されることを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項８】
前記他の平面は、前記オブジェクトをそこから見る視点の平面を含むことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項９】
前記縁部に縁部ジオメトリを作成するステップは、第１のピクセルシェーダを前記縁部ジオメトリに関連付けられているピクセルに適用するステップを含むことを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項１０】
前記縁部に縁部ジオメトリを作成するステップは、第２のピクセルシェーダを前記縁部ジオメトリに関連付けられているピクセルに適用するステップをさらに含むことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１１】
前記縁部に縁部ジオメトリを作成するステップは、補間機構を前記縁部ジオメトリに関連付けられているピクセルに適用するステップを含むことを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項１２】
前記補間機構はグーローシェーダを含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記補間機構はピクセルシェーダを含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１４】
前記縁部に縁部ジオメトリを作成するステップは、前記縁部のピクセルのテクスチャに一致するテクスチャを作成するステップを含むことを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項１５】
前記縁部に縁部ジオメトリを作成するステップは、不透明から透明まで変動する別のテクスチャを作成するステップをさらに含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記他のテクスチャは、前記形状に最も近い前記縁部ジオメトリの側で不透明であり、前記形状から最も離れた前記縁部ジオメトリの側で透明であることを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記他のテクスチャは不透明から透明まで直線的に変動することを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項１８】
前記他のテクスチャは、非線形関数に基づいて不透明から透明まで変動することを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項１９】
前記非線形関数はシヌソイド関数を含むことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記形状は１ピクセル幅より大きいことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２１】
ピクセルが他のピクセルより前記視点により近い場合を除いて、前記オブジェクトに関連付けられている前記ピクセルが前記他のピクセル上に上書きされないように、Ｚテスト関数を厳密に未満に設定するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項２２】
画像をレンダリングする方法であって、
オブジェクトを表す形状をソートするステップであって、前記ソートは、前記オブジェクトに関連付けられている視点からの前記形状の距離に基づくステップと、
前記オブジェクトのシルエット上にある形状の縁部ジオメトリを作成するステップと、
前記縁部ジオメトリに重ならないように前記形状を変更するステップと
を含むことを特徴とする方法。
【請求項２３】
前記視点から最も離れたものから前記視点に最も近いものの順に前記形状をレンダリングするステップをさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記縁部ジオメトリのテクスチャと連続するように、前記形状のテクスチャを変更するステップをさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２５】
前記形状は多角形であることを特徴とする請求項２２に記載の方法。
【請求項２６】
前記多角形は三角形であることを特徴とする請求項２５に記載の方法。
【請求項２７】
前記オブジェクトのシルエット上にある形状の縁部ジオメトリを作成するステップは、前記形状の縁部に重なるように前記縁部ジオメトリを作成するステップを含むことを特徴とする請求項２２に記載の方法。
【請求項２８】
前記縁部ジオメトリは多角形を含むことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記多角形は四角形を含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記形状は平面に配置され、前記形状の縁部に重なるように前記縁部ジオメトリを作成するステップは、前記平面に前記縁部ジオメトリを作成し、かつ前記縁部ジオメトリの少なくとも一部分を前記形状が存在する前記平面の一部分に作成するステップを含むことを特徴とする請求項２７に記載の方法。
【請求項３１】
オブジェクトのシルエットを検出し、
前記オブジェクトの前記シルエットに存在する形状の縁部に縁部ジオメトリを作成し、
前記縁部ジオメトリをレンダリングし、
前記縁部ジオメトリに重なる任意の部分を削除するように前記形状を変更する、または前記縁部ジオメトリがレンダリングされた後に前記形状をレンダリングする
ように構成された１つまたは複数のプロセッサの組を含むことを特徴とする画像をレンダリングするための装置。
【請求項３２】
前記オブジェクトの表現を表示するように構成されているディスプレイをさらに含むことを特徴とする請求項３１に記載の装置。
【請求項３３】
前記１つまたは複数のプロセッサの組はグラフィックカードのプロセッサを含むことを特徴とする請求項３１に記載の装置。
【請求項３４】
前記１つまたは複数のプロセッサの組は前記グラフィックカードが配置されているコンピュータのプロセッサも含むことを特徴とする請求項３３に記載の装置。
【請求項３５】
前記１つまたは複数のプロセッサの組はプロセッサを１つだけ含むことを特徴とする請求項３１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータに関し、より詳細には画像に関する。
【背景技術】
【０００２】
アンチエイリアジングは、コンピュータ画像における斜めまたは曲線の縁部によくあるエイリアジングのアーティファクトを低減するために使用される。３Ｄモデルのアンチエイリアジングされたラスタライズの現在の技術では、時間がかかりすぎ、特別なハードウェアのサポートを必要とするか、オブジェクトの肥大化などの受け入れ難いアーティファクトがもたらされる。さらに、３Ｄモデルのアンチエイリアジングは、グラフィックカードによって質および性能が違う。
【０００３】
【非特許文献１】Sander, P V, Gortler, S J, Hoppe, H, and Snyder, J, 2001, Discontinuity edge overdraw, In Symposium on Interactive 3D Graphics, 167-174
【発明の開示】
【発明が解決しようとする課題】
【０００４】
３Ｄモデルのアンチエイリアジングを加速する方法が必要である。こうした方法は、グラフィックカードにわたって一致した結果を提供することが理想である。
【課題を解決するための手段】
【０００５】
簡単に言えば、本発明は、オブジェクトのアンチエイリアジングされたラスタライズのための方法およびシステムを提供する。形状によって表されるオブジェクトの特定の視点から、オブジェクトのシルエット上に縁を有する形状が選択される。オブジェクトのシルエット上にある形状の縁部に縁部ジオメトリが作成される。縁部ジオメトリがレンダリングされる。形状の一部分が縁部ジオメトリに重ならないように深さテストを設定した状態で縁部ジオメトリがレンダリングされた後で形状がレンダリングされるか、形状自体が縁部ジオメトリに重なる任意の部分を削除するように変更される。これは、オブジェクトのシルエット上にある各形状の縁部ごとに繰り返すことができる。
【０００６】
本発明の一態様では、縁部ジオメトリは、形状の縁部のテクスチャに一致するテクスチャでテクスチャ表示される。また、縁部ジオメトリには、不透明から完全に透明まで、様々な透明度を有するテクスチャが配置される。これによって、縁部ジオメトリの下のピクセルの色は、縁部ジオメトリのピクセルの色と混合される。これには、オブジェクトのシルエットをアンチエイリアジングする効果がある。
【０００７】
他の態様は、以下の詳細な説明を図面と併せ読めば明らかになる。
【発明を実施するための最良の形態】
【０００８】
例示的動作環境  
図１は、本発明の実施に適したコンピューティングシステム環境１００の例を示している。コンピューティングシステム環境１００は、適したコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。また、コンピューティング環境１００を、動作環境１００の例に示した構成要素のいずれか１つ、またはその組み合わせに関連する依存性または必要条件を有しているものと解釈すべきではない。
【０００９】
本発明は、他の多くの汎用または専用コンピューティングシステム環境または構成で動作可能である。本発明との使用に適したよく知られているコンピューティングシステム、環境、および／または構成の例には、それだけには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記の任意のシステムまたは装置のいずれかを含む分散コンピューティング環境などがある。
【００１０】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般にプログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。また、本発明は、タスクが通信ネットワークによってリンクされているリモート処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールを、メモリ記憶装置を含むローカルおよびリモートのコンピュータ記憶媒体に置くことができる。
【００１１】
図１を参照すると、本発明を実施するシステムの例は、汎用コンピューティング装置をコンピュータ１１０の形で含んでいる。コンピュータ１１０の構成要素は、それだけには限定されないが、処理ユニット１２０、システムメモリ１３０、およびシステムメモリを含む様々なシステム構成要素を処理ユニット１２０に結合するシステムバス１２１を含み得る。システムバス１２１は、様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。こうしたアーキテクチャには、それだけには限定されないが一例として、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子装置規格化協会（ＶＥＳＡ）ローカルバス、およびメザニンバスとしても知られている周辺部品相互接続（ＰＣＩ）バスなどがある。
【００１２】
コンピュータ１１０は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０からアクセスできる使用可能な任意の媒体とすることができ、揮発性および不揮発性媒体、取外式および固定式の媒体を含む。コンピュータ可読媒体は、それだけには限定されないが一例として、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、他のデータなど、情報を記憶するための任意の方法または技術で実施される揮発性および不揮発性の取外式および固定式媒体がある。コンピュータ記憶媒体には、それだけには限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報の格納に使用でき、コンピュータ１１０からアクセスできる他の任意の媒体などがある。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の移送機構などの変調されたデータ信号に組み込む。これには任意の情報配送媒体がある。「変調されたデータ信号」という用語は、信号に情報を符号化するように１つまたは複数のその特性が設定または変更された信号を意味する。通信媒体には、それだけには限定されないが一例として、有線ネットワーク、直接配線された接続などの有線媒体、および音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体がある。また、上記のどんな組合せでもコンピュータ可読媒体の範囲内に含まれるものとする。
【００１３】
システムメモリ１３０は、読み取り専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２など、揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体を含む。基本入出力システム１３３（ＢＩＯＳ）は、例えば起動中など、コンピュータ１１０内の要素間での情報の転送を助ける基本ルーチンを含み、一般にＲＯＭ１３１に格納されている。ＲＡＭ１３２は一般に、処理ユニット１２０から直接アクセス可能な、かつ／または処理ユニット１２０が現在処理しているデータおよび／またはプログラムモジュールを含む。図１は、それだけには限定されないが一例として、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示している。
【００１４】
コンピュータ１１０は、他の取外式／固定式、揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。一例にすぎないが、図１は、固定式不揮発性磁気媒体から読み取り、あるいはそこに書き込むハードディスクドライブ１４０、取外式不揮発性磁気ディスク１５２から読み取り、あるいはそこに書き込む磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭや他の光媒体など、取外式不揮発性光ディスク１５６から読み取り、あるいはそこに書き込む光ディスクドライブ１５５を示している。動作環境の例で使用できる他の取外式／固定式、揮発性／不揮発性コンピュータ記憶媒体には、それだけには限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどがある。ハードディスクドライブ１４１は一般に、インターフェイス１４０などの固定式メモリインターフェイスを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は一般に、インターフェイス１５０などの取外式メモリインターフェイスによってシステムバス１２１に接続される。
【００１５】
上述し、図１に示したドライブおよびその関連のコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ１１０の他のデータの記憶を提供する。図１では例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶するものとして示されている。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであっても、異なっていてもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は少なくとも異なるコピーであることを示すために、ここではそれらに異なる番号を付している。ユーザは、キーボード１６２、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティング装置１６１などの入力装置を介してコマンドおよび情報をコンピュータ１１０に入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、ハンドヘルドＰＣのタッチセンシティブ画面、または他の手書き入力タブレットなどがある。これらおよび他の入力装置は、しばしばシステムバスに結合されているユーザ入力インターフェイス１６０を介して処理ユニット１２０に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）など他のインターフェイスおよびバス構造で接続してもよい。モニタ１９１または他のタイプの表示装置もまた、ビデオインターフェイス１９０などのインターフェイスを介してシステムバス１２１に接続される。モニタに加えて、コンピュータは、出力周辺インターフェイス１９５を介して接続できるスピーカ１９７、プリンタ１９６などの他の周辺出力装置を含むこともできる。
【００１６】
コンピュータ１１０は、リモートコンピュータ１８０など１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク式環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の一般のネットワークノードでよく、一般にコンピュータ１１０に関連して上述した多くまたはすべての要素を含むが、図１にはメモリ記憶装置１８１のみを示している。図１に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含んでいてもよい。こうしたネットワーキング環境は、オフィス、全社規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
【００１７】
ＬＡＮネットワーキング環境で使用する場合、コンピュータ１１０は、ネットワークインターフェイスまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用する場合、コンピュータ１１０は一般に、モデム１７２、またはインターネットなどＷＡＮ１７３を介して通信を確立する他の手段を含む。モデム１７２は、内蔵のものでも外付けのものでもよく、ユーザ入力インターフェイス１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク式環境では、コンピュータ１１０に関連して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に格納することができる。図１は、それだけには限定されないが一例として、リモートアプリケーションプログラム１８５をメモリ装置１８１上に存在するものとして示している。図示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは理解されよう。
【００１８】
３Ｄにおけるアクセラレートされたアンチエイリアジング  
図２は、本発明の様々な態様によるグリッド上の三角形を示す図である。表示は、三角形２１０を囲むように示されているものなど、グリッド状に配列されているピクセルに分割してもよく、表示の縁部の他のピクセルを含んでもよい。一般に、コンピュータによって、表示上の各ピクセルは、表示上に表示された他のピクセルで表示される色に関係なく色を表示することができる。
【００１９】
ピクセルの中心が三角形２１０内に配置されているピクセルに三角形２１０に関連付けられている色を表示させ、ピクセルの中心が三角形の外側にあるピクセルに黒などの背景色を表示させることができる。アンチエイリアジングが無ければ、これによって、三角形２１０の輪郭にピクセルの階段状のパターンがもたらされる可能性がある。
【００２０】
３次元（３Ｄ）オブジェクトを含むオブジェクトは、形状の集まりによって表すことができる。実際には、各形状は、三角形とするか、三角形に分割することができる。これらの三角形の一部は、完全にオブジェクトの境界内にあり、他の三角形は、特定の視点からオブジェクトを見たときに、オブジェクトの縁部にあり得る。（特定の視点から見て）オブジェクトの縁部にある三角形は、オブジェクトのシルエット縁部の一部を形成する１つまたは複数の縁部を有する。三角形から成る３Ｄオブジェクトの場合、シルエット縁部とは、ある視点に面する三角形、およびその視点とは反対方向を向く三角形に接する縁部である。三角形が存在する平面の垂線が視点の方を指す場合、三角形はその視点に面する。
【００２１】
図３は、本発明の様々な態様による三角形およびピクセルを示すブロック図である。ピクセル３１０は、三角形３０５の縁部、および画像のシルエット（図示せず）の上にある。アンチエイリアジング無しの動作中、ピクセル３１０は、三角形３０５の色で色付けすることができる。というのは、ピクセル３１０の中心は三角形内に存在するからである。しかし、エイリアジングを回避または低減するには、三角形３０５の縁部（および画像のシルエット）上にある各ピクセルに背景ピクセルの色（または三角形の背後のオブジェクトのピクセルの色）と三角形３０５の色との混合である色を表示させることができる。例えば、ピクセル３１０の９０％が三角形３０５の内側、１０％が三角形３０５の外側にある場合、ピクセル３１０の色は、９０％が三角形の色に重み付けされ、１０％が背景色に重み付けされた混色とすることができる。部分的に三角形内にあるピクセルのパーセントは、ピクセルの中心から三角形の縁部までの距離に比例するものとして計算される。
【００２２】
図４は、本発明の様々な態様による、アンチエイリアジングで行われ得るアクションを表すフロー図である。ブロック４０５で、プロセスが開始する。ブロック４１０で、（ある視点から見た）アンチエイリアジングされるオブジェクトのシルエットが検出される。これは、三角形の面ごとの隣接情報（ａｄｊａｃｅｎｃｙ  ｉｎｆｏｒｍａｔｉｏｎ）を使用して、ある視点に面した三角形、およびその視点とは反対方向を向く三角形に接する縁部を見つけることによって行うことができる。本発明の意図または範囲から逸脱することなく、他のシルエット検出方法を使用することができる。シルエット検出アルゴリズム例は、参照により本明細書に組み込まれる文献（例えば、非特許文献１参照）に記載されている。
【００２３】
本発明の一実施形態では、不連続線が起こるところはどこでも、シルエット上にあるものとみなされる。こうした縁部をシルエット上にあるものとしてみなすことによって、オブジェクトの実際のシルエット上に存在しないはっきりとした縁部のアンチエイリアジングを行うことができることは理解されよう。
【００２４】
ブロック４１５で、オブジェクトを含む三角形は、その視点に対して後ろのものから前のものにソートされる。ブロック４２０で、Ｚテスト関数（Ｚ−Ｔｅｓｔ  ｆｕｎｃｔｉｏｎ）は、「厳密に未満（ｓｔｒｉｃｔｌｙ  ｌｅｓｓ  ｔｈａｎ）」に設定される。Ｚテスト関数を厳密に未満に設定することは、新しいピクセルのＺ値が厳密に既存のピクセルのＺ値未満である場合を除いて、ピクセルが確実に既存のピクセル上に描かれないようにする効果がある。
【００２５】
ブロック４２５で、図５とともにより詳しく説明するように三角形がレンダリングされる。ブロック４３０で、プロセスが終了する。
【００２６】
図５は、本発明の様々な態様による図４のブロック４２５に対応するフロー図である。ブロック５０５で、プロセスが開始する。ブロック５１０で、レンダリングする最初の三角形が選択される。これは、オブジェクトをそこから見る視点から最も離れた三角形である。ブロック５１５で、三角形の縁部がオブジェクトのシルエット上にあるかどうかに関する決定が行われる。そうである場合、処理はブロック５２０に分岐し、そうでない場合、処理はブロック５３０に分岐する。
【００２７】
ブロック５２０で、オブジェクトのシルエット上にある三角形の縁部のために、新しい縁部ジオメトリが作成される。図６は、本発明の様々な態様による、図３の三角形および新しい縁部ジオメトリの例を示すブロック図である。新しい縁部ジオメトリ６０５は、１ピクセル幅とし、新しい縁部ジオメトリの中央が三角形３０５のシルエット縁部に存在するように配置することができる。これによって、新しい縁部ジオメトリ６０５は、シルエット縁部の三角形３０５の内側に半ピクセル延び、三角形３０５の外側に半ピクセル延びる。本発明の他の実施形態では、縁部ジオメトリは、１ピクセル幅より大きくても小さくてもよい。
【００２８】
縁部ジオメトリ６０５は、三角形３０５を含む平面と同じ平面に作成することができる。これは、それが重なる三角形のピクセルと同じＺ値を有することを保証する。さらに、縁部ジオメトリ６０５は、三角形３０５の前に描かれるため、三角形３０５が描かれるとき、Ｚテストの「厳密に未満」設定のため、縁部ジオメトリ６０５における任意のピクセルが上書きされることはない。
【００２９】
Ｚテスト関数を「厳密に未満」に設定する代わりに、縁部ジオメトリ６０５が重なる三角形ピクセルのわずかに前に縁部ジオメトリ６０５があることをそのＺ値が示すように、縁部ジオメトリ６０５をバイアスすることができる。さらに、Ｚテスト関数は、他のピクセルがピクセル以下のＺバッファ値を有する場合、あるピクセルを別のピクセルで上書きしないように設定することができる。これは、三角形をレンダリングするとき、三角形のピクセルが縁部ジオメトリ６０５によって影響が与えられる任意のピクセル上に上書きされないことを確実にするために行われる。
【００３０】
本発明の別の態様では、三角形３０５のレンダリングが縁部ジオメトリ６０５のピクセルを上書きすることを防ぐために、Ｚテストの「厳密に未満」設定を使用する代わりに、もはや縁部ジオメトリ６０５に重ならないように三角形３０５を変更することができる。さらに、縁部ジオメトリ６０５は、視点の平面または三角形の平面上に配置することができる。三角形の平面の代わりに視点の平面に縁部ジオメトリ６０５を配置することによって、縁部ジオメトリ６０５がほぼクリッピング面の前に延びる場合起こり得るエラーを回避することができる。このように三角形３０５を変更するときの三角形のテクスチャと縁部ジオメトリのテクスチャとの間の視覚上の不連続を避けるために、三角形のテクスチャの座標も変更する必要がある。
【００３１】
縁部ジオメトリ６０５は、ともに調節される２つのテクスチャでテクスチャ表示することができる。２つのテクスチャは、２つのテクスチャをレンダラに提供し、各テクスチャを縁部ジオメトリ６０５に適用すべきであることを示すことによって、ともに調節することができる。テクスチャのうちの一方は、三角形と同じテクスチャとすることができ、したがって縁部ジオメトリ６０５に沿った色は三角形３０５の色に一致する。縁部ジオメトリの他方のテクスチャは、三角形の内側の縁部ジオメトリ６０５の側の不透明（すなわちまったく透明ではない）から三角形３０５の外側の縁部ジオメトリ６０５の側の透明まで連続的に変動するアルファグラデーション（ａｌｐｈａ  ｇｒａｄｉｅｎｔ）とすることができる。
【００３２】
縁部ジオメトリ６０５上にアルファグラデーションを置くことによって、縁部ジオメトリ６０５の内縁上に中心を有するピクセルが不透明になり、縁部ジオメトリ６０５内の三角形３０５の縁部上に中心を有するピクセルが半透明になり、縁部ジオメトリ６０５の外縁上に中心を有するピクセルが完全に透明になる。
【００３３】
本発明の別の実施形態では、縁部ジオメトリ６０５は、１ピクセル幅より大きくてもよい。さらに、透明と不透明との間の傾斜の代わりに、縁部ジオメトリ６０５の各部分の透明性を関数（ｓｉｎ（ｘ）／ｘなど）によって決定することができる。こうした場合、より広い縁部ジオメトリと結合されたこうした関数は、ピクセル幅の縁部ジオメトリとの組み合わせで直線的な透明（ｌｉｎｅａｒ  ｔｒａｎｓｐａｒｅｎｃｙ）より正しくオブジェクトのシルエットを復元することができる。
【００３４】
テクスチャは、縁部ジオメトリに関連付けられているピクセルの色の決定に使用することができる補間機構の一形態である。本発明の別の実施形態では、他の補間機構を使用して、縁部ジオメトリに関連付けられているピクセルの色を決定することができる。一部の補間機構例には、グーローシェーディング、テクスチャ、ピクセルシェーダなどがある。
【００３５】
複数のピクセルシェーダを、縁部ジオメトリに関連付けられているピクセルに適用することができる。これは、あるピクセルシェーダをピクセルに適用し、その後別のピクセルシェーダをピクセルに適用し、以下同様に適用することによって行うことができる。ピクセルシェーダは、ジオメトリに関連付けられているピクセルごとに色を計算する構成要素またはプロセスを含み得る。
【００３６】
四角形として示しているが、縁部ジオメトリ６０５は、本発明の意図または範囲から逸脱することなく、別のジオメトリまたはサイズとすることができる。例えば、縁部ジオメトリは、図７の縁部ジオメトリ７０５によって示すように作成することができる。図７は、本発明の様々な態様による、図３の三角形、および別の縁部ジオメトリ例を示す図である。表示されているオブジェクトに基づいて、他のジオメトリを使用することもできる。
【００３７】
さらに、１ピクセルサイズ以下に近い三角形の場合、縁部ジオメトリを作成することはできない。
【００３８】
再度図５を参照して、ブロック５２０で縁部ジオメトリが作成された後、上述したように、レンダラが縁部ジオメトリ内の三角形からのピクセルを描かないように、そのＺバッファ値にわずかにバイアスをかけることができる。その後、ブロック５２５で、縁部ジオメトリがレンダリングされる。ブロック５３０で、三角形がレンダリングされる。ブロック５３５で、レンダリングすべき他の三角形が存在するかどうかに関する決定が行われる。そうである場合、処理はブロック５４０に分岐し、そうでない場合、処理はブロック５４５に分岐する。
【００３９】
ブロック５４０で、レンダリングする次の三角形が取得される。三角形の選択は、視点から最も離れたものから視点に最も近いものに進む。これは、少なくとも部分的に、より離れた三角形のピクセルからの色がより近い三角形の重なる部分的に透明なピクセルの色と混合されるように行うことができる。
【００４０】
ブロック５４５で、プロセスが戻る。
【００４１】
再度図１を参照すると、上述した様々なアクションは、ビデオインターフェイス１９０上のプロセッサのみ、またはコンピュータ１１０の処理ユニット１２０との組み合わせによって行うことができる。一部の実施形態では、上記のアクションの多くまたはすべては、ビデオインターフェイス１９０によって行うことができ、他の実施形態では、上記のアクションの多くまたはすべては、処理ユニット１２０によって行うことができる。コンピュータ１１０に配置されている、またはリモートに配置されている他のプロセッサ（図示せず）も、本発明の意図および範囲から逸脱することなく使用することができる。
【００４２】
上記の詳細な説明からわかるように、３Ｄにおけるハードウェアアクセラレートされたアンチエイリアジングのための改良された方法が提供される。本発明は、様々な変更および代替構成の余地があるが、そのいくつかの実施形態例について、図面に示し、上記で詳しく説明してきた。しかし、本発明を開示された特定の形式に限定する意図はなく、逆に、本発明は、本発明の意図および範囲内に含まれるすべての変更、代替構成、および均等物をカバーものとすることを理解されたい。
【図面の簡単な説明】
【００４３】
【図１】本発明を組み込むことができるコンピュータシステムを表すブロック図である。
【図２】本発明の様々な態様によるグリッド上の三角形を示す図である。
【図３】本発明の様々な態様による三角形およびピクセルを示す図である。
【図４】本発明の様々な態様による、アンチエイリアジングで行われ得るアクションを表すフロー図である。
【図５】本発明の様々な態様による図４のブロック４２５に対応するフロー図である。
【図６】本発明の様々な態様による、図３の三角形および新しい縁部ジオメトリの例を示す図である。
【図７】本発明の様々な態様による、図３の三角形および縁部ジオメトリの別の例を示す図である。
【符号の説明】
【００４４】
１２０  プロセッサユニット
１２１  システムバス
１３０  システムメモリ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  固定式不揮発性メモリインターフェイス
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  取外式不揮発性メモリインターフェイス
１６０  ユーザ入力インターフェイス
１６１  マウス
１６２  キーボード
１７０  ネットワークインターフェイス
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  広域ネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェイス
１９１  モニタ
１９５  出力周辺インターフェイス
１９６  プリンタ
１９７  スピーカ
【図１】
2006120158.tif 000003
【図２】
2006120158.tif 000004
【図３】
2006120158.tif 000005
【図４】
2006120158.tif 000006
【図５】
2006120158.tif 000007
【図６】
2006120158.tif 000008
【図７】
2006120158.tif 000009