(57)【要約】【解決手段】グラフィックス処理において、仮想空間のシーンの１つまたは複数の頂点を表すデータを受信する。ディスプレイ装置の画面空間に頂点が投影される。頂点密度は、画面空間の選択した部分に対して、より低い頂点密度が画面空間の選択した部分に存在するように調整される。頂点に対してプリミティブアセンブリが行われて、頂点の画面空間への投影から画面空間に１つまたは複数のプリミティブを生成する。次に、対応するプリミティブの部分であるピクセル（単数または複数）にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームが生成される。ある実施態様においては、完成したフレームは、メモリに記憶できる、または、ディスプレイ装置に表示できる。【選択図】図２
2018537755.tif 000002
【特許請求の範囲】
【請求項１】
処理ユニットを有するグラフィックス処理システムを用いたグラフィックス処理の方法であって、
前記処理ユニットを用いて、ディスプレイ装置の画面空間の１つまたは複数の中心窩領域を表すデータを決定することと、
前記処理ユニットを用いて、前記画面空間の前記１つまたは複数の中心窩領域の第１の頂点密度分布と、前記画面空間の１つまたは複数の残りの領域の第２の頂点密度分布とを表す頂点密度データであって、前記第１の密度は、前記第２の密度より高い前記頂点密度データを決定することと、
前記ディスプレイ装置の前記画面空間に投影された仮想空間のシーンの１つまたは複数のオブジェクトの第１のポリゴン集合のテッセレーションを行って、前記第１のポリゴン集合を分割して、テッセレーションされた頂点集合を表すテッセレーションされた頂点データによって表された１つまたは複数のオブジェクトの第２のポリゴン集合を生成することであって、前記テッセレーションされた頂点集合は、前記画面空間の前記１つまたは複数の中心窩領域の前記第１の頂点密度分布と、前記画面空間の前記１つまたは複数の残りの領域の前記第２の頂点密度分布とによって特徴づけられる、前記第２のポリゴン集合を生成することと、
前記処理ユニットを用いて、その後のグラフィックス動作を前記第２のポリゴン集合に対して行うことと、
を含む、方法。
【請求項２】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、前記テッセレーションされた頂点データをメモリに記憶することを含む、請求項１に記載の方法。
【請求項３】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、前記テッセレーションされた頂点データを別の処理システムに送信することを含む、請求項１に記載の方法。
【請求項４】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に１つまたは複数のプリミティブを生成することを含む、請求項１に記載の方法。
【請求項５】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、
プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に１つまたは複数のプリミティブを生成することと、
前記１つまたは複数のプリミティブに対して走査変換を行って、前記複数のピクセルのうちのどのピクセル（単数または複数）が前記１つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
を含む、請求項１に記載の方法。
【請求項６】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、
プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に１つまたは複数のプリミティブを生成することと、
走査変換を前記１つまたは複数のプリミティブに対して行って、前記複数のピクセルのうちのどのピクセル（単数または複数）が前記１つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
前記対応するプリミティブの部分である前記ピクセル（単数または複数）にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームを生成することと、
を含む、請求項１に記載の方法。
【請求項７】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、
プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に１つまたは複数のプリミティブを生成することと、
走査変換を前記１つまたは複数のプリミティブに対して行って、前記複数のピクセルのうちのどのピクセル（単数または複数）が前記１つまたは複数のプリミティブの対応するプリミティブの部分であるか決定することと、
前記対応するプリミティブの部分である前記ピクセル（単数または複数）にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームを生成することと、
前記完成したフレームをメモリに記憶すること、または、前記完成したフレームを前記ディスプレイ装置に表示することと
を含む、請求項１に記載の方法。
【請求項８】
前記第１の頂点密度分布及び前記第２の頂点密度分布は、静的に規定される、請求項１に記載の方法。
【請求項９】
前記第１の頂点密度分布及び前記第２の頂点密度分布は、動的に規定される、請求項１に記載の方法。
【請求項１０】
前記１つまたは複数の中心窩領域は、外部信号によって規定される、請求項１に記載の方法。
【請求項１１】
前記外部信号は、ユーザの視線が向けられている前記ディスプレイ装置上の場所を表す、請求項１０に記載の方法。
【請求項１２】
前記１つまたは複数の中心窩領域は、前記画面空間の中心に近い前記画面空間の１つまたは複数の部分を含む、請求項１に記載の方法。
【請求項１３】
前記第２の頂点密度は、前記画面空間の前記１つまたは複数の中心窩領域から前記画面空間の前記１つまたは複数の残りの領域の相対的距離の関数である、請求項１に記載の方法。
【請求項１４】
前記ディスプレイ装置の前記画面空間は、曲面である、請求項１に記載の方法。
【請求項１５】
前記ディスプレイ装置は、９０度以上の視野によって特徴付けられる、請求項１に記載の方法。
【請求項１６】
前記ディスプレイ装置は、ヘッドマウントディスプレイ装置である、請求項１に記載の方法。
【請求項１７】
その後のグラフィックス動作を投影された頂点の調整された集合を用いて行うことは、前記ディスプレイ装置に提示するために構成される完成したフレームに対応するデータを含む、請求項１に記載の方法。
【請求項１８】
グラフィックス処理システムであって、
処理ユニットと、
メモリと、
前記メモリに記憶され、プロセッサによって実行可能な命令であって、前記プロセッサによって実行されると、前記システムにグラフィックス処理方法を実行させるように構成された前記命令と
を含み、前記方法は、
前記処理ユニットを用いて、ディスプレイ装置の画面空間の１つまたは複数の中心窩領域を表すデータを決定することと、
前記処理ユニットを用いて、前記画面空間の前記１つまたは複数の中心窩領域の第１の頂点密度分布と前記画面空間の１つまたは複数の残りの領域の第２の頂点密度分布とを表す頂点密度データであって、前記第１の密度は前記第２の密度より高い前記頂点密度データを決定することと、
前記ディスプレイ装置の前記画面空間に投影された仮想空間のシーンの１つまたは複数のオブジェクトの第１のポリゴン集合のテッセレーションを行って、前記第１のポリゴン集合を分割することによって、テッセレーションされた頂点集合を表すテッセレーションされた頂点データによって表される前記１つまたは複数のオブジェクトの第２のポリゴン集合を生成することであって、前記テッセレーションされた頂点集合は、前記画面空間の前記１つまたは複数の中心窩領域の前記第１の頂点密度分布と、前記画面空間の前記１つまたは複数の残りの領域の前記第２の頂点密度分布とによって特徴付けられる、前記第２のポリゴン集合を生成することと、
前記処理ユニットを用いて、その後のグラフィックス動作を前記第２のポリゴン集合に対して行うことと、
を含む、グラフィックス処理システム。
【請求項１９】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、前記テッセレーションされた頂点データをメモリに記憶することを含む、請求項１８に記載のシステム。
【請求項２０】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、前記テッセレーションされた頂点データを別の処理システムに送信することを含む、請求項１８に記載のシステム。
【請求項２１】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に１つまたは複数のプリミティブを生成することを含む、請求項１８に記載のシステム。
【請求項２２】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、
プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に１つまたは複数のプリミティブを生成することと、
走査変換を前記１つまたは複数のプリミティブに対して行って、前記複数のピクセルのうちのどのピクセル（単数または複数）が前記１つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
を含む、請求項１８に記載のシステム。
【請求項２３】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、
プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に１つまたは複数のプリミティブを生成することと、
走査変換を前記１つまたは複数のプリミティブに行って、前記複数のピクセルのうちのどのピクセル（単数または複数）が前記１つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
前記対応するプリミティブの部分である前記ピクセル（単数または複数）にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームを生成することと、
を含む、請求項１８に記載のシステム。
【請求項２４】
その後のグラフィックス動作を前記第２のポリゴン集合に対して前記行うことは、
プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に１つまたは複数のプリミティブを生成することと、
走査変換を前記１つまたは複数のプリミティブに対して行って、前記複数のピクセルのうちのどのピクセル（単数または複数）が前記１つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
前記対応するプリミティブの部分である前記ピクセル（単数または複数）にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームを生成することと、
前記完成したフレームを前記メモリに記憶すること、または、前記完成したフレームを前記ディスプレイ装置に表示することと、
を含む、請求項１８に記載のシステム。
【請求項２５】
前記第１の頂点密度分布及び前記第２の頂点密度分布は、静的に規定される、請求項１８に記載のシステム。
【請求項２６】
前記第１の頂点密度分布及び前記第２の頂点密度分布は、動的に規定される、請求項１８に記載のシステム。
【請求項２７】
前記１つまたは複数の中心窩領域は、外部信号によって規定される、請求項１に記載の方法。
【請求項２８】
前記外部信号は、ユーザの視線が向けられている前記ディスプレイ装置上の場所を表す、請求項２７に記載のシステム。
【請求項２９】
前記１つまたは複数の中心窩領域は、前記画面空間の中心に近い前記画面空間の１つまたは複数の部分を含む、請求項１８に記載のシステム。
【請求項３０】
前記第２の頂点密度は、前記画面空間の前記１つまたは複数の中心窩領域から前記画面空間の前記１つまたは複数の残りの領域への相対的距離の関数である、請求項１８に記載のシステム。
【請求項３１】
前記ディスプレイ装置の前記画面空間は、曲面である、請求項１８に記載のシステム。
【請求項３２】
前記ディスプレイ装置は、９０度以上の視野によって特徴付けられる、請求項１８に記載のシステム。
【請求項３３】
前記ディスプレイ装置は、ヘッドマウントディスプレイ装置である、請求項１に記載の方法。
【請求項３４】
その後のグラフィックス動作を投影された頂点の調整された集合を用いて行うことは、前記ディスプレイ装置に提示するために構成される完成したフレームに対応するデータを生成することを含む、請求項１８に記載のシステム。
【請求項３５】
コンピュータ実行可能命令を有する非一時的コンピュータ可読媒体であって、前記命令は実行されると、処理ユニットを有するグラフィックス処理システムを用いたグラフィックス処理方法を実施し、前記方法は、
前記処理ユニットを用いて、ディスプレイ装置の画面空間の１つまたは複数の中心窩領域を表すデータを決定することと、
前記処理ユニットを用いて、前記画面空間の前記１つまたは複数の中心窩領域の第１の頂点密度分布と、前記画面空間の１つまたは複数の残りの領域の第２の頂点密度分布とを表す頂点密度データであって、前記第１の密度は前記第２の密度より高い前記頂点密度データを決定することと、
前記ディスプレイ装置の前記画面空間に投影された仮想空間のシーンの１つまたは複数のオブジェクトの第１のポリゴン集合のテッセレーションを行って、前記第１のポリゴン集合を分割することによって、テッセレーションされた頂点集合を表すテッセレーションされた頂点データによって表される前記１つまたは複数のオブジェクトの第２のポリゴン集合を生成することであって、前記テッセレーションされた頂点集合は、前記画面空間の前記１つまたは複数の中心窩領域の前記第１の頂点密度分布と、前記画面空間の前記１つまたは複数の残りの領域の前記第２の頂点密度分布とによって特徴づけられる、前記第２のポリゴン集合を生成することと、
前記処理ユニットを用いて、その後のグラフィックス動作を前記第２のポリゴン集合に対して行うことと、
を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１５年１０月２９日出願のＵＳ特許出願番号第１４／９２７，１５７号の優先利益を主張し、その内容全体を参照により本明細書に組み込む。
【０００２】
本開示の態様は、コンピュータグラフィックスに関する。詳細には、本開示は、画面上の場所によって解像度を変えることに関する。
【背景技術】
【０００３】
コンピュータグラフィックスにおいては、テッセレーションを使用して、あるシーンのオブジェクトを表す（頂点集合と呼ばれることもある）ポリゴンのデータセットを管理し、ポリゴンのデータセットをレンダリングに適した構造に分割する。典型的には、三次元オブジェクトデータは、特に、リアルタイムレンダリングのために三角形にテッセレーションされる。リアルタイムグラフィックスのためのテッセレーションの主な長所は、テッセレーションによって、カメラ距離等の制御パラメータに基づいて、３Ｄメッシュと３Ｄメッシュのシルエットエッジに詳細を動的に追加したり、減らしたりすることが可能になることである。
【０００４】
グラフィックス処理には、典型的に、２つのプロセッサ、中央処理装置（ＣＰＵ）、及び、グラフィックス処理ユニット（ＧＰＵ）の座標が関与する。ＧＰＵは、ディスプレイに出力するためのフレームバッファ内の画像の作成を加速するように設計された専用電子回路である。ＧＰＵは、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、及び、ゲームコンソールで使用される。ＧＰＵは、典型的には、コンピュータグラフィックスの操作に効率が良いように設計される。ＧＰＵは、高度な並列処理アーキテクチャを有することが多く、高度な並列処理アーキテクチャによって、大きいデータブロックの処理を並列で行うアルゴリズムに関して汎用ＣＰＵよりもＧＰＵは有効である。
【０００５】
ＣＰＵは、ＧＰＵに、一般的に描画コマンドと呼ばれる命令を送信してよい。描画コマンドは、特定のグラフィックス処理タスクを実施するように、例えば、画像の前のフレームに対して変化した特定のテクスチャをレンダリングするように、ＧＰＵに命令する。これらの描画コマンドは、特定のアプリケーションの仮想環境の状態に対応するグラフィックスレンダリングコマンドを発するために、グラフィックスアプリケーションプログラミングインタフェース（ＡＰＩ）を用いてＣＰＵによって調整されてよい。
【０００６】
特定のプログラムに関するテクスチャをレンダリングするために、ＧＰＵは、「グラフィックスパイプライン」で一連の処理タスクを行って、仮想環境の映像をディスプレイ上にレンダリングできる画像に変換してよい。典型的なグラフィックスパイプラインは、仮想空間の仮想オブジェクトに対して一定のレンダリング動作またはシェーディング動作と、シーンの仮想オブジェクトの変換とラスタ化を行って出力表示に適したピクセルデータを生成することと、レンダリングされた画像をディスプレイに出力する前にピクセル（または、フラグメント）に追加のレンダリングタスクを行うことを含んでよい。
【０００７】
画像の仮想オブジェクトは、プリミティブとして知られる形状で仮想空間に記述されることが多い、プリミティブは、まとまって、仮想シーンにオブジェクトの形状を作る。例えば、レンダリングされる三次元仮想世界のオブジェクトは、三次元空間の座標として規定される頂点を有する一連の異なる三角形プリミティブに低減されてよく、それによって、これらのポリゴンは、物体の表面を構成する。各ポリゴンは、所与のポリゴンを他のポリゴンと区別するためにグラフィックス処理システムが使用できる関連付けられたインデックスを有してよい。同様に、各頂点は、所与の頂点を他の頂点と区別するために使用できる関連付けられたインデックスを有してよい。グラフィックスパイプラインは、これらのプリミティブに対して一定の動作を行って、仮想シーンの映像を生成し、このデータをディスプレイのピクセルによる再生に適した二次元フォーマットに変換してよい。本明細書で使用される場合、グラフィックスプリミティブ情報（または、簡単に言うと「プリミティブ情報」）という語は、グラフィックスプリミティブを表すデータを指して使用される。このようなデータは、頂点情報（例えば、頂点位置または頂点インデックスを表すデータ）と、ポリゴン情報、例えば、特定の頂点を特定のポリゴンに関連付けるポリゴンインデックス及び他の情報とを含むが、これらに限らない。
【０００８】
既存の表面細分化ソフトウェア、例えば、ＯｐｅｎＳｕｂｄｉｖ等のオープンソースソフトウェア、または、一般的に、ジオメトリテッセレーションにおいては、幾何学的プリミティブが、表面を構成し、テッセレーションユニットによって消費される表面は、「パッチ」と呼ばれることがある。この文脈において、「ポリゴン」または、単に「三角形」という語は、テッセレーション動作の出力と、それ以後の処理のための入力とに通常、使用される。
【０００９】
グラフィックスパイプラインの一部として、ＧＰＵは、シェーダとして通常、知られるプログラムを実施することによって、レンダリングタスクを行ってよい。典型的なグラフィックスパイプラインは、頂点毎にプリミティブの一定の特性を操作し得る頂点シェーダと、ピクセルシェーダ（「フラグメントシェーダ」としても知られる）とを含んでよい。ピクセルシェーダは、グラフィックスパイプラインにおいて、頂点シェーダよりダウンストリームで動作し、ピクセルデータをディスプレイに送信する前に、ピクセル毎に一定の値を操作してよい。フラグメントシェーダは、テクスチャをプリミティブに適用することに関連する値を操作してよい。パイプラインは、パイプラインの様々な段階に、頂点シェーダの出力を使用して新しいプリミティブ集合を生成するジオメトリシェーダや、ＧＰＵによって実施されて一定の他の一般的な計算タスクを行い得る計算シェーダ（ＣＳ）等、他のシェーダも含んでよい。
【００１０】
広視野（ＦＯＶ）を有するグラフィックディスプレイ装置が開発されている。このような装置は、ヘッドマウントディスプレイ（ＨＭＤ）装置を含む。ＨＭＤ装置においては、小さいディスプレイ装置がユーザの頭部に着用される。ディスプレイ装置は、片目（単眼ＨＭＤ）、または、各目（両眼ＨＭＤ）の前に表示光学素子を有する。ＨＭＤ装置は、典型的には、センサを含み、センサは、装置の向きを感知でき、ユーザの頭部が動くと、表示光学素子が示すシーンを変化させることができる。従来、広いＦＯＶディスプレイにシーンをレンダリングする段階はほとんど、画面の全ての部分が単位面積当たり同じ数のピクセルを有する平面レンダリングによって行われる。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、仮想現実（ＶＲ）プログラムのレンダリングは、ＨＭＤ装置と共に行われることが多く、ユーザが乗り物酔いしないように、従来のフラットスクリーンのレンダリングよりも高いフレームレートを必要とする。ＶＲ用のＨＭＤは、没入型体験のために広いＦＯＶでレンダリングされたシーンを見せる光学系を有する。主な注視点の周囲の画面領域は、高い解像度を必要とする一方、主な注視点の外側の領域は、周辺視野によってのみ見られるので、低い解像度を維持してよい、または、あまり詳細を含まなくてよい。この考えをピクセルレベルに適用しようとする研究が行われてきた（Ｍａｒｋ  Ｅｖａｎ  Ｃｅｒｎｙによる同時係属のＵＳ特許出願番号第１４／２４６，０６６号を参照、同出願は、参照により本明細書に組み込まれる）。しかしながら、テッセレーションと、新規の画面空間テッセレーション因子計算アルゴリズムとを利用することによって、この考えをジオメトリレベルに拡張することが可能である。コンピュータグラフィックスにおいては、テッセレーションを使用して、シーンのオブジェクトを表すポリゴンのデータセット（時には、頂点集合と呼ばれる）を管理し、ポリゴンのデータセットをレンダリングに適した構造に分割する。典型的には、三次元オブジェクトデータは、特に、リアルタイムレンダリングのために、三角形にテッセレーションされる。
【００１２】
リアルタイムグラフィックスのテッセレーションの主要な長所は、カメラ距離等の制御パラメータに基づいて、３Ｄメッシュと３Ｄメッシュのシルエットエッジから詳細を動的に追加したり、引いたりするのが可能になることである。
【００１３】
この文脈で、本開示が行われる。
【図面の簡単な説明】
【００１４】
本開示の教示は、添付の図面と共に以下の詳細な記載を考慮すると、容易に理解できる。
【００１５】
【図１Ａ】先行技術に従って行われる通常のテッセレーションの例を示す簡易図である。
【図１Ｂ】本開示の態様による、中心窩テッセレーションの例を示す簡易図である。
【図２】本開示の態様によるグラフィックス処理方法を示すフロー図である。
【図３Ａ】本開示の態様による、画面空間の中心窩領域を決定する例を示す画面空間の概略図である。
【図３Ｂ】本開示の態様による、画面空間の中心窩領域を決定する代替例を示す画面空間の概略図である。
【図３Ｃ】本開示の態様による、画面空間にわたる頂点密度の推移の例を示すグラフである。
【図３Ｄ】本開示の態様による、画面空間にわたる頂点密度の推移の例を示すグラフである。
【図３Ｅ】本開示の態様による、画面空間にわたる頂点密度の推移の例を示すグラフである。
【図４】本開示の態様による、グラフィックス処理システムのブロック図である。
【図５】本開示の態様による、グラフィックス処理パイプラインのブロック図である。
【発明を実施するための形態】
【００１６】
以下の詳細な記載は、説明のために多くの特定の詳細を含むが、以下の詳細への多くの変形及び変更は発明の範囲内であることを当業者は理解されよう。従って、以下に記載の発明の例示の実施形態は、特許を請求する発明に対して、一般性を失うことなく、また、制限を課すことなく、記載される。
【００１７】
［導入］
図１Ａは、仮想現実（ＶＲ）環境のレンダリングの現状を示す。従来のＦＯＶディスプレイにおいて、三次元ジオメトリは、ビュー面への平面投影を用いてレンダリングされる。しかしながら、ジオメトリをディスプレイ上に、特に、高いＦＯＶビュー面にレンダリングすることは、非常に非効率な場合があり、かなりの待ち時間と性能の問題を生じ得る。これらの問題によって、表示されたフレームレートが所望のレベル未満に低下することがあり、ＶＲ環境を体験しながら、フレームレートの低下により、乗り物酔いを引き起こす可能性があるのに加えて、ユーザにとっては、不快な非没入型体験となり得る。
【００１８】
さらに、画面の端近くのディスプレイ領域、または、ユーザが見ていない領域は、中心近くの領域、または、ユーザの注意が現在、向けられている領域よりも意味のある情報がずっと少ない。従来、シーンをレンダリングする時、これらの領域は、同じ数の頂点を有し、画面上の等しいサイズの領域のレンダリングに費やす時間は同じである。
【００１９】
図１Ｂは、本開示の態様による、中心窩テッセレーションを用いてシーン情報をレンダリングするＶＲ環境の例を示す。リアルタイムグラフィックスレンダリングの中心窩テッセレーションを利用することによって、様々なパラメータ、例えば、カメラ距離、ユーザの注意、ユーザの目の動き、または、被写界深度に基づいて、詳細を、３Ｄメッシュと、３Ｄメッシュのシルエットエッジに追加したり、減らしたりしてよい。中心窩テッセレーションを利用することによって、テッセレーションにおける画像のレンダリングと、テッセレーションに続くグラフィックスパイプラインの一定の部分で必要な頂点計算の数が少なくなり得るので、３Ｄメッシュまたはワイヤフレームのレンダリング時間は、約４分の１以下に低減できることが、実験によって分かった。
【００２０】
ある実施態様においては、次のグラフィックス処理は、湾曲したビューポート上への頂点の投影を近似するラスタ化段階を利用してよい。このような実施態様においては、投影される頂点密度は、中心窩領域と呼ばれる画面空間の選択した部分に関して決定されてよく、その結果、より高い頂点密度が中心窩領域に存在し、画面空間の残りの領域では投影される頂点密度は低くなる。これは、中心窩領域外にあると決定される画面の部分に関して頂点密度を減らすことによって達成できる。代替実施態様においては、頂点密度は、より高い頂点密度が関心部分（単数または複数）に存在するように、画面空間の選択された部分で増加されててよく、画面空間の残りの部分（単数または複数）の頂点密度は増加されない。従って、本開示の態様は、上記の種類の画面空間変換を利用して、レンダリングする画面空間の面積に対する頂点計算の数を効果的に減らすことによって、ＧＰＵの計算負荷を減らす。
【００２１】
本開示の態様によると、頂点計算の低減は、図２Ａに示すグラフィックス処理方法２００によって実施されてよい。グラフィックス処理方法の文脈を理解するために、コンピュータグラフィックス処理の一定の従来の要素を示す。詳細には、コンピュータグラフィックスプログラムは、三次元仮想空間の１つまたは複数のオブジェクトに関して、三次元オブジェクト頂点データ２０１を生成してよい。オブジェクト頂点データ２０１は、１つまたは複数のオブジェクトを構成する幾何学的形状の表面の点に対応する仮想空間の点の座標を表してよい。オブジェクトは、１つまたは複数の幾何学的形状から構成されてよい。オブジェクト頂点データ２０１は、オブジェクトを構成する１つまたは複数の形状の表面の点に対応するオブジェクトの頂点の集合を規定してよい。制限ではなく、例として、各幾何学的形状は、形状識別子（例えば、円錐、球、立方体、角錐等）と、オブジェクトの関連する場所の仮想空間における座標、例えば、形状の質量中心の座標と、形状の表面の点の座標を決定する関連する幾何学的パラメータとによって表されてよい。例として、球の場合は、関連する場所は、球の中心の場所であってよく、関連する幾何学的パラメータは、球の半径であってよい。
【００２２】
２０２で示すように、オブジェクト頂点データ２０１に、３Ｄグラフィックス処理の従来の方法で、オブジェクトの頂点を画面空間に投影するプロセスが行われてよい。ある実施態様においては、投影は、湾曲したビューポート上への頂点の投影を近似してよい。次に、２０４に示すように、ポリゴンが、投影された頂点から生成されてよい。投影された頂点からのポリゴンの生成は、従来の方法で行われてよい。詳細には、選択されたポリゴン対の間に辺が規定されてよく、選択された辺は、ポリゴンとして一緒に関連付けられてよい。結果として生じるポリゴンデータ２０３は、ポリゴンを構成する頂点と辺を識別する情報を含む。ポリゴンデータ２０３は、方法２００によって使用され、方法２００は、本開示の態様に従って、ポリゴンデータによって表されるポリゴンをテッセレーションする。
【００２３】
方法２００は、２０６に示すように、画面空間の１つまたは複数の中心窩領域の中心窩データ２０５を決定することと、２０８に示すように、頂点密度情報２０７を決定することとを含む。ポリゴンデータ２０３、中心窩データ２０５、及び、頂点密度情報２０７を使用して、２１０に示すように、本開示の態様によるポリゴンのテッセレーションを行って、テッセレーションされた頂点データ２０９を生成する。次に、結果として生じるテッセレーションされた頂点データが、２１２に示すように、その後のグラフィックス処理で使用される。
【００２４】
制限ではなく、例として、２１０のポリゴンのテッセレーションにおいては、中心窩データ２０５及び頂点密度情報２０７は、テッセレーションパラメータを規定してよく、テッセレーションパラメータは、画面空間の場所によって変化し、ハードウェアまたはソフトウェアテッセレータによって使用されて、ポリゴンの三角形ベースのテッセレーションを生成する。このようなテッセレーションパラメータの例は、いわゆるＴｅｓｓＦａｃｔｏｒを含み、ＴｅｓｓＦａｃｔｏｒは、Ｍｉｃｒｏｓｏｆｔ社製のＷｉｎｄｏｗｓ（登録商標）７の一部であるＤｉｒｅｃｔ３Ｄ  １１プログラマブルグラフィックスパイプラインによって生成されるメッシュの細かさの程度を制御する。
【００２５】
大まかに言うと、ディスプレイで画面空間の画像を見る人にとって画面空間の全ての領域が等しく重要ではないという事実を考慮するように、中心窩データ２０５及び頂点密度情報２０７を使用して従来のテッセレーションプロセスを修正する。中心窩領域は、アプリケーションによって視聴者にとって重要であると決定された画面空間の部分を表し、よって、利用可能なグラフィックス計算リソースのより大きいシェアを割り当てられる。中心窩領域データ２０５は、画面空間の中心窩領域の質量中心の場所、画面空間に対する中心窩領域のサイズ、及び、中心窩領域の形状を識別する情報を含んでよい。中心窩領域は、（ａ）視聴者が見そうな領域である、（ｂ）視聴者が実際に見ている領域である、または、（ｃ）ユーザに見せたい領域であるの理由で、視聴者が関心を持つと２０６においてアプリケーションによって決定されてよい。
【００２６】
（ａ）に関して、中心窩領域は、文脈依存の方法で見られそうであると決定されてよい。ある実施態様においては、画面空間の一定の部分、または、対応する三次元仮想空間の一定のオブジェクトは、「関心」をもたれ、このようなオブジェクトは、一貫して、仮想空間の他のオブジェクトより多くの頂点を用いて描かれてよいと、アプリケーションが決定してよい。中心窩領域は、文脈的に、静的または動的に関心をもたれると規定されてよい。静的な既定の非制限的な例として、中心窩領域は、画面空間の固定の部分であってよい。例えば、画面の中心近くの領域が、視聴者が最も見そうな画面空間の部分であると決定される場合、この領域であってよい。例えば、アプリケーションが、車のダッシュボード及びフロントガラスの画像を表示する運転シミュレータである場合、視聴者は、画像のこれらの部分を見ると思われる。この例においては、中心窩領域は、関心領域が画面空間の固定の部分であるという意味で、静的に規定されてよい。動的な既定の非制限的な例として、ビデオゲームにおいて、ユーザのアバタ、ゲーム仲間のアバタ、敵の人工知能（ＡＩ）キャラクタ、一定の関心オブジェクト（例えば、スポーツゲームのボール）に、ユーザは関心を持ち得る。このような関心オブジェクトは、画面空間に対して移動し得るので、中心窩領域は、関心オブジェクトと共に移動すると規定されてよい。
【００２７】
（ｂ）に関して、視聴者の視線を追跡して、視聴者がディスプレイのどの部分を見ているかを決定することが可能である。視聴者の視線を追跡することは、ユーザの頭部姿勢とユーザの目の瞳孔の向きとの何らかの組み合わせを追跡することによって実施されてよい。このような視線追跡の例の一部は、例えば、ＵＳ特許出願公開番号第２０１５／００８５２５０号、第２０１５／００８５２５１号、第２０１５／００８５０９７号に記載され、それらの全ての内容全体は、参照により本明細書に組み込まれる。頭部姿勢の推定のさらなる詳細は、例えば、Ｅｒｉｋ  Ｍｕｒｐｈｙ著「Ｈｅａｄ  Ｐｏｓｅ  Ｅｓｔｉｍａｔｉｏｎ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ：Ａ  Ｓｕｒｖｅｙ」ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＰＡＴＴＥＲＮ  ＡＮＡＬＹＳＩＳ  ＡＮＤ  ＭＡＣＨＩＮＥ  ＩＮＴＥＬＬＩＧＥＮＣＥ．Ｖｏｌ．３１，Ｎｏ．４、２００９年４月、ｐｐ６０７−６２６に記載され、その内容は、参照により本明細書に組み込まれる。本発明の実施形態と共に使用できる頭部姿勢推定の他の例は、Ａｔｈａｎａｓｉｏｓ  Ｎｉｋｏｌａｉｄｉｓ著「Ｆａｃｉａｌ  ｆｅａｔｕｒｅ  ｅｘｔｒａｃｔｉｏｎ  ａｎｄ  ｐｏｓｅ  ｄｅｔｅｒｍｉｎａｔｉｏｎ」Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ．Ｖｏｌ．３３（２０００年７月７日）ｐｐ．１７８３−１７９１に記載され、その内容全体は、参照により本明細書に組み込まれる。本発明の実施形態と共に使用できる頭部姿勢推定の追加の例は、Ｙｏｓｈｉｏ  Ｍａｔｓｕｍｏｔｏ及びＡｌｅｘａｎｄｅｒ  Ｚｅｌｉｎｓｋｙ著「Ａｎ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｒｅａｌ−ｔｉｍｅ  Ｓｔｅｒｅｏ  Ｖｉｓｉｏｎ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  Ｈｅａｄ  Ｐｏｓｅ  ａｎｄ  Ｇａｚｅ  Ｄｉｒｅｃｔｉｏｎ  Ｍｅａｓｕｒｅｍｅｎｔ」ＦＧ'００  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｆｏｕｒｔｈ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｕｔｏｍａｔｉｃ  Ｆａｃｅ  ａｎｄ  Ｇｅｓｔｕｒｅ  Ｒｅｃｏｇｎｉｔｉｏｎ．２０００，ｐｐ４９９−５０５に記載され、その内容全体は、参照により本明細書に組み込まれる。本発明の実施形態と共に使用できる頭部姿勢推定の更なる例は、Ｑｉａｎｇ  Ｊｉ及びＲｕｏｎｇ  Ｈｕ著「３Ｄ  Ｆａｃｅ  Ｐｏｓｅ  Ｅｓｔｉｍａｔｉｏｎ  ｆｒｏｍ  ａ  Ｍｏｎｏｃｕｌａｒ  Ｃａｍｅｒａ」Ｉｍａｇｅ  ａｎｄ  Ｖｉｓｉｏｎ  Ｃｏｍｐｕｔｉｎｇ．Ｖｏｌ．２０，Ｉｓｓｕｅ７，２００２年２月２０日、ｐｐ４９９−５１１に記載され、その内容全体は、参照により本明細書に組み込まれる。
【００２８】
（ｃ）に関しては、シーンの焦点深度を変更して、関心部分、例えば、話している特定の俳優に焦点を当てることは、一般的な映画の装置である。これは、焦点を当てている画像の部分に視聴者の注意を惹くために行われる。本開示の態様によると、中心窩領域を画面の所望の部分に移動させて、その部分が、より高い頂点密度を有し、結果としてより詳細にレンダリングされるようにすることによって、コンピュータグラフィックスを用いて類似の効果を実施してよい。
【００２９】
質量中心の位置を決めることに加えて、２０６で中心窩領域データを決定することは、画面空間に対する中心窩領域のサイズと形状を決定することも伴ってよい。中心窩領域の形状、例えば、円形、楕円、または、任意は、前もって決定されてよい。中心窩領域のサイズは、視聴者の画面からの距離と、画面のサイズに依存してよい。一般的に、画面が大きければ大きいほど、視聴者が画面に近ければ近いほど、画面サイズに対する中心窩領域は小さくなる。逆に、画面が小さければ小さいほど、視聴者が画面から離れれば離れるほど、画面サイズに対する中心窩領域は大きくなる。
【００３０】
テレビジョンセット、タブレットコンピュータディスプレイ、スマートフォンディスプレイ、及び、コンピュータモニタ等の固定ディスプレイに関しては、画面サイズは、固定であり、そのディスプレイに関するメタデータから決定されてよい。このようなメタデータは、ディスプレイが、コンピュータまたはゲーミングコンソール等、処理システムに接続されると、やり取りされてよい。投影型ディスプレイに関しては、画面のサイズは、プロジェクタから画像が投影されている壁または他の表面までの距離に関する追加の情報から決定されてよい。
【００３１】
図３Ａは、上記態様に従って、画面上の場所によって中心窩領域を決定する例を示す。図３Ａに示す例においては、画面空間は、等しいピクセルサイズのサブセクションに分割されている。例の画面空間の１つまたは複数の中心のサブセクションは、テッセレーションされた頂点密度を維持または増加させることが望まれ、サブセクションが中心から離れるほど、テッセレーションされた頂点密度は徐々に低くなる。中心窩データ２０５は、画面空間のどのサブセクションが、関心中心窩領域２８０の部分で、どのサブセクションがそうでないかを指定してよい。ある実施態様においては、中心窩データ２０５によって指定された２つ以上の関心中心窩領域があってよい。頂点密度情報２０７は、図３Ｂに示すように、頂点密度が、関心部分２８０を含む画面のサブセクション（単数または複数）で最も高く、サブセクションが中心窩部分から離れるにつれて、徐々に低くなるように、中心窩データに従って調整されてよい。制限ではなく、例として、所与の入力ポリゴン（例えば、パッチ）に関するテッセレーション因子は、その重要性に基づいて（例えば、画面空間に入力されたポリゴンの場所と、中心窩データ２０５から決定されるように）、調整されてよい。ハードウェアまたはソフトウェアで実施され得るテッセレーションユニットが、次に、テッセレーション因子によって決定される所望の頂点密度を有する２１０で出力されるポリゴン（例えば、三角形）を生成する。
【００３２】
中心窩領域を決定することと共に、中心窩領域と中心窩領域外の頂点密度が、２０８で示すように決定されてよい。制限ではなく、例として、頂点密度情報２０７は、中心窩領域に関する最大密度を含んでよく、中心窩領域外の領域に関する最小密度が決定されてよい。「最大密度」及び「最小密度」という語は、本明細書では便宜上、使用される。最大は、一般的に、残りの画面空間領域の対応する密度分布よりも高い平均頂点密度を有する中心窩領域（複数可）の密度分布を指す。同様に、最小密度は、一般的に、中心窩画面空間領域（複数可）の対応する密度分布より低い平均頂点密度を有する残りの領域（複数可）の密度分布を指す。
【００３３】
画面空間の場所の関数としての頂点密度値（例えば、最大密度値及び最小密度値）は、前もって固定されて、メモリに記憶されてよく、その場合、グラフィックス処理中に値を決定することは、メモリから値を取り出すというささいな問題である。頂点密度値は、（ａ）ピクセル密度画面空間、（ｂ）最大利用可能グラフィックス処理負荷容量、（ｃ）視聴者の画面への近接性、（ｄ）画面のピクセルサイズ、及び、（ｅ）提示されるグラフィックスの性質を含む多くの因子に依存してよい。
【００３４】
（ａ）に関しては、画面空間のピクセル密度が高くなればなるほど、最大密度値と最小密度値は、高くなり得る。（ｂ）に関しては、利用可能なグラフィックス処理負荷容量が大きくなることは、頂点密度の調整による計算節約の重要性が低下して、最大密度値と最小密度値が高くなってよいことを意味する。利用可能なグラフィックス処理負荷容量が低下することは、頂点密度の調整による計算節約がより重要になり、最小密度値が低下し、最大密度値も低下し得ることを意味する。
【００３５】
（ｃ）に関しては、視聴者が画面近くに移動するほど、中心窩領域の詳細の必要性は増し（最大密度値は大きくなり）、中心窩領域の外側の詳細の必要性は低下し（最小密度値を小さくすることを可能にする）。（ｄ）に関しては、画面サイズが小さくなると、中心窩領域は、画面に対して大きくなる。画面で利用可能なピクセルが少なくなると、一般的に、最小値が小さくなり過ぎてはいけないことを意味する。
【００３６】
一定の実施態様においては、関心中心窩部分（単数または複数）２８０と残りの部分の間の密度の推移（または「減少」）は、利用可能な計算リソースとシーンの複雑性に基づいて、クローズドループを用いて規定されてよい。一定の実施態様においては、（画面のどの部分（単数または複数）が関心部分であるかを決定する）中心窩操縦要素、レンダリングされたシーンの開始及び終了メッシュ密度、及び、減少関数は、前もって、静的に規定されてよい。代替実施態様においては、これらの要素は、フレームデータを分析して関心点または関心領域を決定するプログラム領域のソフトウェアエージェントに基づいて、動的に決定されてよい。代替実施態様においては、これらの要素は、ゲーム開発者によって予め規定されてよい。
【００３７】
図３Ｃ、３Ｄ、３Ｅは、画面空間の中心窩部分と残りの部分との頂点密度の「減少」の例を示す。図３Ｃは、中心窩画面空間領域からの距離に関して、Ｍａｘ密度とＭｉｎ密度のステップ関数の推移の例を示す。この場合、頂点密度は、中心窩領域内の最大値と、その他の場所の最小値とを有する。
【００３８】
図３Ｄは、中心窩画面空間領域からの距離に関するＭａｘ密度とＭｉｎの密度の線形関数の推移の例を示す。推移領域において、密度は、座標系がどのように規定されているかに応じて、最大密度または最小密度の領域からの距離に線形に依存する。
【００３９】
図３Ｅは、中心窩画面空間領域からの距離に関して、Ｍａｘ密度とＭｉｎ密度の間のシグモイド（「Ｓ」形状）関数の推移の例を示す。一般的に、任意の平滑、正値、「こぶのような形の」関数の積分は、シグモイドとなる。シグモイド関数の例は、ロジスティック関数、汎用ロジスティック関数を含むが、これらに限らない。シグモイド関数は、通常の逆正接、双曲正接、グーデルマン関数、誤差関数
【数１】
2018537755.tif 000003
、相補誤差関数（１−ｅｒｆ（ｘ））、及び、
【数２】
2018537755.tif 000004
のような代数関数を含む。
【００４０】
ロジスティック関数は、
【数３】
2018537755.tif 000005
の形を有し、ここで、
ｘ０＝シグモイドの中点のｘの値
Ｌ＝曲線の最大値
ｋ＝曲線の傾き
【００４１】
追加の代替の実施形態においては、これらの要素は、外部信号によって動的に規定されてよい。外部信号の例は、視線追跡、レーザポインタ追跡、指追跡、頭部追跡、コントローラもしくは周辺装置を用いた追跡、ＶＲ環境の他のプレーヤのキャラクタの追跡、または、キャラクタ間の会話の検出及び解釈を含むが、これらに限らない。外部信号が視線追跡を含む実施形態においては、外部信号は、頭部と瞳の追跡の組み合わせを含み得るが、これに限らない。このような実施形態においては、ユーザの瞳は、カメラを用いて追跡されてよい。外部信号が頭部追跡を含む実施形態においては、ユーザの頭部の追跡は、慣性センサを用いたユーザの頭部の追跡、及び／または、ＨＭＤ装置上の光源の追跡を含んでよいが、これらに限らない。
【００４２】
本開示の態様によると、一定の実施態様は、既存の表面細分化ソフトウェア、例えば、Ｏｐｅｎ  Ｓｕｂｄｉｖ等のオープンソースソフトウェアを利用して、少数の頂点から滑らかな限界面（ｌｉｍｉｔ  ｓｕｒｆａｃｅ）を計算してよい。このような実施形態においては、２１０のポリゴンテッセレーションは、関心中心窩部分（単数または複数）２８０をテッセレーションして、滑らかな表面限度（ｓｕｒｆａｃｅ  ｌｉｍｉｔ）に従ってよい。残りの部分は、より大きい誤差許容範囲を用いてテッセレーションされてよい。
【００４３】
２１２でその後のグラフィックス動作を行うことは、テッセレーションされた頂点データをメモリに記憶する、または、テッセレーションされた頂点データを別の処理システムに送信するというような何か簡単なことを含み得る。さらに、このようなその後の処理は、グラフィックス処理パイプラインの周知の段階を含んでよい。制限ではなく、例として、プリミティブアセンブリが、テッセレーションされた頂点に対して行われて、画面空間に１つまたは複数のプリミティブを生成する。走査変換が、１つまたは複数のプリミティブに対して行われて、どのピクセル（単数または複数）が対応するプリミティブの部分であるかを決定してよい。次に、ピクセル値をピクセル（単数または複数）に割り当てるピクセル処理を行うことによって、完成したフレームが生成されてよい。ある実施態様においては、完成したフレームは、メモリに記憶できる、または、ディスプレイ装置に表示できる。グラフィックスパイプラインの追加の詳細を図４及び図５に関して以下に論じる。
【００４４】
［システム及び装置］
本開示の態様によるグラフィックス処理システムは、関心部分であると決定された画面空間の部分に関して画面空間の選択した部分の頂点密度を調整することによって、実効解像度が画面上の場所によって変わるグラフィックス処理を実施するように構成される。制限ではなく、例として、図４は、本開示の態様による、グラフィックス処理の実施に使用されてよいコンピュータシステム４００のブロック図を示す。本開示の態様によると、システム４００は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、ゲームコンソール等であってよい。
【００４５】
システム４００は、一般に、中央処理装置（ＣＰＵ）４０２と、グラフィックス処理ユニット（ＧＰＵ）４０４と、ＣＰＵとＧＰＵの両方がアクセスできるメモリ４０８とを含む。システム４００は、周知のサポート機能４１０も含んでよい。サポート機能４１０は、例えば、データバス４０９を介して、システムの他の構成要素と通信してよい。このようなサポート機能は、入力／出力（Ｉ／Ｏ）要素４１１、電源（Ｐ／Ｓ）４１２、クロック（ＣＬＫ）４１３、及び、キャッシュ４１４を含んでよいが、これらに限らない。キャッシュ４１４に加えて、ＧＰＵ４０４は、それ自体のＧＰＵキャッシュ４１４Ｇを含んでよく、ＧＰＵは、ＧＰＵ４０４で実行するプログラムがＧＰＵキャッシュ４１４Ｇを通して読み取りまたは書き込みできるように、構成されてよい。
【００４６】
システム４００は、レンダリングされたグラフィックス４１７をユーザに提示するディスプレイ装置４１６を含んでよい。代替実施態様においては、ディスプレイ装置４１６は、システム４００と協働する別個の構成要素である。ディスプレイ装置４１６は、フラットパネルディスプレイ、ヘッドマウントディスプレイ（ＨＭＤ）、陰極線管（ＣＲＴ）画面、プロジェクタ、または、目に見えるテキスト、数字、グラフィカルシンボルもしくは画像を表示できる他の装置の形態であってよい。特に有用な実施態様においては、ディスプレイ４１６は、９０度以上の視野（例えば１１４度以上）を有する広視野（ＦＯＶ）の装置である。ディスプレイ装置４１６は、本明細書に記載の様々な技術に従って処理されたレンダリングされたグラフィック画像４１７（例えば、完成したフレーム４６０）を表示する。
【００４７】
システム４００は、ディスクドライブ、ＣＤ−ＲＯＭドライブ、フラッシュメモリ、テープドライブ等、プログラム及び／またはデータを記憶するための大容量記憶装置４１５をオプションで含んでよい。システム４００は、システム４００とユーザの間の相互作用を促進するユーザインタフェースユニット４１８もオプションで含んでよい。ユーザインタフェースユニット４１８は、キーボード、マウス、ジョイスティック、ライトペン、ゲームコントローラ、または、グラフィカルユーザインタフェース（ＧＵＩ）と共に使用されてよい他の装置を含んでよい。システム４００は、装置がネットワーク４２２を介して他の装置と通信するのを可能にするネットワークインタフェース４２０も含んでよい。ネットワーク４２２は、例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネット等の広域ネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）ネットワーク等のパーソナルエリアネットワーク、または、他の種類のネットワークであってよい。これらの構成要素は、ハードウェア、ソフトウェア、もしくは、ファームウェア、または、これらの２つ以上の何らかの組み合わせで実施されてよい。
【００４８】
ＣＰＵ４０２及びＧＰＵ４０４は、それぞれ、例えば、１つのコア、２つのコア、４つのコア、８つのコア、またはそれ以上の１つまたは複数のプロセッサコアを含んでよい。メモリ４０８は、例えば、ＲＡＭ、ＤＲＡＭ等のアドレス可能メモリを提供する集積回路の形態であってよい。メモリ４０８は、専用グラフィックスメモリ４２８を含んでよく、専用グラフィックスメモリ４２８は、グラフィックスリソースを記憶してよく、且つ、グラフィックスレンダリングパイプラインのためのデータのグラフィックスバッファ４０５を一時的に記憶してよい。グラフィックスバッファ４０５は、例えば、頂点パラメータ値を記憶する頂点バッファＶＢ、頂点インデックスを保持するインデックスバッファＩＢ、グラフィックスコンテンツの深度値を記憶する深度バッファ（例えば、Ｚバッファ）ＤＢ、ステンシルバッファＳＢ、ディスプレイに送る完成したフレームを記憶するフレームバッファＦＢ、及び、他のバッファを含んでよい。図４に示す例においては、グラフィックスメモリ４２８は、メインメモリの一部として示される。代替実施態様においては、グラフィックスメモリ４２８は、ＧＰＵ４０４に一体化することが可能な別個のハードウェア構成要素であってよい。メモリ４０８（グラフィックスメモリ４２８であってよい）は、ポリゴンデータ２０３、中心窩データ２０５、頂点密度データ２０７、及び、テッセレーションされた頂点データ２０９も一時的に記憶してよい。
【００４９】
制限ではなく、例として、ＣＰＵ４０２及びＧＰＵ４０４は、バス（単数または複数）４０９を介してメモリ４０８にアクセスしてよい。システム４００が２つ以上の異なるバスを含むと有用な場合がある。メモリ４０８は、ＣＰＵ４０２及びＧＰＵ４０４がアクセス可能なデータを含んでよい。ＧＰＵ４０４は、グラフィックス処理タスクを並列で行うように構成された複数の計算ユニットを含んでよい。各計算ユニットは、ローカルデータシェア等、それ自体の専用ローカルメモリストアを含んでよい。あるいは、計算ユニットは、それぞれ、メモリ４０８または専用グラフィックスメモリ４２８にアクセスしてよい。
【００５０】
ＣＰＵは、ＣＰＵコード４０３Ｃを実行するように構成されてよく、ＣＰＵコード４０３Ｃは、グラフィックス、コンパイラ、及び、グラフィックスＡＰＩを利用するアプリケーションを含んでよい。グラフィックスＡＰＩは、ＧＰＵによって実施されるプログラムに描画コマンドを発行するように構成できる。ＣＰＵコード４０３Ｃは、物理学シミュレーション及び他の機能も実施してよい。ＧＰＵ４０４は、上記のように動作するように構成されてよい。詳細には、ＧＰＵは、ＧＰＵコード４０３Ｇを実行してよく、上記のように、図２の方法２００を実施するように構成された命令を含んでよい。さらに、ＧＰＵコード４０３Ｇは、計算シェーダＣＳ、頂点シェーダＶＳ、及び、ピクセルシェーダＰＳ等、周知のシェーダも実施してよい。計算シェーダＣＳと頂点シェーダＶＳの間のデータの受け渡しを容易にするために、システムは、１つまたは複数のバッファ４０５を含んでよく、バッファ４０５は、フレームバッファＦＢを含んでよい。ＧＰＵコード４０３Ｇは、ピクセルシェーダまたはジオメトリシェーダ等、他の種類のシェーダ（図示せず）もオプションで実施してよい。各計算ユニットは、ローカルデータシェア等、それ自体の専用ローカルメモリストアを含んでよい。ＧＰＵ４０４は、グラフィックスパイプラインの一部としてテクスチャをプリミティブに適用する一定の動作を行うように構成された１つまたは複数のテクスチャユニット４０６を含んでよい。
【００５１】
本開示の一定の態様に従って、ＣＰＵコード４０３Ｃ及びＧＰＵコード４０３Ｇ、並びに、システム４００の他の要素は、ＧＰＵ４０４がポリゴンデータ２０３を受信し得るグラフィックスパイプラインを実施するように構成される。ポリゴンデータ２０３は、計算、例えば、ＣＰＵ４０２によるＣＰＵコード４０３Ｃの実行によって実施される三次元仮想空間のオブジェクトの物理学シミュレーション、から生成できる。ＧＰＵ４０４は、ディスプレイ装置４１６の画面空間へのポリゴンの頂点の投影と、結果として生じる投影されたポリゴンのテッセレーションとを行う。ＧＰＵ４０４は、中心窩データ２０５と頂点密度データ２０７に従ってポリゴンのテッセレーションの頂点密度を調整することによって、頂点密度が、画面空間の選択された中心窩部分で高く、残りの部分で低くなるようにする。
【００５２】
ＧＰＵ４０４は、次に、頂点に対してプリミティブアセンブリを行って、画面空間への頂点の投影から画面空間の１つまたは複数のプリミティブを生成してよい。走査変換が、次に、１つまたは複数のプリミティブに対して行われて、画面空間のどのピクセルが対応するプリミティブの部分であるかを決定してよい。ＧＰＵ４０４は、次に、対応するプリミティブの部分であるピクセル（単数または複数）にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレーム４６０を生成してよい。完成したフレームは、メモリ４０８またはグラフィックスメモリ４２８（例えば、フレームバッファＦＢ）に記憶できる、または、ディスプレイ装置４１６に表示できる。
【００５３】
画面空間へのポリゴンの頂点の投影と、グラフィックスパイプラインの他の関連する部分とは、ソフトウェアにおいて、例えば、計算シェーダＣＳとして実施されるフロントエンドによって行うことができる。あるいは、画面空間への頂点の投影と、グラフィックスパイプラインの他の関連する部分とは、これらの機能を実施するように構成された特別に設計されたハードウェア構成要素ＨＷによって実施できる。
【００５４】
本開示の態様は、中心窩データ２０５及び／または頂点密度データ２０７が動的に調整される実施態様も含む。例えば、中心窩領域は、視線追跡と共に規定されてよい。このような実施態様においては、システム４００は、ユーザの視線すなわちユーザの目が向いている所を追跡し、且つ、この情報をユーザが見ている対応する画面上の場所に関連させるハードウェアを含む。このようなハードウェアの一例は、ディスプレイ装置４１６の画面に対して既知の場所にあり、且つ、ユーザのおおまかな方向に向けられているデジタルカメラを含み得る。デジタルカメラは、ユーザインタフェース４１８の一部であってもよく、別個の構成要素であってもよい。ＣＰＵコード４０３Ｃは、画像分析ソフトウェアを含んでよく、画像分析ソフトウェアは、カメラからの画像を分析して、（ａ）ユーザが画像に存在するか否か、（ｂ）ユーザがカメラの方を向いているか否か、（ｃ）ユーザが画面の方を向いているか否か、（ｄ）ユーザの目が可視であるか否か、（ｅ）ユーザの頭部に対するユーザの目の瞳孔の向き、及び、（ｆ）カメラに対するユーザの頭部の向きを決定する。画面に対するカメラの既知の位置及び向き、ユーザの頭部に対するユーザの目の瞳孔の向き、及び、カメラに対するユーザの頭部の向きから、画像分析ソフトウェアは、ユーザが画面を見ているか否かを決定でき、見ている場合、ユーザが見ている画面の部分の画面空間座標を決定できる。ＣＰＵコード４０３Ｃは、次に、これらの画面座標をＧＰＵコード４０３Ｇに渡すことができ、ＧＰＵコード４０３Ｇは、中心窩部分（すなわち、関心部分）を含むサブセクション（単数または複数）を決定し得る。ＧＰＵコード４０３Ｇは、次に、それに従って頂点の調整を修正でき、図３Ｂに示すように、解像度は、中心窩部分を含むサブセクション（単数または複数）で最も高くなり、サブセクションが中心窩部分から離れるほど徐々に低くなる。
【００５５】
制限ではなく、例として、特別設計のハードウェアＨＷ、テクスチャユニット（複数可）４０６、一定の種類のシェーダ、及び、以下に記載のグラフィックスパイプラインの他の部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または、システムオンチップ（ＳｏＣまたはＳＯＣ）等、特別用途ハードウェアによって実施されてよい。
【００５６】
本明細書で使用され、当業者が一般的に理解するように、特定用途向け集積回路（ＡＳＩＣ）は、一般的用途のためではなく、特定の用途のためにカスタマイズされた集積回路である。
【００５７】
本明細書で使用され、当業者が一般的に理解するように、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）は、製造後、顧客または設計者によって構成されるように設計された、すなわち、「フィールドプログラマブルな」集積回路である。ＦＰＧＡ構成は、一般に、ＡＳＩＣに使用されるのと同様のハードウェア記述言語（ＨＤＬ）を用いて指定される。
【００５８】
本明細書で使用され、当業者が一般的に理解するように、チップ上のシステムまたはシステムオンチップ（ＳｏＣまたはＳＯＣ）は、コンピュータまたは他の電子システムの全ての構成要素を１つのチップに集積する集積回路（ＩＣ）である。システムオンチップは、デジタル、アナログ、混合信号、及び、しばしば、無線周波数の機能を全て、１つのチップ基板に含んでよい。典型的な用途は、組み込みシステムの分野である。
【００５９】
典型的なＳｏＣは、以下のハードウェア構成要素を含む。
１つまたは複数のプロセッサコア（例えば、マイクロコントローラ、マイクロプロセッサ、または、デジタル信号プロセッサ（ＤＳＰ）のコア）
メモリブロック、例えば、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、及び、フラッシュメモリ
オシレータまたは位相ロックループ等のタイミングソース
カウンタタイマ、リアルタイムタイマ、または、パワーオンリセットジェネレータ等の周辺装置
外部インタフェース、例えば、ユニバーサルシリアルバス（ＵＳＢ）、ＦｉｒｅＷｉｒｅ（登録商標）、Ｅｔｈｅｒｎｅｔ（登録商標）、万能非同期送受信機（ＵＳＡＲＴ）、シリアルペリフェラルインタフェース（ＳＰＩ）バス等の業界標準
アナログデジタルコンバータ（ＡＤＣ）及びデジタルアナログコンバータ（ＤＡＣ）を含むアナログインタフェース
電圧レギュレータ及びパワーマネージメント回路
【００６０】
これらの構成要素は、非標準または業界標準のバスのいずれかによって接続される。ダイレクトメモリアクセス（ＤＭＡ）コントローラは、外部インタフェースとメモリの間で直接、データをルーティングし、プロセッサコアを迂回し、それによって、ＳｏＣのデータスループットを向上させる。
【００６１】
典型的なＳｏＣは、上記ハードウェア構成要素と、プロセッサコア（複数可）、周辺装置、及び、インタフェースを制御する実行可能命令（例えば、ソフトウェアまたはファームウェア）との両方を含む。
【００６２】
ある実施態様においては、グラフィックスパイプラインの部分の機能の一部または全ては、代わりに、ソフトウェアプログラマブル汎用コンピュータプロセッサによって実行される適切に構成されたソフトウェア命令によって、例えば、ＧＰＵ４０４によって実行される計算シェーダＣＳとして、実施されてよい。このような命令は、コンピュータ可読媒体、例えば、メモリ４０８、グラフィックスメモリ４２８、または、記憶装置４１５で具体化されてよい。
【００６３】
［グラフィックスパイプライン］
本開示の態様によると、システム４００は、グラフィックスレンダリングパイプラインの部分と共に、図２の方法２００を実施するように構成されてよい。図５は、本開示の態様による、グラフィックスレンダリングパイプライン４３０の例を示す。
【００６４】
レンダリングパイプライン４３０は、仮想空間（本明細書では、時には、「世界空間」と呼ばれる）に二次元または好ましくは三次元ジオメトリを有するシーンを描く画像として、グラフィックスをレンダリングするように構成されてよい。パイプラインの初期段階は、仮想空間で行われる動作を含んでよく、その後、シーンは、ディスプレイ装置４１６上への出力に適した別々の画素の集合としてラスタ化され、画面空間に変換される。パイプラインを通して、グラフィックスメモリ４２８に含まれる様々なリソースは、パイプライン段階で利用されてよく、画像の最終値が決定される前、段階への入力及び出力は、グラフィックスメモリに含まれるバッファに一時的に記憶されてよい。
【００６５】
レンダリングパイプラインは、ポリゴンデータ２０３等の入力データに対して動作してよい。ポリゴンデータ２０３は、仮想空間に設定され且つシーンの座標に対して規定されたジオメトリを有する頂点集合によって規定された１つまたは複数の仮想オブジェクトを表す。パイプラインの初期段階は、図５の頂点処理段階４３４として大まかに分類されるものを含んでよく、これは、仮想空間のオブジェクトの頂点を処理する様々な計算を含んでよい。頂点処理段階は、頂点シェーディング計算４３６を含んでよく、頂点シェーディング計算４３６は、位置の値（例えば、ＸＹ座標値とＺ深度値）、色の値、照明値、テクスチャ座標等のシーンの頂点の様々なパラメータ値を操作してよい。好ましくは、頂点シェーディング計算４３６は、ＧＰＵ４０４の１つまたは複数のプログラマブル頂点シェーダＶＳによって行われる。頂点処理段階は、ポリゴン頂点を画面空間に投影するジオメトリシェーダ計算４３７と、投影されたポリゴン頂点から新しい頂点と新しいジオメトリを生成するテッセレーションシェーダ計算４３８等、追加の頂点処理計算を含む。テッセレーション計算は、シーンのジオメトリとジオメトリシェーディング計算をさらに分割して、ＣＰＵコード４０３Ｃによって実施されたアプリケーションで最初に設定されたジオメトリ以外の新しいシーンのジオメトリを生成する。中心窩テッセレーションが生じ得るのはこの段階で、３Ｄメッシュまたはワイヤフレームの頂点密度が、中心窩データ２０５と頂点密度データ２０７に従って規定されたテッセレーションシェーダ計算４３８によって調整されてよい。頂点処理段階４３４が完了すると、シーンが、テッセレーションされた頂点データ２０９によって表されたテッセレーションされた頂点集合によって規定される。さらに、各テッセレーションされた頂点は、頂点パラメータ値４３９の集合である。頂点パラメータ値４３９は、テクスチャ座標、接線（ｔａｎｇｅｎｔ）、照明値、色、位置等を含んでよい。
【００６６】
パイプライン４３０は、次に、ラスタ化処理段階４４０に進んでよい。ラスタ化処理段階４４０は、シーンジオメトリを、画面空間と、別々の画素すなわちピクセルの集合とに変換することに関連付けられている。仮想空間ジオメトリ（三次元であってよい）は、仮想空間からシーンの表示ウインドウ（または、「ビューポート」）へのオブジェクト及び頂点の投影を基本的に計算し得る動作を通して、画面空間ジオメトリ（典型的には、二次元であってよい）に変換される。頂点のサブ集合はグループ化されて、画面空間にプリミティブの集合を規定する。本開示の態様によると、ラスタ化段階４４０は、湾曲したビューポートへの頂点の投影を近似する。
【００６７】
本開示の態様によると、グラフィックスパイプライン４３０は、ラスタ化段階へのフロンドエンド４４１を含む。フロントエンドは、ラスタ化段階の一部として、または、頂点処理４３４とラスタ化段階４４０の間の中間段階として実施できる。図５に示す例においては、フロンドエンド４４１は、ラスタ化段階４４０の一部として示されている。しかしながら、本開示の態様は、このような実施態様に限定されない。一定の実施態様においては、フロンドエンド４４１は、ＧＰＵ４０４上で実行する計算シェーダＣＳとして全体的にまたは部分的に実施される。しかしながら、本開示の態様は、このような実施態様に限定されない。
【００６８】
フロンドエンド４４１と、本開示の関連する態様の動作は、図４及び図５を同時に参照することによって理解できる。
【００６９】
図５に示すラスタ化処理段階４４０は、プリミティブアセンブリ動作４４２を含む。プリミティブアセンブリ動作４４２は、シーンの各頂点集合によって規定されるプリミティブを設定してよい。各頂点は、インデックスによって規定されてよく、各プリミティブは、これらの頂点インデックスに関して規定されてよい。頂点インデックスは、グラフィックスメモリ４２８のインデックスバッファＩＢに記憶されてよい。プリミティブは、好ましくは、それぞれ、３つの頂点によって規定される三角形を含むが、点プリミティブ、線プリミティブ、及び、他のポリゴン形状も含んでよい。プリミティブアセンブリ段階４４２中、一定のプリミティブは、オプションでカリングされてよい。例えば、インデックスが一定のワインディングオーダを示すプリミティブは、後ろを向いているとみなされ得るので、シーンからカリングされてよい。
【００７０】
制限ではなく、例として、プリミティブが、三次元仮想空間で頂点によって規定される三角形の形状である場合、プリミティブアセンブリは、各三角形がディスプレイ４１６の画面上のどこに位置するかを決定する。クリッピング動作及び画面空間変換動作は、典型的に、プリミティブアセンブリユニット４４２によって行われる。オプションの走査変換動作４４４は、各ピクセルでプリミティブをサンプリングし、サンプルがプリミティブによってカバーされる時、さらなる処理のためにプリミティブからフラグメント（時々、ピクセルと呼ばれる）を生成する。走査変換動作は、画面空間座標に変換されたプリミティブを取り上げる動作と、どのピクセルがそのプリミティブの一部であるかを決定する動作とを含む。ある実施態様においては、複数のサンプルが、走査変換動作４４４中、プリミティブ内で取り上げられ、アンチエイリアス目的で使用されてよい。一定の実施態様においては、異なるピクセルは、異なるようにサンプリングされてよい。例えば、ヘッドマウントディスプレイ（ＨＭＤ）等、一定の種類のディスプレイ装置４１６に対する一定の態様のレンダリングを最適化するように、あるエッジピクセルは、中心のピクセルより低いサンプリング密度を含んでよい。走査変換４４４中にプリミティブから生成されたフラグメント（または、「ピクセル」）は、フラグメントを作成したプリミティブの頂点の頂点パラメータ値４３９からピクセルの場所に補間され得るパラメータ値を有してよい。ラスタ化段階４４０は、これらの補間されたフラグメントパラメータ値４４９を計算するパラメータ補間動作４４６段階を含んでよく、フラグメントパラメータ値４４９は、パイプラインの後の段階の更なる処理への入力として使用されてよい。
【００７１】
本開示の態様によると、プリミティブアセンブリ４４２と走査変換４４４との間で、画面の異なるサブセクションが異なるピクセル解像度を有するという事実を考慮する一定の動作が、行われてよい。特定の実施態様においては、プリミティブの頂点の画面上の場所が分かると、粗いラスタ化４４３が行われて、プリミティブが重なる予め規定された画面サブセクション（本明細書では、時には、粗いラスタ化タイルまたはサブタイルと呼ばれる）の全てを見つけることができる。プリミティブが重なる各サブセクションに関して、プリミティブの頂点の場所は、サブセクションのピクセル解像度を考慮するように調整される。走査変換４４４と、それ以後の処理段階は、関連するサブセクション（単数または複数）の指定された数のアクティブピクセルに対してのみピクセル処理を行うことによって最終ピクセル値を生成する。
【００７２】
一定の実施態様においては、ＧＰＵ４０４は、ソフトウェアのサブセクション間のプリミティブの粗い分割、頂点の投影、プリミティブアセンブリ、及び、ハードウェアにおける走査変換を実施するように構成されてよい。一部のこのような実施態様においては、ＧＰＵ４０４は、ソフトウェアにおいてサブセクションインデックスをプリミティブ頂点に関連付けるように構成され、各サブセクションインデックスは、ハードウェアで実施されるパレットから画面空間投影とビューポートを選択する。他のこのような実施態様においては、ＧＰＵ４０４は、ソフトウェアにおいてサブセクションインデックスをプリミティブ頂点インデックスに関連付けるように構成され、各サブセクションインデックスは、ハードウェアで実施されるパレットから画面空間投影とビューポートを選択する。
【００７３】
グラフィックスパイプライン４３０は、図５の４５０に大まかに示されるピクセル処理動作をさらに含む。ピクセル処理動作は、補間されたパラメータ値４４９をさらに操作し、ディスプレイ４１６の最終的なピクセル値にフラグメントがどのように寄与するかを決定するさらなる動作を行う。本開示の態様によると、これらのタスクは、従来の方法で行うことができる。ピクセル処理タスクは、フラグメントの補間されたパラメータ値４４９をさらに操作するピクセルシェーディング計算４５２を含む。ピクセルシェーディング計算４５２は、ＧＰＵ４０４のプログラマブルピクセルシェーダまたは専用ハードウェアによって行われてよい。ピクセルシェーダ起動４４８は、ラスタ化処理段階４４０中、プリミティブのサンプリングに基づいて開始されてよい。ピクセルシェーディング計算４５２は、グラフィックスメモリ４２８の１つまたは複数のバッファ４０５に値を出力してよい。バッファ４０５は、時には、レンダーターゲットＲＴ、または、複数の場合、マルチプルレンダーターゲット（ＭＲＴ）とも呼ばれる。ＭＲＴは、ピクセルシェーダが、複数のレンダーターゲットにオプションで出力するのを可能にし、各レンダーターゲットは、同じ画面寸法を有するが、異なるピクセルフォーマットを有する可能性がある。
【００７４】
ピクセル処理動作４５０は、典型的に、テクスチャマッピング動作４５４を含み、テクスチャマッピング動作４５４は、１つまたは複数のシェーダ（例えば、ピクセルシェーダＰＳ、計算シェーダＣＳ、頂点シェーダＶＳ、または、他の種類のシェーダ）によってある程度まで行われてよく、テクスチャユニット４０６によってある程度まで行われてよい。ピクセルシェーダ計算４５２は、画面空間座標ＸＹからテクスチャ座標ＵＶを計算することと、テクスチャ座標をテクスチャ動作４５４に送信することと、テクスチャデータＴＸを受信することとを含む。テクスチャ座標ＵＶは、画面空間座標ＸＹから任意の方法で計算できるが、典型的には、補間された入力値から、時には、前のテクスチャ動作の結果から計算される。勾配Ｇｒは、テクスチャユニット４０６（テクスチャ動作ハードウェアユニット）によってテクスチャ座標の４つから直接計算されることが多いが、オプションで、テクスチャユニット４０６がデフォルト計算を行うのに頼らずに、ピクセルシェーダ計算４５２によって明確に計算して、テクスチャ動作４５４に渡すことができる。
【００７５】
テクスチャ動作４５６は、一般に、ピクセルシェーダＰＳとテクスチャユニット４０６の何らかの組み合わせによって行うことができる以下の段階を含む。最初に、ピクセル場所ＸＹ毎の１つまたは複数のテクスチャ座標ＵＶが、生成され、各テクスチャマッピング動作に座標集合を提供するために使用される。勾配値Ｇｒは、テクスチャ座標ＵＶから計算され、プリミティブに適用するテクスチャの詳細度（ＬＯＤ）を決定するのに使用される。
【００７６】
ピクセル処理４５０は、一般に、レンダー出力動作４５６で終わり、レンダー出力動作４５６は、ラスタ化動作（ＲＯＰ）として通常知られるものを含んでよい。ラスタ化動作（ＲＯＰ）は、単純に、ピクセル毎に複数回、マルチプルレンダーターゲット（ＭＲＴ）のうち、各レンダーターゲットに対して一度、実行される。出力動作４５６中、最終ピクセル値４５９が、フレームバッファで決定されてよく、これは、オプションで、フラグメントを統合することと、ステンシルを適用することと、深度テストと、一定のサンプル毎の処理タスクを含んでよい。最終ピクセル値４５９は、アクティブなレンダーターゲット（ＭＲＴ）全てへの集められた出力を含む。ＧＰＵ４０４は、最終ピクセル値４５９を使用して、完成したフレーム４６０を構成し、完成したフレーム４６０は、リアルタイムでディスプレイ装置４１６のピクセルにオプションで表示されてよい。
【００７７】
ある実施態様においては、グラフィックスパイプラインは、ピクセル処理の画面解像度と計算負荷が画面空間の場所によって変わる修正ラスタ化処理４４０及び／または修正ピクセル処理４５０を実施してよい。このような修正グラフィックス処理の例は、例えば、両方とも、２０１４年４月５日に出願された同時係属のＵＳ特許出願番号第１４／２４６，０６６号及び第１４／２４６，０６２号に記載され、その両方の内容全体は、参照により本明細書に組み込まれる。グラフィックスパイプラインを修正して、画面空間の中心窩領域に計算リソースを集中させることによって、グラフィックスパイプラインを通した計算負荷全体を低減してよい。例として、ある実施態様においては、ＣＰＵコード４０３Ｃ、ＧＰＵコード４０３Ｇ、及び、テクスチャユニット４０６は、画面上の場所に依存する可変の解像度と共に、テクスチャマッピング動作を修正するようにさらに構成されてよい。詳細には、ピクセルシェーダＰＳ及びテクスチャユニット４０６は、ピクセル場所ＸＹ毎に１つまたは複数のテクスチャ座標ＵＶを生成して、１つまたは複数のテクスチャマッピング動作に座標セットを提供し、テクスチャ座標ＵＶから勾配値Ｇｒを計算し、勾配値を使用して、プリミティブに適用するテクスチャの詳細度（ＬＯＤ）を決定するように構成できる。これらの勾配値は、サンプルの場所における可変解像度と正規直交性からのずれとを考慮するように調整できる。
【００７８】
［追加の態様］
本開示の態様は、コンピュータ実行可能命令を有する非一時的コンピュータ可読媒体も含み、コンピュータ実行可能命令は、実行されると、上記態様に従って、例えば、図２、図４、図５に関して記載したようなグラフィックス処理を実施する。
【００７９】
上記は、本発明の好ましい実施形態の完全な記載であるが、様々な代替、修正、及び、同等のものを使用することが可能である。よって、本発明の範囲は、上記記載を参照して決定されるべきではなく、代わりに、同等物の全範囲と共に、添付の請求項を参照して決定されるべきである。本明細書に記載のいかなる特徴も、好ましくても好ましくなくても、本明細書に記載の任意の他の特徴と、好ましくても好ましくなくても組み合わされてよい。以下の請求項において、不定冠詞「Ａ」または「Ａｎ」は、明示的に別段の記載がない限り、冠詞に続く項目の１つまたは複数の量を指す。添付の請求項は、ミーンズプラスファンションの制限を、このような制限が、「ｍｅａｎｓ  ｆｏｒ」という句を用いて所与の請求項に明示的に記載されない限り、含むと解釈されるべきではない。
【図１Ａ】
2018537755.tif 000006
【図１Ｂ】
2018537755.tif 000007
【図２】
2018537755.tif 000008
【図３Ａ】
2018537755.tif 000009
【図３Ｂ】
2018537755.tif 000010
【図３Ｃ】
2018537755.tif 000011
【図３Ｄ】
2018537755.tif 000012
【図３Ｅ】
2018537755.tif 000013
【図４】
2018537755.tif 000014
【図５】
2018537755.tif 000015
【国際調査報告】
2018537755.tif 000016