説明

タイル・ベース・レンダリング・システムにおける変換されていない表示リスト

タイル・ベース・レンダリング・システムにおいて、パラメータ及びメモリの使用を低減させるための方法及び装置が提供される。次に、位置データが、メモリ内の格納された静的幾何学的形状データから取り出され、画面空間に変換される。次に、画面空間の位置データを用いて、位置データが取り出されたメモリ内の静的幾何学的形状データへのポインタのリストをコンパイルする。次に、このポインタ・データは、各タイルについて取り出され、取り出されたポインタ・データに対応する静的幾何学的形状データが、各タイルについて取り出される。こうして取り出された幾何学的形状データは、画面空間に変換され、隠面消去の前にいずれかの属性処理が適用され、次に、変換データをバッファにレンダリングして表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元のコンピュータ・グラフィックス・レンダリング・システムに関し、特定的には、タイル・ベースのレンダリング・システムにおいて変換されていない(untransformed)表示リストを用いて、3次元グラフィック画像をレンダリングすることに関連した方法及び装置に関する。
【背景技術】
【0002】
タイル・ベース・レンダリング・システムは周知のものであり、これらは、ラスタ化プロセスの効率を高めるために、画像を複数の矩形のブロック又はタイルに分割する。
【0003】
図1は、従来のタイル・ベース・レンダリング・システムを示す。タイル・ベース・レンダリング・システムは、幾何学的形状(geometry)処理段階及びラスタ化段階の2段階で動作する。幾何学的形状処理段階の間、プリミティブ/コマンド・フェッチ・ユニット100が、メモリからコマンド及びプリミティブ・データを取り出し、これを、幾何学的形状データ110をメモリからフェッチし、それを変換ユニット115に渡す幾何学的形状フェッチ・ユニット105に渡す。これにより、プリミティブ及びコマンド・データが画面空間に変換され、周知の方法を用いて、必要に応じて、いずれかのライティング(lighting)/属性処理が適用される。結果として得られるデータは、周知の方法を用いて、不可視のあらゆる幾何学的形状を選別するカリング・ユニット120に渡される。カリング・ユニットは、あらゆる残りの幾何学的形状データを変換されたパラメータ・バッファ135に書き込み、同じく、残りの幾何学的形状の位置データをタイリング・ユニット125に渡し、このタイリング・ユニット125は、タイリングされた幾何学的形状リスト130に書き込まれる、各タイルについての画面空間オブジェクト・リストの組を生成する。各々のオブジェクト・リストは、そのタイル内に全体的又は部分的に存在する変換されたプリミティブへの参照を含む。リストは、画面上のあらゆるタイルについて存在するが、幾つかのオブジェクト・リストは、その中にデータを有さない場合もある。このプロセスは、シーン内の全ての幾何学的形状が処理されるまで続く。
【0004】
ラスタ化段階の間、オブジェクト・リストは、最初にオブジェクト参照を、次に参照されたオブジェクト・データをフェッチし、それらを、最終シーンに寄与しない面を消去する(通常は、それらは別の面で隠されるので)隠面消去ユニット(HSR)145に与える、タイリングされたパラメータ・フェッチ・ユニット140によりフェッチされる。HSRユニットは、タイル内の各プリミティブを処理し、可視プリミティブ/ピクセルに関するデータだけをテクスチャリング及びシェーディング・ユニット(TSU)150に渡す。TSUは、HSRユニットからデータを取得し、それを用いてテクスチャをフェッチし、周知の技術を用いて、可視オブジェクト内の各ピクセルにシェーディングを適用する。次に、TSUは、テクスチャリングされ、シェーディングされたデータを、アルファ・テスト/フォギング/アルファ・ブレンディング・ユニット155に与える。このことにより、同じく周知の技法を用いて、表面に透明性/不透明性の度合を適用することが可能になる。アルファ・ブレンディングは、オンチップ・タイル・バッファ160を用いて実行され、これにより、この操作のために外部メモリにアクセスする必要が排除される。TSU及びアルファ・テスト/フォギング/アルファ・ブレンド・ユニットは、本質的に完全にプログラム可能であることに留意されたい。
【0005】
各タイルが完成すると、結果として得られるデータをレンダリングされたシーン・バッファ170に書き込む前に、ピクセル処理ユニット165が、パッキング及びアンチエイリアス・フィルタリングといったいずれかの必要なバックエンド・プロセスを実行し、いつでも表示できる状態にする。
【0006】
一般的には、最新のコンピュータ・グラフィックス・アプリケーションは、あるシーン全体を通して又は複数のシーンにわたって静的なままである膨大な量の幾何学的形状を用いるが、この幾何学的形状データは、グラフィック処理ユニットにローカルなメモリ内に典型的に常駐する静的な頂点バッファとして一般に知られるものの中に格納される。現在のタイル・ベース・システムは、このデータを画面空間に変換し、結果として得られる幾何学的形状を、大量の付加的な記憶領域及びメモリ帯域幅を消費する場合があるパラメータ・バッファ/タイリングされた画面空間幾何学的形状リスト内に格納する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】英国特許出願 第GB−A−2430513号
【発明の概要】
【0008】
本発明の好ましい実施形態は、タイル・ベースのレンダリング・システムが、タイリングされた画面空間の幾何学的形状に対して必要とされる記憶領域の量が低減された状態で動作するのを可能にする方法及び装置を提供する。このことは、シーンの幾何学的形状を表すために、変換されていない表示リストを用いることによって達成される。これにより、入ってくるシーンの幾何学的形状が静的であり、従って、幾何学的形状処理段階及びラスタ化段階の両方においてこれを参照できるという事実を利用することによって、図1の変換されたパラメータ・バッファ135に対する必要性がなくなる。
【0009】
ここで、本発明の好ましい実施形態を、添付の図面を参照して、一例として詳細に説明する。
【図面の簡単な説明】
【0010】
【図1】従来のタイル・ベース・レンダリング・システムを示す。
【図2】変換されていない表示リストを用いるタイル・ベース・レンダリング・システムを示す。
【図3】遅延型ライティング/属性処理を示す。
【図4】システムへの変換されたデータ・キャッシュの付加を示す。
【図5】ハイブリッド式変換された表示リスト/変換されていない表示リスト・ベースのタイル・ベース・レンダリング・システムを示す。
【発明を実施するための形態】
【0011】
図2は、変換されていない表示リストをサポートするように修正されたタイル・ベース・レンダリング・システムを示す。幾何学的形状処理段階の間に、プリミティブ/コマンド・フェッチ・ユニット200は、メモリからコマンド及びプリミティブ・データを取り出し、これを、静的な幾何学的形状データの位置部分をメモリ210からフェッチし、それを変換1ユニット215に渡す、位置データ・フェッチ・ユニット205に渡す。これは、プリミティブを画面空間内に変換するのみであり、即ち、図1のシステムにおいて行なわれるいずれのライティング/属性処理も適用しない。結果として得られる画面空間の位置データは、図1のシステムと同じ方法でいずれの幾何学的形状も選別するカリング・ユニット220に渡される。図1のシステムとは異なり、カリング・ユニットは、残りの幾何学的形状データを変換されたパラメータ・バッファに書き込むのではなく、代わりに、残りの幾何学的形状の位置データをタイリングされたユニット225に渡すのみである。
【0012】
図1のシステムにおいて、タイリング・ユニットは、変換されたパラメータ・バッファ内に格納された変換された幾何学的形状への参照を生成し、新しいシステムにおいて、タイリング・ユニットは、既に述べたように、タイリングされた幾何学的形状リスト230に書き込まれた変換されていない静的幾何学的形状データへの参照を生成する。これらの参照は、メモリ210内の幾何学的形状データへのポインタの形態である。このプロセスは、シーン内の全ての幾何学的形状が処理されるまで続く。
【0013】
ラスタ化段階の間、各タイルについてのオブジェクト・リストは、タイリングされたパラメータ・フェッチ・ユニット240によってフェッチされ、このタイリングされたパラメータ・フェッチ・ユニット240は、静的幾何学的形状の参照(ポインタ)を、全体の幾何学的形状リストから変換されていない幾何学的形状フェッチ・ユニット245に与え、この幾何学的形状フェッチ・ユニット245は、変換されていない静的幾何学的形状データをメモリ210からフェッチし、変換2ユニット250に渡す。変換2ユニットは、取り出されたデータを画面空間に再変換し、いずれかの必要とされるライティング/属性処理等を幾何学的形状に適用する。次に、変換された幾何学的形状は、図1のシステムにおけるものと同様に、最終シーンに寄与しない面を消去する隠面消去ユニット(HSR)255に渡される。残りのステージ260乃至280は全て、上述のように、(図1の)ステージ150乃至170と同じ方法で動作する。
【0014】
さらなる最適化において、隠面消去が実行された後に必要とされる、いずれのライティング処理又は属性処理を遅延させることも可能である。このことは、この処理が、処理量及び電力消費の両方を著しく改善する、最終シーン内で可視である幾何学的形状にのみ適用されることを意味する。図3は、遅延型のライティング/属性処理を実施するシステムに対する修正を示す。ユニット300及び305は、図2のユニット240及び245について説明されたように動作し、図2のユニット250とは異なり、変換2ユニット310は、位置データを隠面消去ユニット315に渡す前にこれを変換するだけである。隠面消去ユニットによって発せられた可視プリミティブは、次に、いずれかのライティング/属性処理が実行される変換3ユニット320に渡される。ユニット325乃至350の動作は、図1のユニット145乃至170と同じである。
【0015】
上述の3つの変換ユニットの各々は全て、特許文献1に記載されたものに類似した単一の「ユニバーサル」ユニットにおいて実装できることに留意されたい。上記の手法は、変換されたパラメータ・バッファに対する必要性をなくすが、それらは、両方の段階において位置データを変換することを必要とし、かつ、幾何学的形状のいずれか一部が重複するあらゆるタイルについて変換を繰り返す必要があるという不利な点を有する。図4は、ラスタ化段階においてデータを再変換する回数を最小にするためにキャッシュを付加する、変換されていない表示リスト・システムのラスタ化段階に対する修正を示す。図4は、非遅延型のライティング/属性処理システムに対する修正を示すが、この修正は、いずれに対しても等しく適用可能であることに留意すべきである。図2におけるように、タイリングされたパラメータ・フェッチ・ユニット400は、メモリから、幾何学的形状処理段階において生成されたタイリングされたオブジェクト・リスト参照をフェッチする。この参照は、オブジェクト参照に対応するエントリが、変換されたデータ・キャッシュ・メモリ410内に存在するかどうかを確認するキャッシュ制御ユニット405に渡され、存在する場合には、キャッシュ制御ユニットは、キャッシュからデータを読み出し、それを隠面消去ユニット425に渡す。キャッシュ内に対応するエントリが存在しない場合、キャッシュ制御ユニットは、メモリからデータをフェッチし、それを変換2ユニット420に渡す、変換されていない幾何学的形状フェッチ・ユニット415に参照を発行する。変換2ユニットは、幾何学的形状データを変換し、該幾何学的形状データに必要とされるあらゆるライティング/属性処理を適用し、次に、それをキャッシュ制御ユニットに戻す。次に、キャッシュ制御ユニットは、それを隠面消去ユニットに渡す前に、将来の参照のために変換されたデータ・キャッシュ・メモリに付加する。ユニット425乃至450の動作は、図1のユニット145乃至170と同じである。
【0016】
上記の手法に用いられる付加的な幾何学的形状処理パスをなくすために、位置変換の結果は、第2のパスで用いるパラメータ・バッファ内に格納することができる。これは結果的に、変換されたパラメータ記憶領域に対する必要性をもたらすが、位置データを何回も変換することと比べれば、有用なトレードオフと考えることができる。アプリケーションが、シーンの間に頂点データを更新する場合があるが、この種の頂点データは、動的と呼ばれることが多く、このような状況においては、従来のタイル・ベース・レンダリング装置のように、データを変換し、パラメータ・バッファに複写しなければならないことにも留意すべきである。
【0017】
図5は、変換されていない表示リスト及び変換された表示リストの両方の使用を可能にするハイブリッド・システムを示す。幾何学的形状処理段階の間、プリミティブ/コマンド・フェッチ・ユニット500は、メモリからコマンド及びプリミティブ・データを取り出し、これを幾何学的形状フェッチ・ユニット505に渡し、この幾何学的形状フェッチ・ユニット505は、動的幾何データ507及び静的幾何データ510の両方をメモリからフェッチし、それらを変換1ユニット515に渡す。
【0018】
動的幾何学的形状の場合、変換1ユニットは、前述したように静的幾何学的形状についてのみ位置を変換する従来のタイル・ベース・レンダリング・システムのように、位置を変換し、あらゆる必要なライティング/属性処理を適用する。結果として得られるデータは、周知の方法を用いて、可視ではない任意の幾何学的形状を選別するカリング・ユニット520に渡される。カリング・ユニットは、あらゆる残りの動的幾何学的形状及び静的位置データを、変換されたパラメータ・バッファ535に書き込み、また、残りの幾何学的形状の位置データを、タイリング・ユニット525に渡し、このタイリング・ユニット525は、タイリングされた幾何学的形状リスト530に書き込まれる各タイルについての1組の画面オブジェクト・リストを生成する。タイリングされた幾何学的形状リストは、どの幾何学的形状が動的であり、どれが静的であるかを示すことに留意すべきである。図2におけるように、タイリングされたパラメータ・フェッチ・ユニット540は、メモリから、幾何学的形状処理段階において生成されたタイリングされたオブジェクト・リストの参照をフェッチする。参照は、オブジェクト参照に対応するエントリが変換されたデータ・キャッシュ・メモリ550内に存在するかどうかを確認するキャッシュ制御ユニット545に渡され、存在する場合、キャッシュ制御ユニットは、キャッシュからデータを読み出し、それを隠面消去ユニット565に渡す。キャッシュ内に対応するエントリが存在しない場合、キャッシュ制御ユニットは、タイリングされた参照リストに示されたタイプに基づいて、変換されたパラメータ・フェッチ・ユニット547又は変換されていない幾何学的形状フェッチ・ユニット555のいずれかに参照を発行する。変換された幾何学的形状は、変換されたパラメータ・フェッチ・ユニットによってフェッチされ、キャッシュ制御ユニットに戻され、変換されていない幾何学的形状は、変換されていない幾何学的形状フェッチ・ユニットによってフェッチされ、キャッシュ制御ユニットに戻される前に、変換2ユニット560によって処理される。両方の幾何学的形状タイプが、次に、隠面消去ユニットに渡される前に、制御ユニットによってキャッシュに書き込まれる。全ての後続のユニット565乃至590は、図1のユニット145乃至170について前述したように動作する。
【符号の説明】
【0019】
100、200、500:プリミティブ/コマンド・フェッチ・ユニット
105、505:幾何フェッチ・ユニット
110:幾何データ・メモリ
115:変換ユニット
120、220、520:カリング・ユニット
125、225、525:タイリング・ユニット
130、230、530:タイリングされた幾何学的形状リスト
135、535:変換されたパラメータ・バッファ
140、240、300、400、540:タイリングされたパラメータ・フェッチ・ユニット
145、255、315、425、565:隠面消去ユニット(HSR)
150、260、325、430、570:テクスチャリング及びシェーディング・ユニット(TSU)
155、265、330、435、575:アルファ・テスト/フォギング/アルファ・ブレンディング・ユニット
160、270、335、440、580:蓄積バッファ(オンチップ・タイル・バッファ)
165、275、340、445、585:ピクセル処理ユニット
170、280、345、450、590:レンダリングされたシーン・バッファ
205:位置データ・フェッチ・ユニット
210、510:静的幾何学的形状データ・メモリ
215、515:変換1ユニット
245、305、415、555:変換されていない幾何学的形状フェッチ・ユニット
250、310、420、560:変換2ユニット
320:変換3ユニット
405、545:キャッシュ制御ユニット
410、550:変換されたデータ・キャッシュ・メモリ
507:動的幾何学的形状データ・メモリ
535:パラメータ・バッファ
547:変換されたパラメータ・フェッチ・ユニット

