"配置されたパラメトリック曲線をバウンディングする方法であって、前記パラメトリック曲線から導出された座標フレームを用いてパラメトリック曲線をバウンディングする段階と、前記座標フレームにおける配置ベクトルをバウンディングする段階とを備える方法。配置された前記パラメトリック曲線の階層的バウンドを計算する段階を備える請求項1に記載の方法。アプリケーションが定義する優先メトリックにより前記パラメトリック曲線をより小さなサブパッチに分割するときに、バウンドを適合的に改良する段階を備える請求項2に記載の方法。前記バウンディングには、位置、法線、およびテクスチャに関するバウンドを改良することが含まれる請求項3に記載の方法。アプリケーションが定義する閾値に達するまでベジエ分割を繰り返し適用する段階を備える請求項4に記載の方法。コーナ制御ポイントのベクトル間の平均をとって2つの軸を得て、前記2つの軸の外積をとり、各ベクトルを正規化してオブジェクト指向のバウンディングボックス座標フレームを形成する段階を備える請求項1に記載の方法。パラメータ導関数から正規のベクトルベジエパッチを導出して、単位球体上に制御ポイントを投影して、オブジェクト指向のバウンディングボックス座標フレームの単位球体上に立体角をバウンディングして前記パッチにベースパッチの正規化された法線のバウンドを与える段階を備える請求項6に記載の方法。ベースパッチの正規化された法線のバウンドを導出するために錐体を利用する段階を備える請求項6に記載の方法。1つのパラメトリック方向における導関数から第1の錐体を形成して、異なるパラメトリック方向における導関数から第2の錐体を形成して、前記座標フレームにおける前記第1の錐体および前記第2の錐体の外積を計算することで第3の錐体を形成する段階を備える請求項6に記載の方法。サブパッチのカリング、テセレーション、およびドメインシェーディングを行う段階を備える請求項1に記載の方法。取得した前記バウンドを利用することで、スクリーンスペースのタイルに、より高次のプリミティブをソートする段階を備える請求項1に記載の方法。レイトレーシング用にバウンディングボリューム階層を構築する段階を備える請求項1に記載の方法。前記曲線をコンピュータディスプレイに表示可能な視覚形態に変換する段階を備える請求項1に記載の方法。プロセッサと、前記プロセッサに連結されて、パラメトリック曲線を、前記パラメトリック曲線から導出された座標フレームを用いてバウンディングして、前記座標フレームにおける配置ベクトルをバウンディングするストレージとを備える装置。配置された前記パラメトリック曲線のバウンディングから生じる画像を表示するディスプレイを備える請求項14に記載の装置。前記ストレージは、配置された前記パラメトリック曲線の階層バウンドを計算する命令を格納する請求項14に記載の装置。前記ストレージは、アプリケーションが定義する優先メトリックにより前記パラメトリック曲線をより小さなサブパッチに分割するときに、バウンドを適合的に改良する命令を格納する請求項16に記載の装置。前記ストレージは、位置、法線、およびテクスチャに関するバウンドを改良する命令を格納する請求項16に記載の装置。前記ストレージは、アプリケーションが定義する閾値に達するまでベジエ分割を繰り返し適用する命令を格納する請求項18に記載の装置。前記ストレージは、コーナ制御ポイントのベクトル間の平均をとって2つの軸を得て、前記2つの軸の外積をとり、各ベクトルを正規化してオブジェクト指向のバウンディングボックス座標フレームを形成する命令を格納する請求項14に記載の装置。ドメインシェーダ評価の数を低減させることで、グラフィックスパイプラインのその段階で必要となる計算リソースが低減される。これは、最終画像に貢献しないパッチをカリングすることにより行うことができる。このカリング処理を効率的に行うべく、配置曲線の階層的バウンドを計算するアルゴリズムを利用することができる。さらにタイルベースの描画アーキテクチャにおいては、入力プリミティブのバウンドが、入力プリミティブをタイルへと効率的にソートするために必要となる。バウンディングボリュームとは、ボックスまたは球体といった、別のオブジェクトを包含する、ボリュームを有するオブジェクトのことである。ドメインシェーダはプログラム可能であるので、出力位置の保守的且つタイトなバウンドを提供することが難しく、これにより、生成された小さな三角形を個々にタイルにソートする必要が生じる。この処理により、タイルキューにおいてメモリ要件が増加して、利用帯域幅が増加し、パッチのプリミティブレベルにおけるオクルージョンカリング処理の効率性が下がる。この代わりに、これらバウンドは、ユーザが指定するパラメータを利用せずに、ドメインシェーダのみに基づきオンザフライでブロック12計算することもできる図7参照。次いで、プリミティブをより小さなサブパッチへと分割して階層を生成する際にこのバウンドを適合的に改良してよい。一実施形態では、アルゴリズムにより、効率的な正規のバウンディング、配置テクスチャの配向されたバウンディングボックスおよび最小最大ミップマップ階層を利用して、動的配置パラメトリック曲線の保守的且つタイトなバウンディングが実行される例えばベジエパッチ等。パッチをカリングするブロック16。カリングしない場合には、プリミティブをテセレーションおよびドメインシェーディングにかけるブロック18。パッチをテセレータに送信する必要がないので、一部の実施形態ではパッチにおいてドメインシェーダおよびテセレータ処理の両方が低減しうる。入力パッチをカリングする場合には、一部の実施形態ではテセレーションもドメインシェーディングも行わなくてよい場合もある。同様に、サブパッチをカリングする場合には、一部の実施形態ではこれ以上そのサブパッチに処理を行わないようにすることもできる。そうではない場合には、サブパッチをテセレーションして、ドメインシェーディングにかける。二重曲線bicubicベジエパッチのコレクションは、滑らかな曲線を生成するために行われることの多い描画プリミティブである。公知のアルゴリズムを利用して、カットマル-クラークサブディビジョン曲線をこれらのパラメトリックパッチのコレクションへと変換して、且つ、再帰的なサブディビジョンプロセスの限界面を忠実に近似することができる。通常、高い解像度のテクスチャからの配置をパッチの法線ベクトルの方向に加えることで、最終的な曲線の詳細を増加させている。配置を有するベジエパッチは、APIの描画においてドメインシェーダで利用されてよい。ベジエパッチは、その制御ポイントによりコンパクトに表され、このパラメトリック曲線表現は、再帰的なサブディビジョン曲線とは異なり並列に効率的に評価することができる。ベジエパッチpu,vは、パラメトリック曲線であり、つまり、2つのパラメトリック座標uおよびvで定義される曲線である。ベースパッチという用語は、まだ配置されていないベジエパッチのことであり、最終的に配置された曲線と区別される。パラメトリック座標u,vの配置ベジエパッチを評価するドメインシェーダは、ベースパッチ位置pu,v、ベースパッチの正規化された法線および通常はテクスチャからとった配置値tu,vを算出する。配置がベースパッチの法線方向に行われている場合には、ドメインシェーダモデルビュープロジェクションマトリックスで乗算される前は、以下のようになる。du,vをモデルビュープロジェクションマトリックスMで乗算すると、均一な座標でクリップスペース位置qが以下のように得られる。正規化されたデバイス座標は、sx=qx/qwおよびsy=qy/qwで与えられる。パラメトリックドメインにおけるqu,vの保守的なバウンドは、a<=u<=bである場合、c<=v<=dとなってよい。次に、pu,vのバウンディング方法を説明する。ベジエパッチは、凸形状のハル特性を有し、その制御ポイントを利用することで簡単にバウンディングすることができる。ベジエパッチについて軸が合わせられたバウンディングボックスAABBを見つけることで、1制御ポイントについて3つの最小処理および3つの最大処理を行うことができる。ベジエサブディビジョン処理を繰り返すことで、分割されたパッチの制御ポイントケージは、急速にその下にあるベースパッチに向かって収束する。さらに各ステップで元のパッチがpAおよびpBの2つに再帰的に分割される場合には、pAを生成するために必要となるドカステリョ処理ステップにより、pBの制御ポイントが副産物として生成される。これは効率的な実装といえよう。べースパッチ定義された軸の制御ポイントから、配向されたバウンディングボックスOBBの軸を導出することができる。このボックスは、AABBよりもタイトにベースパッチを包含することができる。同一の反復における分割で生じた2つのパッチ各々について、両ベースパッチ、正規のパッチ、および配置テクスチャおよびルックアップを改良する。図7のブロック12に示す配置曲線のバウンドを計算するのに利用されるステップを示す図8を参照すると、ベースパッチがある軸沿いにベジエサブディビジョン法を利用して分割されている。ブロック14に示すベースパッチのバウンディングには、OBB軸を制御ポイントから見つけ、全ての制御ポイントをこれらの軸に投影する処理が含まれる。各軸沿いの最小および最大値は、制御ポイントを全て含むOBBを導出するべく配置されており、ベジエパッチの凸形状のハル特性は、曲線がこのOBBに含まれていることを意味している。次にブロック15に示すように、配置の最小および最大値を、最小/最大テクスチャ階層で探す。そしてダイアモンド19で配置がゼロであるか判断する。配置がゼロである場合には、モデルビュープロジェクションをパッチのバウンディングボックスの8つのコーナに適用してブロック20、バウンドを戻すブロック23。配置がゼロではない場合には、モデルビュープロジェクション変換を行うブロック20前に以下にTPATCHおよびNPATCHと称して説明される技術の一方を利用して正規のバウンディングをブロック21で行い、バウンドを戻すブロック23。最後にブロック23でモデルビュープロジェクション変換を行う。ベジエパッチにおいては、コーナ制御ポイント間のベクトル図1を合計して2つの軸を得る図9のブロック24。m1xn1制御ポイントを有するパッチを想定すると、4つのコーナ制御ポイントC0,0、cm,0,c0,n、およびcm,nとなり、以下の2つのベクトルが形成される。tおよびbは、それぞれuおよびvのパラメトリック方向において適切な平均勾配として考えることができる。これらは直交しない。これらの外積図9のブロック26によって第3の軸n=bのtとの外積が生じる。直交する座標系を形成するべく、x=t、y=tのnとの外積、およびz=nと設定することで、各ベクトルを正規化する図9のブロック28。最終的に生じる座標系は、となる。これにより、殆どのケースでAABBを利用するときと比べてバウンディングボックスのサイズが低減する。制御ポイントケージに基づいて、より精密なOBB適合スキームを導出することもできるが、実際には、上述した簡単な方法で、曲線をタイトにバウンディングするOBBの軸を生成することができる。AABBおよびOBBによるバウンディング間の品質の差異は、曲線について図2で強調表示されており、ベジエパッチについて図3で強調表示されている。不完全なケースについては単にAABBを利用する。以下に示すように、OBB軸も正規のバウンディングアルゴリズムで非常に有用である。ドメインにおいてパッチ法線をバウンディングすることは、ベース位置pu,vのバウンディングよりもかなり難易度が高い。法線方向は、ベースパッチpu,vの2つのパラメトリック導関数の外積として計算される。ベジエ曲線のテンソル積の標準記法に従って、ベジエパッチpu,v:R2R3が以下のように定義される。上の式においてci,jは制御ポイント、mおよびnはパラメトリック座標uおよびvそれぞれにおけるパッチの度合いを示す。BiuおよびBjvは、バーンスタイン多項式である。偏導関数は以下のように表すことができる。ここでは以下が成り立つ。ai,j、およびbi,jは、ベースパッチの制御ポイント間のスケーリングされた差異を表すのでベクトルである。曲線法線正規化前のものは、以下のように定義される。正規化された法線は以下のようにして求められる。pu,vの二重次数がパラメトリック座標のm,nである場合には、第一次パラメトリック導関数はm-1,n次およびm,n-1次である。以下に示すように、パッチの外積をとった後のパッチの二重次数は、mn-1,mn-1となる。従って、双三次ベジエパッチの法線方向を表すパッチによって、二重次数5,5を正確に表現する必要が出てくる。配置を適用するには正規化された法線が必要となる。正規化処理数式11では、副式を正確に表すために二重次数2mn-1,mn-1が必要となる。双三次ベジエパッチでは、これらの項を、二重次数10,10ベジエパッチとして正確に表すことができる。多くの場合、この処理は高価なので不可能である1111=121制御ポイント。最後に、逆数平方根が、バーンスタイン多項式では正確に表すことができない。加えて、オペランドが法線の長さの二乗であることから、逆数平方根のオペランドは常にゼロ以上ではなくてはならない。この条件を満たさない場合には、infまたはNaNが生じうる。従ってのバウンディングされた表現は、厳密にゼロを超える値ではなくてはならない。3つの二乗された項実数の合計の平方根がゼロ以上であるべきであることから、一見これは些細なことに思われる。しかし、バウンディングのために制御ポイントケージのバウンディングボックスを利用する実際のケースでは、全ての制御ポイントが正の値をとることは保証できないので、難しい。以下に、上述した問題の殆どが回避されている法線のバウンディングアルゴリズムを示す。まとめると、法線のベクトルベジエパッチを、パラメトリック導関数から導出して図10のブロック32、その制御ポイントを単位球体に投影して図10のブロック34、単位球体におけるその立体角をOBB座標フレームにバウンディングすることで図10のブロック36、正規化された法線の保守的なバウンドが得られる。これを法線のバウンディング法NPATCHと称する。法線が以下として定義されたことを想起されたい。以下はバーンスタイン多項式の積についての公式である。これを利用すると、数式12は以下のように表される。これは、制御ベクトルvp,qを有する二重次数mn-1,mn-1のパッチであり、以下のように表すことができる。パッチにおいてベースパッチの法線を保守的にバウンディングするには、正規化後の法線が単位長を有するという事実を用いることができる。従って制御ベクトルvp,qを正規化して、それらを単位球体上のポイントとして表すこととする。これらバウンドを導出する手っ取り早い方法としては、パッチの法線の近似値であるOBB座標フレームにおける軸を利用して、任意の正規化された制御ポイントと軸との間の最小スカラー積を単に計算する、というものがある。これにより、正規化された方向を包含する錐体の半角のコサイン値が求まる。これは図4に示されている。双三次ベジエパッチにおいては、vp,qの算出には、144個の外積が含まれる。2項式の係数は、小さなルックアップテーブルで予め計算しておくことができる。しかし、方向がパラメトリック座標に対応する全ての相関が失われることになる。この方法がどのくらいタイトであるかは、非正規の法線が許容範囲内で良好にバウンディングされているか否かにかかっており、これは大きなドメインでは難しくなり、サブドメインが縮小されると容易となる。より粗いバウンドは、2つの接する錐体を第一次パラメトリック導関数パッチの制御ポイントから形成することで、これよりも手っ取り早く得ることができる数式6および7を参照のこと。この導関数パッチの制御ポイントは、単位球体上で正規化およびバウンディングされて図4を参照のこと、2つの錐体が形成される。錐体Tは、正規化された軸および半角αtにより定義される。錐体TおよびB同士が重ならない場合には、2つのベクトルについて可能性のある全ての外積をバウンディングする錐体Nを、各TおよびBから1つずつ構築することができる。軸は、t×bの方向にあり、その半角θは、で与えられる。ここでが、およびにそれぞれ平行な錐体の軸の間の2つの角度のうちの小さいものに相当する。錐体Nは、パッチの全ての正規化された法線をバウンディングする。錐体T、B,およびNを図5に示す。上述したおよび軸を、錐体TおよびBの軸として利用して、錐体の角度は、パラメトリック導関数のパッチの制御ポイントから錐体TおよびBについて見つけることができる図11のブロック40。円錐角のコサインは単に、軸とタンジェントパッチからの任意の正規化された制御ポイントとの最小ドット積である。正規の錐体は、錐体TおよびBの外積の計算により導出される図11のブロック42。OBB座標フレームで表される正規化された法線のバウンドは以下のようになる。ここで、θは、正規な錐体Nの錐体の半角である。等式を利用することで、三角関数を利用せずとも正規な円錐角を利用して正規化された法線のバウンドを導出することができる図11のブロック44。この方法をTPATChと称する。2つの接する錐体同士が重ならないように注意を払う必要がある。錐体は、となる場合に重なり、与えられたαt<pi、αb<pi、およびβ<piは以下のように書き直すことができる。この条件が満たされる場合、あるいは、である場合には、OBB座標フレームの単位ボックスを戻す。単位ボックスは2つの極限の頂点-1,-1,-1および1,1,1を有する。しかし、OBB座標フレームがローカル曲線接点、従法線、およびベースパッチの法線の近似から計算されることから、この事象が生じることは、曲線がきついパッチを除いては稀である。テクスチャルックアップのバウンディング法には、2つの他のミップマップ階層を維持する必要がある。第1のミップマップ階層は、各テクスチャフットプリントおよびレベルの最大配置値を格納し、第2のミップマップ階層は、フットプリントの最小配置値を格納する。概してパラメトリック間隔が低減するとテクスチャバウンドも低減する。配置ベクトルの最後のバウンドであるは、テクスチャルックアップ[tmin,tmax]からの間隔を、各軸に沿って正規化された法線ベクトルの間隔倍したものである。表記を利用して間隔が定義されており、ここでは下限であり、は上限であり、2つの間隔の乗算を以下に示す。従ってoのx成分の間隔のバージョンは以下のようになる。上式は他の成分についても当てはまる。テクスチャ配置が厳密に正の値である場合には、数式20をさらに最適化することができる。殆どのドメインシェーダの最終ステップは、クリップスペースへのマトリックス変換であり、qについての取得バウンドの残りの部分はモデルビュープロジェクションマトリックスであり、これはパラメトリックドメインには依存せず、定数とみなすことができる。この、定数であるマトリックスは、配置されたパッチdから得られるOBBの8つのコーナで簡単に乗算することができ、これによりクリップスペース位置qのバウンドが生成される最終ステップは、予めテセレーションされたソートおよびレイトレーシング用の階層バウンドを利用する場合には不要である。パッチに対して最初に粗い分割を行う場合には、一部の実施形態でサブドメインのバウンディングボックスの優先キューを維持することができる。例えばこの代わりに、各サブパッチを、各サブパッチが、ボリューム、表面積、あるいは投影面積等において十分小さくなるまで、複数のより小さいサブパッチに分割することができる。以下の各分割ステップでは、キューの最上位エレメントをとりこれをさらに分割して、分割されたボックスをキューに挿入して戻す。正確なソート基準はアプリケーションに応じて変わり、バウンディングボックスのスクリーンスペースの範囲、深さの値、またはビューフラスタムカリングのための円台の平面を交差する優先ボックスを含んでよい。図6は、ビューに応じた分割基準を示す。ビューフラスタムカリングでは、OBBコーナクリップスペースにおけるを、円台の平面を基準としてテストする。分割基準は、カメラの円台をまたぐサブパッチを優先するよう設計されており、これによりクリップ平面外における配置を効率的にカリングすることができる。パッチのクリップテスト結果も、パッチ全体を完全にビューフラスタム内に収めるように利用することができ、これにより、パッチから形成される三角形のクリップテストをしなくてよい場合もでてくる。粗い深さのバッファが与えられている場合、サブパッチは、そのバウンディングボックスが既に描画されたプリミティブにより全体的に閉塞されている場合にカリングすることができる。利用される分割基準は、カメラにより近いサブパッチを先ず処理して、パイプラインのラスター処理に送ることでzカリングの可能性を高める、というものであってよい。バックフェースカリングは、幾何学上の法線を配置の後に効率的にバウンディングすることが難しいことから、最も難しい種類のカリングである。しかしテセレーション率、正規のバウンドおよびタイトな配置間隔が与えられる場合、配置された曲線法線を導出することができる。さらに分割基準は、法線のばらつきが高い対象パッチに対して適合させることでき、サブパッチのバックフェースカリングの確率を上げることができる。配置されたベジエパッチのバウンディング表現を計算した後で、予めテセレーションしたタイルへのソートにバウンドを利用することができる。タイルの重なりは、最大のスクリーンスペースを有するバウンディングボックスの階層的分割により低減させることができる。レイトレーシングが行われる環境では、分割基準は各OBBの表面積全体を低減させるように適合され、これは表面積における経験則が加速データ構造を構築することと類似している。衝突検知においては、低減されたOBBのボリュームに対して分割基準を適合させる。階層的なバウンディングボリュームは、カリングにおいて、および、タイルへのソートおよびレイトレーシングにおいて利用可能である。ここで説明する方法を利用することで、電子データをディスプレイに表示するための視覚可能な形態に変換することができる。DX-11テセレーションパイプライン段階を効率的にサポートするべく、タイリングアーキテクチャにおいては、テセレーションおよびドメインシェーディングを行う前に、配置された曲線のバウンドが必要となる。これらのバウンドは、配置されたベジエパッチをテセレーションを行う必要なくビンするつまり、プリミティブをタイル特定キューへソートすることために利用することができる。その後、テセレーションおよびドメインシェーディングを、必要に応じて必要なときに行う。階層的なバウンドの利用はビニング、ビューフラスタムカリング、オクルージョンカリング、およびバックフェースカリングに有用である。ここで説明するグラフィックス処理技術は、様々なハードウェアアーキテクチャに実装することができる。例えばグラフィックス機能はチップセット内に集積することができる。あるいは、別個のグラフィックスプロセッサを利用することもできる。また別の実施形態では、グラフィックス機能は汎用プロセッサマルチコアプロセッサを含むにより実装されてもよい。図12に示すコンピュータシステム130は、バス104によりチップセットコアロジック110に連結されたハードドライブ134および取り外し可能媒体136を含んでよい。キーボードおよびマウス120、あるいはその他の従来のコンポーネントは、チップセットコアロジックへバス108を介して連結されていてよい。一実施形態でコアロジックは、グラフィックスプロセッサ112に、バス105およびメインのホストプロセッサ100を介して連結されてよい。グラフィックスプロセッサ112はさらに、バス106を介してフレームバッファ114に連結されてよい。フレームバッファ114は、バス107によりディスプレイスクリーン118に連結されてよい。一実施形態では、グラフィックスプロセッサ112は、シムドSIMDアーキテクチャを利用するマルチスレッド、マルチコアの並列プロセッサであってよい。ソフトウェア実装の場合には、関連コードを任意の適切な半導体、磁気、または光学メモリに例えば、メインメモリ132、またはグラフィックスプロセッサ内の利用可能なメモリに格納してよい。従って一実施形態では、図7から図11に示すシーケンスを実行するコードを、機械またはコンピュータ可読媒体例えばメモリ132またはグラフィックスプロセッサ112に格納することができ、一実施形態においてはプロセッサ100またはグラフィックスプロセッサ112により実行可能であってよい。図8から図11はフローチャートである。一部の実施形態では、これらフローチャートに示したシーケンスはハードウェア、ソフトウェア、またはファームウェアにより実装することができる。ソフトウェアによる実施形態では、半導体メモリ、磁気メモリ、または光学メモリ等のコンピュータ可読媒体を利用して命令を格納し、プロセッサにより実行されると、図8から図11に示すフローチャートのうち1以上に示されるシーケンスを実行してよい。本明細書において一実施形態1つの実施形態といった言い回しは、その実施形態との関連で記載された特定の特徴、構造、または特性が、本発明の範囲内である少なくとも1つの実装例に含まれていることを意味する。従って一実施形態1つの実施形態といった言い回しは必ずしも同じ実施形態を表さない。さらに特定の特徴、構造、または特性は、例示された特定の実施形態以外の他の適切な形態で実装することもでき、本願の請求項にはこれら全ての形態が含まれるものとする。本発明を限られた数の実施形態に関して説明してきたが、当業者にとってはこれに基づく数多くの変形例が明らかである。添付請求項は、本発明の真の精神および範囲内に含まれるこれら全ての変形例および変更例を含むことを意図している。"