(57)【特許請求の範囲】
【請求項１】
３次元（３Ｄ）モデルデータから２次元（２Ｄ）画像をレンダリングするデバイスであって、
スクリーン画像の１つのスクリーン画像画素につき複数のスクリーン画像サンプルを使用して、３Ｄモデルの細かいラスタ化を実行して、前記スクリーン画像の視点から可視である、前記３Ｄモデルの可視プリミティブのセットを識別する細かいラスタ化コンポーネントと、
前記スクリーン画像に対応するシェーディング画像の１つのシェーディング画像画素につき１つのシェーディング画像サンプルを使用して、前記スクリーン画像の前記視点から前記３Ｄモデルの粗いラスタ化を実行して、シェーディング画像サンプルのパスに沿った少なくとも１つのプリミティブを識別する粗いラスタ化コンポーネントと、
前記シェーディング画像画素内で可視であるとして、第１のスクリーン画像画素のスクリーン画像サンプルにより識別されたプリミティブであって、且つ、前記シェーディング画像画素に関連付けられている前記シェーディング画像サンプルの前記パスに沿ったものとして識別されたプリミティブをシェーディングして、第１の色値を導出するシェーディングコンポーネントと、
を備え、
前記細かいラスタ化コンポーネントは、第１のセットのスクリーン画像サンプル及び第２のセットのスクリーン画像サンプルを含む複数のスクリーン画像サンプルを、前記シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成し、前記複数のＳＰＩＤの各ＳＰＩＤは、複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、前記可視プリミティブのセットのうちの可視プリミティブを、前記複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける、デバイス。
【請求項２】
前記複数のＳＰＩＤの各ＳＰＩＤは、
前記可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、
当該ＳＰＩＤに関連付けられている前記スクリーン画像サンプルが属する、前記複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、
前記座標に関連付けられている前記シェーディング画像画素内の前記可視プリミティブの深度のインジケーションと、
を含む、請求項１記載のデバイス。
【請求項３】
前記複数のＳＰＩＤから、前記可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するシェーディング制約コンポーネントであって、前記リストのセットの各リストは、前記複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、当該リストに関連付けられている前記シェーディング画像画素内で可視である、前記可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、前記シェーディング画像画素内の前記少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、シェーディング制約コンポーネント
を備えた、請求項２記載のデバイス。
【請求項４】
前記シェーディングコンポーネントは、前記少なくとも１つのプリミティブの識別子を、１つのシェーディング画像画素に関連付けられている、前記リストのセットのうちのリストの前記少なくとも１つの識別子と比較して、前記１つのシェーディング画像画素内の前記少なくとも１つのプリミティブをシェーディングするかどうかを判定する、請求項３記載のデバイス。
【請求項５】
モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、前記スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、第２の色値を決定する際に、前記スクリーン画像内の前記第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるフィルタリングコンポーネント
を備えた、請求項１記載のデバイス。
【請求項６】
前記細かいラスタ化コンポーネントは、スーパーサンプリング、マルチサンプリング、確率的サンプリング、時間ディメンジョンにわたる確率的サンプリング、レンズディメンジョンにわたる確率的サンプリング、及びレイトレーシングのうちの１以上を使用する、請求項１乃至５いずれか一項記載のデバイス。
【請求項７】
前記スクリーン画像を提示するディスプレイ
を備えた、請求項１乃至６いずれか一項記載のデバイス。
【請求項８】
３次元（３Ｄ）モデルデータから２次元（２Ｄ）画像をレンダリングするデバイスであって、
スクリーン画像に対応するシェーディング画像のシェーディング画像画素内で可視であるプリミティブをシェーディングして、前記シェーディング画像画素の第１の色値を決定するシェーディングコンポーネントと、
前記シェーディング画像画素に属する、３Ｄモデルの第１のセットのスクリーン画像サンプルの各スクリーン画像サンプルに、前記第１の色値を割り当てる転換コンポーネントと、
前記スクリーン画像の第１のスクリーン画像画素の第２の色値を決定するために、前記第１のスクリーン画像画素に属する、前記３Ｄモデルの第２のセットのスクリーン画像サンプルの色値を平均化するサンプル平均化コンポーネントであって、前記第１のスクリーン画像画素は、前記シェーディング画像画素に少なくとも部分的に一致し、前記第２のセットのスクリーン画像サンプルは、前記第１のセットのスクリーン画像サンプルとは異なり、前記第１のセットのスクリーン画像サンプルと、少なくとも１つのスクリーン画像サンプルを共有する、サンプル平均化コンポーネントと、
を備え、
複数のスクリーン画像サンプルを使用して、前記３Ｄモデルをラスタ化して、前記スクリーン画像の視点から可視である、前記３Ｄモデルの可視プリミティブのセットを識別し、前記複数のスクリーン画像サンプルを、前記シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成する細かいラスタ化コンポーネントであって、前記複数のＳＰＩＤの各ＳＰＩＤは、前記第１のセットのスクリーン画像サンプル及び前記第２のセットのスクリーン画像サンプルを含む前記複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、前記可視プリミティブのセットのうちの可視プリミティブを、前記複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける、細かいラスタ化コンポーネント
を備えたデバイス。
【請求項９】
前記複数のＳＰＩＤの各ＳＰＩＤは、
前記可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、
当該ＳＰＩＤに関連付けられている前記スクリーン画像サンプルが属する、前記複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、
前記座標に関連付けられている前記シェーディング画像画素内の前記可視プリミティブの深度のインジケーションと、
を含む、請求項８記載のデバイス。
【請求項１０】
前記複数のＳＰＩＤから、前記可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するシェーディング制約コンポーネントであって、前記リストのセットの各リストは、前記複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、当該リストに関連付けられている前記シェーディング画像画素内で可視である、前記可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、前記シェーディング画像画素内の前記少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、シェーディング制約コンポーネント
を備えた、請求項９記載のデバイス。
【請求項１１】
前記複数のシェーディング画像画素のうちの１つのシェーディング画像画素に関連付けられている１つのシェーディング画像サンプルを使用して、前記３Ｄモデルに至る、前記１つのシェーディング画像サンプルのパスに沿って存在する、前記３Ｄモデルの少なくとも１つのプリミティブを識別する粗いラスタ化コンポーネント
を備え、
前記シェーディングコンポーネントは、前記少なくとも１つのプリミティブの識別子を、前記１つのシェーディング画像画素に関連付けられている、前記リストのセットのうちのリストの前記少なくとも１つの識別子と比較して、前記１つのシェーディング画像画素内の前記少なくとも１つのプリミティブをシェーディングするかどうかを判定する、請求項１０記載のデバイス。
【請求項１２】
モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、前記スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、前記第２の色値を決定する際に、前記スクリーン画像内の前記第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるフィルタリングコンポーネント
を備えた、請求項８乃至１１いずれか一項記載のデバイス。
【請求項１３】
前記細かいラスタ化コンポーネントは、スーパーサンプリング、マルチサンプリング、確率的サンプリング、時間ディメンジョンにわたる確率的サンプリング、レンズディメンジョンにわたる確率的サンプリング、及びレイトレーシングのうちの１以上を使用する、請求項８乃至１１いずれか一項記載のデバイス。
【請求項１４】
前記スクリーン画像を表すスクリーン画像データを、別のデバイスに送信するためのインタフェース
を備えた、請求項８乃至１３いずれか一項記載のデバイス。
【請求項１５】
３次元（３Ｄ）モデルデータから２次元（２Ｄ）画像をレンダリングするための、コンピュータにより実施される方法であって、
スクリーン画像の１つのスクリーン画像画素につき複数のスクリーン画像サンプルを使用して、３Ｄモデルの細かいラスタ化を実行して、前記スクリーン画像の視点から可視である、前記３Ｄモデルの可視プリミティブのセットを識別するステップと、
前記スクリーン画像に対応するシェーディング画像の１つのシェーディング画像画素につき１つのシェーディング画像サンプルを使用して、前記スクリーン画像の前記視点から前記３Ｄモデルの粗いラスタ化を実行して、シェーディング画像サンプルのパスに沿った少なくとも１つのプリミティブを識別するステップと、
前記シェーディング画像画素内で可視であるとして、第１のスクリーン画像画素のスクリーン画像サンプルにより識別されたプリミティブであって、且つ、前記シェーディング画像画素に関連付けられている前記シェーディング画像サンプルの前記パスに沿ったものとして識別されたプリミティブをシェーディングして、第１の色値を導出するステップと、
を含み、
第１のセットのスクリーン画像サンプル及び第２のセットのスクリーン画像サンプルを含む複数のスクリーン画像サンプルを、前記シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成するステップであって、前記複数のＳＰＩＤの各ＳＰＩＤは、複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、前記可視プリミティブのセットのうちの可視プリミティブを、前記複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける、ステップ
を含む方法。
【請求項１６】
前記複数のＳＰＩＤの各ＳＰＩＤは、
前記可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、
当該ＳＰＩＤに関連付けられている前記スクリーン画像サンプルが属する、前記複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、
前記座標に関連付けられている前記シェーディング画像画素内の前記可視プリミティブの深度のインジケーションと、
を含む、請求項１５記載の方法。
【請求項１７】
モーションブラー効果及び被写界深度効果のうちの少なくとも１つを与えるように、前記複数のＳＰＩＤの少なくともサブセットの間で識別子を再配分するステップ
を含む、請求項１６記載の方法。
【請求項１８】
前記複数のＳＰＩＤから、前記可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するステップであって、前記リストのセットの各リストは、前記複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、当該リストに関連付けられている前記シェーディング画像画素内で可視である、前記可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、前記シェーディング画像画素内の前記少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、ステップ
を含む、請求項１６記載の方法。
【請求項１９】
前記スクリーン画像を表すスクリーン画像データを、別のデバイスに送信するステップ
を含む、請求項１５乃至１８いずれか一項記載の方法。
【請求項２０】
３次元（３Ｄ）モデルデータから２次元（２Ｄ）画像をレンダリングするための、コンピュータにより実施される方法であって、
スクリーン画像の１つのスクリーン画像画素につき複数のスクリーン画像サンプルを使用して、３Ｄモデルの細かいラスタ化を実行して、前記スクリーン画像の視点から可視である、前記３Ｄモデルの可視プリミティブのセットを識別するステップと、
前記スクリーン画像に対応するシェーディング画像の１つのシェーディング画像画素につき１つのシェーディング画像サンプルを使用して、前記スクリーン画像の前記視点から前記３Ｄモデルの粗いラスタ化を実行して、シェーディング画像サンプルのパスに沿った少なくとも１つのプリミティブを識別するステップと、
前記シェーディング画像画素内で可視であるとして、第１のスクリーン画像画素のスクリーン画像サンプルにより識別されたプリミティブであって、且つ、前記シェーディング画像画素に関連付けられている前記シェーディング画像サンプルの前記パスに沿ったものとして識別されたプリミティブをシェーディングして、第１の色値を導出するステップと、
を含み、
前記シェーディング画像画素に属する、前記３Ｄモデルの第１のセットのスクリーン画像サンプルの各スクリーン画像サンプルに、前記第１の色値を割り当てるステップと、
前記第１のスクリーン画像画素の第２の色値を決定するために、前記第１のスクリーン画像画素に属する、前記３Ｄモデルの第２のセットのスクリーン画像サンプルの色値を平均化するステップであって、前記第１のスクリーン画像画素は、前記シェーディング画像画素に少なくとも部分的に一致し、前記第２のセットのスクリーン画像サンプルは、前記第１のセットのスクリーン画像サンプルとは異なり、前記第１のセットのスクリーン画像サンプルと、少なくとも１つのスクリーン画像サンプルを共有する、ステップと、
を含む方法。
【請求項２１】
モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、前記スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、前記第２の色値を決定する際に、前記スクリーン画像内の前記第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるステップ
を含む、請求項２０記載の方法。
【請求項２２】
前記スクリーン画像を表すスクリーン画像データを、別のデバイスに送信するステップ
を含む、請求項２０又は２１記載の方法。
【請求項２３】
コンピュータに請求項１５乃至１９いずれか一項記載の方法を実行させるコンピュータプログラム。
【請求項２４】
コンピュータに請求項２０乃至２２いずれか一項記載の方法を実行させるコンピュータプログラム。
【請求項２５】
請求項２３記載のコンピュータプログラムを記憶している記憶媒体。
【請求項２６】
請求項２４記載のコンピュータプログラムを記憶している記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
相対的に特殊化されたコンピュータベースの機能を実行することの一部として１回のみなされる、３次元（３Ｄ）モデルからの２次元（２Ｄ）コンピュータ生成画像（ＣＧＩ）のレンダリングが、動作コンピューティングデバイスのより一層の多くの側面でますます使用されている。特に、ビデオゲームが、そのような画像の最も普及している使用を提供し続けているが、それらの使用は、ウェブサイトにおいて、より一層増加している数々のデバイスのグラフィカルユーザインタフェース（ＧＵＩ）の一部として、定着し始めている。
【０００２】
グラフィックスレンダリングハードウェアの設計における進歩及びレンダリングアルゴリズムの効率性の増大が、３Ｄモデルに基づくＣＧＩのこの増加している使用のうちのほとんどを可能にしているが、このような進歩及び効率性の増大は、ポータブルデバイスにおいて一般的である処理リソース及び電力リソースにおける制限に完全に対処するほど十分なものではない。特に、グラフィックスプリミティブをシェーディングして、画像内のオブジェクトに色及びテクスチャを与える作業は、かなりの処理リソースを要求し続け、これが今度は、ポータブルデバイス内で通常見つけられるバッテリ及び／又は他の電源により提供される制限された電力リソースに関してかなりの要求を課している。さらに、ポータブルデバイスに組み込まれるディスプレイの画素解像度が増加し続けているので、そのような解像度の増加により引き起こされるシェーディングの量の指数的増大は、処理要件及び電力要件においてなされている低減を凌駕している。さらに、ＣＧＩにおける写実性の期待が高まっているので、シェーディングは、モーションブラー効果及び／又は被写界深度効果を実装することで、よりごく普通に拡張されるようになってきている。
【０００３】
以前の努力は、実行されるシェーディングの量を直接的に低減させるよう試みることにより、少なくとも、電力リソースに対するこのような増加している要求を制限するようなされていた。どのグラフィックスプリミティブ及び／又はグラフィックスプリミティブのどの部分が実際にシェーディングされる必要があるかの決定を行うための様々な技術が考え出されてきた。残念なことに、シェーディング負荷の一部を軽減させたとしても、このような以前の努力の多くは、皮肉にも電力リソース要件を増大させ得る、より一層の多くの特殊化されたグラフィックス処理装置（ＧＰＵ）を含むグラフィックスレンダリングハードウェアに対する広範な変更、及び／又は、複雑なバッファの生成及びソート等の機能をサポートするための、一般的なハードウェアベースのグラフィックスレンダリングパイプラインのアーキテクチャのかなりの変更を必要とする。
【図面の簡単な説明】
【０００４】
【図１】グラフィックスレンダリングシステムの例示的な実施形態を示す図。
【図２】グラフィックスレンダリングシステムの例示的な代替実施形態を示す図。
【図３】例示的な実施形態の一部を示す図。
【図４】３Ｄモデルのラスタ化の例示的な実施形態を示す図。
【図５Ａ】スクリーン空間とシェーディング空間との対応の例示的な実施形態を示す図。
【図５Ｂ】スクリーン空間とシェーディング空間との対応の例示的な実施形態を示す図。
【図６】シェーディング空間におけるシェーディングのための準備の例示的な実施形態を示す図。
【図７】シェーディング空間におけるシェーディングの例示的な実施形態を示す図。
【図８】サンプル色を平均化してスクリーン空間における画素色を導出する例示的な実施形態を示す図。
【図９】一実施形態に従った論理フローを示す図。
【図１０】一実施形態に従った論理フローを示す図。
【図１１】一実施形態に従った論理フローを示す図。
【図１２】一実施形態に従った処理アーキテクチャを示す図。
【図１３】グラフィックス処理システムの別の代替実施形態を示す図。
【図１４】デバイスの一実施形態を示す図。
【発明を実施するための形態】
【０００５】
様々な実施形態は、概して、スクリーン空間における効果の適用及びラスタ化することからシェーディングを分離すること（decoupling）、シェーディングの実行をシェーディング空間において後の段階に遅延させること、及び、シェーディングをサポートするＧバッファ及び／又は他の複雑なデータ構造の使用を回避することを含む、３Ｄモデルから２Ｄスクリーン画像をレンダリングすることにおいてプリミティブをシェーディングする処理要求を低減させるための技術を対象とする。細かいラスタ化（fine  rasterization）が、スクリーン画像のスクリーン画像画素において可視である、３Ｄモデルのプリミティブのジオメトリを識別して、シェーディングがそのような可視ジオメトリに制限されることを可能にするために使用される。次いで、粗いラスタ化（coarse  rasterization）が、スクリーン画像に対応するシェーディング画像の各シェーディング画像画素におけるシェーディングのための候補であり得る、３Ｄモデルの全てのプリミティブを識別するために使用される。シェーディングは、閲覧のためにスクリーン画像が生成されるスクリーン空間から分離されているシェーディング空間においてシェーディング画像に対して実行され、シェーディングの複雑さを低減させるために、スクリーン画像の画素解像度とは異なり得る、シェーディング画像の画素解像度でシェーディングが実行されることが可能になる。次いで、シェーディング画像画素について導出された色値が、スクリーン画像の画素に転換される。モーションブラー効果及び／又は被写界深度効果が、細かいラスタ化中に、又は、スクリーン画像への色値の転換の後に、適用され得る。
【０００６】
細かいラスタ化は、スクリーン画像の各スクリーン画像画素に複数のスクリーン画像サンプルが割り当てられる、確率的サンプリング、マルチサンプリング、レイトレーシング等を含む多様なタイプのサンプリングのうちの任意のサンプリングを使用して、スクリーン画像画素の位置においてスクリーン画像の視点から可視である、３Ｄモデルのプリミティブの一部を識別することができる。そのような可視プリミティブがこのように識別されたとき、各スクリーン画像サンプルを、可視プリミティブに対応付けるとともに、シェーディング画像のシェーディング画像画素に対応付けるデータ構造が生成され得る。このデータ構造は、シェーディング点識別子（ＳＰＩＤ：shading  point  identifier）から構成され得、ＳＰＩＤの各々は、各プリミティブに一意に割り当てられている識別子を参照することにより、１つのスクリーン画像サンプルを可視プリミティブに対応付ける。ＳＰＩＤの各々はまた、シェーディング画像内のシェーディング画像画素の座標を参照することにより、１つのスクリーン画像サンプルをシェーディング画像画素に対応付けることができる。
【０００７】
ＳＰＩＤの生成の後、ＳＰＩＤを解析して、各シェーディング画像画素につき１つのリストであるリストから構成されるデータ構造を生成することができる。各リストは、その関連付けられているシェーディング画像画素によりカバーされる領域に属するスクリーン画像サンプルにより識別された可視プリミティブの識別子を含み得る。各リストはまた、その関連付けられているシェーディング画像画素内の可視プリミティブの深度のインジケーションを含み得る。いくつかの実施形態において、ＳＰＩＤの各々が解析されたとき、各シェーディング画像画素について、当該シェーディング画像画素によりカバーされる領域内のスクリーン画像サンプルにより識別された可視プリミティブの間で見出された深度のうちの最大深度を示す別のデータ構造が生成され得る。代替的又は追加的に、各スクリーン画像サンプルを、シェーディング画像画素内の当該スクリーン画像サンプルに関連付けられている可視プリミティブをシェーディングすることから導出された色値が記憶されるアドレス位置であって、当該スクリーン画像サンプルの色値をシェーディング後に割り当てることができる元であるアドレス位置に対応付けるさらに別のデータ構造が生成されてもよい。
【０００８】
ＳＰＩＤの生成及び解析の後、粗いラスタ化及びシェーディングが、各シェーディング画像画素内の１つの可視プリミティブにつき１回、一緒に実行され得る。粗いラスタ化において、各シェーディング画像画素は、当該シェーディング画像画素によりカバーされる領域内に存在する、その一部を有する３Ｄモデルの全てのプリミティブを識別するために、相対的に広く鈍い（blunt）サンプルとして効果的に扱われる。当業者には認識可能なように、広く鈍いサンプルとして各シェーディング画像画素をそのように使用することは、粗いラスタ化を実行する際に、外側コンサバティブラスタ化（outer  conservative  rasterization）を使用することにより実現され得る。このサンプリングは、細かいラスタ化の一部として先に実行されたサンプリングと同じ視点から実行される。シェーディング画像画素の領域内に存在すると見出された各プリミティブについて、ＳＰＩＤからこの画素について先に生成された可視プリミティブのリストをチェックして、当該プリミティブが、そのシェーディング画像画素に属するスクリーン画像サンプルのうちの１つのスクリーン画像サンプルにより、スクリーン画像内の可視プリミティブとして識別されたとしてこのリストにあるかどうかを判定する。リストにある場合、シェーディングを実行して、そのシェーディング画像画素によりカバーされる領域内の当該プリミティブの色を導出し、その色を記憶する。リストにない場合、そのシェーディング画像画素によりカバーされる領域内の当該プリミティブについてはシェーディングが実行されない。いくつかの実施形態において、そのような各リストにおいて識別される可視プリミティブの間の最大深度を示す先に生成されたデータ構造を使用して、当該プリミティブがそのリストにおいて識別されているかどうかに関する判定が行われる効率性を上げることができる。
【０００９】
シェーディング画像の全ての画素にわたる可視プリミティブの全てについてシェーディングが実行された後、各シェーディング画像画素内の各可視プリミティブについて導出された色の色値が、スクリーン画像画素に転換される。前述したように、各ＳＰＩＤは、スクリーン画像サンプルのうちの１つのスクリーン画像サンプルを、可視プリミティブに対応付けているとともに、シェーディング画像画素に対応付けており、これらの対応付けを用いて、シェーディング中に各可視プリミティブについて導出された色値を、各ＳＰＩＤに関連付けられているスクリーン画像サンプルに割り当てることができる。代替的又は追加的に、各スクリーン画像サンプルを、シェーディング画像画素内のスクリーン画像サンプルに関連付けられている可視プリミティブをシェーディングすることから導出された色値が記憶されているアドレス位置に対応付けている先に生成されたデータ構造を使用することにより、各スクリーン画像サンプルに色が割り当てられる効率性を上げてもよい。
【００１０】
各スクリーン画像サンプルに、シェーディング中に導出された色が割り当てられる正確な方法にかかわらず、スクリーン画像サンプルを用いて、シェーディング中に導出された色をスクリーン画像画素に転換する。したがって、各スクリーン画像画素について、そのスクリーン画像サンプルの色値を、多様な方法のうちの任意の方法で平均化及び／又は合成して、当該スクリーン画像画素について１つの色値を導出することができる。以下でより詳細に説明するように、スクリーン画像画素及びシェーディング画像画素のサイズ及び／又は境界は、一致することもあるし一致しないこともある。より詳細には、いくつかの実施形態において、これらの間には、１対１の対応関係が存在し得る。しかしながら、他の実施形態において、シェーディング画像画素は、スクリーン画像画素より大きい且つ／又は小さいことがあり、且つ／又は、スクリーン画像の境界とシェーディング画像画素の境界とは整合しないことがある。結果として、スクリーン画像画素は、２以上のシェーディング画像画素からのサンプルを含む、スクリーン画像の領域をカバーすることがあり、したがって、各スクリーン画像画素に属するスクリーン画像サンプルの平均化は、複数のシェーディング画像画素からの色値を合成するように機能し得る。
【００１１】
スクリーン画像がモーションブラー効果及び／又は被写界深度効果を描写するよう意図される実施形態において、モーションブラー効果及び／又は被写界深度効果を適用することの一部として、スクリーン画像サンプルの色値を平均化することに加えて、又はこれに代えて、フィルタが使用されてもよい。いくつかの実施形態において、フィルタ自体が、モーションブラー効果及び／又は被写界深度効果を適用できる。しかしながら、他の実施形態において、モーションブラー効果及び／又は被写界深度効果は、スクリーン画像画素とＳＰＩＤとの対応付けにノイズを意図的に導入するために、ＳＰＩＤの生成中に適用され得る。当業者には認識可能なように、ノイズのそのような導入は、細かいラスタ化の実行中に、時間ディメンジョン（time  dimension）及び／又はレンズディメンジョン（lens  dimension）にわたる確率的サンプリングを含むがこれに限定されるものではない多様な技術のうちの任意の技術を使用することにより実現され得る。そのような他の実施形態において、各スクリーン画像画素についての１つの色値の導出中に使用されるフィルタは、そのようなノイズを導入する望ましくない影響を低減させるために、隣接スクリーン画像画素からの画素色値を含めることができる。
【００１２】
本明細書で使用される表記及び用語を一般的に参照しながら、以下の詳細な説明の諸部分が、コンピュータ上又はコンピュータのネットワーク上で実行されるプログラムプロシージャの観点で提示され得る。このようなプロシージャ的な記載及び表現は、当業者が、自身の研究の内容を他の当業者に最も効果的に伝えるために、当業者により使用される。プロシージャは、ここでは概して、所望の結果をもたらす自己矛盾のない一連の動作と考えられる。これらの動作は、物理量の物理的操作を必要とするものである。通常、必ずではないが、これらの物理量は、記憶、転送、合成、比較、及び他の操作が可能な電気信号、磁気信号、又は光信号の形態をとる。ありふれた使用を主とした理由として、これらの信号を、ビット、値、要素、記号、文字、用語、数等として指すことが、折に触れて便宜的であることが分かる。しかしながら、これらの用語及び同様の用語の全てが、適切な物理量に関連付けられ、これらの物理量に付与される単に便宜的なラベルに過ぎないことを理解されたい。
【００１３】
さらに、これらの操作は、人間のオペレータにより行われる知的活動に通常関連付けられる、追加する又は比較する等の観点でしばしば参照される。しかしながら、人間のオペレータのそのような能力は、１以上の実施形態の一部を形成する、本明細書に記載の動作のいずれにおいても、多くの場合、必要でないし望まれない。むしろ、これらの動作は、マシンの動作である。様々な実施形態の動作を実行する有用なマシンは、本明細書における教示に従って記述された記憶されているコンピュータプログラムにより選択的にアクティブ化又は構成される汎用デジタルコンピュータを含む、且つ／又は、必要とされる目的のために特別に構成される装置を含む。様々な実施形態はまた、これらの動作を実行する装置又はシステムにも関連する。これらの装置は、必要とされる目的のために特別に構成されてもよいし、汎用コンピュータを含んでもよい。これらの多様なマシンのために必要とされる構造は、以下で提供される説明から明らかになるであろう。
【００１４】
本明細書において図面が参照される。図面において、同様の参照符号は、全体を通じて同様の要素を指すために使用される。以下の説明において、説明の目的で、多数の具体的な詳細が、その完全な理解を提供するために記載されている。しかしながら、新規な実施形態は、これらの具体的な詳細がなくても実施できることが明らかであろう。他の例において、周知の構造及びデバイスが、その説明を容易にするために、ブロック図の形態で示されている。意図は、請求項の範囲内にある全ての変更形態、均等形態、及び代替形態を網羅することにある。
【００１５】
図１は、ソースデバイス３００、コンピューティングデバイス５００、及び閲覧デバイス（viewing  device）７００のうちの１以上を組み込むグラフィックスレンダリングシステム１０００の一実施形態のブロック図を示している。コンピューティングデバイス５００は、２次元（２Ｄ）スクリーン画像８８０の２Ｄ平面に投影された３次元（３Ｄ）モデル２８０の２Ｄスクリーン画像８８０を生成する。コンピューティングデバイス５００は、ソースデバイス３００から、規定された３Ｄ空間内の１以上のオブジェクトの３Ｄモデル２８０を表す３Ｄモデルデータ３３０を受信することができる。３Ｄモデルデータ３３０は、モデル２８０の１以上のオブジェクトを構成するプリミティブを直接的に指定することもあるし、これらのプリミティブの導出を可能にするのに十分な情報を含むこともある。
【００１６】
スクリーン画像８８０の生成の後、コンピューティングデバイス５００は、ディスプレイ５８０上にスクリーン画像８８０を提示することができる、且つ／又は、スクリーン画像８８０を表すスクリーン画像データ７３０を、閲覧デバイス７００のディスプレイ７８０上で提示されるように、閲覧デバイス７００に送信することができる。スクリーン画像データ７３０は、スクリーン画像８８０の各画素の色が多様なフォーマットのうちのいずれかのフォーマットで符号化され得る、スクリーン画像８８０のビットマップを含み得る。いくつかの実施形態において、スクリーン画像８８０の画素解像度は、ディスプレイ５８０及び／又はディスプレイ７８０の画素解像度に一致するように選択され得る。実際、いくつかの実施形態において、閲覧デバイス７００は、スクリーン画像８８０の画素解像度がディスプレイ７８０の画素解像度に一致するように設定されることを可能にするために、ディスプレイ７８０の画素解像度のインジケーションを、コンピューティングデバイス５００に提供することができる。
【００１７】
これらのコンピューティングデバイスの各々は、多様なタイプのコンピューティングデバイスのうちの任意のコンピューティングデバイスとすることができる。このようなコンピューティングデバイスは、デスクトップコンピュータシステム、データ入力端末、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、ハンドヘルドパーソナルデータアシスタント、スマートフォン、スマート眼鏡、スマート腕時計、デジタルカメラ、衣類に組み込まれる身体装着型コンピューティングデバイス、乗り物（例えば、自動車、自転車、車椅子等）に統合されるコンピューティングデバイス、サーバ、サーバのクラスタ、サーバファーム等を含むが、これらに限定されるものではない。
【００１８】
図示されるように、これらのコンピューティングデバイス３００、５００、及び７００は、ネットワーク９９９を介して、３Ｄモデル及び／又は２Ｄスクリーン画像を表すデータを伝達する信号を交換する。しかしながら、これらのコンピューティングデバイスのうちの１以上は、ネットワーク９９９を介して互いに且つ／又はさらに他のコンピューティングデバイス（図示せず）と、３Ｄモデルから２Ｄ画像をレンダリングすることに何ら関連しない他のデータを交換することもある。様々な実施形態において、ネットワークは、１つの建物又は他の比較的制限されたエリア内に延びるように可能であれば制限された１つのネットワークであってもよいし、相当な距離だけ可能であれば延びる接続ネットワークの組合せであってもよいし、且つ／又は、インターネットを含んでもよい。したがって、ネットワーク９９９は、信号を交換することができる多様な通信技術のうちの任意の通信技術（又は、そのような通信技術の組合せ）に基づき得る。そのようなネットワークは、電気伝導性ケーブリング及び／又は光伝導性ケーブリングを用いる有線技術と、赤外線、無線周波数、又は他の形態の無線伝送を用いる無線技術と、を含むが、これらに限定されるものではない。
【００１９】
様々な実施形態において、コンピューティングデバイス５００は、プロセッサコンポーネント５５０、ストレージ５６０、ディスプレイ５８０、コントローラ６００、及び、コンピューティングデバイス５００をネットワーク９９９に結合するインタフェース５９０のうちの１以上を組み込む。ストレージ５６０は、制御ルーチン５４０、３Ｄモデルデータ３３０、及び制御データ３３５のうちの１以上を記憶する。コントローラ６００は、プロセッサコンポーネント６５０及びストレージ６６０のうちの１以上を組み込む。ストレージ６６０は、評価ルーチン６４０、ＳＰＩＤデータ６３２、プリミティブリストデータ６３３、最大深度データ６３４、シェーディングアドレスデータ６３５、シェーディング色データ６３７、及びスクリーン画像データ７３０のうちの１以上を記憶する。
【００２０】
制御ルーチン５４０は、様々な機能を実行するロジックを実装するために、コンピューティングデバイス５００のメインプロセッサコンポーネントとしての役割を果たすプロセッサコンポーネント５５０上で動作可能な一連の命令を組み込む。制御ルーチン５４０を実行するにあたり、プロセッサコンポーネント５５０は、ソースデバイス３００から、ネットワーク９９９を介して、３Ｄモデルデータ３３０を受信することができ、３Ｄモデル２８０の少なくとも一部を表す、３Ｄモデルデータ３３０の少なくとも一部を、ストレージ５６０に記憶することができる。３Ｄモデルデータ３３０は、その２Ｄ画像を生成又は送信することを含む使用の前に、かなりの時間の間ストレージ５６０に記憶され得ることに留意されたい。いくつかの実施形態において、プロセッサコンポーネント５５０は、３Ｄモデルデータ３３０を解析して、１以上のオブジェクトの３Ｄモデル２８０を構成するプリミティブの少なくともサブセットを導出することができる。他の実施形態において、３Ｄモデルデータ３３０は、これらのプリミティブの詳細をより直接的に指定することができ、プロセッサコンポーネント５５０による上記解析を不要にする。スクリーン画像８８０を表すスクリーン画像データ７３０の生成の後、プロセッサコンポーネント５５０は、閲覧のために、ディスプレイ５８０上に画像８８０を視覚的に提示することができる、且つ／又は、スクリーン画像８８０が閲覧のためにディスプレイ７８０上に提示されることを可能にするために、スクリーン画像データ７３０を閲覧デバイス７００に送信することができる。
【００２１】
いくつかの実施形態において、プロセッサコンポーネント５５０は、３Ｄモデル２８０からスクリーン画像８８０を生成する際に使用する様々な構成パラメータのインジケーションを受信することができる。例えば、スクリーン画像８８０がディスプレイ７８０上での提示のために閲覧デバイス７００に送信される実施形態において、ディスプレイ７８０の画素解像度、色深度、フレームレート、及び／又は他のパラメータのインジケーションが、閲覧デバイス７００から（例えばネットワーク９９９を介して）受信され得る。別の例として、３Ｄモデル２８０に対するスクリーン画像８８０の平面及び／又は境界の位置及び／又は向きのインジケーションが、閲覧デバイス７００及び／又はさらに別のデバイス（図示せず）からネットワーク９９９を介して受信され得る。プロセッサコンポーネント５５０は、スクリーン画像８８０を生成する際のプロセッサコンポーネント６５０による使用のために、このようなパラメータのインジケーションを、制御データ３３５の一部として記憶することができる。代替的又は追加的に、画素解像度のインジケーションは、ディスプレイ７８０ではなく、ディスプレイ５８０のものであってもよい。
【００２２】
制御ルーチン６４０は、様々な機能を実行するロジックを実装するために、コンピューティングデバイス５００のコントローラ６００のコントローラプロセッサコンポーネントとしての役割を果たすプロセッサコンポーネント６５０上で動作可能な一連の命令を組み込む。評価ルーチン６４０を実行する際、プロセッサコンポーネント６５０は、３Ｄモデル２８０を表す３Ｄモデルデータ３３０から、スクリーン画像８８０を表すスクリーン画像データ７３０を生成する。より正確には、プロセッサコンポーネント６５０は、スクリーン画像８８０の平面への３Ｄモデル２８０の２Ｄ投影として、スクリーン画像８８０をレンダリングする。
【００２３】
図３は、３Ｄモデル２８０を表す３Ｄモデルデータ３３０からの、スクリーン画像８８０を表すスクリーン画像データ７３０の上記生成の例示的な実施形態を示している。図示されるように、制御ルーチン６４０は、細かいラスタ化コンポーネント６４２、シェーディング制約コンポーネント６４３、シェーディングアドレスコンポーネント６４５、粗いラスタ化コンポーネント６４６、シェーディングコンポーネント６４７、及び転換コンポーネント（resolving  component）６４８のうちの１以上を組み込むことができる。制御ルーチン６４０を実行する際、プロセッサコンポーネント６５０は、制御ルーチン６４０のコンポーネント６４２、６４３、６４５、６４６、６４７、及び６４８のうちの１以上を実行することができる。
【００２４】
細かいラスタ化コンポーネント６４２は、制御データ３３５から、３Ｄモデル２８０の１以上のオブジェクトに対する、スクリーン画像８８０の平面の位置及び向きのインジケーション、並びに、その平面内のスクリーン画像データ８８０の境界の位置及び向きのインジケーションを取得することができる。細かいラスタ化コンポーネント６４２は、次いで、スクリーン画像８８０の各画素について複数のサンプルを使用して３Ｄモデル２８０の１以上のオブジェクトのグラフィックスプリミティブをラスタ化する際に上記インジケーションを使用して、これらのプリミティブのうちのどのプリミティブが、スクリーン画像８８０内で少なくとも部分的に可視である可視プリミティブであるかを判定することができる。図４は、この細かいラスタ化の一例の態様をより詳細に示している。図示されるように、３Ｄモデルデータ３３０は、サイズ、形状、位置、及び／又は向き等の、プリミティブ２８２の様々な特性のインジケーションを含むプリミティブデータ３３２を組み込むことができる。当業者に知られているように、各プリミティブ２８２は、多様なタイプのポリゴンのうちの任意のポリゴンであり得る。このようなポリゴンの各々は、１つの平面内で延びるものであるが、典型的な３Ｄモデルにおけるプリミティブの大多数（必ずしも全てではない）は、三角形である。
【００２５】
細かいラスタ化を実行して、３Ｄモデル２８０のどのプリミティブ２８２が、スクリーン画像８８０内で少なくとも部分的に可視である可視プリミティブ８８２でもあるかを判定する際、細かいラスタ化コンポーネント６４２は、３Ｄモデル２８０に向けて（towards）、スクリーン画像８８０の各スクリーン画像画素８８５について多数のスクリーン画像サンプル８８８を投影することができる（多数のスクリーン画像サンプル８８８のうちの１つのスクリーン画像サンプルのみが、視覚的な明瞭さのために図示されている）。スクリーン画像画素８８８をこのように投影するにあたり、１つのスクリーン画像画素８８５当たりのスクリーン画像サンプル８８８の数を選択する際、及び、各スクリーン画像画素８８５によりカバーされる領域内のスクリーン画像サンプル８８８の位置を選択する際、多様なサンプリング技術のうちの任意のサンプリング技術を使用することができる。そのような技術は、スーパーサンプリング、マルチサンプリング、確率的サンプリング（モーションブラー効果及び／又は被写界深度効果を与えるための、時間ディメンジョン及び／又はレンズディメンジョンにわたる確率的サンプリングを含む）、及び／又はレイトレーシングを含むが、これらに限定されるものではない。各スクリーン画像サンプル８８８が、３Ｄモデル２８０に向けて（スクリーン画像８８０の平面から延び該平面に垂直である直線状に）投影されたとき、各スクリーン画像サンプル８８８によって遭遇される（encountered）、３Ｄモデル２８０の最初のプリミティブ２８２が、スクリーン画像８８０内で少なくとも部分的に可視である可視プリミティブ８８２になる。
【００２６】
上述したように、スクリーン画像８８０は、コンピューティングデバイス５００のディスプレイ５８０又は閲覧デバイス７００のディスプレイ７８０等のディスプレイ上に視覚的に提示されるように生成される。したがって、当業者に知られているように、スクリーン画像８８０及びスクリーン画像８８０を表すスクリーン画像データ７３０は、「スクリーン空間」において生成されると考えられている。なぜならば、画像データ７３０は、閲覧されることになる画像を表すからである。当業者に知られているように、シェーディングは、通常、スクリーン空間における画像を表す画像データの少なくとも一部を直接的に導出するためにラスタ化とともに実行され、したがって、シェーディングは、通常、「スクリーン空間において」実行されると考えられている。しかしながら、制御ルーチン６４０を実行する際、シェーディングは、スクリーン空間において実行される細かいラスタ化から分離され、スクリーン空間において細かいラスタ化とともに実行されないように、後の段階に遅延される。代わりに、プロセッサコンポーネント６５０は、制御ルーチン６４０を実行する際、スクリーン画像８８０に対応するがスクリーン画像８８０とは別の異なるシェーディング画像６８０であって閲覧されるようには意図されないシェーディング画像６８０を生成するシェーディングを実行する。より詳細には、分離され遅延されるシェーディングが、「シェーディング空間」においてシェーディング画像６８０を生成するために、粗いラスタ化とともに実行される。
【００２７】
シェーディング空間におけるシェーディング画像６８０のコンテンツの少なくともサブセットが、スクリーン空間におけるスクリーン画像８８０のコンテンツに匹敵する（parallel）。より詳細には、可視プリミティブ８８２の相対位置とスクリーン画像サンプル８８８の相対位置とが、スクリーン画像８８０とシェーディング画像６８０との間で対応する。さらに、画像８８０と画像６８０との両方のエッジを規定する境界が、これらの境界に対する可視プリミティブ８８２の位置とスクリーン画像サンプル８８８の位置とが対応し得るように、対応し得る。さらに、いくつかの実施形態において、スクリーン画像８８０のスクリーン画像画素８８５は、シェーディング画像６８０のシェーディング画像画素６８５と１対１の対応関係を有し得る。しかしながら、他の実施形態において、図４に示されるように、画素８８５と画素６８５とは、サイズの点で、且つ／又は各々がカバーする領域の境界のアライメント（alignment）の点で、対応し得ない。
【００２８】
図５Ａ及び図５Ｂは、スクリーン画像画素８８５のサイズ及び／又はスクリーン画像画素８８５の境界のアライメントが、シェーディング画像画素６８５のサイズ及び／又はシェーディング画像画素６８５の境界のアライメントに対応し得ない様々なやり方の例を示している。図５Ａを参照すると、スクリーン画像画素８８５の間で１６個のスクリーン画像サンプル８８８ａ〜８８８ｐの不規則的な割り当て（例えば、グリッド状ではない割り当て）により示されるように、確率的サンプリングが、細かいラスタ化コンポーネント６４２による細かいラスタ化の実行において使用されている。確認できるように、スクリーン画像サンプルのうちの４つのスクリーン画像サンプル８８８ｆ、８８８ｇ、８８８ｊ、及び８８８ｋが、スクリーン画像画素８８５のうちの１つのスクリーン画像画素によりカバーされる領域内で大部分に配置されている。しかしながら、図示されるように、スクリーン画像サンプルのうちの９つのスクリーン画像サンプル８８８ａ、８８８ｂ、８８８ｃ、８８８ｅ、８８８ｆ、８８８ｇ、８８８ｉ、８８８ｊ、及び８８８ｋが、シェーディング画像画素６８５のうちの少なくとも１つのシェーディング画像画素によりカバーされるより大きな領域内で大部分に配置されるように、シェーディング画像画素６８５のうちの少なくとも１つのシェーディング画像画素が、より大きな領域をカバーしている。
【００２９】
図５Ｂを参照すると、いくつかの実施形態において、シェーディング画像画素６８５のうちのいくつかのシェーディング画像画素が、シェーディング画像画素６８５のうちの他のシェーディング画像画素よりも、シェーディング画像６８０の領域のうちのより多くをカバーするように、シェーディング画像画素６８５のうちの異なるシェーディング画像画素は、異なるサイズであり得る。さらに、異なるサイズのシェーディング画像画素６８５のいずれも、スクリーン画像画素８８５のサイズと同じサイズでないことがあり得る。例えば、必要とされる処理リソースを低減させ、これに対応して、必要とされる電力リソースを低減させるためのアプローチとして、シェーディングされるシェーディング画像画素６８５の数全体を低減させようとする努力において、シェーディング画像６８０内の異なる位置において異なるサイズのシェーディング画像画素６８５を使用することが望ましいと考えられることがあり得る。詳細には、図示されるように、可視プリミティブ８８２の実質的に途切れのない広がりに一致する、シェーディング画像画素６８５のうちのより小さなサイズのシェーディング画像画素が、結合され得る。この結合は、１つの色のみを導出するための機会が提供されるように、このように結合されるシェーディング画像画素６８５の全てについて導出されることになる色が、実質的に類似することになるという想定に基づき得る。代替的又は追加的に、可視プリミティブ８８２のエッジに一致する、シェーディング画像画素６８５のうちのより大きなサイズのシェーディング画像画素が、シェーディング画像画素６８５のより多くの数のより小さなサイズのシェーディング画像画素に細分割され得る。この細分割は、エッジのいずれかのサイドの色が異なる傾向にあり、シェーディング画像画素６８５のうちの１以上のシェーディング画像画素のこのような細分割が、これらの色のより明瞭な描写を可能にすることにより、エッジが視覚的により明瞭にされることを可能にすることになるという想定に基づき得る。
【００３０】
図４に戻ると、細かいラスタ化コンポーネント６４２が、細かいラスタ化を実行して、可視プリミティブ８８２を識別するとき、細かいラスタ化コンポーネント６４２は、各スクリーン画像サンプル８８８についてシェーディング点識別子（ＳＰＩＤ）を生成し、ＳＰＩＤデータ６３２の一部として、ＳＰＩＤを記憶することができる。各ＳＰＩＤが、１つのスクリーン画像サンプル８８８のみに対応するように、ＳＰＩＤとスクリーン画像サンプル８８８との間には、１対１の対応関係が存在する。各ＳＰＩＤは、スクリーン画像サンプル８８８により識別された可視プリミティブ８８２についての識別子ｋと、スクリーン画像サンプル８８８が属する、シェーディング画像６８０内の領域をカバーするシェーディング画像画素６８５の座標ｓｘ，ｓｙと、このシェーディング画像画素６８５におけるこの可視プリミティブ８８２の深度ｓｚのインジケーションと、を含み得る。したがって、ＳＰＩＤは、スクリーン画像サンプル８８８を介して、スクリーン空間におけるスクリーン画像８８０のスクリーン画像画素８８５を、シェーディング空間におけるシェーディング画像６８０のシェーディング画像画素６８５に対応付けるメカニズムを提供する。以下でより詳細に説明するように、この対応付けを用いて、シェーディング画像６８０のシェーディングの後に、シェーディング画像６８０からスクリーン画像８８０に色値を転換する。
【００３１】
いくつかの実施形態において、細かいラスタ化コンポーネント６４２は、シェーディング画素規定コンポーネント６４２２を含み得る。シェーディング画素規定コンポーネント６４２２は、各スクリーン画像画素８８５内で可視であると見出された可視プリミティブ８８２の数を解析し、スクリーン画像画素８８５に対する、シェーディング画像画素６８５のうちの１以上のシェーディング画像画素６８５のサイズを変えて、この１以上のシェーディング画像画素６８５の各シェーディング画像画素内で可視である可視プリミティブ８８２の数を制御する。より正確には、シェーディング画素規定コンポーネント６４２２は、スクリーン画像画素８８５のサイズよりも大きい又は小さいものであり得る、シェーディング画像画素６８５の全てについての１つの共通サイズを決定することができる。代替的又は追加的に、シェーディング画素規定コンポーネント６４２２は、シェーディング画像画素６８５が可変サイズであり得るように、図５Ｂに示されているように、シェーディング画像画素６８５のうちの１以上のシェーディング画像画素６８５を結合及び／又は細分割してもよい。図５を参照して説明したように、シェーディング画像画素６８５の少なくともサブセットによりカバーされる、シェーディング画像６８０の領域を変えることは、実行されるシェーディングの処理要件（したがって電力要件）を低減させることができる。
【００３２】
いくつかの実施形態において、細かいラスタ化コンポーネント６４２は、効果コンポーネント６４２３を含み得る。効果コンポーネント６４２３は、モーションブラー効果及び／又は被写界深度効果を与えるように、ＳＰＩＤが生成される方式を変更する。例えば、３Ｄモデル２８０に向けてスクリーン画像サンプル８８８を投影してスクリーン画像８８０内の可視プリミティブ８８２を識別するために、細かいラスタ化コンポーネント６４２により確率的サンプリングが使用される場合、効果コンポーネントは、スクリーン画像サンプル８８８のうちの少なくとも一部に時間ディメンジョン（temporal  dimension）を与えて、画像８８０内で描写される動きに応じてスクリーン画像サンプル８８８のうちの少なくとも一部を時系列に配置することにより、モーションブラーを導入することができる。より詳細には、スクリーン画像サンプル８８８のうちの少なくとも一部の識別子ｋが、これらのスクリーン画像サンプル８８８に関連するある程度のノイズを可視プリミティブ８８２に導入するように、これらの間で再配分（redistributed）され得、これによりブラーを生じさせる。識別子ｋのこのような再配分は、適用されるモーションブラーの程度に応じて、複数のスクリーン画像画素８８５のスクリーン画像サンプル８８８の間で実行されることもあるし、又は、１つのスクリーン画像画素８８５内のスクリーン画像サンプル８８８の間で実行されることに制限されることもある。別の例として、確率的サンプリングが、再度、細かいラスタ化コンポーネント６４２により使用される場合、効果コンポーネント６４２３は、スクリーン画像サンプル８８８のうちの少なくとも一部にレンズ座標を与えて、レンズパラメータに応じてスクリーン画像サンプル８８８のうちの少なくとも一部を配置することにより、被写界深度効果を導入することができる。
【００３３】
図３に戻ると、細かいラスタ化コンポーネント６４２によるＳＰＩＤデータ６３２のＳＰＩＤの生成の後、シェーディング制約コンポーネント６４３は、ＳＰＩＤデータ６３２の各ＳＰＩＤを取得及び解析して、各シェーディング画像画素６８５内で可視であるとして、スクリーン画像サンプル８８８により検出された可視プリミティブ８８２のリストを導出する。図６は、そのような画素ごとのリストを生成する一例の態様をより詳細に示している。より詳細には、各シェーディング画像画素６８５について、シェーディング制約コンポーネント６４３は、（スクリーン画像サンプル８８８により検出された、）当該画素６８５によりカバーされる、シェーディング画像６８０の領域内で可視である可視プリミティブ８８２の全てを含むリストを生成し、プリミティブリストデータ６３３の一部として、当該シェーディング画像画素６８５についてのこのリストを記憶する。図示されるように、各シェーディング画像画素６８５についてのこのようなリストは、当該シェーディング画像画素６８５内で可視である可視プリミティブ８８２を識別する識別子ｋａ，ｋｂ，．．．から構成され得る。プリミティブリストデータ６３３のリストを生成するために、シェーディング制約コンポーネント６４３は、各ＳＰＩＤから座標ｓｘ，ｓｙを取得して、ＳＰＩＤがどのシェーディング画像画素６８５に関連付けられているかを識別し、次いで、ＳＰＩＤが関連付けられている可視プリミティブ８８２の識別子ｋを取得し、次いで、取得した座標ｓｘ，ｓｙにより識別されるこのシェーディング画像画素６８５についての、プリミティブリストデータ６３３内のリストに、取得した識別子ｋを追加することができる。
【００３４】
プリミティブリストデータ６３３内のそのような各リストは、対応するシェーディング画像画素６８５内で可視である各可視プリミティブ８８２が、この対応するシェーディング画像画素６８５に関連付けられているＳＰＩＤのうちのどれだけの数のＳＰＩＤがこの同じ可視プリミティブ８８２を参照するかにかかわらず、プリミティブリストデータ６３３内で１回のみリストされるコンパクトなリストであり得る。いくつかの実施形態において、シェーディング制約コンポーネント６４３は、重複する識別子を追加することを回避するために、ＳＰＩＤにおいて指定されている識別子ｋがプリミティブリストデータ６３３内のリストにまだリストされていないかどうかを、プリミティブリストデータ６３３内のリストに、ＳＰＩＤにおいて指定されている識別子ｋを追加することの条件とすることができる。他の実施形態において、シェーディング制約コンポーネント６４３は、識別子ｋがプリミティブリストデータ６３３内のリストに既にリストされているかどうかにかかわらず、シェーディング制約コンポーネント６４３がＳＰＩＤデータ６３２のＳＰＩＤの全てを反復処理するときに、プリミティブリストデータ６３３内のリストに識別子ｋを追加することができ、次いで、重複する識別子を除去するために、プリミティブリストデータ６３３内のリストの全てを後で反復処理することができる。
【００３５】
ＳＰＩＤデータ６３２が生成される前に、各シェーディング画像画素６８５に属するスクリーン画像サンプル８８８の数が既知であり得るが、シェーディング画像画素６８５のうちのあらゆるシェーディング画像画素６８５内で可視である可視プリミティブ８８２の数は、ＳＰＩＤが解析されるまで、認識することができない。したがって、プリミティブリストデータ６３３内の各リストは、多様なタイプのデータ構造のうちの任意のデータ構造を使用して実装され得るが、連結リストデータ構造等の、各リストを実装するために全体サイズが可変であるデータ構造を使用することが望ましいと考えられることがあり得る。代替的に、各配列のサイズが、シェーディング画像画素６８５のうちの１つのシェーディング画像画素内で可視である可能性が高いと考えられ得る、最大可能数の可視プリミティブ８８２を収容するのに十分大きいように選択される、多様な配列型データ構造のうちの任意の配列型データ構造が使用されてもよい。いくつかの実施形態において、シェーディング制約コンポーネント６４３が、ＳＰＩＤデータ６３２のＳＰＩＤを解析するとき、シェーディング制約コンポーネント６４３はまた、各シェーディング画像画素６８５について、当該シェーディング画像画素６８５に属するスクリーン画像サンプル８８８により当該シェーディング画像画素６８５内で可視であるとして検出された可視プリミティブ８８２のうちのいずれかにより到達される（スクリーン画像８８０の平面の視点からの）最深深度Ｚｍａｘのインジケーションを、最大深度データ６３４に記憶することができる。
【００３６】
いくつかの実施形態において、ＳＰＩＤデータ６３２のＳＰＩＤはまた、ＳＰＩＤデータ６３２において指定されている各シェーディング画像画素６８５内で可視である各可視プリミティブ８８２についてシェーディング中に導出されることになる色を示す色値が記憶される、ストレージ６６０内の位置を指定するアドレスを導出するために、シェーディングアドレスコンポーネント６４５により取得及び解析され得る。シェーディングアドレスコンポーネント６４５は、１つのＳＰＩＤ当たり１つのインジケーションであるこれらのアドレスのインジケーションを、シェーディングアドレスデータ６３５として記憶することができる。前述したように、サンプル８８８とＳＰＩＤデータ６３２のＳＰＩＤとの間には、１対１の対応関係が存在する。したがって、各ＳＰＩＤについてこれらのアドレスのうちの１つのアドレスを導出する際、シェーディングアドレスコンポーネント６４５は、各サンプル８８８について、シェーディング画像６８０のシェーディングの後に当該サンプル８８８についての色を示す色値を取得することができる取得元である、ストレージ６６０内のアドレスを原則的に導出する。
【００３７】
図３に戻ると、最大深度データ６３４及び／又はシェーディングアドレスデータ６３５が生成されないとしても、少なくともプリミティブリストデータ６３３の生成の後、粗いラスタ化コンポーネント６４６は、スクリーン画像８８０の同じ平面の同じ視点から、３Ｄモデル２８０の別のラスタ化を実行するが、シェーディング画像６８０がその視点に代用される。１つのシェーディング画像画素６８５につき１つのシェーディング画像サンプル６８８しか使用されず、各シェーディング画像画素６８５における１つのシェーディング画像サンプル６８８が、その関連付けられているシェーディング画像画素６８５によりカバーされる、シェーディング画像６８０の領域全体をカバーするように実効的に広げられるという理由のため、このラスタ化は、粗いラスタ化である。粗いラスタ化コンポーネント６４６のこの粗いラスタ化において、各シェーディング画像画素６８５の１つのより広いシェーディング画像サンプル６８８が、３Ｄモデル２８０に至るまで幅広く投影されるこのシェーディング画像サンプル６８８のパスに沿って存在する、３Ｄモデル２８０の全てのプリミティブ２８２を、これらのプリミティブ２８２が可視であるか否かにかかわらず、検出するために使用される。シェーディング画像サンプル６８８のパスとスクリーン画像サンプル８８８のパスとが、互いに平行に投影されるように、このより粗いシェーディング画像サンプル６８８は、より細かいスクリーン画像サンプル８８８と同じ平面に垂直に投影されることに留意されたい。各シェーディング画像サンプル６８８のパスに沿ったプリミティブの全てが識別されるとともに、このパスに沿った各プリミティブ２８２の平面の向きに関する他のデータ、このパスに沿った各プリミティブ２８２の深度、及び／又はシェーディングに関連するさらに他の情報が、当該シェーディング画像サンプル６８８を使用して取得される。
【００３８】
したがって、細かいラスタ化コンポーネント６４２により実行される細かいラスタ化及び粗いラスタ化コンポーネント６４６により実行される粗いラスタ化はそれぞれ、性質において非常に異なり、非常に異なる機能を提供する。上述したように、細かいラスタ化コンポーネント６４２の細かいラスタ化は、１つのスクリーン画像画素８８５につき、はるかに狭いスクリーン画像サンプル８８８のうちの複数のスクリーン画像サンプルを使用して、３Ｄモデル２８０のプリミティブ２８２のうちのどのプリミティブが可視プリミティブ８８２であるかを識別する。また、複数のより狭いスクリーン画像サンプル８８８のそのような使用は、各スクリーン画像画素８８５内で可視である各可視プリミティブ８８２によりカバーされる、各スクリーン画像画素８８５の領域の相対的割合のインジケーションを提供する。反対に、粗いラスタ化コンポーネント６４６の粗いラスタ化は、１つのシェーディング画像画素６８５につき、より広いシェーディング画像サンプル６８８を１つのみ使用して、そのシェーディング画像サンプル６８８のパスに沿って存在する全てのプリミティブ２８２を識別し、シェーディングを可能にすることに関連する、そのパスに沿ったプリミティブ２２８ごとのさらなる情報を取得する。
【００３９】
細かいラスタ化コンポーネント６４２の細かいラスタ化のスクリーン画像サンプル８８８は、可視プリミティブ８８２をシェーディングすることに関連するさらなる情報を取得するために使用され得るものではあるが、シェーディング空間においてシェーディングが別個に実行されるという事実は、一般的に「Ｇバッファ」と呼ばれる比較的大きなデータ構造に、スクリーン画像サンプル８８８の全てについてシェーディングすることに関連するそのような情報を記憶することを必要とするであろう。典型的なグラフィックスレンダリングシステムのためのハードウェアアーキテクチャの分野における当業者に知られているように、１つのスクリーン画像サンプル８８８につき非常に多くの異なる情報を記憶するためのそのような大きく複雑なデータ構造の生成は、ストレージ５６０の効率的な使用を行う形でそのようにするのはしばしば不可能である。より詳細には、そのようなデータ構造のエントリを埋めることは、効率的にキャッシュするのが難しい、又は、グラフィックスレンダリングシステムの記憶位置の典型的な行−列編成の効率的な使用を行うように編成するのが難しい、連続したアクセス動作をしばしば必要とする。実際、粗いラスタ化コンポーネント６４６の粗いラスタ化等の第２の異なるラスタ化プロセスを実行して、シェーディングに関連する情報を、該情報を記憶するよう試みる代わりに、このシェーディングが実行されるときに取得することが、実により効率的であり得る。
【００４０】
したがって、粗いラスタ化コンポーネント６４６が、各プリミティブ２８２及び各シェーディング画像サンプル６８８を進むときに、粗いラスタ化コンポーネント６４６は、当該シェーディング画像サンプル６８８のパスに沿った全てのプリミティブ２８２に関する情報とともに、これらのプリミティブ２８２に関する、シェーディングに関連する情報を、当該シェーディング画像サンプル６８８に関連付けられているシェーディング画像画素６８５内でシェーディングを実行する際の使用のために、シェーディングコンポーネント６４７に提供する。
【００４１】
図７は、シェーディング画像６８０をシェーディングする一例の態様をより詳細に示している。各シェーディング画像画素６８５について、シェーディングコンポーネント６４７は、当該シェーディング画像画素６８５から生じたシェーディング画像サンプル６８８のパスに沿って検出された各プリミティブ２８２を、１つずつ、プリミティブがそのように検出された順番で、条件付きでシェーディングすることができる。シェーディングコンポーネント６４７により課せられる条件は、シェーディング画像サンプル６８８により検出された各プリミティブ２８２が、関連付けられているシェーディング画像画素６８５内で可視であると、細かいラスタ化において以前に判定されていたか否かということであり得る。すなわち、シェーディング画像サンプル６８８のパスに沿って検出された各プリミティブ２８２について、シェーディングコンポーネント６４７は、そのシェーディング画像サンプル６８８に関連付けられているシェーディング画像画素６８５についての、プリミティブリストデータ６３３内のリストをチェックして、当該検出されたプリミティブ２８２が、そのシェーディング画像画素６８５内の可視プリミティブ８８２としてリストされているか否かを判定することができる。そのシェーディング画像画素６８５について、シェーディングコンポーネント６４７は、次いで、そのシェーディング画像サンプル６８８のパスに沿って検出されたプリミティブ８８２であって、且つ、そのリストにリストされているプリミティブ８８２のみをシェーディングすることができ、そのシェーディング画像画素６８５についてそのようなシェーディングにより導出された色のインジケーションを、シェーディング色データ６３７として記憶する。
【００４２】
より正確には、各シェーディング画像画素６８５について、シェーディングコンポーネント６４７は、当該シェーディング画像画素６８５に関連付けられているシェーディング画像サンプル６８８のパスに沿って検出された各プリミティブ２８２の識別子ｋを受信することができる。シェーディングコンポーネント６４７は、次いで、当該シェーディング画像画素６８５についての、プリミティブリストデータ６３３内の可視プリミティブの識別子ｋａ，ｋｂ，．．．のリストをチェックして、そのパスに沿って検出されたプリミティブ２８２のうちのどのプリミティブが、そのリスト内で合致する識別子を有するかを識別することができる。プリミティブリストデータ７３３内のそのリストにおける合致により、そのパスに沿って検出されたプリミティブ２８２のうちの１つのプリミティブが、当該シェーディング画像画素６８５内で可視である可視プリミティブ８８２として識別される。シェーディングコンポーネント６４７は、次いで、そのパスに沿って検出されたプリミティブ２８２であって、且つそのリストにおいて合致が存在するプリミティブ２８２の各々のシェーディングを実行し、それらのシェーディングされたプリミティブ２８２の各々について導出された色値を、シェーディング色データ６３７に記憶する。
【００４３】
前述したように、シェーディング画像画素６８５のうちの１つのシェーディング画像画素６８５についての、プリミティブリストデータ６３３の各リストは、その１つのシェーディング画像画素６８５のより小さな部分内でも可視である各可視プリミティブ８８２についての識別子を含む。当業者に知られているように、各画素６８５内の特定の可視プリミティブ８８２のシェーディングの、その特定の可視プリミティブ８８２の識別子ｋが当該画素６８５についてのリストにあるかどうかの条件付けは、シェーディングコンポーネント６４７により実行されるシェーディングが、画素ごとの形式の外側コンサバティブシェーディング（outer  conservative  shading）として分類され得ることを意味する。より詳細には、可視プリミティブ８８２の一部であるように可視である、３Ｄモデル２８０のプリミティブ２８２についてのみシェーディングが実行されるという意味で、このシェーディングは、「コンサバティブ」である。しかしながら、各可視プリミティブ８８２の小さな部分のみが画素内６８５内で可視であるとしても、各可視プリミティブ８８２が画素６８５内でシェーディングされるという理由のため、このシェーディングは、各可視プリミティブ８８２の境界の「外側」限界を含む。
【００４４】
最大深度データ６３４が生成される実施形態において、シェーディングコンポーネント６４７が、シェーディング画像サンプル６８８のパスに沿って検出されたプリミティブ２８２をシェーディングするかどうかを判定する速さは、シェーディングコンポーネント６４７が、そのような検出された各プリミティブ２８２の深度を、そのシェーディング画像サンプル６８８に関連付けられているシェーディング画像画素６８５についての、最大深度データ６３５において示される最大深度Ｚｍａｘに対してチェックすることにより、増大され得る。そのシェーディング画像サンプル６８８のパスに沿って検出されたプリミティブ２８２の深度が、関連付けられているシェーディング画像画素６８５についての最大深度Ｚｍａｘより大きい場合、当該検出されたプリミティブ２８２は、そのシェーディング画像画素６８５内で可視でなく、当該検出されたプリミティブ２８２の識別子を、そのシェーディング画像画素６８５についての、プリミティブリストデータ６３３内のリストにおける１以上の識別子に対してチェックする際にさらなる処理リソースを使用する必要がない。一方、当該検出されたプリミティブ２８２の深度が、そのシェーディング画像画素６８５についての最大深度Ｚｍａｘ以下である場合、当該検出されたプリミティブ２８２は、そのシェーディング画像画素６８５内で可視である可能性があるので、シェーディングコンポーネント６４７は、当該検出されたプリミティブ２８２の識別子を、そのリストにおける識別子と比較して、当該検出されたプリミティブ２８２が、そのシェーディング画像画素６８５内で可視であるかどうかを判定し得る。
【００４５】
シェーディングコンポーネント６４７により実行されるシェーディングが、１つのシェーディング画像画素６８５ごとに１つの可視プリミティブ８８２当たり１つの色を導出することを所与とすると、各シェーディング画像画素６８５についてシェーディングコンポーネント６４７により２以上の色が導出され得る。より正確には、各シェーディング画像画素６８５について導出される色の数は、当該シェーディング画像画素６８５内で可視である可視プリミティブ８８２の数に等しい。したがって、例えば、特定のシェーディング画像画素６８５内で可視である３つの可視プリミティブ８８２が存在する場合、シェーディングコンポーネント６４７は、この画素について３回シェーディングを実行し（この画素内で可視である３つの可視プリミティブ８８２の各々につき１回ずつ）、３つの色値（この画素内で可視である３つの可視プリミティブ８８２の各々につき１つの色値）が、この特定のシェーディング画像画素６８５について、シェーディング色データ６３７に記憶される。
【００４６】
各シェーディング画像画素６８５内で可視である可視プリミティブ８８２の数と各シェーディング画像画素６８５についてシェーディングコンポーネント６４７により導出される色の数との間のこの１対１の対応関係の結果として、シェーディング色データ６３７は、プリミティブリストデータ６３３内の画素ごとの識別子のリストとは異なり、色値のリストであって、画素６８５ごとに１つのリストが生成されるリストから構成され得る。実際、シェーディング色データ６３７は、１つのシェーディング画像画素６８５ごとに１つのリストが存在する、色のリスト（例えば、図示されるような、色ａ，色ｂ，．．．）から構成され得、これらのリストは、プリミティブリストデータ６３３内の可視プリミティブ８８２の識別子のリスト（例えば、図示されるような、ｋａ，ｋｂ，．．．）（例えば、シェーディング画像画素６８５ごとの連結リスト）を実装する際に使用されるタイプと類似するタイプのデータ構造を使用して実装される。いくつかの実施形態において、プリミティブリストデータ６３３とシェーディング色データ６３７とは、各リストにおける可視プリミティブ８８２の各識別子ｋに、シェーディングコンポーネント６４７によりシェーディングが実行された結果としての対応する色値が付随し得るように、結合され得る。
【００４７】
図３に戻ると、シェーディングコンポーネント６４７によるシェーディングの実行の後、転換コンポーネント６４８は、スクリーン画像サンプル８８８を用いて、シェーディング画像画素６８５の色から、スクリーン画像画素８８５の色を導出する。そうする際、転換コンポーネント６４８はまた、スクリーン画像８８０がモーションブラー効果及び／又は被写界深度効果を描写する実施形態において前述したように、１以上のフィルタを実装して、モーションブラー効果を与える、被写界深度効果を与える、且つ／又は、ＳＰＩＤの生成中に、モーションブラー効果及び／又は被写界深度効果の実装からノイズ成分を除去することができる。図８は、シェーディング画像画素６８５からスクリーン画像画素８８５に画素色値を転換する一例の態様をより詳細に示している。
【００４８】
前述したように、スクリーン画像サンプル８８８は、互いに対する対応する位置と、スクリーン画像８８０及びシェーディング画像６８０の各画像内の可視プリミティブ８８２の位置に対する対応する位置と、を有し、それにより、シェーディング画像画素６８５の１以上の色値をスクリーン画像画素８８５に転換するためにスクリーン画像サンプル８８８が使用されることを可能にする。前述したように、各スクリーン画像サンプル８８８は、関連付けられているスクリーン画像サンプル８８８により検出された可視プリミティブ８８２の識別子を含むＳＰＩＤに関連付けられている。さらに前述したように、各シェーディング画像画素６８５についてシェーディング画像のシェーディングにより２以上の色値が導出され得、具体的には、当該シェーディング画像画素６８５内で可視である１つの可視プリミティブ８８２につき１つの色値が存在する。したがって、スクリーン画像画素８８５への転換のためにシェーディング画像画素６８５から各スクリーン画像サンプル８８８に割り当てられる色値は、当該スクリーン画像サンプル８８８に関連付けられているＳＰＩＤにおいて識別された可視プリミティブ８８２についてこのシェーディング画像画素６８５内で導出された色値である。
【００４９】
シェーディングアドレスデータ６３５がシェーディングアドレスコンポーネント６４５により先に生成されている実施形態において、スクリーン画像サンプル８８８への色値の割り当てを実施するために、転換コンポーネント６４８は、シェーディングアドレスデータ６３５から、各スクリーン画像サンプル８８８についての色値を取得することができる取得元のアドレスを取得する。再度、各スクリーン画像サンプル８８８について、シェーディングアドレスデータ６３５内のその関連付けられているアドレスは、当該スクリーン画像サンプル８８８が属するシェーディング画像画素６８５内で当該スクリーン画像サンプル８８８により検出された可視プリミティブ８８２について導出された色値を取得することができる位置を示す。転換コンポーネント６４８は、次いで、これらのアドレスを使用して、スクリーン画像画素８８５の各スクリーン画像画素内に属するスクリーン画像サンプル８８８についての色値を取得する。
【００５０】
しかしながら、シェーディングアドレスデータ６３５がシェーディングアドレスコンポーネント６４５により先に生成されていない実施形態において（例えば、シェーディングアドレスコンポーネント６４５を含まない実施形態において）、スクリーン画像サンプル８８８への色値の割り当ては、転換コンポーネント６４８が、ＳＰＩＤデータ６３２から、各スクリーン画像サンプル８８８に関連付けられているＳＰＩＤを取得することにより実施され得る。転換コンポーネント６４８は、各スクリーン画像サンプル８８８に関連付けられているＳＰＩＤから、当該スクリーン画像サンプル８８８が属するシェーディング画像画素６８５の座標ｓｘ，ｓｙと、細かいラスタ化コンポーネント６４２により実行された細かいラスタ化中に当該スクリーン画像サンプル８８８により検出された可視プリミティブ８８２の識別子ｋと、を取得する。転換コンポーネント６４８は、各スクリーン画像サンプル８８８について取得された座標ｓｘ，ｓｙと識別子ｋとを使用して、当該スクリーン画像サンプル８８８に割り当てられる色値を取得することができる取得元のアドレスを導出する。
【００５１】
スクリーン画像サンプル８８８に、シェーディング画像６８０の先のシェーディングにより導出された色値が割り当てられる正確な方法にかかわらず、モーションブラー効果又は被写界深度効果が画像８８０内で描写されない実施形態において、転換コンポーネント６４８は、各スクリーン画像画素８８５に属するスクリーン画像サンプル８８８の画素色値を平均化するサンプル平均化コンポーネント６４８７を組み込んで、当該スクリーン画像画素８８５についての色値を導出することができる。しかしながら、モーションブラー効果又は被写界深度効果が画像８８０内で描写される実施形態においては、転換コンポーネント６４８は、フィルタを適用して、各スクリーン画像画素８８５の色値を、当該スクリーン画像画素８８５に属するスクリーン画像サンプル８８８と当該スクリーン画像画素８８５に隣接するスクリーン画像画素８８５に属するスクリーン画像サンプル８８８との組合せとすることができるものから、導出することができる。
【００５２】
一例としてより詳細には、細かいラスタ化コンポーネント６４２が、ＳＰＩＤデータ６３２のＳＰＩＤの生成中にモーションブラーを導入する効果コンポーネント６４２３を含む実施形態において、転換コンポーネント６４８は、ＳＰＩＤの間で可視プリミティブ８８２の識別子ｋを再配分する際に、効果コンポーネント６４２３により導入されるノイズから生じる望ましくないアーチファクトを低減させるフィルタリングコンポーネント６４８８を組み込むことができる。そのようなフィルタリングを実行する際、フィルタリングコンポーネント６４８８は、各スクリーン画像画素８８５の色値を、当該スクリーン画像画素８８５に属するスクリーン画像サンプル８８８から導出するときに、重み付き平均を用いて、選択された程度に、隣接スクリーン画像画素８８５のスクリーン画像サンプル８８８の色値を含めることができる。
【００５３】
各スクリーン画像画素８８５の色値を導出する際に平均化及び／又はフィルタリングが使用されるかどうかにかかわらず、転換コンポーネント６４８は、スクリーン画像データ７３０の一部として、スクリーン画像画素８８５の各々についての色値を記憶する。スクリーン画像データ７３０に記憶された、各スクリーン画像画素８８５の値を用いると、スクリーン画像データ７３０は、スクリーン画像８８０の表現になる。図１に戻ると、前述したようにスクリーン画像８８０を表現するスクリーン画像データ７３０の生成の後、プロセッサコンポーネント５５０は、ディスプレイ５８０上に画像８８０を提示することができる。代替的又は追加的に、プロセッサコンポーネント５５０は、ディスプレイ７８０等の別のディスプレイ上での画像８８０の提示を可能にするために、閲覧デバイス７００等の別のデバイスにスクリーン画像データ７３０を送信するようにインタフェース５９０を動作させてもよい。
【００５４】
様々な実施形態において、閲覧デバイス７００は、プロセッサコンポーネント７５０、ストレージ７６０、ディスプレイ７８０、及び、閲覧デバイス７００をネットワーク９９９に結合するインタフェース７９０のうちの１以上を組み込む。ストレージ７６０は、制御ルーチン７４０及びスクリーン画像データ７３０のうちの１以上を記憶する。制御ルーチン７４０は、様々な機能を実行するロジックを実装するために、閲覧デバイス７００のメインプロセッサコンポーネントとしての役割を果たすプロセッサコンポーネント７５０上で動作可能な一連の命令を組み込む。いくつかの実施形態において、制御ルーチン７４０を実行する際、プロセッサコンポーネント７５０は、ディスプレイ７８０の画素解像度のインジケーションをコンピューティングデバイス５００に送信するように、インタフェース７９０を動作させることができる。前述したように、そのようなインジケーションは、制御データ３３５の一部として、コンピューティングデバイス５００に記憶され得、スクリーン画像８８０をレンダリングする１以上の態様で（例えば、スクリーン画像８００の画素解像度を設定するために）後で使用される。代替的又は追加的に、プロセッサコンポーネント７５０は、コンピューティングデバイス５００が、上述したように、スクリーン画像８８０をレンダリングした後、コンピューティングデバイス５００から、スクリーン画像８８０を表すスクリーン画像データ７３０を受信するように、インタフェース７９０を動作させてもよい。プロセッサコンポーネント７５０は、次いで、ディスプレイ７８０上にモーションスクリーン画像８８０を視覚的に提示することができる。
【００５５】
図２は、コンピューティングデバイス５００の代替実施形態を含むグラフィックスレンダリングシステム１０００の代替実施形態のブロック図を示している。図２のグラフィックスレンダリングシステム１０００の代替実施形態は、多くの点で図１の実施形態に類似しているので、同様の参照符号が、全体を通じて同様の要素を指すために使用されている。しかしながら、図１のコンピューティングデバイス５００とは異なり、図２のコンピューティングデバイス５００は、コントローラ６００を組み込んでいない。したがって、図１のコンピューティングデバイス５００とは異なり、図２のコンピューティングデバイス５００においては、プロセッサコンポーネント５５０が、制御ルーチン６４０を実行する別のプロセッサコンポーネント６５０が存在する代わりに、制御ルーチン６４０を実行する。したがって、図２のグラフィックスレンダリングシステム１０００の代替実施形態において、プロセッサコンポーネント５５０が、プロセッサコンポーネント６５０による制御ルーチン６４０の実行に関して上述したのと類似する方法で、ラスタ化、シェーディング、及び色値の転換を含む、スクリーン画像８８０のレンダリングを実行する。
【００５６】
様々な実施形態において、プロセッサコンポーネント５５０及び６５０の各々は、多種多様な商用利用可能なプロセッサのうちの任意のプロセッサを含み得る。また、これらのプロセッサコンポーネントのうちの１以上は、複数のプロセッサ、マルチスレッドプロセッサ、マルチコアプロセッサ（複数のコアが同じ又は異なるダイ上に共存する）、及び／又は、複数の物理的に別個のプロセッサが何らかの方法でリンクされる何らかの他の種類のマルチプロセッサアーキテクチャを含み得る。また、プロセッサコンポーネント５５０及び６５０の各々は、多様なタイプのプロセッサのうちの任意のプロセッサを含み得るが、（存在する場合には）コントローラ６００のプロセッサコンポーネント６５０は、グラフィックス及び／又はビデオに関連するタスクを実行するようにいくらか特殊化及び／又は最適化され得ることが想定されている。より広義には、コントローラ６００は、プロセッサコンポーネント６５０とは別の異なるコンポーネントと、そのより密接に関連するコンポーネントと、を使用して、グラフィックスレンダリング、ビデオ圧縮、画像再スケーリング等に関連するタスクの実行を可能にするための、コンピューティングデバイス５００のグラフィックスサブシステムを具現化することが想定されている。
【００５７】
様々な実施形態において、ストレージ５６０、６６０、及び７６０の各々は、可能であれば、電力の途切れない供給を必要とする揮発性技術を含み、可能であれば、着脱可能であっても着脱不可能であってもよいマシン読み取り可能な記憶媒体の使用を伴う技術を含む多種多様な情報記憶技術のうちの任意の情報記憶技術に基づき得る。したがって、これらのストレージの各々は、多種多様なタイプの記憶デバイスのうちの任意の記憶デバイス（又は、多種多様なタイプの記憶デバイスの組合せ）を含み得る。そのような記憶デバイスは、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲ−ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラム可能なＲＯＭ（ＰＲＯＭ）、消去可能なプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能なＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、高分子メモリ（例えば、強誘電体高分子メモリ）、オボニックメモリ、相変化メモリ、強誘電体メモリ、ＳＯＮＯＳ（silicon-oxide-nitride-oxide-silicon）メモリ、磁気カード、光カード、１以上の個別の強磁性ディスクドライブ、又は、１以上のアレイに編成された複数の記憶デバイス（例えば、ＲＡＩＤ（redundant  array  of  independent  disks）アレイに編成された複数の強磁性ディスクドライブ）を含むが、これらに限定されるものではない。これらのストレージの各々が、１つのブロックとして図示されているが、これらのストレージのうちの１以上は、異なるストレージ技術に基づき得る複数の記憶デバイスを含み得ることに留意されたい。したがって、例えば、これらの図示されるストレージのうちの１以上は、プログラム及び／又はデータを何らかの形態のマシン読み取り可能な記憶媒体に記憶しては伝達することができるフラッシュメモリカードリーダ若しくは光ドライブと、比較的長い期間の間プログラム及び／又はデータを局所的に記憶する強磁性ディスクドライブと、プログラム及び／又はデータへの比較的迅速なアクセスを可能にする１以上の揮発性ソリッドステートメモリデバイス（例えば、ＳＲＡＭ又はＤＲＡＭ）と、の組合せを表すこともある。これらのストレージの各々は、同一のストレージ技術に基づく複数のストレージコンポーネントから構成され得るが、使用の際の特殊化の結果として別々に維持され得る（例えば、いくつかのＤＲＡＭデバイスはメインストレージとして使用されるのに対し、他のＤＲＡＭデバイスはグラフィックスコントローラの別個のフレームバッファとして使用される）ことにも留意されたい。
【００５８】
様々な実施形態において、インタフェース５９０及び７９０は、上述したように、これらのコンピューティングデバイスが他のデバイスに結合されることを可能にする多種多様なシグナリング技術のうちの任意のシグナリング技術を使用することができる。これらのインタフェースの各々は、そのような結合を可能にする必須の機能のうちの少なくとも一部を提供する回路を含む。しかしながら、これらのインタフェースの各々はまた、（例えば、プロトコルスタック又は他の機能を実装するために）プロセッサコンポーネントのうちの対応するプロセッサコンポーネントにより実行される一連の命令で少なくとも部分的に実装され得る。電気伝導性ケーブリング及び／又は光伝導性ケーブリングが使用される場合、これらのインタフェースは、ＲＳ−２３２Ｃ、ＲＳ−４２２、ＵＳＢ、Ｅｔｈｅｒｎｅｔ（登録商標）（ＩＥＥＥ−８０２．３）、又はＩＥＥＥ−１３９４を含むがこれらに限定されるものではない多様な業界標準のうちの任意の業界標準に準拠するシグナリング及び／又はプロトコルを使用することができる。無線信号伝送の使用が想定される場合、これらのインタフェースは、ＩＥＥＥ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１６、８０２．２０（一般的に「モバイルブロードバンド無線アクセス」と呼ばれる）；Ｂｌｕｅｔｏｏｔｈ（登録商標）；ＺｉｇＢｅｅ（登録商標）；又は、汎用パケット無線サービスを伴うＧＳＭ（登録商標）（ＧＳＭ（登録商標）／ＧＰＲＳ）、ＣＤＭＡ／１ｘＲＴＴ、ＥＤＧＥ（enhanced  data  rates  for  global  evolution）、ＥＶ−ＤＯ（evolution  data  only/optimized）、ＥＶ−ＤＶ（evolution  for  data  and  voice）、高速下りリンクパケットアクセス（ＨＳＤＰＡ）、高速上りリンクパケットアクセス（ＨＳＵＰＡ）、４Ｇ  ＬＴＥ等といったセルラ無線電話サービスを含むがこれらに限定されるものではない多様な業界標準のうちの任意の業界標準に準拠するシグナリング及び／又はプロトコルを使用することができる。
【００５９】
図９は、論理フロー２１００の一実施形態を示している。論理フロー２１００は、本明細書に記載の１以上の実施形態により実行される動作の一部又は全てを表し得る。より詳細には、論理フロー２１００は、少なくとも制御ルーチン６４０を実行する際にプロセッサコンポーネント５５０及び／又は６５０により実行される動作、及び／又は、コンピューティングデバイス５００の１以上の他のコンポーネントにより実行される動作を示し得る。
【００６０】
２１１０において、コンピューティングデバイスのプロセッサコンポーネント（例えば、コンピューティングデバイス５００のプロセッサコンポーネント５５０及び／又は６５０）は、３Ｄモデル（例えば、３Ｄモデル２８０）からレンダリングされる２Ｄスクリーン画像（例えば、スクリーン画像８８０）の平面の視点から、３Ｄモデルの全てのグラフィックスプリミティブ（例えば、３Ｄモデル２８０のプリミティブ２８２）の細かいラスタ化を実行して、その視点から可視である、３Ｄモデルのプリミティブ（例えば、可視プリミティブ８８２）の全てを識別する。上述したように、そのような平面の位置及び／又は向き、並びに、そのような平面内のスクリーン画像の境界の位置及び／又は向きが、別のコンピューティングデバイス（例えば、閲覧デバイス７００）から受信され得る。
【００６１】
２１２０において、細かいラスタ化の各スクリーン画像サンプル（例えば、各スクリーン画像サンプル８８８）を解析して、スクリーン画像サンプルを、スクリーン画像サンプルにより、スクリーン画像の視点から可視プリミティブであると見出された、３Ｄモデルのプリミティブに対応付けるとともに、スクリーン画像サンプルを、スクリーン画像に対応するシェーディング画像のシェーディング画像画素（例えば、シェーディング画像６８０のシェーディング画像画素６８５）に対応付けるＳＰＩＤを生成する。ＳＰＩＤは、ＳＰＩＤの配列等のより大きなデータ構造の一部として記憶され得る。上述したように、スクリーン画像とシェーディング画像とは、少なくとも可視プリミティブの相対位置とスクリーン画像サンプルの相対位置とが一致する程度に関連している。しかしながら、シェーディング画像画素は、サイズの点で、スクリーン画像画素（例えば、スクリーン画像画素８８５）と異なることがあり、且つ／又は、スクリーン画像画素の境界とシェーディング画像画素の境界とが整合しないことがある。さらに、各ＳＰＩＤはまた、当該ＳＰＩＤがその関連付けられているスクリーン画像サンプルを対応付けているシェーディング画像画素における可視プリミティブの深度のインジケーションを含み得る。
【００６２】
２１３０において、プロセッサコンポーネントは、２Ｄスクリーン画像の同じ平面の視点から、３Ｄモデルの全てのグラフィックスプリミティブの粗いラスタ化を実行するが、シェーディング画像を代用して、各シェーディング画像サンプル（例えば、シェーディング画像サンプル６８８）のパスに沿って存在する、３Ｄモデルのプリミティブの全てを識別する。上述したように、そのような各パスに沿った各プリミティブが識別されるとともに、シェーディングが粗いラスタ化とともに実行されることを可能にする、これらのプリミティブをシェーディングすることに関連する他の情報が、取得される。
【００６３】
２１４０において、シェーディング画像サンプルのパスに沿って識別された各プリミティブであって、且つ、シェーディング画像の各画素について可視プリミティブとして識別された各プリミティブに対して、外側コンサバティブシェーディングを実行して、当該シェーディング画像画素内のそのような各プリミティブについて色値を導出する。２１５０において、各シェーディング画像画素内の各プリミティブの色値を、当該シェーディング画像画素に属するスクリーン画像サンプルのうちの１以上のスクリーン画像サンプルに割り当てる。上述したように、可視プリミティブを識別するために細かいラスタ化中に使用されたスクリーン画像サンプルをここで使用して、これらの色値をスクリーン画像画素に転換する。しかしながら、上述したように、シェーディング画像画素とスクリーン画像画素との間にはサイズ及び／又は境界のアライメントの１対１の対応関係が存在しないことがあることを所与として、１つのスクリーン画像画素に属するスクリーン画像サンプルが、複数のシェーディング画像画素に属することもあるので、複数のシェーディング画像画素からの色値が、スクリーン画像画素の少なくともサブセットに転換される。これに対処するために、２１６０において、各スクリーン画像画素に属する全てのスクリーン画像サンプルの色値を平均化して、当該スクリーン画像画素の１つの色値を導出する。
【００６４】
図１０は、論理フロー２２００の一実施形態を示している。論理フロー２２００は、本明細書に記載の１以上の実施形態により実行される動作の一部又は全てを表し得る。より詳細には、論理フロー２２００は、少なくとも制御ルーチン６４０を実行する際にプロセッサコンポーネント５５０及び／又は６５０により実行される動作、及び／又は、コンピューティングデバイス５００の１以上の他のコンポーネントにより実行される動作を示し得る。
【００６５】
２２１０において、コンピューティングデバイスのプロセッサコンポーネント（例えば、コンピューティングデバイス５００のプロセッサコンポーネント５５０及び／又は６５０）は、確率的サンプリングを用いて、２Ｄスクリーン画像（例えば、スクリーン画像８８０）の平面の視点から、３Ｄモデルの全てのグラフィックスプリミティブ（例えば、３Ｄモデル２８０のプリミティブ２８２）の細かいラスタ化を実行して、その視点から可視である、３Ｄモデルのプリミティブ（例えば、可視プリミティブ８８２）の全てを識別する。
【００６６】
２２２０において、細かいラスタ化の各スクリーン画像サンプル（例えば、各スクリーン画像サンプル８８８）を解析して、スクリーン画像サンプルを、スクリーン画像サンプルにより、スクリーン画像の視点から可視プリミティブであると見出された、３Ｄモデルのプリミティブに対応付けるとともに、スクリーン画像サンプルを、スクリーン画像に対応するシェーディング画像のシェーディング画像画素（例えば、シェーディング画像６８０のシェーディング画像画素６８５）に対応付けるＳＰＩＤを生成する。上述したように、各ＳＰＩＤはまた、当該ＳＰＩＤがその関連付けられているスクリーン画像サンプルを対応付けているシェーディング画像画素における可視プリミティブの深度のインジケーションを含み得る。
【００６７】
２２３０において、各ＳＰＩＤを解析して、各シェーディング画像画素について、当該シェーディング画像画素によりカバーされる、シェーディング画像の領域内で可視である可視プリミティブのリストを生成する。再度、シェーディング画像画素の全てについてのリストは、（各々を実装するためにどのデータ構造が使用されるかにかかわらず、）連結リストの配列等といった１つのより大きなデータ構造に結合され得る。また、各ＳＰＩＤを解析して、いずれの可視プリミティブが各シェーディング画像画素内で見出される最深深度（例えば、最大距離）のインジケーションを生成して記憶することができる。２２４０において、各ＳＰＩＤをさらに解析して、シェーディング画像画素内でシェーディングされたプリミティブについて色値が記憶されることになるアドレスであって、シェーディングが実行された後にスクリーン画像サンプルについての色値が割り当てられることになる元であるアドレス（１つのスクリーン画像サンプルにつき１つのアドレス）を導出して記憶することができる。
【００６８】
２２５０において、プロセッサコンポーネントは、２Ｄスクリーン画像の同じ平面の視点から、３Ｄモデルの全てのグラフィックスプリミティブの粗いラスタ化を実行するが、シェーディング画像を代用して、各シェーディング画像サンプル（例えば、シェーディング画像サンプル６８８）のパスに沿って存在する、３Ｄモデルのプリミティブの全てを識別する。上述したように、そのような各パスに沿った各プリミティブが識別されるとともに、シェーディングが粗いラスタ化とともに実行されることを可能にする、これらのプリミティブをシェーディングすることに関連する他の情報が、取得される。
【００６９】
２２６０において、各シェーディング画像画素内の可視プリミティブにより到達される最深深度のインジケーションを使用して、外側コンサバティブシェーディングの実行を制御することの一部として、シェーディング画像サンプルのパスに沿って識別されたプリミティブであって、且つ、シェーディング画像の各画素について可視でもあるプリミティブをより効率的に識別して、当該シェーディング画像画素内のそのような各プリミティブの色値を導出する。２２７０において、２２６０におけるシェーディング中に各シェーディング画像画素について導出された色を、スクリーン画像サンプルを用いてスクリーン画像画素に転換することの一部として、２２４０において導出されて記憶されたアドレスを使用して、色値を各スクリーン画像サンプルに割り当てることができる。
【００７０】
２２８０において、フィルタを使用して、モーションブラー効果及び／又は被写界深度効果を与えるように、各スクリーン画像画素の色値を、当該スクリーン画像画素に属するスクリーン画像サンプルの色値から導出する。上述したように、いくつかのフィルタは、色値が決定されるスクリーン画像画素に属するスクリーン画像サンプルの色値とともに、隣接画素に属するスクリーン画像サンプルの色値を含めることができる。
【００７１】
図１１は、論理フロー２３００の一実施形態を示している。論理フロー２３００は、本明細書に記載の１以上の実施形態により実行される動作の一部又は全てを表し得る。より詳細には、論理フロー２３００は、少なくとも制御ルーチン６４０を実行する際にプロセッサコンポーネント５５０及び／又は６５０により実行される動作、及び／又は、コンピューティングデバイス５００の１以上の他のコンポーネントにより実行される動作を示し得る。
【００７２】
２３１０において、コンピューティングデバイスのプロセッサコンポーネント（例えば、コンピューティングデバイス５００のプロセッサコンポーネント５５０及び／又は６５０）は、確率的サンプリングを用いて、２Ｄスクリーン画像（例えば、スクリーン画像８８０）の平面の視点から、３Ｄモデルの全てのグラフィックスプリミティブ（例えば、３Ｄモデル２８０のプリミティブ２８２）の細かいラスタ化を実行して、その視点から可視である、３Ｄモデルのプリミティブ（例えば、可視プリミティブ８８２）の全てを識別する。
【００７３】
２３２０において、細かいラスタ化の各スクリーン画像サンプル（例えば、各スクリーン画像サンプル８８８）を解析して、スクリーン画像サンプルを、スクリーン画像サンプルにより、スクリーン画像の視点から可視プリミティブであると見出された、３Ｄモデルのプリミティブに対応付けるとともに、スクリーン画像サンプルを、スクリーン画像に対応するシェーディング画像のシェーディング画像画素（例えば、シェーディング画像６８０のシェーディング画像画素６８５）に対応付けるＳＰＩＤを生成する。上述したように、各ＳＰＩＤはまた、当該ＳＰＩＤがその関連付けられているスクリーン画像サンプルを対応付けているシェーディング画像画素における可視プリミティブの深度のインジケーションを含み得る。
【００７４】
２３３０において、モーションブラー効果及び／又は被写界深度効果を与えるように、ＳＰＩＤの少なくともサブセットの間で、可視プリミティブの識別子を再配分することができる。上述したように、そのような再配分は、１つのスクリーン画像画素に属するスクリーン画像サンプルのみに関連付けられているＳＰＩＤの間で実行されることに制限されることもあるし、又は、複数の隣接スクリーン画像画素に属するスクリーン画像サンプルに関連付けられているＳＰＩＤの間で実行されることもある。
【００７５】
２３４０において、各ＳＰＩＤを解析して、各シェーディング画像画素について、当該シェーディング画像画素によりカバーされる、シェーディング画像の領域内で可視である可視プリミティブのリストを生成する。再度、シェーディング画像画素の全てについてのリストは、（各々を実装するためにどのデータ構造が使用されるかにかかわらず、）連結リストの配列等といった１つのより大きなデータ構造に結合され得る。また、各ＳＰＩＤを解析して、いずれの可視プリミティブが各シェーディング画像画素内で見出される最深深度（例えば、最大距離）のインジケーションを生成して記憶することができる。２３５０において、各ＳＰＩＤをさらに解析して、シェーディング画像画素内でシェーディングされたプリミティブについて色値が記憶されることになるアドレスであって、シェーディングが実行された後にスクリーン画像サンプルについての色値が割り当てられることになる元であるアドレス（１つのスクリーン画像サンプルにつき１つのアドレス）を導出して記憶することができる。
【００７６】
２３６０において、プロセッサコンポーネントは、２Ｄスクリーン画像の同じ平面の視点から、３Ｄモデルの全てのグラフィックスプリミティブの粗いラスタ化を実行するが、シェーディング画像を代用して、各シェーディング画像サンプル（例えば、シェーディング画像サンプル６８８）のパスに沿って存在する、３Ｄモデルのプリミティブの全てを識別する。上述したように、そのような各パスに沿った各プリミティブが識別されるとともに、シェーディングが粗いラスタ化とともに実行されることを可能にする、これらのプリミティブをシェーディングすることに関連する他の情報が、取得される。
【００７７】
２３７０において、各シェーディング画像画素内の可視プリミティブにより到達される最深深度のインジケーションを使用して、外側コンサバティブシェーディングの実行を制御することの一部として、シェーディング画像サンプルのパスに沿って識別されたプリミティブであって、且つ、シェーディング画像の各画素について可視でもあるプリミティブをより効率的に識別して、当該シェーディング画像画素内のそのような各プリミティブの色値を導出する。２３８０において、２３７０におけるシェーディング中に各シェーディング画像画素について導出された色を、スクリーン画像サンプルを用いてスクリーン画像画素に転換することの一部として、２３５０において導出されて記憶されたアドレスを使用して、色値を各スクリーン画像サンプルに割り当てることができる。
【００７８】
２３９０において、フィルタを使用して、ＳＰＩＤの生成中にモーションブラー効果及び／又は被写界深度効果を与えたことからの視覚的アーチファクトを低減させる。上述したように、いくつかのフィルタは、色値が決定されるスクリーン画像画素に属するスクリーン画像サンプルの色値とともに、隣接画素に属するスクリーン画像サンプルの色値を含めることができる。
【００７９】
図１２は、前述した様々な実施形態を実装するのに適した例示的な処理アーキテクチャ３０００の一実施形態を示している。より詳細には、処理アーキテクチャ３０００（又はその変形形態）は、コンピューティングデバイス３００、５００、及び７００のうちの１以上の一部として、且つ／又は、コントローラ６００の一部として、実装され得る。処理アーキテクチャ３０００のコンポーネントには、コンピューティングデバイス３００、５００、及び７００、並びにコントローラ６００の一部として先に示し説明したコンポーネントのうちの少なくとも一部の参照符号の最後の２つの数字に対応する最後の２つの数字を有する参照符号が付与されていることに留意されたい。これは、各々のコンポーネントを対応付ける助けとしてなされている。
【００８０】
処理アーキテクチャ３０００は、１以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺デバイス、インタフェース、オシレータ、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力／出力（Ｉ／Ｏ）コンポーネント、電源等を含むがこれらに限定されない、デジタル処理において一般的に使用される様々な要素を含む。本出願において使用されるとき、「システム」及び「コンポーネント」という用語は、デジタル処理が実行されるコンピューティングデバイスのエンティティであって、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、又は実行中のソフトウェアであるエンティティを指すことが意図されており、それらの例が、この図示される例示的な処理アーキテクチャにより提供されている。例えば、コンポーネントは、プロセッサコンポーネント上で実行されるプロセス、プロセッサコンポーネント自体、光記憶媒体及び／又は磁気記憶媒体を利用することができる記憶デバイス（例えば、ハードディスクドライブ、アレイ内の複数の記憶ドライブ等）、ソフトウェアオブジェクト、実行可能な一連の命令、実行のスレッド、プログラム、及び／又はコンピューティングデバイス全体（例えば、コンピュータ全体）であり得るが、これらに限定されるものではない。例えば、サーバ上で実行されるアプリケーション及びサーバの両方が、コンポーネントであり得る。１以上のコンポーネントは、プロセス及び／又は実行のスレッド内に存在することもあり、コンポーネントは、１つのコンピューティングデバイス上に局在することもあるし、且つ／又は、２以上のコンピューティングデバイスの間で分散されることもある。さらに、コンポーネントは、動作を連携させるために、様々なタイプの通信媒体を介して、互いに通信可能に結合され得る。この連携は、情報の単方向交換又は双方向交換を伴い得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形態で、情報を通信することができる。情報は、１以上の信号回線に割り当てられる信号として実装され得る。（コマンドメッセージ、ステータスメッセージ、アドレスメッセージ、又はデータメッセージを含む）メッセージは、そのような信号のうちの１つであることもあるし、複数のそのような信号であることもあり、多様な接続及び／又はインタフェースのうちのいずれかを介して、シリアルに又は実質的にパラレルに、伝送され得る。
【００８１】
図示されるように、処理アーキテクチャ３０００の実装において、コンピューティングデバイスは、少なくとも、プロセッサコンポーネント９５０、ストレージ９６０、他のデバイスへのインタフェース９９０、及び結合（coupling）９５９を含む。以下で説明するように、意図される使用及び／又は使用の条件を含め、処理アーキテクチャ３０００を実装するコンピューティングデバイスの様々な態様に応じて、そのようなコンピューティングデバイスは、ディスプレイインタフェース９８５等を含むがこれに限定されるものではないさらなるコンポーネントをさらに含み得る。
【００８２】
結合９５９は、少なくともプロセッサコンポーネント９５０をストレージ９６０に通信可能に結合する、１以上のバス、ポイントツーポイントインターコネクト、トランシーバ、バッファ、クロスポイントスイッチ、及び／若しくは他の導体、並びに／又はロジックを含む。結合９５９は、プロセッサコンポーネント９５０を、インタフェース９９０、オーディオサブシステム９７０、及びディスプレイインタフェース９８５のうちの１以上に、（これらのコンポーネント及び／又は他のコンポーネントのうちのどれが存在するかに応じて）さらに結合し得る。プロセッサコンポーネント９５０が結合９５９を介してこのように結合されることにより、プロセッサコンポーネント９５０は、処理アーキテクチャ３０００を実装する前述したコンピューティングデバイスのうちのどのコンピューティングデバイスに関しても、上記で詳細に説明したタスクのうちの様々なタスクを実行することができる。結合９５９は、信号が光学的及び／又は電気的に伝達される多様な技術のうちの任意の技術又はそのような技術の組合せを用いて実装することができる。さらに、結合９５９の少なくとも一部は、アクセラレーテッドグラフィックスポート（ＡＧＰ）、ＣａｒｄＢｕｓ、拡張インダストリスタンダードアーキテクチャ（Ｅ−ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＣＡ）、ＮｕＢｕｓ、周辺コンポーネント相互接続（拡張）（ＰＣＩ−Ｘ）、ＰＣＩエクスプレス（ＰＣＩ−Ｅ）、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）バス、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ、ＱｕｉｃｋＰａｔｈ等を含むがこれらに限定されるものではない多種多様な業界標準のうちの任意の業界標準に準拠するタイミング及び／又はプロトコルを用いることができる。
【００８３】
前述したように、（プロセッサコンポーネント５５０、６５０、及び７５０に対応する）プロセッサコンポーネント９５０は、多種多様な技術のうちの任意の技術を用い、複数の方法のうちの任意の方法で物理的に組み合わせられる１以上のコアを用いて実装される多種多様な商用利用可能なプロセッサのうちの任意のプロセッサを含み得る。
【００８４】
前述したように、（ストレージ５６０、６６０、及び７６０に対応する）ストレージ９６０は、多種多様な技術のうちの任意の技術又はそのような技術の組合せに基づく１以上の別個の記憶デバイスから構成され得る。より詳細には、図示されるように、ストレージ９６０は、揮発性ストレージ９６１（例えば、１以上の形態のＲＡＭ技術に基づくソリッドステートストレージ）、不揮発性ストレージ９６２（例えば、コンテンツを保存するために電力の一定の供給を必要としないソリッドステートストレージ、強磁性ストレージ、又は他のストレージ）、及び着脱可能な媒体ストレージ９６３（例えば、コンピューティングデバイス間で情報を伝達することができる着脱可能なディスクストレージ又はソリッドステートメモリカードストレージ）のうちの１以上を含み得る。可能であれば複数の異なるタイプのストレージを含むストレージ９６０のこの図示は、１つのタイプの記憶デバイスが、プロセッサコンポーネント９５０によるデータのより迅速な操作を可能にする相対的に迅速な読み取り能力及び書き込み能力を提供する（が、おそらくは電力を定常的に必要とする「揮発性」技術を使用する）のに対し、別のタイプの記憶デバイスが、比較的高密度の不揮発性記憶を提供する（が、相対的に遅い読み取り能力及び書き込み能力を提供する可能性が高い）、２以上のタイプの記憶デバイスがコンピューティングデバイスにおいて一般的に使用されることが認められることによるものである。
【００８５】
異なる技術を用いる異なる記憶デバイスのしばしば異なる特性を所与として、そのような異なる記憶デバイスが、異なるインタフェースを介して異なる記憶デバイスに結合される異なるストレージコントローラを介してコンピューティングデバイスの他の部分に結合されることも一般的である。一例として、揮発性ストレージ９６１が存在しＲＡＭ技術に基づく場合、揮発性ストレージ９６１は、行及び列のアドレス指定を用いるであろう揮発性ストレージ９６１への適切なインタフェースを提供するストレージコントローラ９６５ａを介して結合９５９に通信可能に結合され得、ストレージコントローラ９６５ａは、揮発性ストレージ９６１に記憶される情報を保つのを支援するために、行リフレッシュ動作及び／又は他の維持タスクを実行することができる。別の例として、不揮発性ストレージ９６２が存在し、１以上の強磁性ディスクドライブ及び／又はソリッドステートディスクドライブを含む場合、不揮発性ストレージ９６２は、情報の且つ／又はシリンダ及びセクタのブロックのアドレス指定を用いるであろう不揮発性ストレージ９６２への適切なインタフェースを提供するストレージコントローラ９６５ｂを介して結合９５９に通信可能に結合され得る。さらに別の例として、着脱可能な媒体ストレージ９６３が存在し、マシン読み取り可能な記憶媒体９６９の１以上の部分を用いる１以上の光ディスクドライブ及び／又はソリッドステートディスクドライブを含む場合、着脱可能な媒体ストレージ９６３は、情報のブロックのアドレス指定を用いるであろう着脱可能な媒体ストレージ９６３への適切なインタフェースを提供するストレージコントローラ９６５ｃを介して結合９５９に通信可能に結合され得、ストレージコントローラ９６５ｃは、マシン読み取り可能な記憶媒体９６９のライフスパンを延ばす固有の方式で、読み取り操作、消去操作、及び書き込み操作を調整することができる。
【００８６】
揮発性ストレージ９６１及び不揮発性ストレージ９６２のうちの一方又は他方は、各々が基づく技術に応じて、プロセッサコンポーネント９５０により実行可能な一連の命令を含むルーチンが記憶され得るマシン読み取り可能な記憶媒体の形態の製品を含み得る。一例として、不揮発性ストレージ９６２が、強磁性ベースのディスクドライブ（例えば、いわゆる「ハードドライブ」）を含む場合、そのような各ディスクドライブは、典型的には、フロッピー（登録商標）ディスケット等の記憶媒体と同様に、一連の命令等の情報を記憶するために磁気反応性粒子のコーティングが様々なパターンで付着及び磁気配向される１以上の回転プラッタを用いる。別の例として、不揮発性ストレージ９６２は、コンパクトフラッシュ(登録商標)カードと同様に、一連の命令等の情報を記憶するためにソリッドステート記憶デバイスのバンクから構成され得る。再度、実行可能なルーチン及び／又はデータを記憶するために、異なる時間にコンピューティングデバイスにおいて異なるタイプの記憶デバイスを使用することが一般的である。
【００８７】
したがって、プロセッサコンポーネント９５０により実行される一連の命令を含むルーチンは、初期には、マシン読み取り可能な記憶媒体９６９に記憶され得、マシン読み取り可能な記憶媒体９６９の引き続きの存在を要さないより長期間の記憶のためにそのルーチンを不揮発性ストレージ９６２にコピーする際に、且つ／又は、そのルーチンが実行されるときにプロセッサコンポーネント９５０によるより迅速なアクセスを可能にする揮発性ストレージ９６１にそのルーチンをコピーする際に、着脱可能な媒体ストレージ９６３がその後に使用され得る。
【００８８】
前述したように、（インタフェース５９０又は７９０に対応し得る）インタフェース９９０は、コンピューティングデバイスを１以上の他のデバイスに通信可能に結合するために使用され得る多様な通信技術のうちの任意の通信技術に対応する、多様なシグナリング技術のうちの任意のシグナリング技術を用いることができる。再度、様々な形態の有線シグナリング及び無線シグナリングのうちの一方又は両方を使用して、プロセッサコンポーネント９５０が、おそらくはネットワーク（例えば、ネットワーク９９９）又はネットワークの相互接続されたセットを介して、入力／出力デバイス（例えば、図示される例示的なキーボード９２０又はプリンタ９２５）及び／又は他のコンピューティングデバイスとインタラクトすることを可能にし得る。いずれか１つのコンピューティングデバイスによりしばしばサポートされなければならない複数のタイプのシグナリング及び／又はプロトコルのしばしば非常に異なる性質が認められるため、インタフェース９９０は、複数の異なるインタフェースコントローラ９９５ａ、９９５ｂ、及び９９５ｃを含むものとして図示されている。インタフェースコントローラ９９５ａは、多様なタイプの有線デジタルシリアルインタフェース又は無線周波数無線インタフェースのうちの任意のインタフェースを使用して、図示されるキーボード９２０等のユーザ入力デバイスから、シリアル送信されたメッセージを受信することができる。インタフェースコントローラ９９５ｂは、多様なケーブリングベースの又は無線のシグナリング、タイミング、及び／又はプロトコルのうちの任意のものを使用して、図示されるネットワーク９９９（ネットワークは、１以上のリンク若しくはより小さなネットワークから構成されることもあるし、又はインターネットであることもある）を介して他のコンピューティングデバイスにアクセスすることができる。インタフェースコントローラ９９５ｃは、シリアル信号伝送又はパラレル信号伝送のいずれかの使用を可能にする多様な電気伝導性ケーブリングのうちの任意の電気伝導性ケーブリングを使用して、図示されるプリンタ９２５にデータを伝達することができる。インタフェース９９０の１以上のインタフェースコントローラを介して通信可能に結合され得るデバイスの他の例は、人の音をモニタリングして、そのような人が発生させ得る音声又は他の音を介してそのような人により伝達されたコマンド及び／又はデータを受け入れるマイクロフォン、リモートコントロール、スタイラスペン、カードリーダ、指紋リーダ、仮想現実インタラクショングローブ、グラフィカル入力タブレット、ジョイスティック、他のキーボード、網膜スキャナ、タッチスクリーンのタッチ入力コンポーネント、トラックボール、様々なセンサ、人の動きをモニタリングして、ジェスチャ及び／又は顔の表現を介してそのような人により伝達されたコマンド及び／又はデータを受け入れるカメラ又はカメラアレイ、レーザプリンタ、インクジェットプリンタ、機械式ロボット、ミリングマシン等を含むが、これらに限定されるものではない。
【００８９】
コンピューティングデバイスが、ディスプレイ（例えば、図示される例示的なディスプレイ９８０）に通信可能に接続される場合（又は、実際にはそのようなディスプレイを組み込んでいるかもしれない場合）、処理アーキテクチャ３０００を実装するそのようなコンピューティングデバイスはまた、ディスプレイインタフェース９８５を含み得る。より一般化されたタイプのインタフェースが、ディスプレイに通信可能に結合するのに使用され得るが、ディスプレイ上に様々な形態のコンテンツを視覚的に表示する際にしばしば必要とされるいくらか特殊化されたさらなる処理、及び、いくらか特殊化された性質のケーブリングベースの使用されるインタフェースは、しばしば、異なるディスプレイインタフェースの提供を望ましいものにする。ディスプレイ９８０の通信可能な結合においてディスプレイインタフェース９８５により使用され得る有線シグナリング技術及び／又は無線シグナリング技術は、多様なアナログビデオインタフェース、デジタルビデオインタフェース（ＤＶＩ）、ＤｉｓｐｌａｙＰｏｒｔ等のうちの任意のものを含むがこれらに限定されるものではない多様な業界標準のうちの任意の業界標準に準拠するシグナリング及び／又はプロトコルを利用することができる。
【００９０】
図１３は、システム４０００の一実施形態を示している。様々な実施形態において、システム４０００は、グラフィックスレンダリングシステム１０００；コンピューティングデバイス３００、５００、及び７００のうちの１以上；及び／又は、論理フロー２１００及び２２００のうちの１以上等の本明細書に記載の１以上の実施形態とともに使用するのに適したシステム又はアーキテクチャを表し得る。実施形態は、この点において限定されるものではない。
【００９１】
図示されるように、システム４０００は、複数の要素を含み得る。１以上の要素は、設計制約又は性能制約の所与のセットに関して必要に応じて、１以上の回路、コンポーネント、レジスタ、プロセッサ、ソフトウェアサブルーチン、モジュール、又はこれらの任意の組合せを使用して実装することができる。図１３は、一例として、所定のトポロジにおける限られた数の要素を示しているが、任意の適切なトポロジにおけるより多くの又はより少ない要素が、所与の実装に関して必要に応じて、システム４０００において使用される得ることが理解できるであろう。実施形態は、このコンテキストにおいて限定されるものではない。
【００９２】
実施形態において、システム４０００は、メディアシステムであり得るが、システム４０００は、このコンテキストに限定されるものではない。例えば、システム４０００は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、セルラ電話機、セルラ電話機／ＰＤＡの組合せ、テレビジョン、スマートデバイス（例えば、スマートフォン、スマートタブレット、又はスマートテレビジョン）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等に組み込まれ得る。
【００９３】
実施形態において、システム４０００は、ディスプレイ４９８０に結合されるプラットフォーム４９００ａを含む。プラットフォーム４９００ａは、１以上のコンテンツサービスデバイス４９００ｃ若しくは１以上のコンテンツ配信デバイス４９００ｄ又は他の同様のコンテンツソース等のコンテンツデバイスから、コンテンツを受信することができる。１以上のナビゲーション特徴を含むナビゲーションコントローラ４９２０を使用して、例えば、プラットフォーム４９００ａ及び／又はディスプレイ４９８０とインタラクトすることができる。これらのコンポーネントの各々が、以下でより詳細に説明される。
【００９４】
実施形態において、プラットフォーム４９００ａは、プロセッサコンポーネント４９５０、チップセット４９５５、メモリユニット４９６９、トランシーバ４９９５、ストレージ４９６２、アプリケーション４９４０、及び／又はグラフィックスサブシステム４９８５の任意の組合せを含み得る。チップセット４９５５は、プロセッサ回路４９５０、メモリユニット４９６９、トランシーバ４９９５、ストレージ４９６２、アプリケーション４９４０、及び／又はグラフィックスサブシステム４９８５の間で相互通信を提供することができる。例えば、チップセット４９５５は、ストレージ４９６２との相互通信を提供することができるストレージアダプタ（図示せず）を含み得る。
【００９５】
プロセッサコンポーネント４９５０は、任意のプロセッサ又はロジックデバイスを使用して実装することができ、プロセッサコンポーネント５５０、６５０、及び７５０のうちの１以上、並びに／又は図１２のプロセッサコンポーネント９５０と同じであってもよいし類似するものであってもよい。
【００９６】
メモリユニット４９６９は、データを記憶することができる任意のマシン読み取り可能な媒体又はコンピュータ読み取り可能な媒体を使用して実装することができ、図１２の記憶媒体９６９と同じであってもよいし類似するものであってもよい。
【００９７】
トランシーバ４９９５は、種々の適切な無線通信技術を使用して信号を送信及び受信することができる１以上の無線機を含み得、図１２のトランシーバ９９５ｂと同じであってもよいし類似するものであってもよい。
【００９８】
ディスプレイ４９８０は、任意のテレビジョンタイプのモニタ又はディスプレイを含み得、ディスプレイ５８０及び７８０のうちの１以上、並びに／又は図１２のディスプレイ９８０と同じであってもよいし類似するものであってもよい。
【００９９】
ストレージ４９６２は、不揮発性記憶デバイスとして実装することができ、図１２の不揮発性ストレージ９６２と同じであってもよいし類似するものであってもよい。
【０１００】
グラフィックスサブシステム４９８５は、表示のために、静止画像又はビデオ等の画像の処理を実行することができる。グラフィックスサブシステム４９８５は、例えば、グラフィックス処理装置（ＧＰＵ）又はビジュアル処理装置（ＶＰＵ）であり得る。アナログインタフェース又はデジタルインタフェースを使用して、グラフィックスサブシステム４９８５とディスプレイ４９８０とを通信可能に結合することができる。例えば、このようなインタフェースは、高精細度マルチメディアインタフェース（ＨＤＭＩ（登録商標））、ＤｉｓｐｌａｙＰｏｒｔ、ワイヤレスＨＤＭＩ（登録商標）、及び／又はワイヤレスＨＤ準拠技術のうちの任意のものであり得る。グラフィックスサブシステム４９８５は、プロセッサ回路４９５０又はチップセット４９５５に組み込まれることもある。グラフィックスサブシステム４９８５は、チップセット４９５５に通信可能に結合されるスタンドアロンカードであることもある。
【０１０１】
本明細書に記載のグラフィックス処理技術及び／又はビデオ処理技術は、様々なハードウェアアーキテクチャにおいて実装され得る。例えば、グラフィックス機能及び／又はビデオ機能は、チップセット内に統合され得る。代替的に、別個のグラフィックスプロセッサ及び／又はビデオプロセッサが使用されてもよい。さらに別の実施形態として、グラフィックス機能及び／又はビデオ機能は、マルチコアプロセッサを含む汎用プロセッサにより実装されてもよい。さらなる実施形態において、これらの機能は、コンシューマ電子デバイス内に実装されてもよい。
【０１０２】
実施形態において、１以上のコンテンツサービスデバイス４９００ｂは、任意の国内サービス、国際サービス、及び／又は独立サービスによりホストされ得、したがって、例えば、インターネットを介してプラットフォーム４９００ａにアクセス可能である。１以上のコンテンツサービスデバイス４９００ｂは、プラットフォーム４９００ａ及び／又はディスプレイ４９８０に結合され得る。プラットフォーム４９００ａ及び／又は１以上のコンテンツサービスデバイス４９００ｂは、ネットワーク４９９９との間でメディア情報を通信する（例えば、送信及び／又は受信する）ために、ネットワーク４９９９に結合され得る。１以上のコンテンツ配信デバイス４９００ｃも、プラットフォーム４９００ａ及び／又はディスプレイ４９８０に結合され得る。
【０１０３】
実施形態において、１以上のコンテンツサービスデバイス４９００ｂは、ケーブルテレビジョンボックス、パーソナルコンピュータ、ネットワーク、電話機、デジタル情報及び／又はコンテンツを配信することができるインターネット対応デバイス又は機器、及び、コンテンツプロバイダとプラットフォーム４９００ａ及び／又はディスプレイ４９８０との間でネットワーク４９９９を介して又は直接的にコンテンツを単方向又は双方向に通信することができる任意の他の同様のデバイスを含み得る。コンテンツは、システム４０００内のコンポーネントのうちの任意の１つのコンポーネントとコンテンツプロバイダとの間でネットワーク４９９９を介して単方向且つ／又は双方向に通信され得る。コンテンツの例は、例えば、ビデオ、音楽、医療情報、ゲーム情報等を含む任意のメディア情報を含み得る。
【０１０４】
１以上のコンテンツサービスデバイス４９００ｂは、メディア情報、デジタル情報、及び／又は他のコンテンツを含むケーブルテレビジョン番組等のコンテンツを受信する。コンテンツプロバイダの例は、任意のケーブルテレビジョンプロバイダ、衛星テレビジョンプロバイダ、ケーブルラジオプロバイダ、衛星ラジオプロバイダ、又はインターネットコンテンツプロバイダを含み得る。提供した例は、実施形態を限定するよう意図されるものではない。
【０１０５】
実施形態において、プラットフォーム４９００ａは、１以上のナビゲーション特徴を有するナビゲーションコントローラ４９２０から、制御信号を受信することができる。ナビゲーションコントローラのナビゲーション特徴を使用して、例えば、ユーザインタフェース４８８０とインタラクトすることができる。実施形態において、ナビゲーションコントローラ４９２０は、ユーザが空間データ（例えば、連続的な多次元のデータ）をコンピュータに入力することを可能にするコンピュータハードウェアコンポーネント（詳細にはヒューマンインタフェースデバイス）であり得るポインティングデバイスであり得る。グラフィカルユーザインタフェース（ＧＵＩ）等の多くのシステム、テレビジョン、及びモニタは、ユーザが、身体のジェスチャを用いてコンピュータ又はテレビジョンを制御すること及び身体のジェスチャを用いてコンピュータ又はテレビジョンにデータを提供することを可能にする。
【０１０６】
ナビゲーションコントローラ４９２０のナビゲーション特徴の動きは、ディスプレイ（例えば、ディスプレイ４９８０）上に表示されるポインタ、カーソル、フォーカスリング、又は他の視覚的インジケータの動きにより、ディスプレイ上でそのまま繰り返され得る。例えば、ソフトウェアアプリケーション４９４０の制御の下、ナビゲーションコントローラ４９２０上に配置されたナビゲーション特徴は、ユーザインタフェース４８８０上に表示される仮想ナビゲーション特徴にマッピングされ得る。実施形態において、ナビゲーションコントローラ４９２０は、別個のコンポーネントではなく、プラットフォーム４９００ａ及び／又はディスプレイ４９８０に統合されることもある。しかしながら、実施形態は、図示されるコンテキストにおける要素又は本明細書に記載の要素に限定されるものではない。
【０１０７】
実施形態において、ドライバ（図示せず）は、例えば、有効にされたときに初期起動後のボタンのタッチによるテレビジョンのように、ユーザが、プラットフォーム４９００ａを瞬時的にオン及びオフすることを可能にする技術を含み得る。プログラムロジックは、プラットフォーム４９００ａが、プラットフォームが「オフ」にされるときに、メディアアダプタ、又は、他の１以上のコンテンツサービスデバイス４９００ｂ若しくは１以上のコンテンツ配信デバイス４９００ｃにコンテンツをストリーミングすることを可能にし得る。さらに、チップセット４９５５は、例えば、５．１サラウンドサウンドオーディオ及び／又は高精細７．１サラウンドサウンドオーディオのためのハードウェアサポート及び／又はソフトウェアサポートを含み得る。ドライバは、統合されたグラフィックスプラットフォームのためのグラフィックスドライバを含み得る。実施形態において、グラフィックスドライバは、周辺コンポーネント相互接続（ＰＣＩ）エクスプレスグラフィックスカードを含み得る。
【０１０８】
様々な実施形態において、システム４０００内に図示されるコンポーネントのうちの任意の１以上のコンポーネントが統合され得る。例えば、プラットフォーム４９００ａ及び１以上のコンテンツサービスデバイス４９００ｂが統合されることもあるし、プラットフォーム４９００ａ及び１以上のコンテンツ配信スデバイス４９００ｃが統合されることもあるし、プラットフォーム４９００ａ、１以上のコンテンツサービスデバイス４９００ｂ、及び１以上のコンテンツ配信デバイス４９００ｃが統合されることもある。様々な実施形態において、プラットフォーム４９００ａ及びディスプレイ４９８０が、統合されたユニットであることもある。例えば、ディスプレイ４９８０及び１以上のコンテンツサービスデバイス４９００ｂが統合されることもあるし、ディスプレイ４９８０及び１以上のコンテンツ配信デバイス４９００ｃが統合されることもある。これらの例は、実施形態を限定するよう意図されるものではない。
【０１０９】
様々な実施形態において、システム４０００は、無線システム、有線システム、又はこれらの組合せとして実装することができる。無線システムとして実装される場合、システム４０００は、１以上のアンテナ、送信機、受信機、トランシーバ、増幅器、フィルタ、制御ロジック等の、無線共用媒体を介して通信するのに適したコンポーネント及びインタフェースを含み得る。無線共用媒体の例は、ＲＦスペクトル等といった無線スペクトルの一部を含み得る。有線システムとして実装される場合、システム４０００は、Ｉ／Ｏアダプタ、Ｉ／Ｏアダプタを対応する有線通信媒体に接続する物理コネクタ、ネットワークインタフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等といった、有線通信媒体を介して通信するのに適したコンポーネント及びインタフェースを含み得る。有線通信媒体の例は、ワイヤ、ケーブル、メタルリード、プリント回路基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、ファイバオプティックス等を含み得る。
【０１１０】
プラットフォーム４９００ａは、情報を通信するための１以上の論理チャネル又は物理チャネルを確立することができる。この情報は、メディア情報及び制御情報を含み得る。メディア情報は、ユーザのために意図されるコンテンツを表す任意のデータを指し得る。コンテンツの例は、例えば、音声会話からのデータ、ビデオ会議、ストリーミングビデオ、電子メール（「ｅｍａｉｌ」）メッセージ、音声メールメッセージ、英数字記号、グラフィックス、画像、ビデオ、テキスト等を含み得る。音声会話からのデータは、例えば、発話情報、無音期間、背景雑音、快適雑音、トーン等であり得る。制御情報は、自動化システムのために意図されるコマンド、命令、又は制御語を表す任意のデータを指し得る。例えば、制御情報を使用して、システムを介してメディア情報をルーティングすることができる、又は、予め定められた方式でメディア情報を処理するようにノードに命令することができる。しかしながら、実施形態は、図１３に示されるコンテキストにおける要素又は説明した要素に限定されるものではない。
【０１１１】
上述したように、システム４０００は、可変の物理的スタイル又はフォームファクタで具現化され得る。図１４は、システム４０００を具現化することができるスモールフォームファクタデバイス５０００の実施形態を示している。実施形態において、例えば、デバイス５０００は、無線能力を有するモバイルコンピューティングデバイスとして実装することができる。モバイルコンピューティングデバイスは、例えば、処理システムと、１以上のバッテリ等のモバイル電源と、を有する任意のデバイスを指し得る。
【０１１２】
上述したように、モバイルコンピューティングデバイスの例は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、セルラ電話機、セルラ電話機／ＰＤＡの組合せ、テレビジョン、スマートデバイス（例えば、スマートフォン、スマートタブレット、又はスマートテレビジョン）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等を含み得る。
【０１１３】
モバイルコンピューティングデバイスの例はまた、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、アイグラスコンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シューコンピュータ、クロージングコンピュータ、及び他のウェアラブルコンピュータ等の、人により装着されるよう構成されるコンピュータを含み得る。実施形態において、例えば、モバイルコンピューティングデバイスは、コンピュータアプリケーションに加えて、音声通信及び／又はデータ通信を実行することができるスマートフォンとして実装することができる。いくつかの実施形態が、一例としてのスマートフォンとして実装されるモバイルコンピューティングデバイスを使用するものとして説明され得るが、他の実施形態は、他の無線モバイルコンピューティングデバイスを使用して実装されてもよいことが理解できるであろう。実施形態は、このコンテキストにおいて限定されるものではない。
【０１１４】
図１４に示されるように、デバイス５０００は、ディスプレイ５９８０、ナビゲーションコントローラ５９２０ａ、ユーザインタフェース５８８０、ハウジング５９０５、Ｉ／Ｏデバイス５９２０ｂ、及びアンテナ５９９８を含み得る。ディスプレイ５９８０は、モバイルコンピューティングデバイスに適切な情報を表示するための任意の適切なディスプレイユニットを含み得、図１３のディスプレイ４９８０と同じであってもよいし類似するものであってもよい。ナビゲーションコントローラ５９２０ａは、ユーザインタフェース５８８０とインタラクトするために使用することができる１以上のナビゲーション特徴を含み得、図１３のナビゲーションコントローラ４９２０と同じであってもよいし類似するものであってもよい。Ｉ／Ｏデバイス５９２０ｂは、モバイルコンピューティングデバイスに情報を入力するための任意の適切なＩ／Ｏデバイスを含み得る。Ｉ／Ｏデバイス５９２０ｂの例は、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカースイッチ、マイクロフォン、スピーカ、音声認識デバイス及びソフトウェア等を含み得る。情報はまた、マイクロフォンを介してデバイス５０００に入力され得る。そのような情報は、音声認識デバイスによりデジタル化され得る。実施形態は、このコンテキストにおいて限定されるものではない。
【０１１５】
より一般的に、本明細書に記載し図示したコンピューティングデバイスの様々な要素は、様々なハードウェア要素、ソフトウェア要素、又はこれらの組合せを含み得る。ハードウェア要素の例は、デバイス、ロジックデバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサコンポーネント、回路素子（例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含み得る。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はこれらの任意の組合せを含み得る。しかしながら、実施形態が、ハードウェア要素及び／又はソフトウェア要素を使用して実装されるかの決定は、所与の実装に関して必要に応じて、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、及び他の設計制約又は性能制約等の任意の数のファクタに応じて変わり得る。
【０１１６】
いくつかの実施形態が、「一実施形態」又は「１つの実施形態」という表現、及びこれらの派生形の表現を使用して説明され得る。これらの用語は、その実施形態に関連して説明される特定の特徴、構造、又は特性が、少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な箇所における「一実施形態において」という語句の出現は、必ずしも全て同じ実施形態を指しているわけではない。さらに、いくつかの実施形態が、「結合された、結合されている」及び「接続された、接続されている」という表現、及びこれらの派生形の表現を使用して説明され得る。これらの用語は、互いに対する同義語として必ずしも意図されているわけではない。例えば、２以上の要素が、互いとの直接的な物理的又は電気的な接触状態にあることを示すために、いくつかの実施形態が、「結合された、結合されている」及び／又は「接続された、接続されている」という用語を使用して説明され得る。しかしながら、「結合された、結合されている」という用語はまた、２以上の要素が、互いとの直接的な接触状態にはないが、それでもなお互いと協働又はインタラクトすることを意味することもある。さらに、異なる実施形態からの態様又は要素が組み合されることもある。
【０１１７】
読者が技術的な開示内容の本質を迅速に確認できるようにする、本開示の要約が提供されていることを強調しておく。請求項の範囲又は意味を解釈又は限定するためには使用されないという理解の下で、要約は提出されている。さらに、上記の詳細な説明において、様々な特徴が、本開示を簡素化するために、単一の実施形態に一緒にグループ化されていることが確認できよう。このような方式の開示は、特許請求される実施形態が、各請求項において明示的に記載されるものよりも多くの特徴を必要とするという意図を示すものとして解釈されるべきではない。そうではなく、請求項が示すように、創造的な主題は、単一の開示される実施形態の全ての特徴よりも少ない特徴を含む。したがって、請求項は、詳細な説明に組み込まれ、各請求項は、それ自身、別々の実施形態として独立している。請求項において、「含む、備える、有する（including）」及び「ここにおいて（in  which）」という用語は、「含む、備える、有する（comprising）」及び「ここにおいて（wherein）」というそれぞれの用語の分かりやすい英語の同等な表現として使用される。さらに、「第１の」、「第２の」、「第３の」等といった用語は、単にラベルとして使用されているに過ぎず、それらの用語の対象に数値的な要件を課すよう意図されるものではない。
【０１１８】
上述したものは、開示したアーキテクチャの例を含む。もちろん、コンポーネント及び／又は方法の全ての考えられる組合せを説明することは不可能であるが、当業者であれば、多くのさらなる組合せ及び置換が可能であることが認識できよう。したがって、新規なアーキテクチャは、請求項の主旨及び範囲に属する全てのそのような変化形態、変更形態、及び変形形態を包含することが意図されている。次いで、詳細な開示は、さらなる実施形態に関連する例を提供することに移る。以下に提供される例は、限定的であるよう意図されるものではない。
【０１１９】
例１において、３次元（３Ｄ）モデルデータから２次元（２Ｄ）画像をレンダリングするデバイスは、スクリーン画像の１つのスクリーン画像画素につき複数のスクリーン画像サンプルを使用して、３Ｄモデルの細かいラスタ化を実行して、スクリーン画像の視点から可視である、３Ｄモデルの可視プリミティブのセットを識別する細かいラスタ化コンポーネントと、スクリーン画像に対応するシェーディング画像の１つのシェーディング画像画素につき１つのシェーディング画像サンプルを使用して、スクリーン画像の視点から３Ｄモデルの粗いラスタ化を実行して、シェーディング画像画素のパスに沿った少なくとも１つのプリミティブを識別する粗いラスタ化コンポーネントと、シェーディング画像画素内で可視であるとして、第１のスクリーン画像画素のスクリーン画像サンプルにより識別されたプリミティブであって、且つ、シェーディング画像画素に関連付けられているシェーディング画像サンプルのパスに沿ったものとして識別されたプリミティブをシェーディングして、第１の色値を導出するシェーディングコンポーネントと、を含む。
【０１２０】
例１の主題を含む例２において、デバイスは、シェーディング画像画素に属する、３Ｄモデルの第１のセットのスクリーン画像サンプルの各スクリーン画像サンプルに、第１の色値を割り当てる転換コンポーネントと、第１のスクリーン画像画素の第２の色値を決定するために、第１のスクリーン画像画素に属する、３Ｄモデルの第２のセットのスクリーン画像サンプルの色値を平均化するサンプル平均化コンポーネントであって、第１のスクリーン画像画素は、シェーディング画像画素に少なくとも部分的に一致し、第２のセットのスクリーン画像サンプルは、第１のセットのスクリーン画像サンプルとは異なり、第１のセットのスクリーン画像サンプルと、少なくとも１つのスクリーン画像サンプルを共有する、サンプル平均化コンポーネントと、を含んでもよい。
【０１２１】
例１〜２のうちのいずれかの主題を含む例３において、細かいラスタ化コンポーネントは、第１のセットのスクリーン画像サンプル及び第２のセットのスクリーン画像サンプルを含む複数のスクリーン画像サンプルを、シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成してもよく、複数のＳＰＩＤの各ＳＰＩＤは、複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブを、複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける。
【０１２２】
例１〜３のうちのいずれかの主題を含む例４において、複数のＳＰＩＤの各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、ＳＰＩＤに関連付けられているスクリーン画像サンプルが属する、複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、座標に関連付けられているシェーディング画像画素内の可視プリミティブの深度のインジケーションと、を含んでもよい。
【０１２３】
例１〜４のうちのいずれかの主題を含む例５において、細かいラスタ化コンポーネントは、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを与えるように、複数のＳＰＩＤのうちのＳＰＩＤの少なくともサブセットの間で識別子を再配分してもよい。
【０１２４】
例１〜５のうちのいずれかの主題を含む例６において、デバイスは、複数のＳＰＩＤから、可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するシェーディング制約コンポーネントであって、リストのセットの各リストは、複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、リストに関連付けられているシェーディング画像画素内で可視である、可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、シェーディング画像画素内の少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、シェーディング制約コンポーネントを含んでもよい。
【０１２５】
例１〜６のうちのいずれかの主題を含む例７において、リストのセットの各リストは、連結リストを含んでもよく、リストのセットは、リストの配列を含む。
【０１２６】
例１〜７のうちのいずれかの主題を含む例８において、シェーディングコンポーネントは、少なくとも１つのプリミティブの識別子を、１つのシェーディング画像画素に関連付けられている、リストのセットのうちのリストの少なくとも１つの識別子と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定してもよい。
【０１２７】
例１〜８のうちのいずれかの主題を含む例９において、シェーディング制約コンポーネントは、複数のＳＰＩＤから、複数のシェーディング画像画素の各シェーディング画像画素内で可視である、可視プリミティブのセットのうちのいずれの可視プリミティブにより到達される最大深度を決定してもよい。
【０１２８】
例１〜９のうちのいずれかの主題を含む例１０において、シェーディングコンポーネントは、少なくとも１つのプリミティブの深度を、１つのシェーディング画像画素内で可視であるいずれの可視プリミティブにより到達される最大深度と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定してもよい。
【０１２９】
例１〜１０のうちのいずれかの主題を含む例１１において、デバイスは、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、第２の色値を決定する際に、スクリーン画像内の第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるフィルタリングコンポーネントを含んでもよい。
【０１３０】
例１〜１１のうちのいずれかの主題を含む例１２において、細かいラスタ化コンポーネントは、スーパーサンプリング、マルチサンプリング、確率的サンプリング、時間ディメンジョンにわたる確率的サンプリング、レンズディメンジョンにわたる確率的サンプリング、及びレイトレーシングのうちの１以上を使用してもよい。
【０１３１】
例１〜１２のうちのいずれかの主題を含む例１３において、デバイスは、スクリーン画像を提示するディスプレイを含んでもよい。
【０１３２】
例１〜１３のうちのいずれかの主題を含む例１４において、デバイスは、スクリーン画像を表すスクリーン画像データを、別のデバイスに送信するためのインタフェースを含んでもよい。
【０１３３】
例１〜１４のうちのいずれかの主題を含む例１５において、細かいラスタ化コンポーネントは、スクリーン画像の画素解像度を、ディスプレイの画素解像度に設定してもよい。
【０１３４】
例１６において、３次元（３Ｄ）モデルデータから２次元（２Ｄ）画像をレンダリングするデバイスは、スクリーン画像に対応するシェーディング画像のシェーディング画像画素内で可視であるプリミティブをシェーディングして、シェーディング画像画素の第１の色値を決定するシェーディングコンポーネントと、シェーディング画像画素に属する、３Ｄモデルの第１のセットのスクリーン画像サンプルの各スクリーン画像サンプルに、第１の色値を割り当てる転換コンポーネントと、スクリーン画像の第１のスクリーン画像画素の第２の色値を決定するために、第１のスクリーン画像画素に属する、３Ｄモデルの第２のセットのスクリーン画像サンプルの色値を平均化するサンプル平均化コンポーネントであって、第１のスクリーン画像画素は、シェーディング画像画素に少なくとも部分的に一致し、第２のセットのスクリーン画像サンプルは、第１のセットのスクリーン画像サンプルとは異なり、第１のセットのスクリーン画像サンプルと、少なくとも１つのスクリーン画像サンプルを共有する、サンプル平均化コンポーネントと、を含む。
【０１３５】
例１６の主題を含む例１７において、デバイスは、複数のスクリーン画像サンプルを使用して、３Ｄモデルをラスタ化して、スクリーン画像の視点から可視である、３Ｄモデルの可視プリミティブのセットを識別し、複数のスクリーン画像サンプルを、シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成する細かいラスタ化コンポーネントであって、複数のＳＰＩＤの各ＳＰＩＤは、第１のセットのスクリーン画像サンプル及び第２のセットのスクリーン画像サンプルを含む複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブを、複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける、細かいラスタ化コンポーネントを含んでもよい。
【０１３６】
例１６〜１７のうちのいずれかの主題を含む例１８において、複数のＳＰＩＤの各ＳＰＩＤは、記可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、ＳＰＩＤに関連付けられているスクリーン画像サンプルが属する、複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、座標に関連付けられているシェーディング画像画素内の可視プリミティブの深度のインジケーションと、を含んでもよい。
【０１３７】
例１６〜１８のうちのいずれかの主題を含む例１９において、細かいラスタ化コンポーネントは、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを与えるように、複数のＳＰＩＤのうちのＳＰＩＤの少なくともサブセットの間で識別子を再配分してもよい。
【０１３８】
例１６〜１９のうちのいずれかの主題を含む例２０において、デバイスは、複数のＳＰＩＤから、可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するシェーディング制約コンポーネントであって、リストのセットの各リストは、複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、リストに関連付けられているシェーディング画像画素内で可視である、可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、シェーディング画像画素内の少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、シェーディング制約コンポーネントを含んでもよい。
【０１３９】
例１６〜２０のうちのいずれかの主題を含む例２１において、リストのセットの各リストは、連結リストを含んでもよく、リストのセットは、リストの配列を含む。
【０１４０】
例１６〜２１のうちのいずれかの主題を含む例２２において、デバイスは、複数のシェーディング画像画素のうちの１つのシェーディング画像画素に関連付けられている１つのシェーディング画像サンプルを使用して、３Ｄモデルに至る、１つのシェーディング画像サンプルのパスに沿って存在する、３Ｄモデルの少なくとも１つのプリミティブを識別する粗いシェーディングコンポーネントを含んでもよく、シェーディングコンポーネントは、少なくとも１つのプリミティブの識別子を、１つのシェーディング画像画素に関連付けられている、リストのセットのうちのリストの少なくとも１つの識別子と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定する。
【０１４１】
例１６〜２２のうちのいずれかの主題を含む例２３において、シェーディング制約コンポーネントは、複数のＳＰＩＤから、複数のシェーディング画像画素の各シェーディング画像画素内で可視である、可視プリミティブのセットのうちのいずれの可視プリミティブにより到達される最大深度を決定してもよい。
【０１４２】
例１６〜２３のうちのいずれかの主題を含む例２４において、デバイスは、複数のシェーディング画像画素のうちの１つのシェーディング画像画素に関連付けられている１つのシェーディング画像サンプルを使用して、３Ｄモデルに至る、１つのシェーディング画像サンプルのパスに沿って存在する、３Ｄモデルの少なくとも１つのプリミティブを識別する粗いシェーディングコンポーネントを含んでもよく、シェーディングコンポーネントは、少なくとも１つのプリミティブの深度を、１つのシェーディング画像画素内で可視であるいずれの可視プリミティブにより到達される最大深度と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定する。
【０１４３】
例１６〜２４のうちのいずれかの主題を含む例２５において、デバイスは、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、第２の色値を決定する際に、スクリーン画像内の第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるフィルタリングコンポーネントを含んでもよい。
【０１４４】
例１６〜２５のうちのいずれかの主題を含む例２６において、細かいラスタ化コンポーネントは、スーパーサンプリング、マルチサンプリング、確率的サンプリング、時間ディメンジョンにわたる確率的サンプリング、レンズディメンジョンにわたる確率的サンプリング、及びレイトレーシングのうちの１以上を使用してもよい。
【０１４５】
例１６〜２６のうちのいずれかの主題を含む例２７において、デバイスは、スクリーン画像を提示するディスプレイを含んでもよく、細かいラスタ化コンポーネントは、スクリーン画像の画素解像度を、ディスプレイの画素解像度に設定する。
【０１４６】
例１６〜２７のうちのいずれかの主題を含む例２８において、デバイスは、スクリーン画像を提示するディスプレイを含んでもよい。
【０１４７】
例１６〜２８のうちのいずれかの主題を含む例２９において、デバイスは、スクリーン画像を表すスクリーン画像データを、別のデバイスに送信するためのインタフェースを含んでもよい。
【０１４８】
例１６〜２９のうちのいずれかの主題を含む例３０において、デバイスは、スクリーン画像の画素解像度を、ディスプレイの画素解像度に設定する細かいラスタ化コンポーネントを含んでもよい。
【０１４９】
例３１において、３次元（３Ｄ）モデルデータから２次元（２Ｄ）画像をレンダリングするための、コンピュータにより実施される方法は、スクリーン画像の１つのスクリーン画像画素につき複数のスクリーン画像サンプルを使用して、３Ｄモデルの細かいラスタ化を実行して、スクリーン画像の視点から可視である、３Ｄモデルの可視プリミティブのセットを識別するステップと、スクリーン画像に対応するシェーディング画像の１つのシェーディング画像画素につき１つのシェーディング画像サンプルを使用して、スクリーン画像の視点から３Ｄモデルの粗いラスタ化を実行して、シェーディング画像画素のパスに沿った少なくとも１つのプリミティブを識別するステップと、シェーディング画像画素内で可視であるとして、第１のスクリーン画像画素のスクリーン画像サンプルにより識別されたプリミティブであって、且つ、シェーディング画像画素に関連付けられているシェーディング画像サンプルのパスに沿ったものとして識別されたプリミティブをシェーディングして、第１の色値を導出するステップと、を含む。
【０１５０】
例３１の主題を含む例３２において、方法は、シェーディング画像画素に属する、３Ｄモデルの第１のセットのスクリーン画像サンプルの各スクリーン画像サンプルに、第１の色値を割り当てるステップと、第１のスクリーン画像画素の第２の色値を決定するために、第１のスクリーン画像画素に属する、３Ｄモデルの第２のセットのスクリーン画像サンプルの色値を平均化するステップであって、第１のスクリーン画像画素は、シェーディング画像画素に少なくとも部分的に一致し、第２のセットのスクリーン画像サンプルは、第１のセットのスクリーン画像サンプルとは異なり、第１のセットのスクリーン画像サンプルと、少なくとも１つのスクリーン画像サンプルを共有する、ステップと、を含んでもよい。
【０１５１】
例３１〜３２のうちのいずれかの主題を含む例３３において、方法は、第１のセットのスクリーン画像サンプル及び第２のセットのスクリーン画像サンプルを含む複数のスクリーン画像サンプルを、シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成するステップであって、複数のＳＰＩＤの各ＳＰＩＤは、複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブを、複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける、ステップを含んでもよい。
【０１５２】
例３１〜３３のうちのいずれかの主題を含む例３４において、複数のＳＰＩＤの各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、ＳＰＩＤに関連付けられているスクリーン画像サンプルが属する、複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、座標に関連付けられているシェーディング画像画素内の可視プリミティブの深度のインジケーションと、を含んでもよい。
【０１５３】
例３１〜３４のうちのいずれかの主題を含む例３５において、方法は、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを与えるように、複数のＳＰＩＤのうちのＳＰＩＤの少なくともサブセットの間で識別子を再配分するステップを含んでもよい。
【０１５４】
例３１〜３５のうちのいずれかの主題を含む例３６において、方法は、複数のＳＰＩＤから、可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するステップであって、リストのセットの各リストは、複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、リストに関連付けられているシェーディング画像画素内で可視である、可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、シェーディング画像画素内の少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、ステップを含んでもよい。
【０１５５】
例３１〜３６のうちのいずれかの主題を含む例３７において、リストのセットの各リストは、連結リストを含んでもよく、リストのセットは、リストの配列を含む。
【０１５６】
例３１〜３７のうちのいずれかの主題を含む例３８において、方法は、少なくとも１つのプリミティブの識別子を、１つのシェーディング画像画素に関連付けられている、リストのセットのうちのリストの少なくとも１つの識別子と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定するステップを含んでもよい。
【０１５７】
例３１〜３８のうちのいずれかの主題を含む例３９において、方法は、複数のＳＰＩＤから、複数のシェーディング画像画素の各シェーディング画像画素内で可視である、可視プリミティブのセットのうちのいずれの可視プリミティブにより到達される最大深度を決定するステップを含んでもよい。
【０１５８】
例３１〜３９のうちのいずれかの主題を含む例４０において、方法は、少なくとも１つのプリミティブの深度を、１つのシェーディング画像画素内で可視であるいずれの可視プリミティブにより到達される最大深度と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定するステップを含んでもよい。
【０１５９】
例３１〜４０のうちのいずれかの主題を含む例４１において、方法は、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、第２の色値を決定する際に、スクリーン画像内の第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるステップを含んでもよい。
【０１６０】
例３１〜４１のうちのいずれかの主題を含む例４２において、方法は、スーパーサンプリング、マルチサンプリング、確率的サンプリング、時間ディメンジョンにわたる確率的サンプリング、レンズディメンジョンにわたる確率的サンプリング、及びレイトレーシングのうちの１以上を使用するステップを含んでもよい。
【０１６１】
例３１〜４２のうちのいずれかの主題を含む例４３において、方法は、ディスプレイ上にスクリーン画像を提示するステップを含んでもよい。
【０１６２】
例３１〜４３のうちのいずれかの主題を含む例４４において、方法は、スクリーン画像を表すスクリーン画像データを、別のデバイスに送信するステップを含んでもよい。
【０１６３】
例３１〜４４のうちのいずれかの主題を含む例４５において、方法は、スクリーン画像の画素解像度を、ディスプレイの画素解像度に設定するステップを含んでもよい。
【０１６４】
例４６において、３次元（３Ｄ）モデルデータから２次元（２Ｄ）画像をレンダリングするための、コンピュータにより実施される方法は、スクリーン画像に対応するシェーディング画像のシェーディング画像画素内で可視であるプリミティブをシェーディングして、シェーディング画像画素の第１の色値を決定するステップと、シェーディング画像画素に属する、３Ｄモデルの第１のセットのスクリーン画像サンプルの各スクリーン画像サンプルに、第１の色値を割り当てるステップと、スクリーン画像の第１のスクリーン画像画素の第２の色値を決定するために、第１のスクリーン画像画素に属する、３Ｄモデルの第２のセットのスクリーン画像サンプルの色値を平均化するステップであって、第１のスクリーン画像画素は、シェーディング画像画素に少なくとも部分的に一致し、第２のセットのスクリーン画像サンプルは、第１のセットのスクリーン画像サンプルとは異なり、第１のセットのスクリーン画像サンプルと、少なくとも１つのスクリーン画像サンプルを共有する、ステップと、を含む。
【０１６５】
例４６の主題を含む例４７において、方法は、複数のスクリーン画像サンプルを使用して、３Ｄモデルをラスタ化して、スクリーン画像の視点から可視である、３Ｄモデルの可視プリミティブのセットを識別し、複数のスクリーン画像サンプルを、シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成するステップであって、複数のＳＰＩＤの各ＳＰＩＤは、第１のセットのスクリーン画像サンプル及び第２のセットのスクリーン画像サンプルを含む複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブを、複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける、ステップを含んでもよい。
【０１６６】
例４６〜４７のうちのいずれかの主題を含む例４８において、複数のＳＰＩＤの各ＳＰＩＤは、記可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、ＳＰＩＤに関連付けられているスクリーン画像サンプルが属する、複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、座標に関連付けられているシェーディング画像画素内の可視プリミティブの深度のインジケーションと、を含んでもよい。
【０１６７】
例４６〜４８のうちのいずれかの主題を含む例４９において、方法は、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを与えるように、複数のＳＰＩＤのうちのＳＰＩＤの少なくともサブセットの間で識別子を再配分するステップを含んでもよい。
【０１６８】
例４６〜４９のうちのいずれかの主題を含む例５０において、方法は、複数のＳＰＩＤから、可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するステップであって、リストのセットの各リストは、複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、リストに関連付けられているシェーディング画像画素内で可視である、可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、シェーディング画像画素内の少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、ステップを含んでもよい。
【０１６９】
例４６〜５０のうちのいずれかの主題を含む例５１において、リストのセットの各リストは、連結リストを含んでもよく、リストのセットは、リストの配列を含む。
【０１７０】
例４６〜５１のうちのいずれかの主題を含む例５２において、方法は、複数のシェーディング画像画素のうちの１つのシェーディング画像画素に関連付けられている１つのシェーディング画像サンプルを使用して、３Ｄモデルに至る、１つのシェーディング画像サンプルのパスに沿って存在する、３Ｄモデルの少なくとも１つのプリミティブを識別するステップと、少なくとも１つのプリミティブの識別子を、１つのシェーディング画像画素に関連付けられている、リストのセットのうちのリストの少なくとも１つの識別子と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定するステップと、を含んでもよい。
【０１７１】
例４６〜５２のうちのいずれかの主題を含む例５３において、方法は、複数のＳＰＩＤから、複数のシェーディング画像画素の各シェーディング画像画素内で可視である、可視プリミティブのセットのうちのいずれの可視プリミティブにより到達される最大深度を決定するステップを含んでもよい。
【０１７２】
例４６〜５３のうちのいずれかの主題を含む例５４において、方法は、複数のシェーディング画像画素のうちの１つのシェーディング画像画素に関連付けられている１つのシェーディング画像サンプルを使用して、３Ｄモデルに至る、１つのシェーディング画像サンプルのパスに沿って存在する、３Ｄモデルの少なくとも１つのプリミティブを識別するステップと、少なくとも１つのプリミティブの深度を、１つのシェーディング画像画素内で可視であるいずれの可視プリミティブにより到達される最大深度と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定するステップと、を含んでもよい。
【０１７３】
例４６〜５４のうちのいずれかの主題を含む例５５において、方法は、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、第２の色値を決定する際に、スクリーン画像内の第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるステップを含んでもよい。
【０１７４】
例４６〜５５のうちのいずれかの主題を含む例５６において、方法は、複数のスクリーン画像サンプルを使用して、３Ｄモデルをラスタ化するために、スーパーサンプリング、マルチサンプリング、確率的サンプリング、時間ディメンジョンにわたる確率的サンプリング、レンズディメンジョンにわたる確率的サンプリング、及びレイトレーシングのうちの１以上を使用するステップを含んでもよい。
【０１７５】
例４６〜５６のうちのいずれかの主題を含む例５７において、方法は、ディスプレイ上にスクリーン画像を提示するステップを含んでもよい。
【０１７６】
例４６〜５７のうちのいずれかの主題を含む例５８において、方法は、スクリーン画像の画素解像度を、ディスプレイの画素解像度に設定するステップを含んでもよい。
【０１７７】
例４６〜５８のうちのいずれかの主題を含む例５９において、方法は、スクリーン画像を表すスクリーン画像データを、別のデバイスに送信するステップを含んでもよい。
【０１７８】
例４６〜５９のうちのいずれかの主題を含む例６０において、方法は、スクリーン画像の画素解像度を、別のデバイスのディスプレイの画素解像度に設定するステップを含んでもよい。
【０１７９】
例６１において、少なくとも１つのマシン読み取り可能な記憶媒体は、命令を含み、命令がコンピューティングデバイスにより実行されたときに、命令は、コンピューティングデバイスに、スクリーン画像の１つのスクリーン画像画素につき複数のスクリーン画像サンプルを使用して、３Ｄモデルの細かいラスタ化を実行して、スクリーン画像の視点から可視である、３Ｄモデルの可視プリミティブのセットを識別するステップと、スクリーン画像に対応するシェーディング画像の１つのシェーディング画像画素につき１つのシェーディング画像サンプルを使用して、スクリーン画像の視点から３Ｄモデルの粗いラスタ化を実行して、シェーディング画像画素のパスに沿った少なくとも１つのプリミティブを識別するステップと、シェーディング画像画素内で可視であるとして、第１のスクリーン画像画素のスクリーン画像サンプルにより識別されたプリミティブであって、且つ、シェーディング画像画素に関連付けられているシェーディング画像サンプルのパスに沿ったものとして識別されたプリミティブをシェーディングして、第１の色値を導出するステップと、を実行させる。
【０１８０】
例６１の主題を含む例６２において、命令は、コンピューティングデバイスに、シェーディング画像画素に属する、３Ｄモデルの第１のセットのスクリーン画像サンプルの各スクリーン画像サンプルに、第１の色値を割り当てるステップと、第１のスクリーン画像画素の第２の色値を決定するために、第１のスクリーン画像画素に属する、３Ｄモデルの第２のセットのスクリーン画像サンプルの色値を平均化するステップであって、第１のスクリーン画像画素は、シェーディング画像画素に少なくとも部分的に一致し、第２のセットのスクリーン画像サンプルは、第１のセットのスクリーン画像サンプルとは異なり、第１のセットのスクリーン画像サンプルと、少なくとも１つのスクリーン画像サンプルを共有する、ステップと、を実行させてもよい。
【０１８１】
例６１〜６２のうちのいずれかの主題を含む例６３において、命令は、コンピューティングデバイスに、第１のセットのスクリーン画像サンプル及び第２のセットのスクリーン画像サンプルを含む複数のスクリーン画像サンプルを、シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成するステップであって、複数のＳＰＩＤの各ＳＰＩＤは、複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブを、複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける、ステップを実行させてもよい。
【０１８２】
例６１〜６３のうちのいずれかの主題を含む例６４において、複数のＳＰＩＤの各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、ＳＰＩＤに関連付けられているスクリーン画像サンプルが属する、複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、座標に関連付けられているシェーディング画像画素内の可視プリミティブの深度のインジケーションと、を含んでもよい。
【０１８３】
例６１〜６４のうちのいずれかの主題を含む例６５において、命令は、コンピューティングデバイスに、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを与えるように、複数のＳＰＩＤのうちのＳＰＩＤの少なくともサブセットの間で識別子を再配分するステップを実行させてもよい。
【０１８４】
例６１〜６５のうちのいずれかの主題を含む例６６において、命令は、コンピューティングデバイスに、複数のＳＰＩＤから、可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するステップであって、リストのセットの各リストは、複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、リストに関連付けられているシェーディング画像画素内で可視である、可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、シェーディング画像画素内の少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、ステップを実行させてもよい。
【０１８５】
例６１〜６６のうちのいずれかの主題を含む例６７において、リストのセットの各リストは、連結リストを含んでもよく、リストのセットは、リストの配列を含む。
【０１８６】
例６１〜６７のうちのいずれかの主題を含む例６８において、命令は、コンピューティングデバイスに、
【０１８７】
例６１〜６８のうちのいずれかの主題を含む例６９において、命令は、コンピューティングデバイスに、少なくとも１つのプリミティブの識別子を、１つのシェーディング画像画素に関連付けられている、リストのセットのうちのリストの少なくとも１つの識別子と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定するステップを実行させてもよい。
【０１８８】
例６１〜６９のうちのいずれかの主題を含む例７０において、命令は、コンピューティングデバイスに、少なくとも１つのプリミティブの深度を、１つのシェーディング画像画素内で可視であるいずれの可視プリミティブにより到達される最大深度と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定するステップを実行させてもよい。
【０１８９】
例６１〜７０のうちのいずれかの主題を含む例７１において、命令は、コンピューティングデバイスに、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、第２の色値を決定する際に、スクリーン画像内の第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるステップを実行させてもよい。
【０１９０】
例６１〜７１のうちのいずれかの主題を含む例７２において、命令は、コンピューティングデバイスに、スーパーサンプリング、マルチサンプリング、確率的サンプリング、時間ディメンジョンにわたる確率的サンプリング、レンズディメンジョンにわたる確率的サンプリング、及びレイトレーシングのうちの１以上を使用するステップを実行させてもよい。
【０１９１】
例６１〜７２のうちのいずれかの主題を含む例７３において、命令は、コンピューティングデバイスに、ディスプレイ上にスクリーン画像を提示するステップを実行させてもよい。
【０１９２】
例６１〜７３のうちのいずれかの主題を含む例７４において、命令は、コンピューティングデバイスに、スクリーン画像を表すスクリーン画像データを、別のデバイスに送信するステップを実行させてもよい。
【０１９３】
例６１〜７４のうちのいずれかの主題を含む例７５において、命令は、コンピューティングデバイスに、スクリーン画像の画素解像度を、ディスプレイの画素解像度に設定するステップを実行させてもよい。
【０１９４】
例７６において、少なくとも１つのマシン読み取り可能な記憶媒体は、命令を含み、命令がコンピューティングデバイスにより実行されたときに、命令は、コンピューティングデバイスに、スクリーン画像に対応するシェーディング画像のシェーディング画像画素内で可視であるプリミティブをシェーディングして、シェーディング画像画素の第１の色値を決定するステップと、シェーディング画像画素に属する、３Ｄモデルの第１のセットのスクリーン画像サンプルの各スクリーン画像サンプルに、第１の色値を割り当てるステップと、スクリーン画像の第１のスクリーン画像画素の第２の色値を決定するために、第１のスクリーン画像画素に属する、３Ｄモデルの第２のセットのスクリーン画像サンプルの色値を平均化するステップであって、第１のスクリーン画像画素は、シェーディング画像画素に少なくとも部分的に一致し、第２のセットのスクリーン画像サンプルは、第１のセットのスクリーン画像サンプルとは異なり、第１のセットのスクリーン画像サンプルと、少なくとも１つのスクリーン画像サンプルを共有する、ステップと、を実行させる。
【０１９５】
例７６の主題を含む例７７において、命令は、コンピューティングデバイスに、複数のスクリーン画像サンプルを使用して、３Ｄモデルをラスタ化して、スクリーン画像の視点から可視である、３Ｄモデルの可視プリミティブのセットを識別し、複数のスクリーン画像サンプルを、シェーディング画像の複数のシェーディング画像画素に対応付ける複数のシェーディング点識別子（ＳＰＩＤ）を生成するステップであって、複数のＳＰＩＤの各ＳＰＩＤは、第１のセットのスクリーン画像サンプル及び第２のセットのスクリーン画像サンプルを含む複数のスクリーン画像サンプルのうちのスクリーン画像サンプルに関連付けられ、各ＳＰＩＤは、可視プリミティブのセットのうちの可視プリミティブを、複数のシェーディング画像画素のうちのシェーディング画像画素に対応付ける、ステップを実行させてもよい。
【０１９６】
例７６〜７７のうちのいずれかの主題を含む例７８において、複数のＳＰＩＤの各ＳＰＩＤは、記可視プリミティブのセットのうちの可視プリミティブに割り当てられる識別子と、ＳＰＩＤに関連付けられているスクリーン画像サンプルが属する、複数のシェーディング画像画素のうちのシェーディング画像画素の座標と、座標に関連付けられているシェーディング画像画素内の可視プリミティブの深度のインジケーションと、を含んでもよい。
【０１９７】
例７６〜７８のうちのいずれかの主題を含む例７９において、命令は、コンピューティングデバイスに、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを与えるように、複数のＳＰＩＤのうちのＳＰＩＤの少なくともサブセットの間で識別子を再配分するステップを実行させてもよい。
【０１９８】
例７６〜７９のうちのいずれかの主題を含む例８０において、命令は、コンピューティングデバイスに、複数のＳＰＩＤから、可視プリミティブのセットのうちの可視プリミティブのリストのセットを生成するステップであって、リストのセットの各リストは、複数のシェーディング画像画素のうちのシェーディング画像画素に関連付けられ、各リストは、リストに関連付けられているシェーディング画像画素内で可視である、可視プリミティブのセットのうちの少なくとも１つの可視プリミティブの少なくとも１つの識別子と、シェーディング画像画素内の少なくとも１つの可視プリミティブの深度のインジケーションと、を含む、ステップを実行させてもよい。
【０１９９】
例７６〜８０のうちのいずれかの主題を含む例８１において、リストのセットの各リストは、連結リストを含んでもよく、リストのセットは、リストの配列を含む。
【０２００】
例７６〜８１のうちのいずれかの主題を含む例８２において、命令は、コンピューティングデバイスに、複数のシェーディング画像画素のうちの１つのシェーディング画像画素に関連付けられている１つのシェーディング画像サンプルを使用して、３Ｄモデルに至る、１つのシェーディング画像サンプルのパスに沿って存在する、３Ｄモデルの少なくとも１つのプリミティブを識別するステップと、少なくとも１つのプリミティブの識別子を、１つのシェーディング画像画素に関連付けられている、リストのセットのうちのリストの少なくとも１つの識別子と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定するステップと、を実行させてもよい。
【０２０１】
例７６〜８２のうちのいずれかの主題を含む例８３において、命令は、コンピューティングデバイスに、複数のＳＰＩＤから、複数のシェーディング画像画素の各シェーディング画像画素内で可視である、可視プリミティブのセットのうちのいずれの可視プリミティブにより到達される最大深度を決定するステップを実行させてもよい。
【０２０２】
例７６〜８３のうちのいずれかの主題を含む例８４において、命令は、コンピューティングデバイスに、複数のシェーディング画像画素のうちの１つのシェーディング画像画素に関連付けられている１つのシェーディング画像サンプルを使用して、３Ｄモデルに至る、１つのシェーディング画像サンプルのパスに沿って存在する、３Ｄモデルの少なくとも１つのプリミティブを識別するステップと、少なくとも１つのプリミティブの深度を、１つのシェーディング画像画素内で可視であるいずれの可視プリミティブにより到達される最大深度と比較して、１つのシェーディング画像画素内の少なくとも１つのプリミティブをシェーディングするかどうかを判定するステップと、を実行させてもよい。
【０２０３】
例７６〜８４のうちのいずれかの主題を含む例８５において、命令は、コンピューティングデバイスに、モーションブラー効果及び被写界深度効果のうちの少なくとも１つを、スクリーン画像内に描写される少なくとも１つのオブジェクトに与えるように、第２の色値を決定する際に、スクリーン画像内の第１のスクリーン画像画素に隣接する第２のスクリーン画像画素に関連付けられている色値を含めるステップを実行させてもよい。
【０２０４】
例７６〜８５のうちのいずれかの主題を含む例８６において、複数のスクリーン画像サンプルを使用して、３Ｄモデルをラスタ化するために、命令は、コンピューティングデバイスに、スーパーサンプリング、マルチサンプリング、確率的サンプリング、時間ディメンジョンにわたる確率的サンプリング、レンズディメンジョンにわたる確率的サンプリング、及びレイトレーシングのうちの１以上を使用するステップを実行させてもよい。
【０２０５】
例７６〜８６のうちのいずれかの主題を含む例８７において、命令は、コンピューティングデバイスに、コンピューティングデバイスのディスプレイ上にスクリーン画像を提示するステップを実行させてもよい。
【０２０６】
例７６〜８７のうちのいずれかの主題を含む例８８において、命令は、コンピューティングデバイスに、スクリーン画像の画素解像度を、ディスプレイの画素解像度に設定するステップを実行させてもよい。
【０２０７】
例７６〜８８のうちのいずれかの主題を含む例８９において、命令は、コンピューティングデバイスに、スクリーン画像を表すスクリーン画像データを、コンピューティングデバイスに結合されているネットワークを介して別のデバイスに送信するステップを実行させてもよい。
【０２０８】
例７６〜８９のうちのいずれかの主題を含む例９０において、命令は、コンピューティングデバイスに、スクリーン画像の画素解像度を、別のデバイスのディスプレイの画素解像度に設定するステップを実行させてもよい。
【図１】
0006328848.tif 000002
【図２】
0006328848.tif 000003
【図３】
0006328848.tif 000004
【図４】
0006328848.tif 000005
【図５Ａ】
0006328848.tif 000006
【図５Ｂ】
0006328848.tif 000007
【図６】
0006328848.tif 000008
【図７】
0006328848.tif 000009
【図８】
0006328848.tif 000010
【図９】
0006328848.tif 000011
【図１０】
0006328848.tif 000012
【図１１】
0006328848.tif 000013
【図１２】
0006328848.tif 000014
【図１３】
0006328848.tif 000015
【図１４】
0006328848.tif 000016