(57)【要約】  コンピュータグラフィックスレンダリング中にレンダリングプリミティブを効率的にバックフェースカリングするため、カリングされるレンダリングプリミティブが移動しているか、又は焦点外れブラーを受けている場合でさえ、バックフェースすることが保証されることを確実にすることは重要である。従って、移動していて焦点外れトライアングルがレンズのエリアにおいて全時間インターバルにおいてバックフェースしているか判定する控えめなテストを導出する。さらに、モーションブラーのみと被写界深度のみの特別なケースに対するテストを提供する。
2013539136.tif 000002
【特許請求の範囲】
【請求項１】
モーションブラー及び被写界深度を受けるトライアングル上の頂点の行列式の符号を判定するステップと、
前記符号に基づき、前記トライアングルをバックフェースカリングするか決定するステップと、
を有する方法。
【請求項２】
各頂点について、前記被写界深度の効果が２つのレンズ座標ｕ，ｖの関数により表すことが可能であり、前記頂点の動きが時間の関数により表すことが可能なトライアングルの頂点の行列式の符号を判定するステップを有する、請求項１記載の方法。
【請求項３】
各頂点が経時的に多項関数に従って移動するトライアングル上の頂点の行列式の符号を判定するステップを有する、請求項２記載の方法。
【請求項４】
各頂点が経時的に直線的に移動するトライアングル上の頂点の行列式の符号を判定するステップを有する、請求項３記載の方法。
【請求項５】
Ｂｅｒｎｓｔｅｉｎ係数の符号を判定し、前記符号を利用してトライアングルがバックフェースカリング可能であるか判定するステップを有する、請求項３記載の方法。
【請求項６】
移動するトライアングルが単一の視点についてフェースを変更可能であるか判定するステップを有する、請求項３記載の方法。
【請求項７】
静的なトライアングルがレンズ内の何れかの視点についてフェースを変更するか判定するステップを有する、請求項２記載の方法。
【請求項８】
拘束された算式を用いて前記行列式の等式の多項式を拘束するステップを有する、請求項２記載の方法。
【請求項９】
正方形によりレンズを近似するステップを有する、請求項２記載の方法。
【請求項１０】
レンズの中間のバックフェース状態をまず確認することによって、トライアングルがカリング可能であるか判定し、前記トライアングルが前記レンズの中央においてバックフェースしている場合に限って前記完全なバックフェーステストに進み、そうでない場合、前記トライアングルが可視的である可能性があることを報告するステップを有する、請求項１記載の方法。
【請求項１１】
モーションブラー及び被写界深度を受けるトライアングルの頂点の行列式の符号を判定し、前記符号に基づき、前記トライアングルをバックフェースカリングするか決定するプロセッサと、
前記プロセッサに接続されるメモリと、
を有する装置。
【請求項１２】
当該装置は、グラフィックスプロセッサである、請求項１１記載の装置。
【請求項１３】
前記プロセッサは、各頂点について、前記被写界深度の効果が２つのレンズ座標ｕ，ｖの関数により表すことが可能であり、前記頂点の動きが時間の関数により表すことが可能であるトライアングルの頂点の行列式の符号を判定する、請求項１１記載の装置。
【請求項１４】
前記プロセッサは、各頂点が経時的に多項関数に従って移動する前記行列式の符号を判定する、請求項１３記載の装置。
【請求項１５】
前記プロセッサは、各頂点が経時的に直線的に移動するトライアングルの頂点の行列式の符号を判定する、請求項１４記載の装置。
【請求項１６】
前記プロセッサは、Ｂｅｒｎｓｔｅｉｎ係数の符号を判定し、前記符号を利用してトライアングルがバックフェースカリング可能であるか判定する、請求項１４記載の装置。
【請求項１７】
前記プロセッサは、移動するトライアングルが単一の視点についてフェースを変更可能であるか判定する、請求項１４記載の装置。
【請求項１８】
前記プロセッサは、静的なトライアングルがレンズ内の何れかの視点についてフェースを変更するか判定する、請求項１３記載の装置。
【請求項１９】
前記プロセッサは、拘束された算式を用いて前記行列式の等式の多項式を拘束する、請求項１３記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
これは、グラフィックス処理に関し、特にモーションブラー及び被写界深度レンダリングに関する。
【背景技術】
【０００２】
モーションブラー（ｍｏｔｉｏｎ  ｂｌｕｒ）は、移動するオブジェクトが長いカメラ露光時間でキャプチャされたときにぼけて見えるという効果である。被写界深度（ｄｅｐｔｈ  ｏｆ  ｆｉｅｌｄ）は、より大きな絞りがより短い焦点範囲を有し、焦点からはずれたオブジェクトがぼけて見えるという効果である。
【０００３】
最も重要なカリングテストの１つは、バックフェースカリング（ｂａｃｋｆａｃｅ  ｃｕｌｌｉｎｇ）である。バックフェースカリングは、カメラから外方に向くオブジェクトのラスタ化処理を除く。レンダリングプリミティブは、それのフェース法線がカメラビューベクトルと９０度より大きな角度をなす場合、バックフェースカリングできる。これらのレンダリングプリミティブをカリングすることによって、不要な処理が軽減可能である。
【０００４】
モーションブラー及び被写界深度をレンダリングするとき、過剰な内部の又は交差テストが生成される可能性があり、これらのコンテクストに対して、正確なバックフェースカリングテストが必要とされる。各頂点が３次元上で直線に沿って移動するムービングトライアングルについて、ムービングトライアングルが動きの開始時及び終了時にバックフェースしている場合、ムービングトライアングルは、通常は時間インターバル全体でバックフェースしていると仮定される。
【図面の簡単な説明】
【０００５】
【図１】図１は、一実施例のフローチャートである。
【図２】図２は、他の実施例のフローチャートである。
【図３】図３は、さらなる他の実施例のフローチャートである。
【図４】図４は、一実施例の概略図である。
【発明を実施するための形態】
【０００６】
各頂点が３Ｄで直線的に移動するトライアングルは、動きの開始時にバックフェース（すなわち、カメラから外方に向いている）している可能性があり（ｔ＝０において）、その後にフロントフェース（ｆｒｏｎｔｆａｃｅ）に変わり、その後に動きの終了時に（再び）バックフェースする（ｔ＝１において）。この結果、バックフェース状態がインターバルの開始時及び終了時に真である場合、各頂点が経時的に直線的に移動するトライアングルがバックフェースしているという仮定は、常に正しいとは限らない。
【０００７】
時間ｔ＝０からｔ＝１までにおいて、各頂点がフレーム内で直線的に移動するムービングトライアングルがあると仮定する。ｔ＝０における頂点をｑｉとし、ｔ＝１における頂点をｒｉとして示す。２Ｄ  ｈｏｍｏｇｅｎｅｏｕｓ  ｃｏｏｒｄｉｎａｔｅｓ（２ＤＨ）を用いてクリップスペースで作業するので、頂点はｐ＝（ｐｘ，ｐｙ，ｐｗ）として定義される。このとき、線形補間される頂点は、
【０００８】
【数１】
2013539136.tif 000003
として表される。頂点（ｐ０（ｔ），ｐ１（ｔ），ｐ２（ｔ））を有するムービングトライアングルが与えられると、
【０００９】
【数２】
2013539136.tif 000004
の行列が構成される。ここで、読みやすさのため、時間従属性は省略されている。トライアングルは、ｄｅｔ（Ｍ）＜０である場合、バックフェースカリングできる。ただし、行列式は、
【００１０】
【数３】
2013539136.tif 000005
として表される。
【００１１】
幾何学的には、これは、原点とトライアングルとにより張られる四面体の（スケーリングされた）符号付きボリューム計算として解釈できる。従って、
【００１２】
【数４】
2013539136.tif 000006
であるか決定することが所望される。２つの直線移動する頂点の外積は、
【００１３】
【数５】
2013539136.tif 000007
として展開できる。ここで、
【００１４】
【数６】
2013539136.tif 000008
である。この式を利用して、時間に依存する行列式を導出できる。
【００１５】
【数７】
2013539136.tif 000009
ただし、
【００１６】
【数８】
2013539136.tif 000010
である。
【００１７】
係数
【００１８】
【数９】
2013539136.tif 000011
は、ｔ＝０におけるトライアングルのバックフェーステストであることに留意されたい。また、ｔ＝１における当該多項式の値は、
【００１９】
【数１０】
2013539136.tif 000012
であり、それは、同様にｔ＝１におけるバックフェーステストである。最後に、係数の式
【００２０】
【数１１】
2013539136.tif 000013
は、３つの頂点の動きベクトルの行列式テストであり、それらがすべて同一平面上にある場合、３次の項（ｃｕｂｉｃ  ｔｅｒｍ）はゼロであり、すなわち、ａ＝０であることに留意されたい。従って、行列式が３次関数になるのは、動きベクトルが２ＤＨにおいてボリュームを張るときに限る。
【００２１】
多項式が
【００２２】
【数１２】
2013539136.tif 000014
においてルートを有さない場合、トライアングルは安全にバックフェースカリングできる。バックフェース関数がｔ＝０及びｔ＝１においてゼロ以下であると仮定すると、３次関数の局所的な最小値及び最大値を計算することが可能であり、インターバル
【００２３】
【数１３】
2013539136.tif 000015
内で局所的な最大値を検出した場合、当該ポイントにおいて３次多項式の値を確認する。それがゼロ以下である場合、当該トライアングルを安全にバックフェースカリングすることができる。３つの頂点の移動方向が平行である場合、バックフェース関数は線形である。
【００２４】
係数ａは、しばしば小さいか、又はほぼ平行なトライアングルの３つの動きベクトルの決定要因である。従って、冪乗形式によるバックフェース関数（式６）を直接計算することは、数値的に不安定になりうる。この問題を軽減するため、３次のＢｅｒｎｓｔｅｉｎ形式によりバックフェース関数を表す。
【００２５】
【数１４】
2013539136.tif 000016
ただし、係数ｂｉは、
【００２６】
【数１５】
2013539136.tif 000017
により与えられる。
【００２７】
次に、Ｂｅｒｎｓｔｅｉｎ基底の凸包の性質を利用し、係数ｂｉ
【００２８】
【数１６】
2013539136.tif 000018
の何れかが正であるか単に確認する。これは、３次多項式の真の最大値に対するテストより粗いテストであるが、数値精度の問題のリスクを軽減する。当該テストは、ｄｅ  Ｃａｓｔｅｌｊａｕステップを係数に適用し、生成された係数をテストすることによって精緻化可能であることに留意されたい。
【００２９】
Ｂｅｒｎｓｔｅｉｎ式のモーションブラーのバックフェーステストは、図１に示されるように、ｂ０を計算することによってｔ＝０においてトライアングルをテストすることによって開始される（ブロック１２）。ダイヤモンド１４における確認は、ｂ０が正であるか判定する。正である場合、トライアングルは、フロントフェースしている（ブロック１６）。そうでない場合、トライアングルはｂｎを計算することによってｔ＝１においてテストされる（ブロック１８）。ｂｎが正である場合、トライアングルはフロントフェースしている（ブロック２２）。そうでない場合、値１をｉに代入することによってループを開始し（ブロック２４）、ｂｉを計算する（ブロック２６）。ダイヤモンド２８における確認は、ｂｉが正であるか判定する。正である場合、それはフロントフェースしている（ブロック３０）。そうでない場合、ｉがｎに等しくなるまで繰り返し（ブロック３２及びダイヤモンド３４）、その後、トライアングルをバックフェースしているとして報告する（ブロック３６）。
【００３０】
各頂点が経時的に直線的に移動するトライアングルに対するバックフェースカリングテストの実際的な実現形態を擬似コードにより示す。
【００３１】
【数１７】
2013539136.tif 000019
トライアングルの頂点の動きが多項式として表すことが可能である場合、前のテストを一般化することができる。各トライアングルの頂点の動きを２ＤＨにおいて次数ｎのＢｅｚｉｅｒ曲線として表す。
【００３２】
【数１８】
2013539136.tif 000020
その後、バックフェーステストは、
【００３３】
【数１９】
2013539136.tif 000021
になる。
【００３４】
これは次数３ｎのＢｅｚｉｅｒ曲線であり、制御ポイントは、頂点の動きを記述する３つの曲線のそれぞれからの３つの制御ポイントのスケーリングされた行列式の和であることに留意されたい。控えめなバックフェーステストは、再び凸包の性質を利用することによって導出できる。予想されるように、直線的な動きのケースに対して、すなわち、ｎ＝１であるとき、式１０を取得する。同様の導出が、有理スプラインについて実行可能である。
【００３５】
テストは、マクロサイズのトライアングル又は大きな動きの小さなトライアングルのモーションブラーラスタ化を高速化する可能性を有し、１回のコストのかかるバックフェースカリングテストが多くのセーブされた内部テストに対して償却できる。内部テストの回数が控えめなバックフェースカリングテストのオーバヘッドに関して小さい場合、バックフェースするトライアングルはサンプル毎の内部テストにおいて正しくカリングされるため、控えめなテスト全体をスキップすることがより良いかもしれない。ワークロードに応じて、テストは、トライアングルのサイズ又は動きが閾値を超えるときに有効とすることが可能である。
【００３６】
被写界深度は、クリップスペースにおけるずれである。このずれは、行列
【００３７】
【数２０】
2013539136.tif 000022
をトライアングルのクリップスペース座標に適用することによって表すことができる。Ｈ，Ｉ，Ｊは、焦点平面の位置、カメラの絞りのサイズ、及びニア・アンド・ファー平面（ｎｅａｒ  ａｎｄ  ｆａｒ  ｐｌａｎｅ）により与えられる定数である。レンズ上の位置は、（ｕ，ｖ）により与えられる。この行列をクリップスペースの３次元同次頂点（３ＤＨ）
【００３８】
【数２１】
2013539136.tif 000023
に適用することにより、ずれたポジションが得られる。
【００３９】
【数２２】
2013539136.tif 000024
ただし、
【００４０】
【数２３】
2013539136.tif 000025
は、ｐｉｚ及びｐｉｗ項に依存する頂点毎の値である。以下の記法を簡単化するため、
【００４１】
【数２４】
2013539136.tif 000026
を、それぞれ
【００４２】
【数２５】
2013539136.tif 000027
のｘｙｗ成分から構成される２次元の同次頂点を示すとする。すなわち、
【００４３】
【数２６】
2013539136.tif 000028
である。
【００４４】
【数２７】
2013539136.tif 000029
であるため、
【００４５】
【数２８】
2013539136.tif 000030
であることを留意されたい。このとき、バックフェース基準は、
【００４６】
【数２９】
2013539136.tif 000031
となる。これらの係数は、
【００４７】
【数３０】
2013539136.tif 000032
により与えられる。ａ及びｂに対するいくつかの表現はエッジ等式の設定のため再利用可能であることに留意されたい。理解できるように、被写界深度のバックフェース関数は、ｕ及びｖにおける線形関数である（式１７）。トライアングルは、ａｕ＋ｂｖ＋ｃ＝０であるとき、それのフェースを変更する。従って、トライアングルは、以下の連立式
【００４８】
【数３１】
2013539136.tif 000033
に対する解が存在する場合に限って、レンズ上の何れにおいてそれのフェースを変更することになる。ただし、後者の式は、レンズ位置（ｕ，ｖ）が半径Ｒの円形のレンズの内部にあるか確認するものである。幾何学的には、これは、円と直線との間の交差であり、
【００４９】
【数３２】
2013539136.tif 000034
である場合に限って解を有する。
【００５０】
この結果、上記が成り立たないことを証明できる場合、レンズ上で移動する際にフェースの変更はない。直感的には、トライアングルの平面の式（３次元）がレンズの形状と交差しない場合、レンズに対してフェースを変更しない。
【００５１】
最後にトライアングルのフェース法線がビューベクトルに揃えられる場合、
【００５２】
【数３３】
2013539136.tif 000035
を有し、従って、
【００５３】
【数３４】
2013539136.tif 000036
を有し、ａ＝ｂ＝０を導く。これは、予想されるように、フェースがレンズに対して変更しないことを意味する。
【００５４】
静的なトライアングルがバックフェースカリング可能であるか判定するため、図２のブロック４２においてレンズの中間（ｕ＝ｖ＝０）においてバックフェース状態を計算することから開始される。ｃ＞０である場合（図２のダイヤモンド４４）、トライアングルは、レンズの中央においてある時間フロントフェースする可能性があり、トライアングルはすべてのレンズ位置に対して（控えめに）バックフェースしていないため、テストは終了される（図２のブロック４６）。そうでない場合、ａ２＋ｂ２を計算し（図２のブロック４８）、ｃ２＜Ｒ２（ａ２＋ｂ２）であるかテストする（ブロック５０及びダイヤモンド５２）。すなわち、トライアングルは、
【００５５】
【数３５】
2013539136.tif 000037
であるとき、控えめにバックフェースカリングできる。そうでない場合、トライアングルはフロントフェースしている（ブロック５４）。
【００５６】
式１の移動する頂点と、式１３のずれ行列（ｓｈｅａｒ  ｍａｔｒｉｘ）Ｓとを乗算することによって、動き及び被写界深度からの結果として得られる頂点のずれｏ（ｕ，ｖ，ｔ）は、
【００５７】
【数３６】
2013539136.tif 000038
により取得される。ただし、
【００５８】
【数３７】
2013539136.tif 000039
はｔにおける線形関数である。
【００５９】
式２１からの対応するバックフェーステストは、
【００６０】
【数３８】
2013539136.tif 000040
として表される。
【００６１】
係数ａ（ｔ），ｂ（ｔ），ｃ（ｔ）はｔの３次関数である。
【００６２】
トライアングルは、
【００６３】
【数３９】
2013539136.tif 000041
であるとき、控えめにバックフェースカリング可能である。そうでない場合、トライアングルはフロントフェースしている（ブロック５４）。
【００６４】
控えめなテストは、インターバル計算を利用することによって取得可能である。インターバルは、
【００６５】
【数４０】
2013539136.tif 000042
として示され、
【００６６】
【数４１】
2013539136.tif 000043
はそれの加減であり、
【００６７】
【数４２】
2013539136.tif 000044
は上限である。このアイデアは、この式を式２４の符号より大きな左に対して最小化し、右に対して式を最大化することである。これにより、
【００６８】
【数４３】
2013539136.tif 000045
が得られる。ここで、
【００６９】
【数４４】
2013539136.tif 000046
が用いられた。従って、
【００７０】
【数４５】
2013539136.tif 000047
と式２５とが成り立つ場合、経時的にレンズ上で移動するトライアングルは、控えめにバックフェースカリング可能である。３次多項式ａ（ｔ），ｂ（ｔ），ｃ（ｔ）は、冪乗の形式からＢｅｒｎｓｔｅｉｎ形式に変換可能であり、モーションブラーなプリミティブに対して以前に行ったことと同様に、控えめなカリングのためＢｅｒｎｓｔｅｉｎ制御ポイントの凸包性質を利用する。
【００７１】
辺の長さがＲの正方形によりレンズを近似する場合、ボックステストに対する直線である
【００７２】
【数４６】
2013539136.tif 000048
により与えられるより粗いテストを取得する。再び、
【００７３】
【数４７】
2013539136.tif 000049
であるか、すなわち、トライアングルがレンズの中心でバックフェースしているかテストすることによって開始される。このとき、（正方形の）レンズの４つの角のすべてが延びた直線の同一サイドにある場合、トライアングルを控えめにカリングすることが可能である。これら４つの条件は、
【００７４】
【数４８】
2013539136.tif 000050
により与えられる。式ａ，ｂ，ｃはｔの３次多項式であることに留意されたい。円形のレンズに対して与えられるインターバル解析テストと異なり、４つの式のそれぞれについて、１つの３次式の係数を計算し、それの境界を示し、よりタイトなバウンドについて冪乗の係数の間の相関関係を維持することが可能である。これは、大きな非線形の係数の動きについてより効率的であるかもしれない。
【００７５】
次に、モーションブラーであって焦点がずれたトライアングルのためのバックフェースカリングテストの実際の実現形態を示す。まず、ａ２（ｔ）＋ｂ２（ｔ）の粗いが高速な近似は、
【００７６】
【数４９】
2013539136.tif 000051
により与えられ、これは、実質的にマンハッタン距離近似である。
【００７７】
しかしながら、線形項における相関関係が維持可能であるため、次によりタイトなバウンドを与えることができる１階テイラーモデルを用いて３次関数を拘束（ｂｏｕｎｄｅｄ）する。また、多項式ａ（ｔ）及びｂ（ｔ）のｔ３及びｔ２の項は、大部分のトライアングルに対してゼロにとても近いことに留意されたい。これは、式２３のａ（ｔ），ｂ（ｔ），ｃ（ｔ）の項がほぼ線形であることを意味するが、また、精度の問題を回避するための措置がとられる必要があることを意味する。１階テイラーモデルを利用することによって、ｔ３及びｔ２の項が小さいときに安定性を保証する。任意の３次多項式について、これは、以下に示されるように、
【００７８】
【数５０】
2013539136.tif 000052
実行される。
【００７９】
【数５１】
2013539136.tif 000053
は剰余のインターバルであり、２次及び３次の項を限定する。
【００８０】
【数５２】
2013539136.tif 000054
これを用いて、ａ２（ｔ）＋ｂ２（ｔ）を、
【００８１】
【数５３】
2013539136.tif 000055
として控えめに表す。上限は、
【００８２】
【数５４】
2013539136.tif 000056
により与えられる。ここで、
【００８３】
【数５５】
2013539136.tif 000057
は、剰余のインターバル
【００８４】
【数５６】
2013539136.tif 000058
の線形関数である。ａ（ｔ）及びｂ（ｔ）が、
【００８５】
【数５７】
2013539136.tif 000059
において線形であり、
【００８６】
【数５８】
2013539136.tif 000060
を与える場合、式３２は当該ケースにおいて正確である。（Ｂｅｒｎｓｔｅｉｎ基底上の）モーションブラーのためのバックフェーステストを用いて、上述されるようなレンズの中心におけるバックフェース状態を決定する。
【００８７】
最終的なテストは、式３４における条件により与えられ、ａ２（ｔ）＋ｂ２（ｔ）が式３２を用いて拘束される。
【００８８】
図３を参照して、被写界深度とモーションブラーの双方に対するバックフェーステストを実現するためのシーケンスは、図３のブロック６２に示されるように、レンズの中心においてトライアングルをテストすることによって開始される。これは、ｃ（ｔ）の最大値を計算及び拘束することにより行われる。次に、ダイヤモンド６４における確認は、ｍａｘ［ｃ（ｔ）］がゼロより大きいか判定する。大きい場合、トライアングルは、ブロック６６に示されるように、フロントフェースしていると報告される。
【００８９】
そうでない場合、ブロック６８において、ｍａｘ［ａ（ｔ）２＋ｂ（ｔ）２］が、ブロック６８に示されるように、計算及び拘束される。次に、ｃ２の最小値が、ブロック７０に示されるように、Ｒ２ｍａｘ［ａ（ｔ）２＋ｂ（ｔ）２］より大きいか判定するためのテストが行われる。大きい場合、ダイヤモンド７２において、トライアングルは、ブロック７４に示されるようにフロントフェースしているとして報告され、そうでない場合、ブロック７６においてバックフェースしているとして報告される。
【００９０】
ラスタ化がスクリーンスペースにおいて実行されるモーションブラーに対してベックフェースカリングテストを導出する。スクリーンスペースラスタ化について、トライアングルのスクリーンスペースエリアの符号により、共通のバックフェーステストが与えられる。射影変換はラインをラインにマッピングし、動きベクトルは射影後に依然として直線である。しかしながら、直線に沿った加速は、透視短縮（ｐｅｒｓｐｅｃｔｉｖｅ  ｆｏｒｅｓｈｏｒｔｅｎｉｎｇ）により異なる。射影されたトライアングルの２つのエッジを、
【００９１】
【数５９】
2013539136.tif 000061
として定義する。符号付きのエリアを２倍にすることは、
【００９２】
【数６０】
2013539136.tif 000062
として表すことができる。
【００９３】
各頂点はｔの関数であり（式１）、スクリーンスペースのバックフェーステストをｔの３次有理関数にすることを思い出されたい。トライアングルは平面で移動するが、頂点の位置はもはやｔについて線形補間されず、トライアングルは高々３階フェースを変更可能である。
【００９４】
さらに、分母ｐ０ｗｐ１ｗｐ２ｗの大きさはエリアテストに無関係であり、クリッピング後のｗ個のコンポーネントの符号を知っている場合、分母は省略可能であり、予想されるように、同次のケースと同様に３次多項式をもたらす。
【００９５】
他方、スクリーンスペースにおいて線形の動きを仮定する場合、エリア関数は２次多項式になり、このケースでさえ、移動するトライアングルは、ｔ＝０及びｔ＝１においてバックフェースすることが可能であり、その間の何れかにおいて依然としてフロントフェースしている。
【００９６】
本技術は、リアルタイム及びオフラインレンダリングと、確率的ポイントサンプリング及び解析的可視化方法との双方とに適用される。従来技術により招かれるレンダリングエラーは、極端なケースにおいては容易に検出可能であるが、大多数のケースにおいて、これらは、エラーを検出することが困難な妥当な画像を生成する。
【００９７】
図４に示されるコンピュータシステム１３０は、バス１０４によりチップセットコアロジック１１０に接続されるハードドライブ１３４と着脱可能な媒体１３６とを有する。キーボード及びマウス１２０又は他の従来のコンポーネントが、チップセットコアロジックにバス１０８を介し接続されてもよい。一実施例では、コアロジックは、バス１０５を介しグラフィックスプロセッサ１１２と、メイン又はホストプロセッサ１００に接続されてもよい。グラフィックスプロセッサ１１２はまた、バス１０６によりフレームバッファ１１４に接続されてもよい。フレームバッファ１１４は、バス１０７によりディスプレイスクリーン１１８に接続されてもよい。一実施例では、グラフィクスプロセッサ１１２は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャを用いたマルチスレッドマルチコアパラレルプロセッサであってもよい。
【００９８】
ソフトウェアによる実現形態のケースでは、関連するコードが、メインメモリ１３２やグラフィックスプロセッサ１１２内の何れかの利用可能なメモリを含む、何れか適切な半導体、磁気又は光メモリに格納されてもよい。従って、一実施例では、図１〜３のシーケンスを実行するためのコードが、メモリ１３２又はグラフィックスプロセッサ１１２などのマシーン又はコンピュータ可読媒体に格納され、一実施例では、プロセッサ１００又はグラフィックスプロセッサ１１２により実行されてもよい。
【００９９】
図１〜３はフローチャートである。いくつかの実施例では、これらのフローチャートに示されるシーケンスは、ハードウェア、ソフトウェア又はファームウェアにより実現されてもよい。ソフトウェアの実施例では、半導体メモリ、磁気メモリ又は光メモリなどの非一時的コンピュータ可読媒体が、命令を格納するのに利用され、図１〜３に示されるシーケンスを実現するためプロセッサにより実行されてもよい。
【０１００】
ここに説明されるグラフィックス処理技術は、各種ハードウェアアーキテクチャにより実現されてもよい。例えば、グラフィクス機能は、チップセット内に統合されてもよい。あるいは、個別のグラフィックスプロセッサが利用されてもよい。さらなる他の実施例として、グラフィックス機能は、マルチコアプロセッサを含む汎用プロセッサにより実現されてもよい。
【０１０１】
本明細書を通じて“一実施例”又は“実施例”という表現は、当該実施例に関して説明される特定の特徴、構成又は特性が、本発明内に含まれる少なくとも１つの実現形態に含まれることを意味する。従って、“一実施例”又は“実施例では”という表現の出現は、必ずしも同一の実施例を参照しているとは限らない。さらに、当該特徴、構成又は特性は、図示された実施例以外の他の適切な形式に設定されてもよく、このようなすべての形態が本出願の請求項の範囲内に含まれる。
【０１０２】
本発明が限定数の実施例に関して説明されたが、当業者は、これから多数の改良及び変形を理解するであろう。添付した請求項は、このような改良及び変形のすべてを本発明の真の趣旨及び範囲内に属するものとしてカバーすることが意図されている。
【図１】
2013539136.tif 000063
【図２】
2013539136.tif 000064
【図３】
2013539136.tif 000065
【図４】
2013539136.tif 000066
【国際調査報告】
2013539136.tif 000067
2013539136.tif 000068