(57)【要約】【課題】点別にテッセレーションファクタを割り当てる方法と、該方法を行う装置とを提供する。【解決手段】グラフィックスプロセッサによってグラフィックスパイプラインでの複数の表面のテッセレーティング方法は、パッチで含まれた複数の点のそれぞれにテッセレーションファクタを割り当てる段階と、複数の点うちから第１点の周囲に、第１点に割り当てられた第１テッセレーションファクタに基づいて少なくとも１つの新たな第１点を生成する段階と、を含み、少なくとも１つの新たな第１点は、第１点に該当する。【選択図】      図３
2015018551.tif 000002
【特許請求の範囲】
【請求項１】
パッチで含まれた複数の点のそれぞれにテッセレーションファクタを割り当てる段階と、
前記複数の点のうちから第１点の周囲に、前記第１点に割り当てられた第１テッセレーションファクタに基づいて少なくとも１つの新たな第１点を生成する段階と、を含み、
前記少なくとも１つの新たな第１点で、前記第１点に該当するグラフィックスプロセッサによってグラフィックスパイプラインでの複数の表面のテッセレーティングを行う方法。
【請求項２】
前記複数の点のそれぞれに割り当てられた前記テッセレーションファクタは、０(zero)と同じであるか、それより大きい整数(integer)または小数(decimal or decimal fraction)である請求項１に記載のテッセレーティング方法。
【請求項３】
前記第１点の前記周囲は、前記第１点、前記第１点を含むエッジ(edge)、または前記第１点を含む面(face)である請求項１に記載のテッセレーティング方法。
【請求項４】
前記第１テッセレーションファクタは、０(zero)ではない整数または小数(decimal or decimal fraction)である請求項１に記載のテッセレーティング方法。
【請求項５】
前記第１テッセレーションファクタが、０または如何なる点も生成してはならないという情報を含む時、前記少なくとも１つの新たな第１点は生成されない請求項１に記載のテッセレーティング方法。
【請求項６】
前記第１点と第２点とが１つのエッジを共有する時、
前記エッジの一部には、前記少なくとも１つの新たな第１点が生成され、
前記第２点に割り当てられた第２テッセレーションファクタに相応する新たな第２点は、前記エッジの前記一部に生成されない請求項１に記載のテッセレーティング方法。
【請求項７】
前記複数の点のそれぞれは、位置と法線ベクトルとのうちの少なくとも１つを含む幾何学的なデータを表わす請求項１に記載のテッセレーティング方法。
【請求項８】
前記複数の点のそれぞれは、位置、法線ベクトル、及びテクスチャ座標を含む複数の属性を有する頂点を表わす請求項１に記載のテッセレーティング方法。
【請求項９】
前記複数の表面は、複数のパラメトリック表面、複数のサブディビジョン表面、複数のトライアングルメッシュ、または複数の曲線を含む請求項１に記載のテッセレーティング方法。
【請求項１０】
前記少なくとも１つの新たな第１点と前記第１点との間の連結関係を含むトポロジー情報を生成する段階と、
隙間がある時、前記トポロジ情報を用いて少なくとも１つのプリミティブを生成する段階と、
をさらに含む請求項１に記載のテッセレーティング方法。
【請求項１１】
前記テッセレーションファクタは、外部ソースからの受信によって獲得されるか、アルゴリズムによる計算によって獲得される請求項１に記載のテッセレーティング方法。
【請求項１２】
グラフィックスパイプラインで複数の表面をテッセレーティングする装置において、
パッチに含まれた複数の点のそれぞれにテッセレーションファクタを割り当てるハルシェーダと、
前記複数の点のうちから第１点の周囲に、前記第１点に割り当てられた第１テッセレーションファクタに基づいて少なくとも１つの新たな第１点を生成するテッセレータと、
を含む装置。
【請求項１３】
前記複数の表面は、複数のパラメトリック表面、複数のサブディビジョン表面、複数のトライアングルメッシュ、または複数の曲線を含む請求項１２に記載の装置。
【請求項１４】
前記ハルシェーダで使われる前記複数の点のそれぞれに対する前記テッセレーションファクタを保存するメモリをさらに含む請求項１２に記載の装置。
【請求項１５】
前記第１点の前記周囲は、前記第１点、前記第１点を含むエッジ、または前記第１点を含む面である請求項１２に記載の装置。
【請求項１６】
前記第１テッセレーションファクタが、０または如何なる点も生成してはならないという情報を含む時、前記少なくとも１つの新たな第１点は生成されない請求項１２に記載の装置。
【請求項１７】
前記テッセレータは、前記第１点と前記少なくとも１つの新たな第１点との間の接続関係を含むトポロジ情報を生成する請求項１２に記載の装置。
【請求項１８】
前記テッセレータは、隙間がある時、前記トポロジ情報を用いて少なくとも１つのプリミティブを生成する請求項１７に記載の装置。
【請求項１９】
グラフィックスパイプラインを用いて複数の表面をテッセレーティングするテッセレーション過程を行うグラフィックスプロセッサにおいて、
前記グラフィックスプロセッサは、パッチに含まれた複数の点のそれぞれにテッセレーションファクタを割り当て、前記複数の点のそれぞれの周囲に、前記複数の点のそれぞれに割り当てられたテッセレーションファクタに相応する少なくとも１つの新たな点を生成し、前記複数の点と前記少なくとも１つの新たな点とを用いて複数のプリミティブを生成するグラフィックスプロセッサ。
【請求項２０】
グラフィックスプロセッサと、
前記グラフィックスプロセッサによって処理された信号をディスプレイするディスプレイと、を含み、
前記グラフィックスプロセッサは、
パッチに含まれた複数の点のそれぞれにテッセレーションファクタを割り当てるハルシェーダと、
前記複数の点のそれぞれと前記複数の点のそれぞれに割り当てられたテッセレーションファクタとを受信し、前記複数の点のそれぞれの周囲に、前記複数の点のそれぞれに割り当てられたテッセレーションファクタに相応する少なくとも１つの新たな点を生成し、前記複数の点と前記少なくとも１つの新たな点とを用いて複数のプリミティブを生成するテッセレータと、
を含む電子システム。
【請求項２１】
隙間がある時、前記複数のプリミティブのうちの少なくとも１つは、前記隙間を除去するためのプリミティブである請求項２０に記載の電子システム。
【請求項２２】
パッチで含まれた複数の点のそれぞれにテッセレーションファクタを割り当てる段階と、
前記複数の点のうちから第１点の周囲に、前記第１点に割り当てられた第１テッセレーションファクタに基づいて少なくとも１つの新たな第１点を生成する段階と、
前記少なくとも１つの新たな第１点の座標とトポロジ情報とをドメインシェーダに伝送する段階と、を含み、
前記少なくとも１つの新たな第１点の個数は、前記第１テッセレーションファクタに該当し、前記少なくとも１つの新たな第１点で、前記第１点に該当するグラフィックスプロセッサによってグラフィックスパイプラインでの複数の表面のテッセレーティングを行う方法。
【請求項２３】
前記第１点の前記周囲は、前記第１点、前記第１点を含むエッジ、または前記第１点を含む面である請求項２２に記載のテッセレーティング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、テッセレーションに係り、特に、あらゆる種類の隙間（ｃｒａｃｋｓ）を除去するために、点別にテッセレーションファクタを割り当てる方法と、該方法を行う装置とに関する。
【背景技術】
【０００２】
テッセレーション（ｔｅｓｓｅｌｌａｔｉｏｎ）は、１つまたはそれ以上の幾何学的形状（ｇｅｏｍｅｔｒｉｃ ｓｈａｐｅｓ）、いわゆるタイル（ｔｉｌｅｓ）を用いて重複（ｏｖｅｒｌａｐｓ）とギャップ（ｇａｐｓ）なしに平面（ｐｌａｉｎ）をタイリング（ｔｉｌｉｎｇ）することを意味する。
コンピュータグラフィックスで、テッセレーションは、表面の形状（ａｐｐｅａｒａｎｃｅ ｏｆ ｓｕｒｆａｃｅｓ）を事実的な３次元物体（ｒｅａｌｉｓｔｉｃ ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ ｏｂｊｅｃｔｓ）に移す（ｒｅｎｄｅｒ）ために、必要な情報を体系化（ｏｒｇａｎｉｚｅ）するために使われる。
【０００３】
テッセレーションファクタ（ｔｅｓｓｅｌｌａｔｉｏｎ ｆａｃｔｏｒｓ）は、各パッチ（ｐａｔｃｈ）をどれほど細分化するかを決定する。
従来のテッセレーションファクタは、面（ｆａｃｅ）ごとに割り当てられた。面ごとにテッセレーションファクタを割り当てすれば、互いに異なるテッセレーションファクタを有するエッジを共有する面（ｅｄｇｅ−ｓｈａｒｅｄ ｆａｃｅｓ）の間で隙間（ｃｒａｃｋ）が発生する。このような隙間を防止するために、エッジごとにテッセレーションファクタを割り当てる方法が開発された。この方法は、エッジを共有する面の間で発生する隙間を除去することはできるが、互いに異なるテッセレーションファクタを有する点を共有する面（ｐｏｉｎｔ−ｓｈａｒｅｄ ｆａｃｅｓ）の間で他種の隙間が発生する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許公開第２０１１−０５７９３１号公報
【特許文献２】米国特許公開第２０１０−１６４９５４号公報
【特許文献３】米国特許公開第２００９−２３７４０１号公報
【特許文献４】米国特許第６９４０５０３号公報
【特許文献５】米国再発行特許第４２５３４号公報
【特許文献６】米国特許第８１４４１４７号公報
【特許文献７】米国特許第７９０３１１２号公報
【特許文献８】米国特許第７７６８５１１号公報
【特許文献９】米国特許第６７８４８８４号公報
【特許文献１０】米国特許第６７０７４５２号公報
【特許文献１１】韓国特許公開第２０１１−０７２４６２号公報
【特許文献１２】米国特許第８５３７１５８号公報
【特許文献１３】米国特許第６９４０５０５号公報
【特許文献１４】米国特許公開第２０１０−０７９４５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術的な課題は、あらゆる種類の隙間を除去するために、点別にテッセレーションファクタを割り当てる方法と、該方法を行う装置とを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の実施形態によるグラフィックスプロセッサ（ｇｒａｐｈｉｃｓ ｐｒｏｃｅｓｓｏｒ）によってグラフィックスパイプラインでの複数の表面のテッセレーティング方法は、パッチで含まれた複数の点のそれぞれにテッセレーションファクタ（ｔｅｓｓｅｌａｔｉｏｎ ｆａｃｔｏｒ）を割り当てる段階と、前記複数の点のうちから第１点の周囲に、前記第１点に割り当てられた第１テッセレーションファクタに基づいて少なくとも１つの新たな第１点を生成する段階と、を含み、前記少なくとも１つの新たな第１点は、前記第１点に該当する。
【０００７】
前記複数の点のそれぞれに割り当てられた前記テッセレーションファクタは、０（ｚｅｒｏ）と同じであるか、それより大きい整数または小数であり得る。
前記第１点の前記周囲は、前記第１点、前記第１点を含むエッジ（ｅｄｇｅ）、または前記第１点を含む面であり得る。前記第１テッセレーションファクタは、０（ｚｅｒｏ）ではない整数または小数であり得る。
前記第１テッセレーションファクタが、０（ｚｅｒｏ）または如何なる点も生成してはならないという情報を含む時、前記少なくとも１つの新たな第１点は生成されない。
【０００８】
前記第１点と第２点とが１つのエッジを共有する時、前記エッジの一部には、前記少なくとも１つの新たな第１点が生成され、前記第２点に割り当てられた第２テッセレーションファクタに相応する新たな第２点は、前記エッジの前記一部に生成されない。
前記複数の点のそれぞれは、位置と法線ベクトルとのうちの少なくとも１つを含む幾何学的なデータを表わす。前記複数の点のそれぞれは、位置、法線ベクトル、及びテクスチャ（ｔｅｘｔｕｒｅ）座標を含む複数の属性を有する頂点を表わす。
前記複数の表面は、複数のパラメトリック表面（ｐａｒａｍｅｔｒｉｃ ｓｕｒｆａｃｅｓ）、複数のサブディビジョン表面（ｓｕｂｄｉｖｉｓｉｏｎ ｓｕｒｆａｃｅｓ）、複数のトライアングルメッシュ（ｔｒｉａｎｇｌｅ ｍｅｓｈｅｓ）、または複数の曲線を含む。
【０００９】
前記テッセレーティング方法は、前記少なくとも１つの新たな第１点と前記第１点との間の連結関係を含むトポロジ（ｔｏｐｏｌｏｇｙ）情報を生成する段階と、隙間がある時、前記トポロジ情報を用いて少なくとも１つのプリミティブを生成する段階と、をさらに含む。
前記テッセレーションファクタは、外部ソースからの受信によって獲得されるか、アルゴリズムによる計算によって獲得される。
【００１０】
本発明の実施形態によるグラフィックスパイプラインで複数の表面をテッセレーティングする装置は、パッチに含まれた複数の点のそれぞれにテッセレーションファクタを割り当てるハルシェーダ（Ｈｕｌｌ ｓｈａｄｅｒ）と、前記複数の点のうちから第１点の周囲に、前記第１点に割り当てられた第１テッセレーションファクタに基づいて少なくとも１つの新たな第１点を生成するテッセレータと、を含む。
前記複数の表面（ｓｕｒｆａｃｅｓ）は、複数のパラメトリック表面、複数のサブディビジョン表面、複数のトライアングルメッシュ、または複数の曲線を含む。
【００１１】
前記装置は、前記ハルシェーダで使われる前記複数の点のそれぞれに対する前記テッセレーションファクタを保存するメモリをさらに含む。
前記第１点の前記周囲は、前記第１点、前記第１点を含むエッジ、または前記第１点を含む。
前記第１テッセレーションファクタが、０または如何なる点も生成してはならないという情報を含む時、前記少なくとも１つの新たな第１点は生成されない。
前記テッセレータは、前記第１点と前記少なくとも１つの新たな第１点との間の接続関係を含むトポロジ情報を生成する。
前記テッセレータは、隙間がある時、前記トポロジ情報を用いて少なくとも１つのプリミティブを生成する。
【００１２】
本発明の実施形態によるグラフィックスパイプラインを用いて複数の表面をテッセレーティングするテッセレーション過程を行うグラフィックスプロセッサにおいて、前記グラフィックスプロセッサは、パッチに含まれた複数の点のそれぞれにテッセレーションファクタを割り当て、前記複数の点のそれぞれの周囲に、前記複数の点のそれぞれに割り当てられたテッセレーションファクタに相応する少なくとも１つの新たな点を生成し、前記複数の点と前記少なくとも１つの新たな点とを用いて複数のプリミティブを生成する。
【００１３】
本発明の実施形態による電子システムは、グラフィックスプロセッサと、前記グラフィックスプロセッサによって処理された信号をディスプレイするディスプレイと、を含み、前記グラフィックスプロセッサは、パッチに含まれた複数の点のそれぞれにテッセレーションファクタを割り当てるハルシェーダと、前記複数の点のそれぞれと前記複数の点のそれぞれに割り当てられたテッセレーションファクタとを受信し、前記複数の点のそれぞれの周囲に、前記複数の点のそれぞれに割り当てられたテッセレーションファクタに相応する少なくとも１つの新たな点を生成し、前記複数の点と前記少なくとも１つの新たな点とを用いて複数のプリミティブを生成するテッセレータと、を含む。
隙間がある時、前記複数のプリミティブのうちの少なくとも１つは、前記隙間を除去するためのプリミティブである。
【００１４】
グラフィックスプロセッサによってグラフィックスパイプラインでの複数の表面のテッセレーティング方法は、パッチで含まれた複数の点のそれぞれにテッセレーションファクタを割り当てる段階と、前記複数の点のうちから第１点の周囲に、前記第１点に割り当てられた第１テッセレーションファクタに基づいて少なくとも１つの新たな第１点を生成する段階と、前記少なくとも１つの新たな第１点の座標とトポロジ情報とをドメインシェーダに伝送する段階と、を含み、前記少なくとも１つの新たな第１点の個数は、前記第１テッセレーションファクタに該当し、前記少なくとも１つの新たな第１点は、前記第１点に該当する。
【発明の効果】
【００１５】
本発明の実施形態によって、点別にテッセレーションファクタを割り当てる方法は、面別に、またはエッジ別にテッセレーションファクタを割り当てる従来の方法と異なって、エッジを共有する面間の隙間と点を共有する面間の隙間とを含むあらゆる種類の隙間を除去することができる。
本発明の実施形態によって、点別にテッセレーションファクタを割り当てる方法は、曲率によって互いに異なるテッセレーションファクタを割り当てられるので、曲線変化（ｃｕｒｖｅ ｖａｒｉａｔｉｏｎ）をさらに正確に追跡することができる。
したがって、点別にテッセレーションファクタを割り当てる方法は、意味のないテッセレーションとグラフィック帯域幅要求（ｇｒａｐｈｉｃ ｂａｎｄｗｉｄｔｈ ｒｅｑｕｉｒｅｍｅｎｔ）を減らすことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による電子システムのブロック図。
【図２】図１に示されたグラフィックスプロセッシングユニットのパイプラインの実施形態を示す図。
【図３】本発明の一実施形態によるハルシェーダとテッセレータとの動作を説明する概念図。
【図４】点別にテッセレーションファクタを計算する方法を説明する概念図。
【図５】点別に割り当てられたテッセレーションファクタを保存するメモリを示す図（その１）。
【図６】点別に割り当てられたテッセレーションファクタを保存するメモリを示す図（その２）。
【図７】本発明の他の実施形態によるハルシェーダとテッセレータとの動作を説明する他の概念図。
【図８】本発明の実施形態によるハルシェーダとテッセレータとの動作を説明する概念図（その１）。
【図９】本発明の実施形態によるハルシェーダとテッセレータとの動作を説明する概念図（その２）。
【図１０】本発明の実施形態によるハルシェーダとテッセレータとの動作を説明する概念図（その３）。
【図１１】本発明の実施形態によるハルシェーダとテッセレータとの動作を説明する概念図（その４）。
【図１２】本発明の実施形態によるハルシェーダとテッセレータとの動作を説明する概念図（その５）。
【図１３】従来のエッジ別にテッセレーションファクタを割り当てる方法と、本発明の実施形態による点別にテッセレーションファクタを割り当てる方法とによる曲線変化を追跡する例を説明する概念図。
【図１４】本発明の実施形態によるハルシェーダの動作とテッセレータの動作とを説明するフローチャート。
【発明を実施するための形態】
【００１７】
以下、添付した図面を参照して、本発明を詳しく説明する。
図１は、本発明の実施形態による電子システムのブロック図である。図１を参照すれば、電子システム１００は、処理装置１１０と入出力装置１３０とを含む。
電子システム１００は、ＰＣ（Ｐｅｒｓｏｎａｌ Ｃｏｍｐｕｔｅｒ）、２次元ＴＶ、３次元ＴＶ、または携帯用電子装置として具現可能である。携帯用電子装置は、ラップトップコンピュータ（Ｌａｐｔｏｐ Ｃｏｍｐｕｔｅｒ）、スマートフォン（ｓｍａｒｔ ｐｈｏｎｅ）、タブレット（Ｔａｂｌｅｔ）ＰＣ、ＰＤＡ（Ｐｅｒｓｏｎａｌ Ｄｉｇｉｔａｌ Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ Ｍｕｌｔｉｍｅｄｉａ Ｐｌａｙｅｒ）、携帯用ゲームコンソール（ｈａｎｄｈｅｌｄ ｇａｍｅ ｃｏｎｓｏｌｅ）、またはモバイルインターネット装置（Ｍｏｂｉｌｅ Ｉｎｔｅｒｎｅｔ Ｄｅｖｉｃｅ；ＭＩＤ）として具現可能である。
【００１８】
処理処置１１０は、印刷回路基板（Ｐｒｉｎｔｅｄ Ｃｉｒｃｕｉｔ Ｂｏａｒｄ；ＰＣＢ）、システム・オン・チップ（Ｓｙｓｔｅｍ ｏｎ Ｃｈｉｐ；ＳｏＣ）、またはアプリケーションプロセッサ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｃｅｓｓｏｒ）として具現可能である。
処理処置１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）１１３、グラフィックスプロセッシングユニット（Ｇｒａｐｈｉｃｓ ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ；ＧＰＵ）１１５、メモリコントローラ１１７、メモリ１１９、及び入出力インターフェース１２１を含む。
ＣＰＵ１１３は、バス１１１を通じてＧＰＵ１１５、メモリコントローラ１１７、及び入出力インターフェース１２１を制御することができる。ＣＰＵ１１３は、アプリケーション、例えば、３Ｄアプリケーションまたは３Ｄゲームアプリケーションを実行させることができる。
【００１９】
３Ｄアプリケーションまたは３Ｄゲームアプリケーションが実行されることによって、３Ｄアプリケーションまたは３Ｄゲームアプリケーションは、３Ｄアプリケーションプログラミングインターフェース命令（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍｍｉｎｇ Ｉｎｔｅｒｆａｃｅ（ＡＰＩ）ｃｏｍｍａｎｄｓ）を出力する。
３Ｄ ＡＰＩ命令に基づいて３Ｄコンピュータグラフィックスを表現する（ｒｅｎｄｅｒ）ために、アプリケーションで使われる３Ｄ ＡＰＩ、例えば、ＯｐｅｎＧＬＴＭまたはＤｉｒｅｃｔ３ＤＴＭが実行可能である。
【００２０】
ＧＰＵ１１５は、ＣＰＵ１１３の制御によってコンピュータグラフィック（Ｃｏｍｐｕｔｅｒ Ｇｒａｐｈｉｃｓ）に関連したデータストリーム（Ｄａｔａ Ｓｔｒｅａｍ）を非常に効果的に処理することができる。
ＧＰＵ１１５は、グラフィックスパイプラインを含むグラフィックスプロセッサの一例である。
ＧＰＵ１１５は、複数の点（ｐｏｉｎｔｓ）のそれぞれに複数のテッセレーションファクタのそれぞれを割り当て、複数の点のそれぞれの周囲（例えば、複数の点のうち対応する点、対応する点を含む面、または対応する点を含むエッジ）に点別に割り当てられたテッセレーションファクタに該当する少なくとも１つの新たな点（例えば、少なくとも１つのテッセレートされた点を生成し、複数の点と少なくとも１つの新たな点とを用いて少なくとも１つのプリミティブパターン（ｐｒｉｍｉｔｉｖｅｐａｔｔｅｒｎ）を生成することができる。
【００２１】
本明細書で、少なくとも１つの新たな点は、１つの新たな点またはそれ以上の新たな点を含む意味として使われる。また、少なくとも１つのプリミティブパターンは、１つのプリミティブパターンまたはそれ以上のプリミティブパターンを含む。
例えば、特定の点に割り当てられた特定のテッセレーションファクタが、０または如何なる新たな点も生成してはならないという情報（または、意味）を含む時、この特定の点の周囲には、少なくとも１つの新たな点が生成されないこともある。
本明細書で、点（ｐｏｉｎｔ）は、入力パッチに含まれた頂点（ｖｅｒｔｅｘ）または制御点（ｃｏｎｔｒｏｌ ｐｏｉｎｔ）を意味する。入力パッチは、クワッドパッチ（ｑｕａｄ ｐａｔｃｈ）、トライパッチ（ｔｒｉ ｐａｔｃｈ）、またはアイソライン（ｉｓｏｌｉｎｅ）を意味する。
【００２２】
メモリコントローラ１１７は、ＣＰＵ１１３またはＧＰＵ１１５の制御によって、メモリ１１９に／からデータをライトまたはリードすることができる。
メモリ１１９は、ＣＰＵ１１３またはＧＰＵ１１５で処理される（または、処理された）データを保存し、揮発性メモリ及び／または不揮発性メモリとして具現可能である。
メモリ１１９は、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ；ＯＳ）、少なくとも１つのアプリケーションプログラム、他の少なくとも１つのプログラムモジュール、及び／またはプログラムデータを保存することができる。実施形態によって、メモリ１１９は、システムメモリとして使われる。また、メモリ１１９は、本発明の実施形態による点別にテッセレーションファクタを割り当てるためのＡＰＩを保存することができる。
【００２３】
図１では、メモリ１１９が処理装置１１０に内蔵された形態で示されているが、実施形態によって、メモリ１１９は、処理装置１１０の外部に具現されることもある。
処理処置１１０の外部に具現されたメモリ（例えば、１１９）は、ＤＲＡＭ（Ｄｙｎａｍｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、ハードディスクドライブ（ＨａｒｄＤｉｓｋ Ｄｒｉｖｅ）、ソリッドステートドライブ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）、取外し可能な記録媒体（Ｒｅｍｏｖａｂｌｅ Ｓｔｏｒｇｅ Ｍｅｄｉａ）、または取外し不可能な（Ｎｏｎ−Ｒｅｍｏｖａｂｌｅ）記録媒体として具現可能である。
【００２４】
例えば、外部に具現されたメモリ（例えば、１１９）は、ＵＦＳ（Ｕｎｉｖｅｒｓａｌ Ｆｌａｓｈ Ｓｔｏｒａｇｅ）、ｅＭＭＣ（ｅｍｂｅｄｄｅｄ ＭｕｌｔｉＭｅｄｉａ Ｃａｒｄ）またはＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ）フラッシュドライブとして具現可能である。
処理処置１１０は、入出力インターフェース１２１を通じて入出力装置１３０と通信することができる。
入出力装置１３０は、コンピュータグラフィックスをディスプレイすることができる平板ディスプレイとして具現可能である。この平板ディスプレイは、ＧＰＵ１１５によって処理された信号をディスプレイすることができる。
【００２５】
図２は、図１に示されたグラフィックスプロセッシングユニットのパイプラインの実施形態を示す。本発明の特有の技術的思想が含まれた複数のステージ１１５−３Ａ／１１５−３Ｂ及び１１５−４Ａを除いた残りの複数のステージ１１５−１、１１５−２、及び１１５−５〜１１５−１０の機能と動作は、マイクロソフトＤｉｒｅｃｔ３ＤＴＭ１１のグラフィックスパイプラインに含まれた同一の名称を有する複数のステージの機能と動作と同一である。
したがって、残りの複数のステージ１１５−１、１１５−２、及び１１５−５〜１１５−１０についての詳細な説明は省略する。
【００２６】
また、本発明の特有の技術的思想が含まれた複数のステージ１１５−３Ａ／１１５−３Ｂ及び１１５−４Ａは、点別にテッセレーションファクタを割り当て、この点別に割り当てられたテッセレーションファクタを用いてテッセレーション動作を行う多様なグラフィックスパイプラインで使われる。
複数のメモリリソース（ｒｅｓｏｕｒｃｅｓ）は、メモリ１１９であるか、またはＧＰＵ１１５によってアクセスされる別途のメモリ（図示せず）であり得る。
【００２７】
図３は、本発明の一実施形態によるハルシェーダとテッセレータとの動作を説明する概念図である。図２と図３とを参照すれば、ハルシェーダ１１５−３Ａは、複数の入力点（ＩＣＰ）、例えば、複数の入力頂点（ｉｎｐｕｔ ｖｅｒｔｉｃｅｓ）または複数の入力制御点（ｉｎｐｕｔ ｃｏｎｔｒｏｌｌ ｐｏｉｎｔｓ）のそれぞれに割り当てられるテッセレーションファクタを計算することができる（２０１）。
このテッセレーションファクタは、ＬＯＤ（Ｌｅｖｅｌ Ｏｆ Ｄｅｔａｉｌ）を意味するものであって、整数または小数（ｄｅｃｉｍａｌ ｆｒａｃｔｉｏｎ）であり得る。ハルシェーダ１１５−３Ａで、このテッセレーションファクタは、多様なアルゴリズムを用いて計算されうる。
【００２８】
この多様なアルゴリズムのうち１つは、深さ比較（ｄｅｐｔｈ ｃｏｍｐａｒｉｓｏｎ）アルゴリズムである。すなわち、ユーザ定義された複数の基準（ｕｓｅｒ−ｄｅｆｉｎｅｄ ｃｒｉｔｅｒｉａ）またはユーザ定義されたアルゴリズムによって、ユーザの仮想の目（ＥＹＥ）で近い点に対するテッセレーションファクタは、大きな値として設定され、目で遠い点に対するテッセレーションファクタは、小さな値として設定されうる。
【００２９】
図４に例示的に示したように、ハルシェーダ１１５−３Ａによって、点Ｐｄ１の深さ値が、第１基準深さ値ＵＤ１よりも小さい時、テッセレーションファクタ（ＴＦ）は、２に設定され、点Ｐｄ２の深さ値が、第１基準深さ値ＵＤ１と第２基準深さ値ＵＤ２との間に存在する時、テッセレーションファクタ（ＴＦ）は、１に設定され、点Ｐｄ３の深さ値が、第２基準深さ値ＵＤ２よりも大きな時、テッセレーションファクタ（ＴＦ）は、０に設定されうる。例えば、各点Ｐｄ１、Ｐｄ２、及びＰｄ３は、仮想の点であり得る。
多様なアルゴリズムのうち他の１つは、曲率（ｃｕｒｖａｔｕｒｅ）比較アルゴリズムである。曲率は、多様な方法で計算されうる。
【００３０】
ハルシェーダ１１５−３Ａによって計算されたテッセレーションファクタは、最終的に点別に割り当てられる（２０３）。割り当て動作は、複数の表面をテッセレーティングするテッセレーション過程の間に行われる。
複数の表面は、複数のパラメトリック表面、複数のサブディビジョン表面、複数のトライアングルメッシュ、または複数の曲線（ｃｕｒｖｅｓ）を含む。現実的な３次元物体（ｒｅａｌｉｓｔｉｃ ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ ｏｂｊｅｃｔ）の外観（ａｐｐｅａｒａｎｃｅ）は、複数の表面を用いて表現（ｒｅｐｒｅｓｅｎｔ）される。
【００３１】
従来、テッセレーションファクタがエッジ別に割り当てられたが、本発明では、テッセレーションファクタが点別に割り当てられる。すなわち、従来、エッジごとに１つのテッセレーションファクタが割り当てられたが、本発明では、エッジごとに２つのテッセレーションファクタが割り当てられる。
したがって、本発明は、エッジ別に、または面別にテッセレーションファクタを割り当てることよりも、さらに精密に適応することができるテッセレーション（ａｄａｐｔｉｖｅ  ｔｅｓｓｅｌｌａｔｉｏｎ）を行う効果がある。
【００３２】
実施形態によって、ハルシェーダ１１５−３Ａから出力された複数の出力点（ＯＣＰ）と、複数の出力点（ＯＣＰ）のそれぞれに割り当てられたテッセレーションファクタ（ＴＦｓ）のそれぞれは、テッセレータ１１５−４Ａに提供されうる。
複数の出力点（ＯＣＰ）は、複数の頂点または複数の制御点であり得る。
ハルシェーダ１１５−３Ａは、複数の入力点（ＩＣＰ）のセット（ｓｅｔ）を複数の出力点（ＯＣＰ）のセットに変換（ｔｒａｎｓｆｏｒｍ）することができる。実施形態によって、複数の入力点（ＩＣＰ）の個数と複数の出力点（ＯＣＰ）の個数は、互いに同様に設計されても、互いに異なって設計されても良い。すなわち、ハルシェーダ１１５−３Ａを如何にプログラムするかによって、複数の出力点（ＯＣＰ）の個数が決定されうる。
【００３３】
本明細書では、説明の便宜上、複数の入力点（ＩＣＰ）の個数と複数の出力点（ＯＣＰ）の個数は、互いに同一であると仮定するが、本発明の技術的思想は、入力点（ＩＣＰ）の個数と出力点（ＯＣＰ）の個数とが互いに異なる時にも、そのまま適用可能である。
したがって、本明細書では、パッチに含まれた複数の点は、複数の入力点（ＩＣＰ）または複数の出力点（ＯＣＰ）を意味するものと解釈される。
【００３４】
ハルシェーダ１１５−３Ａは、複数の出力点（ＯＣＰ）とパッチ定数データ（ｐａｔｃｈ ｃｏｎｓｔａｎｔ ｄａｔａ）とをドメインシェーダ１１５−５に出力することができる。パッチ定数データは、点別に割り当てられたテッセレーションファクタと、テッセレーションパイプラインで使われるパッチ方程式（ｐａｔｃｈ ｅｑｕａｔｉｏｎ）に関連した複数の値を含みうる。
【００３５】
テッセレーションパイプラインは、テッセレーション、またはテッセレーション段階（ｔｅｓｓｅｌｌａｔｉｏｎ ｓｔａｇｅ）とも呼ばれ、ハルシェーダ（または、ハルシェーダーステージ）１１５−３Ａまたは１１５−３Ｂ、テッセレータ（または、テッセレータステージ）１１５−４Ａ、及びドメインシェーダ（または、ドメインシェーダーステージ）１１５−５を含む。
例えば、パッチ方程式は、曲線（ｃｕｒｖｅ）方程式または表面（ｓｕｒｆａｃｅ）方程式であり得る。例えば、曲線方程式は、エルミート曲線（Ｈｅｒｍｉｔｅ ｃｕｒｖｅ）方程式、ベジェ曲線（Ｂｅｚｉｅｒ ｃｕｒｖｅ）方程式、ナーバス曲線（ＮＵＲＢＳ ｃｕｒｖｅ）方程式、またはＢスプライン曲線（Ｂ−ｓｐｌｉｎｅ ｃｕｒｖｅ）方程式であり得る。
【００３６】
パッチ方程式に関連した複数の値は、パッチ方程式の係数（ｃｏｅｆｆｉｃｉｅｎｔｓ）であり得る。
ハルシェーダ１１５−３Ａは、プログラムされた基準（ｐｒｏｇｒａｍｍｅｄ ｃｒｉｔｅｒｉａ）によって複数の入力点（ＩＣＰ）に対する複数の出力値（ＴＦｓとＯＣＰ）を生成することができる。
例えば、複数の出力値は、複数の点（ＩＣＰまたはＯＣＰ）に関連したパッチ方程式と複数の点（ＩＣＰまたはＯＣＰ）のそれぞれに割り当てられたテッセレーションファクタ（ＴＦｓ）のそれぞれを含みうる。複数の出力値（ＴＦｓとＯＣＰ）は、テッセレータ１１５−４Ａに出力される。
【００３７】
他の実施形態によって、複数の点（ＩＣＰまたはＯＣＰ）のそれぞれに割り当てられたテッセレーションファクタは、ＧＰＵ１１５とメモリコントローラ１１７との制御によってテッセレーション前に第１メモリ領域１１９−１にあらかじめ保存することができる。この場合、第１メモリ領域１１９−１に保存された複数の点（ＩＣＰまたはＯＣＰ）のそれぞれに割り当てられた各テッセレーションファクタは、テッセレータ１１５−４Ａに提供されうる。
【００３８】
図５に示したように、複数の出力点（ＯＣＰ）のそれぞれに割り当てられた（または、割り当てられる）テッセレーションファクタは、複数の出力点（ＯＣＰ）のそれぞれに対する複数の属性（ａｔｔｒｉｂｕｔｅｓ）を保存する第１メモリ領域１１９−１に保存することができる。
例えば、各出力点に相応する各頂点Ｖｅｒｔｅｘ０〜Ｖｅｒｔｅｘ３の複数の属性は、各位置ＰＳＴ０〜ＰＳＴ３、各カラーＣＬＲ０〜ＣＬＲ３、各法線ベクトルＮＯＲＭＡＬ０〜ＮＯＲＭＡＬ３、各テクスチャ座標Ｔｅｘ＿ｃｏｏｒｄ０〜Ｔｅｘ＿ｃｏｏｒｄ３、及び各テッセレーションファクタＴＦ０〜ＴＦ３を含む。各カラーＣＬＲ０〜ＣＬＲ３は、ＲＧＢデータ、ＹＵＶデータ、ＹＣｂＣｒデータ、またはＹＣｏＣｇデータであり得る。
【００３９】
各出力点は、位置（ｐｏｓｉｔｉｏｎ）と法線ベクトル（ｎｏｒｍａｌ ｖｅｃｔｏｒ）とのうちの少なくとも１つを含む幾何学的なデータ（ｇｅｏｍｅｔｒｉｃ ｄａｔａ）を表すことができる。また、各出力点は、３次元グラフィックスパイプラインで位置、法線ベクトル、及びテクスチャ座標を含む複数の属性を有する頂点を表すことができる。
【００４０】
図６に示したように、複数の出力点（ＯＣＰ）のそれぞれに割り当てられた（または、割り当てられる）テッセレーションファクタは、複数の出力点（ＯＣＰ）のそれぞれに対する複数の属性を保存する第１メモリ領域１１９−１と他の第２メモリ領域１１９−２とに保存することができる。
テッセレータ１１５−４Ａは、複数の出力点（ＯＣＰ）のそれぞれと複数の出力点（ＯＣＰ）のそれぞれに割り当てられたテッセレーションファクタとを用いて、複数の出力点（ＯＣＰ）のそれぞれに対する少なくとも１つの新たな点を生成することができる（２０５）。
【００４１】
テッセレータ１１５−４Ａは、複数の出力点（ＯＣＰ）及び／または生成された複数の新たな点を用いて複数のプリミティブパターンを生成し、隙間が生じた時、隙間を除去するためのスティッチング過程（ｓｔｉｔｃｈｉｎｇ ｐｒｏｃｅｓｓ）を行うことができる（２０７）。
テッセレータ１１５−４Ａによってテッセレートされた（ドメイン）複数の点（ＴＤＰ）の複数のＵＶ座標（または、ＵＶＷ座標）と、前記複数のＵＶ座標（または、ＵＶＷ座標）との連結関係（ｃｏｎｎｅｃｔｉｖｉｔｙ ｒｅｌａｔｉｏｎｓｈｉｐ）を定義するトポロジ情報（ＴＩ）を含む複数のプリミティブパターンは、ドメインシェーダ１１５−５に伝送することができる。
実施形態によって、複数の出力点（ＯＣＰ）は、複数のプリミティブパターンと共にドメインシェーダ１１５−５に伝送することもできる。
【００４２】
図７は、本発明の他の実施形態によるハルシェーダとテッセレータとの動作を説明する他の概念図である。図２と図７とを参照すれば、ハルシェーダ１１５−３Ｂは、複数の入力点（ＩＣＰ）と複数のテッセレーションファクタ（ＴＦｓ）とを受信し、複数の出力点（ＯＣＰ）のそれぞれに複数のテッセレーションファクタ（ＴＦｓ）のそれぞれを割り当てられる（２０３Ａ）。
テッセレータ１１５−４Ａは、ハルシェーダ１１５−３Ｂから出力された複数の出力点（ＯＣＰ）のそれぞれと複数の出力点（ＯＣＰ）のそれぞれに割り当てられたテッセレーションファクタとを用いて、複数の出力点（ＯＣＰ）のそれぞれに対する新たな点または新たな複数の点を生成することができる（２０５）。
【００４３】
テッセレータ１１５−４Ａは、複数の出力点（ＯＣＰ）のそれぞれと生成された複数の新たな点のそれぞれとを用いて複数のプリミティブパターンを生成し、隙間が生じた時、前記隙間を除去するためのスティッチング過程を行うことができる（２０７）。
テッセレータ１１５−４Ａによってテッセレートされた（ドメイン）複数の点（ＴＤＰ）の複数のＵＶ座標（または、ＵＶＷ座標）と、複数のＵＶ座標（または、ＵＶＷ座標）との連結関係を定義するトポロジ情報（ＴＩ）を含む複数のプリミティブパターンは、ドメインシェーダ１１５−５に伝送することができる。
【００４４】
実施形態によって、複数の出力点（ＯＣＰ）は、複数のプリミティブパターンと共にドメインシェーダ１１５−５に伝送することもできる。
複数の入力点（ＩＣＰ）を含む入力パッチが、パラメトリック表面に含まれる時、テッセレータ１１５−４は、複数の出力点（ＯＣＰ）のそれぞれと複数の出力点（ＯＣＰ）のそれぞれに割り当てられたテッセレーションファクタとを用いて複数のテッセレートされたドメイン点（ＴＤＰ）を生成することができる。
複数の入力点（ＩＣＰ）を含む入力パッチが、サブディビジョン表面またはトライアングルメッシュに含まれる時、テッセレータ１１５−４は、複数の出力点（ＯＣＰ）のそれぞれと複数の出力点（ＯＣＰ）のそれぞれに割り当てられたテッセレーションファクタとを用いて基本メッシュ（ｍｅｓｈ）を細分化することができる。
【００４５】
図８から図１２は、本発明の実施形態によるハルシェーダとテッセレータとの動作を説明する概念図である。図１から図３、図７、及び図８を参照すれば、ハルシェーダ１１５−３Ａまたは１１５−３Ｂは、複数の入力点Ｐ１、Ｐ２、及びＰ３を受信する。例えば、複数の入力点Ｐ１、Ｐ２、及びＰ３は、入力パッチまたは入力プリミティブを構成することができる。
前述したように、複数の出力点（ＯＣＰ）は、複数の入力点（ＩＣＰ）と同一であると仮定したので、以下、点は、入力点または出力点を意味する。
【００４６】
図３と図８の（ａ）とに示したように、ハルシェーダ１１５−３Ａは、多様なアルゴリズムを用いて、各点Ｐ１、Ｐ２、及びＰ３に対するテッセレーションファクタＴＦ１、ＴＦ２、及びＴＦ３を計算し、各テッセレーションファクタＴＦ１、ＴＦ２、及びＴＦ３を各点Ｐ１、Ｐ２、及びＰ３に割り当てられる。
図７と図８の（ａ）とに示したように、ハルシェーダ１１５−３Ｂは、各点Ｐ１、Ｐ２、及びＰ３に対するテッセレーションファクタＴＦ１、ＴＦ２、及びＴＦ３を外部、例えば、メモリ１１９から受信し、各テッセレーションファクタＴＦ１、ＴＦ２、及びＴＦ３を各点Ｐ１、Ｐ２、及びＰ３に割り当てる。
例えば、ハルシェーダ１１５−３Ａまたは１１５−３Ｂは、第１点Ｐ１に第１テッセレーションファクタ（ＴＦ１＝１）を割り当て、第２点Ｐ２に第２テッセレーションファクタ（ＴＦ２＝２）を割り当て、第３点Ｐ３に第３テッセレーションファクタ（ＴＦ３＝０）を割り当てる。
【００４７】
図８の（ｂ）に示したように、テッセレータ１１５−４Ａは、各点Ｐ１、Ｐ２、及びＰ３と各点Ｐ１、Ｐ２、及びＰ３に割り当てられたテッセレーションファクタＴＦ１、ＴＦ２、及びＴＦ３とをハルシェーダ１１５−３Ａまたは１１５−３Ｂから受信する。
テッセレータ１１５−４Ａは、各点Ｐ１、Ｐ２、及びＰ３の周囲に、各点Ｐ１、Ｐ２、及びＰ３に割り当てられたテッセレーションファクタＴＦ１、ＴＦ２、及びＴＦ３に相応する新たな点（すなわち、テッセレートされた点）を生成することができる。
第１点Ｐ１を基準とする時、周囲は、第１点Ｐ１、第１点Ｐ１を含むエッジ、または第１点Ｐ１を含む面であり得る。
【００４８】
例えば、特定の点に０ではない特定の値（例えば、整数または小数）を有するテッセレーションファクタが割り当てられる時、テッセレータ１１５−４Ａにプログラムされたプログラムによって、テッセレータ１１５−４Ａは、特定の値と同じ個数の新たな点（複数の新たな点）を生成するか、または特定の値と異なる個数の新たな点（複数の新たな点）を生成することができる。
例えば、特定の点に割り当てられたテッセレーションファクタが、Ｎ（自然数、Ｎは、２よりも大きいか、同じ）である時、前記プログラムによってテッセレータ１１５−４Ａは、Ｎ個の新たな点、２Ｎ個の新たな点、または（Ｎ−１）個の新たな点を生成することができる。
【００４９】
各点Ｐ１、Ｐ２、及びＰ３が、パラメトリック表面のパッチに含まれる時、テッセレータ１１５−４Ａは、点Ｐ１、Ｐ２、及びＰ３別に割り当てられたテッセレーションファクタＴＦ１、ＴＦ２、及びＴＦ３に相応するテッセレートされたドメイン点（ｔｅｓｓｅｌｌａｔｅｄ ｄｏｍａｉｎ ｐｏｉｎｔ（ｓ））を生成することができる。
各点Ｐ１、Ｐ２、及びＰ３が、サブディビジョン表面のパッチまたはトライアングルメッシュのパッチに含まれる時、テッセレータ１１５−４Ａは、点Ｐ１、Ｐ２、及びＰ３別に割り当てられたテッセレーションファクタＴＦ１、ＴＦ２、及びＴＦ３を用いて複数の基本メッシュ（ｂａｓｉｃ ｍｅｓｈ）のそれぞれを細分化（ｒｅｆｉｎｅ）することができる。
【００５０】
説明の便宜上、テッセレータ１１５−４Ａは、第１点Ｐ１、第２点Ｐ２、及び第３点Ｐ３の順序で新たな点を生成すると仮定する。しかし、実施形態によって、この順序は変更されうる。
例えば、テッセレータ１１５−４Ａは、第１点Ｐ１に割り当てられた第１テッセレーションファクタ（ＴＦ１＝１）を用いて第１エッジＥＧ１の中点（ｍｉｄｐｏｉｎｔ）に１つの新たな点ＮＰ１を生成し、第２エッジＥＧ２の中点に１つの新たな点ＮＰ２を生成することができる。
【００５１】
テッセレータ１１５−４Ａは、第２点Ｐ２に割り当てられた第２テッセレーションファクタ（ＴＦ２＝２）を用いて新たな点ＮＰ１と第２点Ｐ２との中点に新たな点ＮＰ３を生成し、第３エッジＥＧ３に新たな２個の点ＮＰ４、ＮＰ５を生成することができる。
現在点Ｐ２に対する２個の新たな点ＮＰ１、ＮＰ３は、以前点Ｐ１に割り当てられた第１テッセレーションファクタ（ＴＦ１）によって生成された点ＮＰ１を含みうる。
すなわち、新たな点ＮＰ１は、第１テッセレーションファクタ（ＴＦ１＝１）によって生成される点であると同時に、第２テッセレーションファクタ（ＴＦ２＝２）によって生成された点であり得る。
【００５２】
以前点Ｐ１と現在点Ｐ２が、第１エッジＥＧ１を共有する時、第１エッジＥＧ１の一部には、以前点Ｐ１に割り当てられた第１テッセレーションファクタ（ＴＦ１＝１）に相応する新たな点ＮＰ１が生成され、第１エッジＥＧ１の残りの一部には、現在点Ｐ２に割り当てられた第２テッセレーションファクタ（ＴＦ１＝２）に相応する新たな点ＮＰ１、ＮＰ３が生成されうる。
この際、以前点Ｐ１に対して新たな点ＮＰ１が、既に生成された場合、テッセレータ１１５−４Ａは、現在点Ｐ２に対して新たな点（すなわち、ＮＰ１）を重複して生成しないこともある。
【００５３】
各エッジＥＧ１、ＥＧ２、及びＥＧ３に少なくとも１つの新たな点が、いずれも生成されれば、テッセレータ１１５−４Ａは、複数の点Ｐ１、Ｐ２、及びＰ３のそれぞれ及び／または新たな複数の点ＮＰ１〜ＮＰ５のそれぞれに対する連結関係を表わす連結情報（ｃｏｎｎｅｃｔｉｖｉｔｙ  ｉｎｆｏｒｍａｔｉｏｎ）、すなわち、トポロジ情報（ｔｏｐｏｌｏｇｙ  ｉｎｆｏｒｍａｔｉｏｎ）を生成することができる。
前記連結情報は、スティッチング過程に使われる。
【００５４】
図８の（ｃ）に示したように、テッセレータ１１５−４Ａは、生成された連結情報に基づいて複数のプリミティブパターン（または、複数のプリミティブ）を生成することができる。
この際、隙間が生成される時、テッセレータ１１５−４Ａは、隙間を除去するためのプリミティブを生成することができる。例えば、プリミティブは、複数の点ＮＰ１、ＮＰ２、及びＮＰ４を含みうる。
【００５５】
図３と図９の（ａ）とに示したように、ハルシェーダ１１５−３Ａは、多様なアルゴリズムを用いて、各点Ｐ１１、Ｐ１２、Ｐ１３、及びＰ１４に対するテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を計算し、各テッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を各点Ｐ１１、Ｐ１２、Ｐ１３、及びＰ１４に割り当てられる。
【００５６】
図７と図９の（ａ）とに示したように、ハルシェーダ１１５−３Ｂは、各点Ｐ１１、Ｐ１２、Ｐ１３、及びＰ１４に対するテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を外部から受信し、各テッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を各点Ｐ１１、Ｐ１２、Ｐ１３、及びＰ１４に割り当てられる。
例えば、ハルシェーダ１１５−３Ａは、第１点Ｐ１１に第１テッセレーションファクタ（ＴＦ１＝０）を割り当て、第２点Ｐ１２に第２テッセレーションファクタ（ＴＦ２＝１）を割り当て、第３Ｐ１３に第３テッセレーションファクタ（ＴＦ３＝０）を割り当て、第４点Ｐ１４に第４テッセレーションファクタ（ＴＦ４＝０）を割り当てる。
【００５７】
図９の（ｂ）に示したように、テッセレータ１１５−４Ａは、各点Ｐ１１、Ｐ１２、Ｐ１３、及びＰ１４と各点Ｐ１１、Ｐ１２、Ｐ１３、及びＰ１４に割り当てられたテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４とをハルシェーダ１１５−３Ａまたは１１５−３Ｂから受信する。
第１点Ｐ１１に第１テッセレーションファクタ（ＴＦ１＝０）が割り当てられているので、テッセレータ１１５−４Ａは、第１点Ｐ１１の周囲に新たな点を生成しない。
テッセレータ１１５−４Ａは、第２点Ｐ１２の周囲に点Ｐ１２に割り当てられたテッセレーションファクタ（ＴＦ２＝１）に相応する少なくとも１つの新たな点を生成することができる。
【００５８】
説明の便宜上、テッセレータ１１５−４Ａは、第１点Ｐ１１、第２点Ｐ１２、第３点Ｐ１３、及び第４点Ｐ１４の順序で新たな複数の点を生成すると仮定する。しかし、実施形態によって、この順序は変更されうる。
例えば、テッセレータ１１５−４Ａは、第２点Ｐ１２に割り当てられた第２テッセレーションファクタ（ＴＦ１＝１）を用いて第１エッジＥＧ１１の中点に１つの新たな点ＮＰ１１を生成し、第２エッジＥＧ１２の中点に１つの新たな点ＮＰ１２を生成し、第２点Ｐ１２を含む面ＦＡＣＥ１１の中央に新たな点ＮＰ１３を生成することができる。
【００５９】
例えば、テッセレータ１１５−４Ａは、第２点Ｐ１２に割り当てられた第２テッセレーションファクタ（ＴＦ１＝１）を用いて第２点Ｐ１２の周囲ＥＧ１１、ＥＧ１２、及びＦＡＣＥ１１に３個の新たな点ＮＰ１１、ＮＰ１２、及びＮＰ１３を生成することができる。
第２点Ｐ１２の周囲ＥＧ１１、ＥＧ１２、及びＦＡＣＥ１１に３個の新たな点ＮＰ１１、ＮＰ１２、及びＮＰ１３が、いずれも生成されれば、テッセレータ１１５−４Ａは、複数の点Ｐ１１、Ｐ１２、Ｐ１３、及びＰ１４のそれぞれ及び／または新たな複数の点ＮＰ１１、ＮＰ１２、及びＮＰ１３のそれぞれに対する連結関係を表わす連結情報を生成する。
【００６０】
図９の（ｃ）に示したように、テッセレータ１１５−４Ａは、生成された連結情報に基づいて複数のプリミティブを生成することができる。
４つの隙間が発生する時、テッセレータ１１５−４Ａは、これら４つの隙間を除去するための４個のプリミティブを生成することができる。４個のプリミティブのそれぞれは、斜線で表現される。
【００６１】
図３と図１０の（ａ）とに示したように、ハルシェーダ１１５−３Ａは、多様なアルゴリズムを用いて、各点Ｐ２１、Ｐ２２、Ｐ２３、及びＰ２４に対するテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を計算し、各テッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を各点Ｐ２１、Ｐ２２、Ｐ２３、及びＰ２４に割り当てる。
【００６２】
図７と図１０の（ａ）とに示したように、ハルシェーダ１１５−３Ｂは、各点Ｐ２１、Ｐ２２、Ｐ２３、及びＰ２４に対するテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を外部から受信し、各テッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を各点Ｐ２１、Ｐ２２、Ｐ２３、及びＰ２４に割り当てる。
例えば、ハルシェーダ１１５−３Ａまたは１１５−３Ｂは、第１点Ｐ２１に第１テッセレーションファクタ（ＴＦ１＝１）を割り当て、第２点Ｐ２２に第２テッセレーションファクタ（ＴＦ２＝１）を割り当て、第３点Ｐ２３に第３テッセレーションファクタ（ＴＦ３＝０）を割り当て、第４点Ｐ２４に第４テッセレーションファクタ（ＴＦ４＝０）を割り当てる。
【００６３】
図１０の（ｂ）に示したように、テッセレータ１１５−４Ａは、各点Ｐ２１、Ｐ２２、Ｐ２３、及びＰ２４と各点Ｐ２１、Ｐ２２、Ｐ２３、及びＰ２４に割り当てられたテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４とをハルシェーダ１１５−３Ａまたは１１５−３Ｂから受信する。
テッセレータ１１５−４Ａは、第１点Ｐ２１の周囲に点Ｐ２１に割り当てられた第１テッセレーションファクタ（ＴＦ２＝１）に相応する新たな複数の点を生成することができる。
【００６４】
説明の便宜上、テッセレータ１１５−４Ａは、第１点Ｐ２１、第２点Ｐ２２、第３点Ｐ２３、及び第４点Ｐ２４の順序で新たな複数の点を生成すると仮定する。しかし、実施形態によって、この順序は変更されうる。
例えば、テッセレータ１１５−４Ａは、第１点Ｐ２１に割り当てられた第１テッセレーションファクタ（ＴＦ１＝１）を用いて第１エッジＥＧ２１の中点に１つの新たな点ＮＰ２１を生成し、第２エッジＥＧ２２の中点に１つの新たな点ＮＰ２２を生成し、第１点Ｐ２１を含む面ＦＡＣＥ２１の中央に新たな点ＮＰ２３を生成する。
【００６５】
テッセレータ１１５−４Ａは、第２点Ｐ２２に割り当てられた第２テッセレーションファクタ（ＴＦ２＝１）を用いて第３エッジＥＧ２３の中点に１つの新たな点ＮＰ２４を生成することができる。
この際、第１エッジＥＧ２１の中点には、１つの新たな点ＮＰ２１が既に生成されており、面ＦＡＣＥ２１の中央には、新たな点ＮＰ２３が既に生成されているので、テッセレータ１１５−４Ａは、第１エッジＥＧ２１と面ＦＡＣＥ２１のそれぞれに新たな点を生成しないこともある。
【００６６】
テッセレータ１１５−４Ａは、第３点Ｐ２３に割り当てられた第３テッセレーションファクタ（ＴＦ３＝０）に基づいて新たな点を生成せず、第４点Ｐ２４に割り当てられた第４テッセレーションファクタ（ＴＦ４＝０）に基づいて新たな点を生成しない。
複数の点Ｐ２１、Ｐ２２の周囲ＥＧ２１、ＥＧ２２、ＥＧ２３、及びＦＡＣＥ２１に新たな複数の点ＮＰ２１、ＮＰ２２、ＮＰ２４、及びＮＰ２３が、いずれも生成されれば、テッセレータ１１５−４Ａは、複数の点Ｐ２１、Ｐ２２、Ｐ２３、及びＰ２４のそれぞれ及び／または新たな複数の点ＮＰ２１、ＮＰ２２、ＮＰ２３、及びＮＰ２４のそれぞれに対する連結関係を表わす連結情報を生成する。
【００６７】
図１０の（ｃ）に示したように、テッセレータ１１５−４Ａは、生成された連結情報に基づいて複数のプリミティブを生成することができる。
この際、３つの隙間が発生する時、テッセレータ１１５−４Ａは、前記３つの隙間を除去するための３個のプリミティブを生成することができる。３個のプリミティブのそれぞれは、斜線で表現される。
【００６８】
図３と図１１の（ａ）とに示したように、ハルシェーダ１１５−３Ａは、多様なアルゴリズムを用いて、各点Ｐ３１、Ｐ３２、Ｐ３３、及びＰ３４に対するテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を計算し、各テッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を各点Ｐ３１、Ｐ３２、Ｐ３３、及びＰ３４に割り当てる。
【００６９】
図７と図１１の（ａ）とに示したように、ハルシェーダ１１５−３Ｂは、各点Ｐ３１、Ｐ３２、Ｐ３３、及びＰ３４に対するテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を外部から受信し、各テッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を各点Ｐ３１、Ｐ３２、Ｐ３３、及びＰ３４に割り当てる。
例えば、ハルシェーダ１１５−３Ａまたは１１５−３Ｂは、第１点Ｐ３１に第１テッセレーションファクタ（ＴＦ１＝０）を割り当て、第２点Ｐ３２に第２テッセレーションファクタ（ＴＦ２＝１）を割り当て、第３点Ｐ３３に第３テッセレーションファクタ（ＴＦ３＝０）を割り当て、第４点Ｐ３４に第４テッセレーションファクタ（ＴＦ４＝１）を割り当てられる。
【００７０】
図１１の（ｂ）に示したように、テッセレータ１１５−４Ａは、各点Ｐ３１、Ｐ３２、Ｐ３３、及びＰ３４と各点Ｐ３１、Ｐ３２、Ｐ３３、及びＰ３４に割り当てられたテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４とをハルシェーダ１１５−３Ａまたは１１５−３Ｂから受信する。
テッセレータ１１５−４Ａは、第２点Ｐ３２の周囲に第２点Ｐ３２に割り当てられたテッセレーションファクタ（ＴＦ２＝１）に相応する少なくとも１つの新たな点を生成することができる。
【００７１】
説明の便宜上、テッセレータ１１５−４Ａは、第１点Ｐ３１、第２点Ｐ３２、第３点Ｐ３３、及び第４点Ｐ３４の順序で新たな複数の点を生成すると仮定する。しかし、実施形態によって、この順序は変更されうる。
例えば、テッセレータ１１５−４Ａは、第１点Ｐ３１の周囲に第１点Ｐ３１に割り当てられたテッセレーションファクタ（ＴＦ１＝０）に基づいて新たな点を生成しない。
【００７２】
テッセレータ１１５−４Ａは、第２点Ｐ３２に割り当てられた第２テッセレーションファクタ（ＴＦ２＝１）を用いて第１エッジＥＧ３１の中点に１つの新たな点ＮＰ３１を生成し、第２エッジＥＧ３２の中点に１つの新たな点ＮＰ３２を生成し、第２点Ｐ３２を含む面ＦＡＣＥ３１の中央に新たな点ＮＰ３３を生成することができる。
テッセレータ１１５−４Ａは、第３点Ｐ３３の周囲に第３点Ｐ３３に割り当てられたテッセレーションファクタ（ＴＦ３＝０）に基づいて新たな点を生成しない。
テッセレータ１１５−４Ａは、第４点Ｐ３４に割り当てられた第４テッセレーションファクタ（ＴＦ４＝１）を用いて第３エッジＥＧ３３の中点に１つの新たな点ＮＰ３４を生成し、第４エッジＥＧ３４の中点に１つの新たな点ＮＰ３５を生成する。
【００７３】
この際、面ＦＡＣＥ３１の中央には、新たな点ＮＰ３３が既に生成されているので、テッセレータ１１５−４Ａは、面ＦＡＣＥ３１に別途の新たな点を生成しないこともある。
複数の点Ｐ３２、Ｐ３４の周囲ＥＧ３１、ＥＧ３２、ＥＧ３３、ＥＧ３４、及びＦＡＣＥ３１に新たな複数の点ＮＰ３１、ＮＰ３２、ＮＰ３４、ＮＰ３５、及びＮＰ３３が、いずれも生成されれば、テッセレータ１１５−４Ａは、複数の点Ｐ３１、Ｐ３２、Ｐ３３、及びＰ３４のそれぞれ及び／または新たな複数の点ＮＰ３１、ＮＰ３２、ＮＰ３３、ＮＰ３４、及びＮＰ３５のそれぞれに対する連結関係を表わす連結情報を生成する。
【００７４】
図１１の（ｃ）に示したように、テッセレータ１１５−４Ａは、生成された連結情報に基づいて複数のプリミティブを生成することができる。
例えば、４つの隙間が発生する時、テッセレータ１１５−４Ａは、前記４つの隙間を除去するための４個のプリミティブを生成することができる。４個のプリミティブのそれぞれは、斜線で表現される。
【００７５】
図３と図１２の（ａ）とに示したように、ハルシェーダ１１５−３Ａは、多様なアルゴリズムを用いて、各点Ｐ４１、Ｐ４２、Ｐ４３、及びＰ４４に対するテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を計算し、各テッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を各点Ｐ４１、Ｐ４２、Ｐ４３、及びＰ４４に割り当てる。
【００７６】
図７と図１２の（ａ）とに示したように、ハルシェーダ１１５−３Ｂは、各点Ｐ４１、Ｐ４２、Ｐ４３、及びＰ４４に対するテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を外部から受信し、各テッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４を各点Ｐ４１、Ｐ４２、Ｐ４３、及びＰ４４に割り当てる。
例えば、ハルシェーダ１１５−３Ａまたは１１５−３Ｂは、第１点Ｐ４１に第１テッセレーションファクタ（ＴＦ１＝１）を割り当て、第２点Ｐ４２に第２テッセレーションファクタ（ＴＦ２＝１）を割り当て、第３点Ｐ４３に第３テッセレーションファクタ（ＴＦ３＝１）を割り当て、第４点Ｐ４４に第４テッセレーションファクタ（ＴＦ４＝１）を割り当てる。
【００７７】
図１２の（ｂ）に示したように、テッセレータ１１５−４Ａは、各点Ｐ４１、Ｐ４２、Ｐ４３、及びＰ４４と各点Ｐ４１、Ｐ４２、Ｐ４３、及びＰ４４に割り当てられたテッセレーションファクタＴＦ１、ＴＦ２、ＴＦ３、及びＴＦ４とをハルシェーダ１１５−３Ａまたは１１５−３Ｂから受信する。
テッセレータ１１５−４Ａは、第１点Ｐ４１の周囲に第１点Ｐ４１に割り当てられたテッセレーションファクタ（ＴＦ１＝１）に相応する少なくとも１つの新たな点を生成することができる。
【００７８】
説明の便宜上、テッセレータ１１５−４Ａは、第１点Ｐ４１、第２点Ｐ４２、第３点Ｐ４３、及び第４点Ｐ４４の順序で新たな複数の点を生成すると仮定する。しかし、実施形態によって、この順序は変更されうる。
例えば、テッセレータ１１５−４Ａは、第１点Ｐ４１に割り当てられた第１テッセレーションファクタ（ＴＦ１＝１）を用いて第１エッジＥＧ４１の中点に１つの新たな点ＮＰ４１を生成し、第２エッジＥＧ４２の中点に１つの新たな点ＮＰ４２を生成し、第１点Ｐ４１を含む面ＦＡＣＥ４１の中央に新たな点ＮＰ４３を生成することができる。
【００７９】
テッセレータ１１５−４Ａは、第２点Ｐ４２に割り当てられた第２テッセレーションファクタ（ＴＦ２＝１）を用いて第３エッジＥＧ４３の中点に新たな点ＮＰ４４を生成することができる。
第１エッジＥＧ４１と面ＦＡＣＥ４１のそれぞれに新たな複数の点ＮＰ４１、ＮＰ４３のそれぞれが、既に生成されているので、テッセレータ１１５−４Ａは、第１エッジＥＧ４１と面ＦＡＣＥ４１のそれぞれに第２テッセレーションファクタ（ＴＦ２＝１）に該当する別途の新たな点を生成しないこともある。
【００８０】
テッセレータ１１５−４Ａは、第３点Ｐ４３に割り当てられた第３テッセレーションファクタ（ＴＦ３＝１）を用いて第４エッジ（ＥＧ４４）の中点に１つの新たな点ＮＰ４５を生成することができる。
この際、面ＦＡＣＥ４１と第３エッジＥＧ４３のそれぞれに新たな複数の点ＮＰ４３、ＮＰ４４のそれぞれが、既に生成されているので、テッセレータ１１５−４Ａは、面ＦＡＣＥ４１と第３エッジＥＧ４３のそれぞれに第３テッセレーションファクタ（ＴＦ３＝１）に該当する別途の新たな点を生成しないこともある。
【００８１】
第２エッジＥＧ４２、面ＦＡＣＥ４１、及び第４エッジＥＧ４４のそれぞれに新たな複数の点ＮＰ４２、ＮＰ４３、及びＮＰ４５のそれぞれが、既に生成されているので、テッセレータ１１５−４Ａは、第２エッジＥＧ４２、面ＦＡＣＥ４１、及び第４エッジＥＧ４４のそれぞれに第４テッセレーションファクタ（ＴＦ４＝１）に該当する別途の新たな点を生成しないこともある。
【００８２】
複数の点Ｐ４１、Ｐ４２、Ｐ４３、及びＰ４４の周囲ＥＧ４１、ＥＧ４２、ＥＧ４３、ＥＧ４４、及びＦＡＣＥ４１に新たな複数の点ＮＰ４１、ＮＰ４２、ＮＰ４４、ＮＰ４５、及びＮＰ４３が、いずれも生成されれば、テッセレータ１１５−４Ａは、複数の点Ｐ４１、Ｐ４２、Ｐ４３、及びＰ４４のそれぞれ及び／または新たな複数の点ＮＰ４１、ＮＰ４２、ＮＰ４３、ＮＰ４４、及びＮＰ４５のそれぞれに対する連結関係を表わす連結情報を生成する。
【００８３】
図１２の（ｃ）に示したように、テッセレータ１１５−４Ａは、生成された連結情報に基づいて複数のプリミティブを生成することができる。この際、隙間を発生するプリミティブは存在しない。
図８から図１２を参照しながら説明したように、点別に割り当てられたテッセレーションファクタに相応する点、または相応する複数の点をエッジまたは相応する複数の点を含む面の如何なる位置に生成するかは、実施形態によって多様に変更されうる。
また、１つのエッジに２つのテッセレーションファクタが割り当てられる時、前記エッジに幾つかの新たな点を如何なる間隔で生成するかは、実施形態によって多様に変更されうる。
【００８４】
図１３は、従来のエッジ別にテッセレーションファクタを割り当てる方法と、本発明の実施形態による点別にテッセレーションファクタを割り当てる方法とによる曲線変化を追跡する例を説明する概念図である。
図１３の（ａ）を参照すれば、従来の方法は、２個の点Ｐ５１、Ｐ５２の間のエッジに割り当てられたテッセレーションファクタ（ＴＦ＝Ａ）を用いて曲率の変化に無関係に、エッジを同じ間隔でテッセレートする。
【００８５】
しかし、図１３の（ｂ）を参照すれば、本発明は、点Ｐ５１、Ｐ５２別に割り当てられた各テッセレーションファクタ（ＴＦ５１＝ＸとＴＦ５２＝Ｙ）を用いて曲率変化に適応的にエッジをテッセレートする。ここで、Ａ、Ｘ、及びＹは、整数または小数であり得る。
例えば、緩やかな曲率（ｓｍｏｏｔｈ  ｃｕｒｖａｔｕｒｅ）を有する部分は、小さなテッセレーションファクタ（ＴＦ５１＝Ｘ）を用いてテッセレートされ、急な曲率を有する部分は、大きなテッセレーションファクタ（ＴＦ５１＝Ｙ、Ｙ＞Ｘ）を用いてテッセレートされる。
【００８６】
本発明の実施形態によって、点別にテッセレーションファクタを割り当てる方法は、エッジ別にテッセレーションファクタを割り当てる方法または面別にテッセレーションファクタを割り当てる方法に比べて、さらに精密に曲線変化ＣＶを追跡することができる効果がある。
したがって、本発明の実施形態によって、点別にテッセレーションファクタを割り当てる方法は、無意味なテッセレーションとグラフィックス帯域幅要求を減らすことができる効果がある。
【００８７】
図１４は、本発明の実施形態によるハルシェーダの動作とテッセレータの動作とを説明するフローチャートである。
図１から図１４を参照すれば、ハルシェーダ１１５−３Ａまたは１１５−３Ｂは、入力パッチに含まれた複数の入力点または前記複数の入力点に関連した複数の出力点のそれぞれにテッセレーションファクタのそれぞれを割り当てる（ステップＳ１１０）。
前記テッセレーションファクタのそれぞれは、ハルシェーダ１１５−３Ａによって計算され、ハルシェーダ１１５−３Ｂの外部から入力されうる。
【００８８】
テッセレータ１１５−４Ａは、ハルシェーダ１１５−３Ａまたは１１５−３Ｂの出力信号、例えば、複数の出力点（ＯＣＰ）と複数の出力点（ＯＣＰ）のそれぞれに割り当てられたテッセレーションファクタとを用いて、各出力点の周囲に、各出力点に割り当てられたテッセレーションファクタだけのテッセレートされた点を生成する（ステップＳ１２０）。
すなわち、テッセレータ１１５−４Ａは、ハルシェーダ１１５−３Ａまたは１１５−３Ｂから出力された複数の出力点（ＯＣＰ）のうちから現在テッセレーション動作の対象となる現在点の周囲に、前記現在点に割り当てられたテッセレーションファクタに該当するＮ（Ｎは、整数または小数）個の新たな点を生成することができる。
【００８９】
テッセレータ１１５−４Ａは、複数の出力点（ＯＣＰ）及び／または少なくとも１つのテッセレートされた点に基づいて少なくとも１つのプリミティブパターンを生成する（ステップＳ１３０）。この際、テッセレータ１１５−４Ａは、隙間を除去するためのスティッチング動作を行うことができる。
テッセレータ１１５−４Ａは、複数の出力点（ＯＣＰ）、少なくとも１つのテッセレートされた点、及びトポロジ情報（ＴＩ）をドメインシェーダ１１５−５に出力する（ステップＳ１４０）。
【００９０】
例えば、テッセレータ１１５−４Ａは、テッセレートされた少なくとも１つの点のＵＶ座標（または、少なくとも１つのＵＶＷ座標）とトポロジ情報とをドメインシェーダ１１５−５に出力する（ステップＳ１４０）。前記トポロジ情報は、複数の出力点の連結情報及び／またはテッセレートされた複数の点の連結情報を含みうる。
ドメインシェーダ１１５−５は、ハルシェーダ１１５−３Ａまたは１１５−３Ｂの複数の出力とテッセレータ１１５−４Ａの複数の出力とを用いて複数の頂点の複数の属性を計算することができる（ステップＳ１５０）。
【産業上の利用可能性】
【００９１】
本発明は、グラフィックスプロセッサによってグラフィックスパイプラインでの複数の表面のテッセレーティング方法と装置とに利用されうる。
【符号の説明】
【００９２】
１００：電子システム
１１０：システム・オン・チップ
１１１：バス
１１３：ＣＰＵ
１１５：ＧＰＵ
１１７：メモリコントローラ
１１９：メモリ
１２１：入出力インターフェース
１３０：入出力装置
１１５−３、１１５−３Ａ、及び１１５−３Ｂ：ハルシェーダ
１１５−４、１１５−４Ａ：テッセレータ
１１５−５：ドメインシェーダ
【図１】
2015018551.tif 000003
【図２】
2015018551.tif 000004
【図３】
2015018551.tif 000005
【図４】
2015018551.tif 000006
【図５】
2015018551.tif 000007
【図６】
2015018551.tif 000008
【図７】
2015018551.tif 000009
【図８】
2015018551.tif 000010
【図９】
2015018551.tif 000011
【図１０】
2015018551.tif 000012
【図１１】
2015018551.tif 000013
【図１２】
2015018551.tif 000014
【図１３】
2015018551.tif 000015
【図１４】
2015018551.tif 000016