【特許請求の範囲】
【請求項1】
タイル・ベース・レンダリング・システムにおいて、パラメータ・メモリ使用量を低減させるための方法であって、
位置データをメモリ内の格納された静的幾何学的形状から取り出し、
前記取り出された位置データを画面空間に変換し、
前記画面空間の位置データを用いて、各矩形領域について、前記位置データが取り出された前記メモリ内の静的幾何学的形状データへの対応するポインタ・リストをコンパイルし、
各リストから、各矩形領域のポインタ・データを取り出し、
各リストについて、前記取り出されたポインタ・データに対応する静的幾何学的形状データを前記メモリから取り出し、
前記こうして取り出された位置の幾何学的形状データを画面空間に変換し、
隠面消去を適用する前に、いずれかの必要な属性処理を適用し、
前記変換されたデータをバッファにレンダリングして表示する、
ステップを含むことを特徴とする方法。
【請求項2】
前記隠面消去ステップの後に、前記ライティング又は属性処理ステップを含むことを特徴とする、請求項1に記載の方法。
【請求項3】
前記幾何学的形状データを画面空間画像データに変換するステップは、変換されたデータをキャッシュ内に格納するステップを含み、前記幾何学的形状データを取り出すステップは、取り出されるデータが前記キャッシュ内に存在するかどうかを確認するステップを含むことを特徴とする、請求項1に記載の方法。
【請求項4】
前記変換された位置データは、矩形領域の処理中に二度目の変換を行う必要がないように、パラメータ・バッファに書き込まれることを特徴とする、請求項1に記載の方法。
【請求項5】
第2のメモリから動的幾何学的形状データを取り出すステップと、
前記取り出されたデータを、画面データ位置及び画像データに変換するステップと、
をさらに含み、
前記コンパイルするステップは、動的幾何学的形状データ及び変換されていない静的幾何学的形状データについての画像空間データへのポインタのリストを含み、
前記変換された動的幾何学的形状データを格納するステップを含み、
前記変換されていない静的幾何学的形状データを取り出すステップは、変換された動的幾何学的形状データを取り出すステップをさらに含むことを特徴とする、前記請求項のいずれかに記載の方法。
【請求項6】
パラメータ・メモリが低減されたタイル・ベース・レンダリング・システムであって、
メモリ内に格納された静的幾何学的形状データから位置データを取り出すための手段と、
前記取り出された位置データを画面空間に変換するための手段と、
前記画面空間の位置データを用いて、各矩形領域について、前記位置が取り出された前記メモリ内の静的幾何学的形状データへの対応するポインタ・リストをコンパイルするための手段と、
各リストから、各矩形領域のポインタ・データを取り出すための手段と、
各リストについての前記取り出されたポインタに対応する静的幾何学的形状データをメモリから取り出すための手段と、
前記こうして取り出された位置の幾何学的形状データを画面空間に変換するための手段と、
前記変換されたデータをバッファにレンダリングして表示するための手段と、
を含むことを特徴とするレンダリング・システム。
【請求項7】
前記隠面消去のための手段の後に、ライティング又は属性処理を適用するための手段を含むことを特徴とする、請求項6に記載のレンダリング・システム。
【請求項8】
前記幾何学的形状データを画面空間に変換するための手段は、変換されたデータをキャッシュ内に格納するための手段を含み、前記幾何学的形状データを取り出すための手段は、取り出されるデータが前記キャッシュ内に存在するかどうかを確認するための手段を含むことを特徴とする、請求項6に記載のレンダリング・システム。
【請求項9】
前記矩形領域の処理中、後の変換が必要とされないように、変換された位置データをパラメータ・バッファに書き込むための手段を含むことを特徴とする、請求項6に記載のレンダリング・システム。
【請求項10】
第2のメモリから動的幾何学的形状データを取り出すための手段と、
前記取り出された動的幾何学的形状データを画面空間の位置及び画像データに変換するための手段と、
をさらに含み、
前記画像空間データへのポインタのリストをコンパイルするための手段は、動的幾何学的形状データ及び静的幾何学的形状データについての画面空間データへのポインタのリストを含ませるための手段を含み、
変換された動的幾何学的形状データを格納するための手段を含み、
前記変換されていない静的幾何学的形状データを取り出すための手段は、変換された動的幾何学的形状データを取り出すための手段をさらに含むことを特徴とする、請求項6から請求項9までのいずれかに記載のレンダリング・システム。
【請求項11】
実質的に本明細書に記載されたようなタイル・ベース・レンダリング・システムにおいて、パラメータ・メモリ使用量を低減させるための方法。
【請求項12】
添付図面を参照して実質的に本明細書に記載されたような、パラメータ・メモリが低減されたレンダリング・システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2011−515751(P2011−515751A)
【公表日】平成23年5月19日(2011.5.19)
【国際特許分類】
【出願番号】特願2011−500283(P2011−500283)
【出願日】平成21年3月13日(2009.3.13)
【国際出願番号】PCT/GB2009/000691
【国際公開番号】WO2009/115778
【国際公開日】平成21年9月24日(2009.9.24)
【出願人】(501176037)イマジネイション テクノロジーズ リミテッド (59)
【Fターム(参考)】