JP2008165760A - グラフィックスを処理する方法および装置 - Google Patents

グラフィックスを処理する方法および装置 Download PDF

Info

Publication number
JP2008165760A
JP2008165760A JP2007314022A JP2007314022A JP2008165760A JP 2008165760 A JP2008165760 A JP 2008165760A JP 2007314022 A JP2007314022 A JP 2007314022A JP 2007314022 A JP2007314022 A JP 2007314022A JP 2008165760 A JP2008165760 A JP 2008165760A
Authority
JP
Japan
Prior art keywords
graphics
scene
descriptor
rendered
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007314022A
Other languages
English (en)
Other versions
JP5336067B2 (ja
Inventor
Edvard Soergard
エドヴァルド・セルゴール
Borgar Ljosland
ボルガール・リョシュラン
Joern Nystad
ヨーン・ニスタッド
Mario Blazevic
マリオ・ブラゼヴィック
Frank Langtind
フランク・ランティン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Norway AS
Original Assignee
ARM Norway AS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2006327341A external-priority patent/JP2007157155A/ja
Application filed by ARM Norway AS filed Critical ARM Norway AS
Priority to JP2007314022A priority Critical patent/JP5336067B2/ja
Publication of JP2008165760A publication Critical patent/JP2008165760A/ja
Application granted granted Critical
Publication of JP5336067B2 publication Critical patent/JP5336067B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】グラフィックスを処理する方法及び装置
【解決手段】グラフィックスプロセッサ20は、レンダリング対象シーンの各ドローコールの場所を判定するグラフィックスオブジェクトリスト構築ユニット28を含み、レンダリング対象シーンが分割される各小領域(タイル)に対してドローコールのリストを生成する。ドローコールリストは、メモリ23に記憶される。グラフィックスプロセッサ20のレンダラ22のグラフィックスオブジェクト選択ユニット29はその後、現在レンダリング対象のシーン小領域(タイル)に対してメモリ23に記憶されたドローコールリスト26を考慮することによって次にレンダリングされるドローコールを判定する。
【選択図】図2

Description

本発明は、グラフィックスを処理する方法および装置に関し、具体的には、タイルベースのグラフィックス処理システムで使用される、かかる方法および装置に関する。
本発明は、特に3次元グラフィックスの処理を参照しながら説明されるが、2次元グラフィックスの処理にも等しく適用可能であることが当業者には理解されるであろう。
当技術分野で知られているように、グラフィックス処理は一般に、まず表示対象シーンをいくつかの同様の基本的な構成要素または「プリミティブ」に分割し、次いでこれらのプリミティブに所望のグラフィックス処理操作を施すことによって実行される。グラフィックス「プリミティブ」は通常、三角形など単純なポリゴンの形をとり、通常はそれらの各頂点を定義することによって記述される。
グラフィックス処理操作に関しては、当技術分野で知られているように、各グラフィックスプリミティブは通常、「フラグメント」と通称される複数の離散的なグラフィックエンティティまたは要素にさらに分割され、これらに対して実際のグラフィックス処理操作(レンダリング操作など)が実行される。このような各グラフィックスフラグメントは、プリミティブ内の所与の位置を表し、またこれに対応するものであり、該当する位置に関する1組のデータ(色や深度の値など)を事実上含むものである。
各グラフィックスフラグメント(データ要素)は通常、最終的な表示内の単一ピクセル(画素)に対応する(ピクセルは表示される最終的な画像の特異点であるので、グラフィックスプロセッサが作用する「フラグメント」と、表示内のピクセルとの間には通常1対1のマッピングが存在する)。しかしながら、例えば最終的な画像が表示される前にレンダリングされた画像に対して、縮小など特定の形態の後処理が実行された場合は、「フラグメント」と「ピクセル」との間に直接的な対応関係が存在しないこともある。
したがって、典型的に実行されるグラフィックス処理の2つの側面は、グラフィックス「プリミティブ」(ポリゴン)の位置データをグラフィックスフラグメントの位置データに「ラスタ化」し(すなわち、表示対象シーンの各プリミティブを表現するのに使用されるグラフィックスフラグメントの(x,y)位置を判定し)、次いで「ラスタ化」されたフラグメントが表示画面上に表示されるように「レンダリング」する(すなわち、当該フラグメントの色付けやシェーディングなどを施す)ことである。
(グラフィックスの分野では、「ラスタ化」という用語はその時々に、プリミティブからフラグメントへの変換と、プリミティブのレンダリングとの両方を意味するように使用される。しかしながら、本明細書における「ラスタ化」は、プリミティブデータからフラグメントアドレスへの変換だけを指すように使用される。)
多くのグラフィックス処理システムは、いわゆる「タイルベース」のレンダリングを使用する。タイルベースのレンダリングでは、表示対象の2次元シーンは、通常「タイル」と呼ばれる複数のより小さい小領域(sub-region)に細分化または区分される。各タイル(小領域)は、別々に(典型的には順番に)レンダリングされる。次いで、レンダリングされた小領域(タイル)が再結合されて、完全なフレームが表示される。かかる構成において、シーンは、典型的には規則正しいサイズおよび形状の(通常は正方形や長方形などの形をとる)小領域(タイル)に分割されるが、これは本質的なものではない。
「タイリング」および「タイルベース」のレンダリングに関して一般に使用される他の用語としては、「チャンキング」(複数の小領域は「チャンク」とも呼ばれる)および「バケット」レンダリングが挙げられる。以下では便宜上「タイル」および「タイリング」という用語が使用されるが、これらの用語は代替的かつ等価な用語および技法をすべて包含するものであることが当業者には理解されるはずである。
かかるタイルベースのレンダリングの利点は、所与のタイル内に現れないプリミティブが当該タイルに関して処理される必要がなく、したがって、タイルが処理されるときに無視され得ることである。これにより、所与のシーンに要する全体のグラフィックス処理量を減少させることが可能となる。
したがって、タイルベースのレンダリングシステムでは通常、例えばあるタイル内に実際に存在しないプリミティブの不必要なレンダリングが避けられるように、所与の小領域(タイル)内に実際に存在するそれらのプリミティブを特定し知ることができることが望ましい。これを容易にするために、当該小領域に関してレンダリングすべき(例えば当該小領域内に現れる)プリミティブのリストを各小領域(タイル)毎に作成(prepare)することが知られている。かかる「タイルリスト」(「プリミティブリスト」と呼ばれることもある)は、(例えばプリミティブインジケータを参照することによって)該当するタイル(小領域)に関してレンダリングすべきプリミティブを特定する。
したがって、レンダリング対象の各小領域(タイル)に関するタイルリストを作成するプロセスは、基本的には所与の小領域(タイル)に関してレンダリングすべきプリミティブを判定することを要する。このプロセスは通常、該当するタイルを横切る(すなわち、(少なくともその一部が)該当するタイル内に現れる)プリミティブを(所望の精度レベルで)判定し、次いでそれらのプリミティブリストをグラフィックス処理システムによる将来の使用のために作成することによって実行される。(あるプリミティブが2つ以上のタイルに入る場合(そうなることが多い)、そのプリミティブは、それ自体が入っている各タイルのタイルリストに含められることに留意すべきである。)各小領域(タイル)は事実上、当該小領域に入る(すなわち横切る)ことが判明した任意のプリミティブを収容するビン(bin)(タイルリスト)を有するものと見なすことができる(実際、このような様式でプリミティブをタイル単位でソートするプロセスは一般に、「ビニング」と呼ばれている)。
当技術分野で知られているように、所与の任意のタイルに関してリスト化(レンダリング)すべきプリミティブを判定するプロセスは、例えばタイリングおよびレンダリングプロセスの様々な部分の効率の最適化に応じて様々な精度レベルで実行される可能性がある。例えば、最も高い精度レベルでは、所与のプリミティブが少なくとも部分的に現れるタイルを正確に判定した後、当該プリミティブをそれらのタイルに関するタイルリストにだけ含めることができる。これは一般に、「正確」ビニングと呼ばれる。
図1は、正確ビニングのプロセスを示している。図1に示されるように、表示対象シーン1は、規則正しいサイズの16個の小領域すなわちタイル2に分割されている。次いで、シーン内の各プリミティブに関して、当該プリミティブが実際に現れる(入る)1つまたは複数のタイルが判定される。プリミティブは、それ自体がそこに入ることが判明した各タイルのタイルリストに追加される。したがって、図1に示される例で考えれば、プリミティブ3は、タイル4のタイルリストに追加され、プリミティブ5は、タイル6および7のタイルリストに含められ、プリミティブ8は、タイル9、10、11、および12のタイルリストに含められ、プリミティブ13は、タイル12のタイルリストに含められる。(図1には図面を分かりやすくするために少数のタイルおよびプリミティブしか示されていないことに留意すべきである。当業者には理解されるように、実際のグラフィックス処理操作では典型的には、プリミティブおよびタイルの数はもっと多くなる。)
正確ビニングで達成される精度よりも低い精度でタイルリストを作成することも知られている。これは、例えばタイルリストの作成を簡略化するのに役立つ可能性がある。1つの一般的な「低精度」ビニング("less precise" binning)技法は、「バウンディングボックス」ビニングである。この場合では、あるプリミティブまたは1組のプリミティブの周囲にいわゆる「バウンディングボックス」が描画され、次いで当該バウンディングボックスによって覆われるタイルが決定される。次いで、当該バウンディングボックスによって(少なくともその一部が)覆われることが判明した各タイルに関して、当該バウンディングボックスによって表される(すなわち、当該バウンディングボックスによって包含される)1つまたは複数のプリミティブがリスト化(ビニング)される。
したがって、この構成は、プリミティブ自体ではなくバウンディングボックスを使用して、所与のプリミティブをリスト化しレンダリングすべきタイルを判定する。このことは、例えばあるプリミティブが実際に入らないタイル(例えばバウンディングボックスが当該プリミティブを隙間ない形でまたは精密な形で十分に取り囲んでいない場合)についても、レンダリングのためのリスト化が行われる可能性があることを意味し得るが、一方では、このような様式でバウンディングボックスを使用することにより、タイルリストの作成を簡略化することができる。
このようにして、各小領域(タイル)に関するレンダリング対象プリミティブのリスト(タイルリスト)が作成されると、(タイル)リストが記憶され、このリストは、例えば該当するタイルをレンダリングするときに考慮する(レンダリングする)必要があるプリミティブをシステムが特定することを可能にするために使用される。
かかるタイルベースのレンダリング構成は、例えばプリミティブが存在しないシーンの領域についてまでプリミティブの処理が行われることを回避するのに役立つ可能性があることから、優れた働きをすることが分かっている。
しかし、本出願人らは、既存のタイルベースのレンダリングシステムには改良の余地が残されているものと信じる。
本発明の第1の態様によれば、レンダリング対象シーンがレンダリング用の複数の小領域に分割されるグラフィックス処理システムにおいて、処理用のグラフィックスデータをソートする装置であって、
小領域又はシーンが分割される小領域へ、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子をソートする手段を備える装置が提供される。
本発明の第2の態様によれば、レンダリング対象シーンがレンダリング用の複数の小領域に分割されるグラフィックス処理システムにおいて、処理用のグラフィックスデータをソートする方法であって、
小領域又はシーンが分割される小領域へ、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子をソートする手段を含む方法が提供される。
本発明の第3の態様によれば、レンダリング対象シーンがレンダリング用の複数の小領域に分割されるグラフィックス処理システムにおいて、処理用のグラフィックスデータをソートする装置であって、
シーンが分割される小領域又は複数の小領域に、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子を関連付ける手段を備える装置が提供される。
本発明の第4の態様によれば、レンダリング対象シーンがレンダリング用の複数の小領域に分割されるグラフィックス処理システムにおいて、処理用のグラフィックスデータを処理する方法であって、
シーンが分割される小領域又は複数の小領域に、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子を関連付ける段階を含む方法が提供される。
本発明の第5の態様によれば、レンダリング対象シーンがレンダリング用の複数の小領域に分割されるグラフィックス処理システムにおいて、処理用のグラフィックスデータをソートする装置であって、
シーンが分割されうる一つ以上の小領域に関するグラフィックス記述子リストであって、処理のために好ましくは、各グラフィックス記述子が、レンダリング対象シーンの単一のプリミティブ以外である、グラフィックス記述子リストを作成する手段を備える装置が提供される。
本発明の第6の態様によれば、レンダリング対象シーンがレンダリング用の複数の小領域に分割されるグラフィックス処理システムにおいて、処理用のグラフィックスデータをソートする方法であって、
シーンが分割されうる一つ以上の小領域に関するグラフィックス記述子リストであって、処理のために好ましくは、各グラフィックス記述子が、レンダリング対象シーンの単一のプリミティブ以外である、グラフィックス記述子リストを作成する手段を含む方法が提供される。
本発明は、タイルベースのレンダリングシステム(すなわち、レンダリング対象シーンが複数の小領域(plural sub-regions)に分割されるレンダリングシステム)を対象とする。しかし、従来のタイルベースのレンダリングシステムとは異なり、単に“タイル”にソートすること、及び“タイルリスト”に含めることというよりはむしろ、レンダリング対象シーンが単一のプリミティブでない本発明の他のグラフィックス記述子に関して記述される三角、四角、線、又は点等の“単一の”ポリゴン(即ち、シーンの最小“ポリゴン”記述)のような、基本プリミティブは、タイルバイタイル(小領域バイ小領域)ベースでソートされ、“タイルリスト”に置かれる(含まれる)ことができる。
出願人は、タイルにレンダリング対象シーンを記述及び定義する基本的な単一のプリミティブだけでなく、他の形式のシーン(グラフィックス)記述(記述子)もソートする利点があることを認識している。
例えば、タイルリストに、ドローコール等、共通に複数の個々のプリミティブを示すグラフィックス記述子を置換するか又はその上(選択的に)記憶することができ、それはその後、例えばタイルリストに使用するメモリ量を変更及び/又は低減することができる。従って、本発明は、タイルリスティング処理に対するメモリ使用要件の比較的良好な制御及び認識を容易にする。これは、特にポータブル装置等(例えば、携帯電話、PDA、ハンドヘルド装置等)の比較的限定された装置上で実行されるグラフィックスシステムにおいて有利である。
また、出願人は、個々のプリミティブ以外のグラフィックス記述子上でタイリング動作又は複数の動作を実行することは、他の利益を提供することを認識している。例えば、それにより、グラフィックスデータをこれらの他のグラフィックス記述子の形式でソート及び選抜することができる。
また、それは、タイリング動作それ自体が比較的短時間であり、処理資源が集中的であり、故に、例えば、グラフィックスデータ(記述子)の比較的粗い初期ソートの目的で比較的迅速に実行されることを意味する。例えば、それは、任意のグラフィックス記述子がその目的のために基本的なプリミティブレベルでタイルリストを作成する必要なく更なる処理から直ちに廃棄(選抜)されうるかを確認するために、比較的高いグラフィックス記述子レベルで、グラフィックスデータの初期の粗いタイリングを実行するのに使用されうる。
故に、本発明は、例えば選抜及び/又は隠面消去の形式、例えば、及び好ましくはレンダリングに先立ち、容易にすることができる。
レンダリング対象シーンが分割される複数の小領域(タイル)は、所望される任意の適当な小領域とすることができる。当技術分野で知られているように、これらはすべて同じサイズおよび形状であることが好ましいが(すなわち、規則正しいサイズおよび形状のタイルが使用されることが好ましいが)、これは本質的なものではない。これらの小領域は、正方形または長方形であることが好ましい。小領域のサイズおよび数は、所望の形で選択することができる。好ましい一構成では、各小領域(タイル)は、16×16または32×32のサイズのフラグメントである(ただし、シーンは後に、使用中の表示(フレーム)サイズに必要な数の小領域に分割されることになる)。
好ましい実施形態において、タイルリスト(グラフィックス記述子のリスト)は、個々の小領域及び/又は一つより多い小領域を含む一組又は複数組の小領域に対して作成することができる。タイルリスト(グラフィック記述子リスト)(共通に記憶されたタイルリスト)は、一組の一つより多い小領域に対して作成され、その後一組の一つより多い小領域は、整数の小領域を含むのが好ましく、連続的な小領域の群を含むのが好ましい。
小領域にソートされ、及び/又は小領域に対してリストされる等のグラフィックス記述子は、任意の適切な、及び望ましい当該記述子にすることができる。それらは、当業者であれば明らかなように、実際のレンダリング処理用のシーンを記述するのに使用されることがあり使用されるであろう三角、四角、線、又は点等の単一のポリゴンのような単一の基本プリミティブ以外の必要がある(故に、三角、線、四角、又は点のような単一のプリミティブの形式にはならない。)。
類似には、グラフィックス記述子は、(シーンにおけるその場所によってそれらをソートするようにそれを適切にするか又は望ましくする時)それに関連付けられる処理対称シーンにおける位置又は場所(location)、又は特定の又は選択された位置又は場所の形式を有する(好ましくはレンダリング対象シーンに関するか又は何か(一部)の)記述子を有するか又は含む必要がある。故に、グラフィックス記述子は好ましくは、グラフィック処理の後続ステージ又は複数のステージに対するシーンにおいて位置又は場所を含む地理及び/又は情報を含むか又はそれらに関連付けられる。
実際、本発明は、グラフィックス処理(手順)が実行されるべき場所やオブジェクト又は複数のオブジェクトがドローされるべき場所等を定義する記述子のような、グラフィックス処理に(位置に関連付けられた)位置情報を交信する任意のグラフィックス記述子に適用されうる。
一つの好ましい実施形態において、グラフィックス記述子は、特定のグラフィックス処理又は処理がシーンの所与の場所又はエリア又はエリアで活性化される必要があるインジケーションのような、所与の特定のシーンの場所又はエリアで実行されるべき一部形式のグラフィックス処理(手順)の記述子を含む。
例えば、グラフィックス記述子は、レンダリング対象シーンの所与の場所で一組のプリミティブを生成する(システムに生成するように言う)ための、プログラム等のルーチン又は手順を定義することができる。それらは、例えば、手順のドローコールを含むことができる。
一つの好ましい実施形態において、グラフィックス記述子は、レンダリング対象オブジェクトを示すか又は含むが、単一のポリゴン又はプリミティブ以外の形式である。故に、一つの好ましい実施形態において、グラフィックス記述子は、グラフィックスオブジェクトを含むが、個々の単一のプリミティブではない。
例えば、グラフィックス記述子はまた若しくは代替的に、及び好ましくは、それが好ましくはプリミティブ(例えば、三角の)表示に変換される前のオブジェクトの記述子等の、例えばレンダリング対象オブジェクトの比較的高い順番又は比較的高いレベルの記述子を含む。
そのような比較的高い順番又は比較的高いレベルの、レンダリング対象オブジェクトの記述子の一例は、オブジェクトを示す滑らかな表面である(例えば、“オブジェクト”は、滑らかで、例えば湾曲した表面を含む)。この場合、シーンにおける(複数の)滑らかな表面に対する滑らかな表面の記述子は、本発明の態様で記憶されうる。
本発明が適用可能なグラフィックオブジェクトの比較的高い順番定義のもう一つの形式は、シーンにおける所与の場所で一組のプリミティブを生成する方法をグラフィックスシステムに伝えるプログラム又は手順である。
故に、好ましい実施形態において、グラフィックス記述子又は複数の記述子は、例えば好ましくはオブジェクトの“プリミティブ”記述子が存在する前に対象となるオブジェクト又は複数のオブジェクトに使用されるレンダリング対象オブジェクトの非プリミティブ及び/又はプリプリミティブ記述子を含む。即ち、好ましい実施形態においてグラフィック記述子は、レンダリング対象オブジェクトの前駆記述子(記述)を含む(即ち、その記述は、オブジェクトのプリミティブレベル記述に先行する)。これらの場合において、グラフィックス記述子は、レンダリング対象オブジェクトを示し、未だオブジェクトの“プリミティブレベル”又はプリミティブベースの記述ではなく、むしろグラフィックス記述子は、時間内にのオブジェクトのプリミティブベースの記述に変換されるが、オブジェクトのプリミティブベースの記述が未だ存在しないことを意図する。
例えば、当該非プリミティブベースのグラフィックス記述子は、例えば後に“単一の”プリミティブに変形される“メタプリミティブ”として見なされうる。
また、グラフィックス記述子は、一組の複数の連続的三角等の、一群又は一組の複数のプリミティブを含む、及び/又は示すことができる。この場合、オブジェクトのプリミティブレベルの記述は、存在しうるが、各プリミティブを個々にソートするよりもむしろ、一群のプリミティブが共にソートされうる。これは事実上、レンダリング対象オブジェクトの粗い表示が、たとえ一度オブジェクトの“プリミティブ”記述が存在しえても、“タイル”可能にする。当該配置の一例は、例えば本発明の態様でソートされるグラフィック記述子として複数のプリミティブを包含するバウンディングボックスを使用することである。
当該好ましい実施形態において、グラフィックス記述子又は複数の記述子は、ドローコール(又は複数のドローコール)を含む。(当業者であれば分かるように、グラフィックス処理において、プリミティブは、例えば特定のシーン領域に対して、一般に組で共にグループ化され、プログラマーは、群として共に一挙にレンダリングされることを意図する。共に処理されるプリミティブの当該グループは通常、“ドローコール”と呼ばれる。)故に、特に好ましい実施形態において、シーンのドローコールは、(タイルリストに置かれる)タイルにソートされる。当該配置におけるドローコールは、必要に応じて手順上のドローコール(例えば、プリミティブを生成する手順を定義するドローコール)でもよい。
当業者であれば分かるように、ドローコールの使用において例えば、任意の所与のドローコールが複数のプリミティブを示し、及び含む一方で、単一のプリミティブのみを含むか又は示すドローコールもありうる。しかし、これはなお、少なくとも本発明の好ましい実施形態の範囲内にあり、なぜなら、ドローコールは、たとえ実際にそれが常にそのようにふるまわないことがあっても、共通して複数のプリミティブを示すことができるグラフィックス記述子だからである。
即ち、当業者であれば分かるように、本発明の意図は、単に単一のプリミティブではないグラフィックス記述子を使用することにあるが(そして、それは、レンダリング対象オブジェクトの単一のプリミティブ記述子から区別される)、それは、共通して複数のプリミティブを含むか又は示すか又は示すことができ、及び/又はレンダリング対象オブジェクトの非プリミティブベースの記述子又は実行されるグラフィックス処理の記述子、及び/又はレンダリング対象グラフィックスオブジェクトの記述子及び/又は実行されるグラフィックス処理の記述子であり、それは、複数のプリミティブを含むか又は示すか又は示すことができる。
故に、特に好ましい実施形態において、グラフィックス記述子は、レンダリングされるオブジェクトの、及び/又はレンダリングされるオブジェクトのグラフィックスの記述及び/又は複数のプリミティブを含むか又は示すか又は示すことができる、実行されるグラフィック処理の非プリミティブベースの記述子を含む。
好ましい実施形態において、タイルリスト(グラフィックス記述子リスト)は、所与のタイプのグラフィックス記述子に対して作成される。即ち、ドローコールのような所与のタイプのグラフィックス記述子は、小領域(タイル)にソートされる。一つの好ましい実施形態において、グラフィックス記述子の単一のタイプ又はクラスのみが、任意の所与のリストに含まれる。
しかし、同じリストに異なるタイプのグラフィックス記述子を含むこともできるので、もう一つの好ましい実施形態において、異なるタイプのグラフィックス記述子は各々、所与の小領域の(又は一組の小領域の)リスト(タイルリスト)に含まれうる。
また、三角、四角、線又は点等の単一のポリゴンの形式におけるグラフィックスプリミティブのような単一のプリミティブを、必要に応じて他のグラフィックス記述子と共にタイルリストに含めることができる。(本発明は、必要に応じてレンダリング用の基本グラフィックスプリミティブのタイルリストを追加的(例えば、同時又は連続)に作成することを除外しない。)
グラフィックス記述子のリストは、例えば選択された小領域(タイル)のみに対して作成できるが、好ましい実施形態において、グラフィックス記述子リストは、シーンが分割される各小領域(タイル)に対して作成される。
小領域へのグラフィックス記述子のソートと、小領域に対するグラフィック記述子の作成とは、任意の適切で所望の態様で実行できる。例えば、正確なビニング、又はバウンディングボックスビニング、又はその中間の任意物のようなタイルリストにプリミティブをソート及びビニングするのに既に知られ、及び使用される任意の技術は、この処理に使用されてもよい。
故に例えば、グラフィックス記述子が処理される小領域の初期判定は、シーンにおけるグラフィックス記述子の判定された場所に基づき行われ(その場所は例えば、従来知られるようなグラフィックス記述子を囲うバウンディングボックスに基づくグラフィックス記述子の場所の近似又はグラフィックス記述子の正確な場所にすることができる。)、その後その判定された場所が示す同一又は全ての小領域にリストされたグラフィックス記述子は、レンダリングされる必要がある。その後これは、例えば及び好ましくは、シーンにおける各グラフィックス記述子に対して反復され、シーンに対する完全な一組のグラフィックス記述子リストが作成されることになる。
故に、好ましい実施形態において、シーンにおける所与のグラフィックス記述子に対する場所は、シーンが分割される小領域及び/又は複数の小領域に対して判定及び比較されて、どの小領域及び一組の複数の小領域に対してグラフィックス記述子が処理されうるか又は処理されるべきかを判定する(例えば、範囲内に出現(含まれる))。
これらの配置において、グラフィックス記述子の場所は、グラフィックス記述子の、又はそれに関連付けられた場所又は位置データから等及び好ましく、所望の通りに導かれうる。類似して、小領域の位置は、任意の所望及び適切な態様で導かれうる。必要に応じて、グラフィックス記述子の、又はそれに関連付けられた任意の位置又は場所は好ましくは、それがレンダリング対象の時に記述子がシーンにおいて有する位置に変形されてから、記述子は、小領域等にソートされて、考えられる記述子の“最後の”正しい場所を確実にすることを助ける。
バウンディングボックス技術が使用される場合、その後バウンディングボックスは、所望の場合及び時に生成されうる。例えば、バウンディングボックスは、従来知られるように、グラフィックス記述子ベースで、又は一組又は複数組の複数のグラフィックス記述子に対して生成できる。バウンディングボックスは、例えばホストシステム上のグラフィックスプロセッサAPI又はドライバによって生成できる。
個々のグラフィックス記述子リスト及びそれらにおけるグラフィックス記述子は、任意の所望の、及び適切な態様で配置され、任意の所望の、及び適切なデータを含むことができる。リストは好ましくは、当該技術において、当該又は類似のグラフィックス記述子、タイルリスト等に既に使用されている同一又は類似の態様で配置され、及びデータを含む。
一度グラフィックス記述子がソートされ、グラフィックス記述子リストが上記の通り小領域に対して作成されると、その後、この情報は、グラフィックス記述子の(及び、例えばそれらが示すプリミティブの)処理に使用されうる。当該処理は、任意の適切で、及び所望の処理を含むことができる。
一つの好ましい実施形態において、この処理は、グラフィックス記述子のレンダリングを含む。即ち、それは、シーンをレンダリングする時、及び好ましくは、どのグラフィックス記述子(故に、例えばプリミティブ)が各小領域に対して処理(レンダリング)されるのが必要かを判定するために、グラフィックス記述子リストを使用することを含む。
このレンダリング処理は、周知のタイルベースのレンダリングシステムに類似の態様で実行でき、好ましくは実行される。故に好ましくは、各小領域(タイル)は、別々に処理及びレンダリングされ、即ち、別々の個々の小領域は、一つずつレンダリングされる。このレンダリングは、任意の所望の態様で、例えば個々の小領域をレンダリングすることによって、又は並行的態様で実行できる。一度全ての小領域(タイル)がレンダリングされると、それらはその後、例えば従来知られた表示用のフレームバッファで再結合されうる。
もう一つの好ましい実施形態において、グラフィックス記述子リスト等は、シーンがレンダリングされる前に(好ましくは初期の)選抜動作(例えば、隠面消去)を実行するために、さらに又は代わりに使用され、例えば及び好ましくは、判定されうるグラフィックス記述子の後の処理することを外すことは、表示されるシーンに見られない。当該選抜は例えば、任意のグラフィックス記述子がシーンの可視エリアの外にあるかを判定することを含む(その場合、それらが破棄される)。さらに洗練された選抜設定が勿論、さらに又は代わりに使用されうる。
好ましい当該実施形態において、(複数の)グラフィックス記述子の位置又は場所は、シーンの一つ以上のエリア又は小領域等に対する位置又は場所と比較される。
上記検討の通り、本発明は、当該動作を容易にし、例えば個々のプリミティブよりもむしろ比較的大きいグラフィックスオブジェクトのソート及びタイリングは、比較的低い処理集中度等になりうる。
本発明が、レンダリングのためにシーンが分割される小領域(タイル)を参照してグラフィックス記述子のソート等に関して特に説明されたが、当業者であれば分かるように、当該ソートは必要に応じて、シーンにおける他のエリアに対して及び関して実行されうる。例えば、選抜動作の場合、(参照のため例えば、任意の記述子がシーンの可視エリア外に全て含まれる場合に)グラフィックス記述子の位置をシーンの可視エリアと単に比較するのに望ましい。
したがって、本発明の第7の態様によれば、グラフィックス処理システムにおいて処理用のグラフィックスデータをソートする装置であって、
シーンの特定のエリア又は小領域へ、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子をソートする手段を備える装置が提供される。
本発明の第8の態様によれば、グラフィックス処理システムにおいて処理用のグラフィックスデータをソートする方法であって、
シーンの特定のエリア又は小領域へ、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子をソートする段階を備える方法が提供される。
本発明の第9の態様によれば、グラフィックス処理システムにおいて処理用グラフィックスデータを処理する装置であって、
シーンの小領域又は複数の小領域に対する特定のエリア又は複数のエリアに、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子を関連付ける手段を備える装置が提供される。
本発明の第10の態様によれば、グラフィックス処理システムにおいて処理用のグラフィックスデータを処理する方法であって、
シーンの小領域又は複数の小領域に対する特定のエリア又は複数のエリアに、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子を関連付ける段階を含む方法が提供される。
本発明の第11の態様によれば、グラフィックス処理システムにおいて処理用のグラフィックスデータを処理する装置であって、
レンダリング対象シーンの一つ以上のエリア又は小領域に関するグラフィックス記述子リストであって、処理のために好ましくは、各グラフィックス記述子が、レンダリング対象シーンの単一のプリミティブ以外である、グラフィックス記述子リストを作成する手段を備える装置が提供される。
本発明の第12の態様によれば、グラフィックス処理システムにおいて処理用のグラフィックスデータを処理する方法であって、
レンダリング対象シーンの一つ以上のエリア又は小領域に関するグラフィックス記述子リストであって、処理のために好ましくは、各グラフィックス記述子が、レンダリング対象シーンの単一のプリミティブ以外である、グラフィックス記述子リストを作成する段階を含む方法が提供される。
本発明の第13の態様によれば、グラフィックス処理システムにおいて処理用のグラフィックスデータを処理する装置であって、
レンダリング対象シーンのグラフィックス記述子の位置又は場所を、シーンの特定の又は選択されたエリア又は複数のエリア又は小領域又は複数の小領域の位置又は場所と比較する手段を備える装置が提供される。
本発明の第14の態様によれば、グラフィックス処理システムにおいて処理用のグラフィックスデータを処理する装置であって、
レンダリング対象シーンのグラフィックス記述子の位置又は場所を、シーンの特定の又は選択されたエリア又は複数のエリア又は小領域又は複数の小領域の位置又は場所と比較する段階を含む方法が提供される。
当業者であれば分かるように、本発明のこれらの局面及び実施形態は、必要に応じて本明細書中に記載された本発明の好ましい任意的な特徴の一つ以上、及び全てを含むことができ、含むのが好ましい。故に例えば、グラフィックス記述子は、上記検討された任意の形式を取ることができる。同様に、グラフィックス記述子がソートされるシーンの、選択されたエリア又は複数のエリアは、レンダリング目的でシーンが分割される小領域(タイル)を含むのが好ましいが、それは、必ずしも必要なケースではなく、エリアは必要に応じて、シーンの可視及び不可視領域にさらに又は代わりに関連することができる。
本発明の様々な機能は、所望される任意の適当な様式で実行することができる。特に好ましい一実施形態では、それらは、表示デバイス用のフレームバッファに書き込まれるグラフィックスデータを生成し出力する、単一のグラフィックス処理プラットフォーム上で実行される。これらの機能は必要に応じて、ハードウェアまたはソフトウェアの形で実装することができる。好ましい一実施形態では、当該システムは、ハードウェア要素(例えばASIC)として実装される。したがって、別の態様では、本発明は、本明細書に記載される本発明の諸態様の内のいずれか1つまたは複数における装置を含みまたはその方法に従って操作されるハードウェア要素を備える。
ここで、当業者には理解されるように、本発明の様々な機能などは、所与のプロセッサ上で並列的に複製および/または実行され得ることに留意すべきである。
本発明は、任意の形態または構成のグラフィックスプロセッサ、および「パイプライン」構成を有するレンダラ(この場合には、当該レンダラはレンダリングパイプラインの形をとることになる)などのレンダラに適用可能である。
上記から理解されるように、本発明は特に、排他的なものではないが、3Dグラフィックスプロセッサおよび処理デバイスに適用可能であり、したがって、本明細書に記載される本発明の諸態様の内のいずれか1つまたは複数における装置を含みまたはその方法に従って操作される3Dグラフィックスプロセッサおよび3Dグラフィックス処理プラットフォームに拡張される。かかる3Dグラフィックスプロセッサは、上述の個々の機能を実行するのに必要な何らかのハードウェアがあれば、3Dグラフィックスプロセッサが含む通常の機能ユニットなどの内のいずれか1つまたは複数を含むことができ、あるいはそれらをすべて含むこともできる。
また、本発明に関して説明される諸態様および諸実施形態は必要に応じて、本明細書に記載の好ましい諸特徴および任意選択の諸特徴の内の1つまたは複数を含むことも、それらをすべて含むこともできることが当業者には理解されるであろう。
本発明による方法は、少なくとも部分的にはソフトウェア、例えばコンピュータプログラムを使用して実施することができる。したがって、さらなる諸態様を検討すれば、本発明は、それ自体がデータ処理手段上にインストールされたときに、本明細書に記載の各方法を実行するように特に適合されたコンピュータソフトウェアと、前記プログラム要素がデータ処理手段上で実行されたときに、本明細書に記載の各方法を実施するコンピュータソフトウェアコード部分を備えるコンピュータプログラム要素と、前記プログラムがデータ処理システム上で実行されたときに、本明細書に記載の方法に関するすべてのステップを実施するように適合されたコード手段を備えるコンピュータプログラムとを提供することが理解されるであろう。本発明はまた、データ処理手段を備えるグラフィックスプロセッサ、レンダラ、またはマイクロプロセッサシステムを操作するのに使用されたときに、前記データ処理手段の前記プロセッサ、レンダラ、またはシステムが本発明の各方法に関する各ステップを実行するようになるソフトウェアを備える、コンピュータソフトウェアキャリアにも拡張される。かかるコンピュータソフトウェアキャリアは、ROMチップ、CD-ROM、ディスクなどの物理記憶媒体であっても、配線上の電子信号、光信号、衛星などとの間の無線信号などの信号であってもよい。
さらに、本発明の各方法に関する必ずしもすべてのステップがコンピュータソフトウェアによって実行される必要はなく、したがって、本発明のさらに広範な一態様は、コンピュータソフトウェアと、本明細書に詳しく記載される各方法の各ステップの内の少なくとも1つを実行するためにコンピュータソフトウェアキャリア上にインストールされるソフトウェアとを提供することが理解されるであろう。
したがって、本発明は、コンピュータシステムと共に使用されるコンピュータプログラム製品として適切に実施することができる。かかる一実装形態は、例えばディスケット、CD-ROM、ROM、ハードディスクなどのコンピュータ可読媒体などの有形の媒体上などに固定された、あるいは、それだけに限らないが光やアナログ通信回線を含めた有形の媒体を使用して、またはそれだけに限らないがマイクロ波、赤外線、他の伝送技法を含めた無形の無線使用技法を使用して、モデムまたは他のインターフェースデバイスを介してコンピュータシステムに送信可能な、一連のコンピュータ可読命令を含むことができる。当該一連のコンピュータ可読命令は、本明細書の前段に記載される機能の全部または一部を実施する。
かかるコンピュータ可読命令は、多くのコンピュータアーキテクチャまたはオペレーティングシステムと共に使用されるいくつかのプログラミング言語で作成され得ることが当業者には理解されるであろう。さらに、かかる命令は、それだけに限らないが、半導体、磁気または光を含めた現在または将来の任意のメモリ技術を使用して記憶することができ、また、それだけに限らないが、光、赤外線またはマイクロ波を含めた現在または将来の任意の通信技法を使用して伝送することができる。かかるコンピュータプログラム製品は、印刷文書または電子文書が添付された取り外し可能媒体、例えばシステムROMまたは固定ディスク上にコンピュータシステムをプリロードされた、例えばシュリンクラップソフトウェアとして配布することも、ネットワーク、例えばインターネットやワールドワイドウェブなどを介してサーバまたは電子掲示板から配布することもできることが企図されている。
以下では単なる例示のために、添付の図面を参照しながら本発明のいくつかの好ましい実施形態について説明する。
ここで図2、3を参照して、本発明の好ましい一実施形態について説明する。
本発明の実施形態において、タイルリストに“タイル”及びリストされるグラフィックス記述子は、ドローコールの形式でグラフィックスオブジェクトを含む。しかし、上記検討の通り、他の配置が勿論可能である。
図2は、本発明に従って操作され得るグラフィックスプロセッサ20を概略的に示している。グラフィックスプロセッサ20は、ジオメトリプロセッサ21と、レンダラ22とを含んでおり、これらはいずれもメモリ23にアクセスすることができる。メモリ23は、当業者に知られているように、ジオメトリプロセッサ21およびレンダラ22を伴う「オンチップ」とすることも、ジオメトリプロセッサ21およびレンダラ22によってアクセスされ得る外部メモリとすることもできる。
メモリ23はとりわけ、図2に示されるように、1組の生ジオメトリデータ24(例えば、当技術分野で知られているように、グラフィックスプロセッサのドライバから、またはグラフィックスプロセッサ20のホストシステム(マイクロプロセッサ)上で走っているAPIから供給されるもの)と、1組の変換済みジオメトリデータ25(やはり当技術分野で知られているように、生ジオメトリ24に対して実行された様々な変換および処理操作の結果得られるもの)と、1組のグラフィックスオブジェクト(記述子)リスト26とを記憶する。グラフィックオブジェクトリスト26は、本発明に従って作成される。このプロセスについては以下でより詳細に説明する。
変換済みジオメトリデータ25は、当技術分野で知られているように、例えば変換済み頂点(頂点データ)などを含む。
ジオメトリプロセッサ21はとりわけ、プログラマブル頂点シェーダ27と、グラフィックスオブジェクト(記述子)リスト構築ユニット28とを備える。プログラマブル頂点シェーダ27は、メモリ23に記憶されている生ジオメトリデータ24をそれ自体の入力として解釈し、当該データを処理して、フレーム内の2D配置を表示する準備が整った形のジオメトリデータを含む変換済みジオメトリデータ25を提供する(その後これをメモリ23に記憶する)。プログラマブル頂点シェーダ27およびそれ自体の実行するプロセスは、当技術分野で知られているように、任意の適当な形をとることができ、所望される任意の適当なプロセスとすることができる。
グラフィックスオブジェクトリスト構築ユニット28は、複数のグラフィックスオブジェクト(記述子−この場合ドローコール)を複数のグラフィックスオブジェクト(記述子)リストに割り付ける本発明のプロセスを実行し、当該複数のグラフィックスオブジェクトリストはその後、レンダリング対象シーンの各小領域に関してレンダリングすべき複数のグラフィックスオブジェクト(記述子)をレンダラ22が特定するのに使用される。これを行うために、グラフィックスオブジェクトリスト構築ユニット28は、プログラマブル頂点シェーダ27からの変換および処理済みの頂点データ(すなわち、シーン内のグラフィックスオブジェクトの位置)をそれ自体の入力として解釈し、当該データを使用してグラフィックスオブジェクト(タイル)リストを構築し、それらのリストをグラフィックスオブジェクトリスト26としてメモリ23に記憶する。このプロセスについては以下でより詳細に説明する。
レンダラ22は、グラフィックスオブジェクト(記述子)選択ユニット29と、グラフィックスオブジェクトリストキャッシュ30と、頂点選択ユニット31と、頂点データキャッシュ32と、ラスタ化ユニット33と、レンダリングユニット34と、タイルバッファ35とを含む。
本実施形態では、ラスタ化ユニット33、レンダリングユニット34、タイルバッファ35は、かかる各ユニットが既存のグラフィックス処理システムで動作するのと同じ様式で動作する。したがって、ラスタ化ユニット33は、あるプリミティブおよびその各頂点をそれ自体の入力として解釈し、当該プリミティブをフラグメントにラスタ化し、それらのフラグメントをレンダリングユニット34に供給する。次いで、レンダリングユニット34は、当該フラグメント上のテクスチャマッピング、混合、シェーディングなどいくつかのレンダリングプロセスを実施し、レンダリング済みのフラグメントデータを生成し、これを表示用のフレームバッファへの供給のためにタイルバッファ35に記憶する。
レンダラ22のグラフィックスオブジェクト選択ユニット29は、グラフィックスオブジェクト(この場合、ドローコール)を判定し、次にレンダリングすべきプリミティブを判定する。プリミティブ選択ユニット29はこれを、メモリ23に記憶されているグラフィックスオブジェクトリスト26を考慮に入れ、複数のリストの内の1つから次にレンダリングすべきグラフィックスオブジェクト(ドローコール)を選択することによって行う。
グラフィックスオブジェクト選択ユニット29は、グラフィックスオブジェクトリストキャッシュ30に1つまたは複数のグラフィックオブジェクトリストを収容することもできる。
グラフィックスオブジェクト選択ユニット29は、次にレンダリングするために選択したプリミティブを頂点選択ユニット31に供給する。これに応答し、頂点選択ユニット31は、メモリ23内に記憶された変換済みジオメトリデータ25から該当するプリミティブに関する適切な変換済み頂点データを検索し、次いで当該プリミティブ(すなわち、変換済み頂点データ)を処理のためにラスタ化ユニット33に供給する。頂点選択ユニット31は必要に応じて、メモリ23から検索した頂点データを頂点データキャッシュ32にキャッシュすることもできる。
図3は、本発明のこの実施形態の記述子において表示用の例示的シーンとして使用される、表示される例示的シーンを示す。
図3から分かるように、シーン50は、4つのプリミティブを含み、それらは、2つの“ドローコール”と、ドローコール1と、ドローコール2とにグループ化される。プリミティブ0、1、及び2は、ドローコール1としてグループ化され、プリミティブ3は、ドローコール2に属する。(従来知られるように、“ドローコール”でプリミティブをグループ化することは基本的に、アプリケーションプログラマが、通常パフォーマンス理由で、ドローコールの全てのプリミティブを一挙にドローしたいことを意味する。同じドローコールのプリミティブ群は通常、同じ状態及びシェーダープログラムデータを共有する。)
また、プリミティブ2が一つのドローコールに、プリミティブ3がもう一つのドローコールにある2つの分離したドローコールがあることを考えると、図3に示す頂点8は、プリミティブ2及びプリミティブ3の間で共有されないが、代わりに同じ頂点の場所及び頂点の属性を備えた2つの異なる頂点として示されることに留意すべきである。
図4に示されるように、レンダリング対象シーン50は、複数の個々の小領域またはタイル51に分割される。(当業者であれば分かるように、実際には、レンダリング対象の任意の所与のシーンは通常、図3に示す4つのプリミティブ及び2つのドローコールより多くのプリミティブ及びドローコールを含む。しかし、図3は、単純化及び明確化目的でのみ4つのプリミティブ及び2つのドローコールを示す。)
本発明の実施形態において、グラフィックスオブジェクトリスト構築ユニット28は、各ドローコール(グラフィックス記述子)、ドローコール1及びドローコール2の場所を判定し、ドローコールが含まれる各小領域(タイル)に対するグラフィックスオブジェクト(記述子)リストにドローコールをリストする。このように、システムは、どのドローコール(グラフィックス記述子)が各小領域に対してレンダリングされるべきかを識別することができる。
これは、例えば正確ビニング技術を用いてなされ、その場合、グラフィックスオブジェクトリスト構築ユニット28は、プログラマブル頂点シェーダ27によって所与のドローコールに関して、それが提供された判定され変形された頂点位置を使用して、どの小領域及び一組の小領域にドローコールが含まれる(横切る)かを識別する。
当業者には理解されるように、必要に応じて、シーン内のドローコールについて、および小領域(タイル)51に関して判定および位置決めする他の技法が使用されてもよい。例えば、当技術分野で知られているように、バウンディングボックス技法が同様の形で使用されてもよい。図3は、ドローコールに対する例示的なバウンディングボックス52、53、ドローコール1、及びドローコール2を示す。(バウンディングボックス技法が使用される場合は、バウンディングボックスが例えばグラフィックスオブジェクトリスト構築ユニットによってグラフィックスオブジェクト(記述子)のリスト化プロセスの一環として生成されることが好ましいが、いうまでもなく、他の構成も可能なはずである。)
このプロセスは、レンダリング対象シーンが分割される各小領域に対して完全なグラフィックスオブジェクトリスト26(グラフィックスオブジェクト(記述子)のリスト)が生成されるまで、順番にレンダリング対象シーンのグラフィックスオブジェクト(ドローコール)毎にグラフィックスオブジェクトリスト構築ユニット28によって反復される。
グラフィックスオブジェクトリスト構築ユニット28は、それがプログラマブル頂点シェーダ27からグラフィックスオブジェクトを受ける順番でグラフィックオブジェクトリスト26にグラフィックスオブジェクト(記述子)を置く。これは、各ここのグラフィックスオブジェクトリスト26が関係する限り、リストのグラフィックスオブジェクト(記述子)は、それらが生成された順番であり、それは従来知られるように通常、グラフィックスオブジェクトをレンダリングする所望の順番に対応することを意味する。
上述のように、レンダラ22はまた、グラフィックスオブジェクトリストキャッシュ30と、頂点データキャッシュ32を含む。これらのキャッシュは、当技術分野で知られているように、レンダラ22上に設けられ、メインメモリ23よりも迅速に当該レンダラの処理ユニットから(特に、グラフィックスオブジェクト選択ユニット29および頂点選択ユニット31からそれぞれ)アクセスすることができるローカルメモリを備えている。
グラフィックスオブジェクト選択ユニット29は、グラフィックオブジェクトリストキャッシュ30に、それ自体がメインメモリ23から読み出した1つまたは複数のグラフィックスオブジェクトリスト26を記憶するように構成される。
同様に、頂点選択ユニット31は、メモリ23内の変換済みジオメトリデータ25から検索した頂点データを頂点データキャッシュ32内にキャッシュすることができ、また、特には、あるプリミティブにとって当該頂点データが再び必要となることが識別され得る場所にキャッシュすることもできる。
上記実施形態は、レンダリングプロセスのためのレンダリング対象プリミティブを示すためにグラフィックスオブジェクト(記述子)を使用することに関して説明されてきたが、これらのリストは、グラフィックスデータ及び記述子の、(例えば、初期の)選抜を実行し、及び/又は隠面消去のような、他の目的のためにさらに又は代わりに使用されうる。
当業者には理解されるように、本実施形態(および本発明)は必要に応じて、任意のタイルベースのレンダリングシステムの形で実施することができる。本実施形態および本発明の様々な構成要素および機能も同様に、当技術分野で知られている任意の適当な技法を使用して、所望の形で実施することができる。
上記から、本発明は、少なくともその好ましい諸実施形態では、例えば特にタイルのリスト化(プリミティブのソート(ビニング))プロセスに関するメモリ使用率およびメモリ要件をより良い形で制御することと、その知識を得ることとを容易にし、及び/又は後続処理からのデータのさらに迅速な除去(選抜)の機会を提供しうる、タイルベースのレンダリングシステム向けのグラフィックスデータのリスト化およびソートの一構成を提供する。
これは、資源及びメモリ要件が例えば埋め込み装置及び/又は携帯電話等のポータブル装置のように制限されうる装置の場合に特に価値がある。
このことは、少なくとも本発明の好ましい諸実施形態では、単に基本的な単一のプリミティブでないグラフィックス記述子(記述)を(小領域毎ベースで)タイルリストにソートすることによって達成される。
タイルベースグラフィックス処理の一構成の概略図である。 本発明に従って動作することができるグラフィックスプロセッサの一構成の概略図である。 複数のプリミティブを複数のプリミティブリストに割り付けるプロセスの一実施形態の概略図である。
符号の説明
21 ジオメトリプロセッサ
22 レンダラ
23 メモリ
24 グラフィックスオブジェクト選択ユニット

Claims (27)

  1. グラフィックス処理システムにおいて処理用のグラフィックスデータをソートする装置であって、
    シーンの特定のエリア又は小領域へ、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子をソートする手段を備える装置。
  2. グラフィックス処理システムにおいて処理用のグラフィックスデータを処理する装置であって、
    レンダリング対象シーンの一つ以上のエリア又は小領域に関するグラフィックス記述子リストであり、各グラフィックス記述子は、レンダリング対象シーンの単一のプリミティブ以外である、グラフィクス記述子リストを作成する手段を備える装置。
  3. シーンのエリア又は小領域は、シーンがレンダリング目的で分割される小領域を備える、請求項1または2に記載の装置。
  4. シーンのエリア又は小領域は、可視又は不可視のシーンのエリアを備える、請求項1、2または3に記載の装置。
  5. 共通して、一つより多い小領域またはエリアに使用されるグラフィックス記述子リストを作成する手段を備える、請求項1から4のいずれか一項に記載の装置。
  6. グラフィックス記述子は、特定のシーンの場所またはエリアで実行されるグラフィックス処理のインジケーションを備える、請求項1から5のいずれか一項に記載の装置。
  7. グラフィックス記述子は、レンダリング対象オブジェクトの、比較的高い順番又は比較的高いレベルの記述子及び/又はプリプリミティブ記述子を備える、上記請求項のいずれか一項に記載の装置。
  8. グラフィックス記述子は、一群又は一組の複数のプリミティブを備える、及び/又は示すか又は示すことができる、上記請求項のいずれか一項に記載の装置。
  9. グラフィックス記述子は、ドローコールを備える、上記請求項のいずれか一項に記載の装置。
  10. 表示用シーンをレンダリングする時、ソートされたグラフィックス記述子及び/又はグラフィックス記述子リストを使用する手段を備える、上記請求項のいずれか一項に記載の装置。
  11. シーンがレンダリングされる前に選抜動作を実行するために、ソートされたグラフィックス記述子及び/又はグラフィックス記述子リストを使用する手段を備える、上記請求項のいずれか一項に記載の装置。
  12. グラフィックス処理システムにおいて処理用のグラフィックスデータを処理する装置であって、
    レンダリング対象シーンのグラフィックス記述子の位置又は場所を、シーンの特定の又は選択されたエリア又は複数のエリア又は小領域又は複数の小領域の位置又は場所と比較する手段を備える装置。
  13. グラフィックス処理システムにおいて処理用のグラフィックスデータをソートする方法であって、
    シーンの特定のエリア又は小領域へ、レンダリング対象シーンの場所又は複数の場所に関するか又はそれらに関連付けられたグラフィックス記述子をソートする手段を備える方法。
  14. グラフィックス処理システムにおいて処理用のグラフィックスデータを処理する装置であって、
    レンダリング対象シーンの一つ以上のエリア又は小領域に関するグラフィックス記述子リストであり、各グラフィックス記述子は、レンダリング対象シーンの単一のプリミティブ以外である、グラフィクス記述子リストを作成する手段を備える方法。
  15. シーンのエリア又は小領域は、シーンがレンダリング目的で分割される小領域を備える、請求項13または14に記載の方法。
  16. シーンのエリア又は小領域は、可視又は不可視のシーンのエリアを備える、請求項13、14または15のいずれか一項に記載の方法。
  17. 共通して、一つより多い小領域またはエリアに使用されるグラフィックス記述子リストを作成する手段を備える、請求項13から16のいずれか一項に記載の方法。
  18. グラフィックス記述子は、特定のシーンの場所またはエリアで実行されるグラフィックス処理のインジケーションを備える、請求項13から17のいずれか一項に記載の方法。
  19. グラフィックス記述子は、レンダリング対象オブジェクトの、比較的高い順番又は比較的高いレベルの記述子及び/又はプリプリミティブ記述子を備える、請求項13から18のいずれか一項に記載の方法。
  20. グラフィックス記述子は、一群又は一組の複数のプリミティブを備える、及び/又は示すか又は示すことができる、請求項13から19のいずれか一項に記載の方法。
  21. グラフィックス記述子は、ドローコールを備える、請求項13から20のいずれか一項に記載の方法。
  22. 表示用シーンをレンダリングする時、ソートされたグラフィックス記述子及び/又はグラフィックス記述子リストを使用する手段を備える、請求項13から21のいずれか一項に記載の方法。
  23. シーンがレンダリングされる前に選抜動作を実行するために、ソートされたグラフィックス記述子及び/又はグラフィックス記述子リストを使用する手段を備える、請求項13から22のいずれか一項に記載の方法。
  24. プログラム要素がデータ処理手段上で動作する時、請求項13から23のいずれか一項に記載の方法を実行するコンピュータソフトウェアコード部分を備えるコンピュータプログラム要素。
  25. 請求項1から12のいずれか一項に記載の装置を含むか、又は請求項13から23のいずれか一項に記載の方法に従い動作する、3Dグラフィックスプロセッサ又は3Dグラフィックス処理プラットフォーム。
  26. 添付図面の何れか一つを参照して本願明細書で説明した通りに実質的にグラフィックスデータをソート又は処理する装置。
  27. 添付図面の何れか一つを参照して本願明細書で説明した通りに実質的にグラフィックスデータをソート又は処理する方法。
JP2007314022A 2006-12-04 2007-12-04 グラフィックスを処理する方法および装置 Active JP5336067B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007314022A JP5336067B2 (ja) 2006-12-04 2007-12-04 グラフィックスを処理する方法および装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2006327341 2006-12-04
JP2006327341A JP2007157155A (ja) 2005-12-05 2006-12-04 グラフィックスを処理する方法および装置
GB0710795A GB0710795D0 (en) 2007-06-05 2007-06-05 Method of and apparatus for processing graphics
GB0710795.6 2007-06-05
JP2007314022A JP5336067B2 (ja) 2006-12-04 2007-12-04 グラフィックスを処理する方法および装置

Publications (2)

Publication Number Publication Date
JP2008165760A true JP2008165760A (ja) 2008-07-17
JP5336067B2 JP5336067B2 (ja) 2013-11-06

Family

ID=38318773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007314022A Active JP5336067B2 (ja) 2006-12-04 2007-12-04 グラフィックスを処理する方法および装置

Country Status (3)

Country Link
JP (1) JP5336067B2 (ja)
CN (1) CN101447091B (ja)
GB (1) GB0710795D0 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2467049A (en) * 2009-01-15 2010-07-21 Advanced Risc Mach Ltd Processing Graphics Using Primitive Distribution Lists
JP2011090664A (ja) * 2009-10-20 2011-05-06 Samsung Electronics Co Ltd タイルベースのレンダリング装置および方法
JP2011221941A (ja) * 2010-04-14 2011-11-04 Nec System Technologies Ltd 画像描画装置、画像描画方法およびプログラム
JP2012063922A (ja) * 2010-09-15 2012-03-29 Fujitsu Semiconductor Ltd グラフィック処理装置、及び、グラフィック処理プログラム
WO2014087572A1 (ja) * 2012-12-04 2014-06-12 パナソニック株式会社 領域分割描画装置及び領域分割描画方法
US9317948B2 (en) 2012-11-16 2016-04-19 Arm Limited Method of and apparatus for processing graphics
JP2017516209A (ja) * 2014-04-21 2017-06-15 クアルコム,インコーポレイテッド レイトレーシングアプリケーションにおけるツリー横断のための開始ノード決定
JP2017523499A (ja) * 2014-06-30 2017-08-17 インテル・コーポレーション タイルベースのレンダリングgpuアーキテクチャのための任意のタイル形状を有する適応可能なパーティションメカニズム
US9965886B2 (en) 2006-12-04 2018-05-08 Arm Norway As Method of and apparatus for processing graphics
US10019820B2 (en) 2005-12-05 2018-07-10 Arm Norway As Method of and apparatus for processing graphics
US10204391B2 (en) 2013-06-04 2019-02-12 Arm Limited Method of and apparatus for processing graphics
US10460506B2 (en) 2016-11-04 2019-10-29 Samsung Electronics Co., Ltd. Method and apparatus for generating acceleration structure
JP2020515968A (ja) * 2017-03-27 2020-05-28 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated シングルパスフレキシブルスクリーン/スケールラスタライゼーション
US11010959B2 (en) 2016-04-29 2021-05-18 Arm Limited Graphics processing systems

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103639B (zh) * 2010-06-30 2021-05-18 巴里·林恩·詹金斯 确定网格多边形或网格多边形的分段的集合的方法和系统
US9547930B2 (en) * 2011-11-30 2017-01-17 Qualcomm Incorporated Hardware switching between direct rendering and binning in graphics processing
GB2524120B (en) * 2014-06-17 2016-03-02 Imagination Tech Ltd Assigning primitives to tiles in a graphics processing system
EP3291083A1 (en) * 2016-09-06 2018-03-07 Siemens Aktiengesellschaft Method of displaying data of a data processing system, data processing system operating according to the method and computer program implementing the method
CN106683033B (zh) * 2016-12-12 2020-09-22 中国航空工业集团公司西安航空计算技术研究所 一种乱序OpenGL接口处理方法
CN107122176B (zh) * 2017-03-31 2020-08-04 武汉斗鱼网络科技有限公司 一种图形绘制方法及装置
CN117215592B (zh) * 2023-11-07 2024-02-20 芯瞳半导体技术(山东)有限公司 渲染程序生成方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002526842A (ja) * 1998-08-20 2002-08-20 アップル コンピュータ インコーポレイテッド ディファード・シェーディング(deferredshading)を伴うグラフィックス・プロセッサ(graphicsprocessor)
JP2003529859A (ja) * 2000-03-31 2003-10-07 インテル・コーポレーション タイル型グラフィックス・アーキテクチャ
JP2004348702A (ja) * 2002-09-06 2004-12-09 Sony Computer Entertainment Inc 画像処理方法、画像処理装置、および画像処理システム
JP2006521612A (ja) * 2003-03-27 2006-09-21 イマジネイション テクノロジーズ リミテッド 3dリンダリングされたグラフィックスのためのタイリングシステムの改良

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1614087A4 (en) * 2003-12-18 2009-03-04 1626628 Ontario Ltd SYSTEM, DEVICE AND METHOD OF ILLUSTRATION
JP4267475B2 (ja) * 2004-02-13 2009-05-27 富士通株式会社 図面照合装置
KR20070048728A (ko) * 2004-09-13 2007-05-09 엘지전자 주식회사 기록매체, 기록매체내의 콘텐츠 검색방법 및 콘텐츠재생방법과 재생장치
GB0425204D0 (en) * 2004-11-15 2004-12-15 Falanx Microsystems As Processing of 3-dimensional graphics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002526842A (ja) * 1998-08-20 2002-08-20 アップル コンピュータ インコーポレイテッド ディファード・シェーディング(deferredshading)を伴うグラフィックス・プロセッサ(graphicsprocessor)
JP2003529859A (ja) * 2000-03-31 2003-10-07 インテル・コーポレーション タイル型グラフィックス・アーキテクチャ
JP2004348702A (ja) * 2002-09-06 2004-12-09 Sony Computer Entertainment Inc 画像処理方法、画像処理装置、および画像処理システム
JP2006521612A (ja) * 2003-03-27 2006-09-21 イマジネイション テクノロジーズ リミテッド 3dリンダリングされたグラフィックスのためのタイリングシステムの改良

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10657681B2 (en) 2005-12-05 2020-05-19 Arm Norway As Method of and apparatus for processing graphics
US10019820B2 (en) 2005-12-05 2018-07-10 Arm Norway As Method of and apparatus for processing graphics
US9965886B2 (en) 2006-12-04 2018-05-08 Arm Norway As Method of and apparatus for processing graphics
US8681168B2 (en) 2009-01-15 2014-03-25 Arm Limited Methods of and apparatus for processing graphics
GB2467049A (en) * 2009-01-15 2010-07-21 Advanced Risc Mach Ltd Processing Graphics Using Primitive Distribution Lists
GB2467049B (en) * 2009-01-15 2011-10-26 Advanced Risc Mach Ltd Methods of and apparatus for processing graphics
JP2010165357A (ja) * 2009-01-15 2010-07-29 Arm Ltd グラフィックスを処理する方法およびそのための装置
JP2011090664A (ja) * 2009-10-20 2011-05-06 Samsung Electronics Co Ltd タイルベースのレンダリング装置および方法
JP2011221941A (ja) * 2010-04-14 2011-11-04 Nec System Technologies Ltd 画像描画装置、画像描画方法およびプログラム
JP2012063922A (ja) * 2010-09-15 2012-03-29 Fujitsu Semiconductor Ltd グラフィック処理装置、及び、グラフィック処理プログラム
US9317948B2 (en) 2012-11-16 2016-04-19 Arm Limited Method of and apparatus for processing graphics
WO2014087572A1 (ja) * 2012-12-04 2014-06-12 パナソニック株式会社 領域分割描画装置及び領域分割描画方法
US9299182B2 (en) 2012-12-04 2016-03-29 Panasonic Intellectual Property Management Co., Ltd. Divided-area-based rendering device and divided-area-based rendering method
US10204391B2 (en) 2013-06-04 2019-02-12 Arm Limited Method of and apparatus for processing graphics
JP2017516209A (ja) * 2014-04-21 2017-06-15 クアルコム,インコーポレイテッド レイトレーシングアプリケーションにおけるツリー横断のための開始ノード決定
JP2017523499A (ja) * 2014-06-30 2017-08-17 インテル・コーポレーション タイルベースのレンダリングgpuアーキテクチャのための任意のタイル形状を有する適応可能なパーティションメカニズム
US11010959B2 (en) 2016-04-29 2021-05-18 Arm Limited Graphics processing systems
US10460506B2 (en) 2016-11-04 2019-10-29 Samsung Electronics Co., Ltd. Method and apparatus for generating acceleration structure
JP2020515968A (ja) * 2017-03-27 2020-05-28 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated シングルパスフレキシブルスクリーン/スケールラスタライゼーション
JP7050085B2 (ja) 2017-03-27 2022-04-07 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド シングルパスフレキシブルスクリーン/スケールラスタライゼーション

Also Published As

Publication number Publication date
CN101447091A (zh) 2009-06-03
GB0710795D0 (en) 2007-07-18
JP5336067B2 (ja) 2013-11-06
CN101447091B (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
JP5336067B2 (ja) グラフィックスを処理する方法および装置
US9965886B2 (en) Method of and apparatus for processing graphics
US10755473B2 (en) Graphics processing system
KR101916341B1 (ko) 스크린 위치에 따라 달라지는 분해능을 가진 다수의 렌더 타겟을 위한 텍스처 매핑을 위한 그라디언트 조정
KR102475212B1 (ko) 타일식 아키텍처들에서의 포비티드 렌더링
KR101922482B1 (ko) 다수의 렌더 타겟들 내에서 활성 컬러 샘플 카운트를 변경함으로써 스크린 위치에 의한 변화하는 유효 분해능
US8325177B2 (en) Leveraging graphics processors to optimize rendering 2-D objects
CN105321199B (zh) 图形处理流水线及其操作方法与介质
CN105023233B (zh) 图形处理系统及其操作方法、计算机存储介质
JP6185211B1 (ja) 適応的シェーディングによるテクスチャルックアップを使用した帯域幅低減
JP5956770B2 (ja) タイルベースのグラフィックスシステム及びこのようなシステムの動作方法
US20080170082A1 (en) Graphics engine and method of distributing pixel data
JP2010165357A (ja) グラフィックスを処理する方法およびそのための装置
JP2005514711A (ja) ゾーン・レンダリングのための効率的なグラフィックス状態管理
EP2992510A1 (en) Tessellation of two-dimensional curves using a graphics pipeline
US10262391B2 (en) Graphics processing devices and graphics processing methods
GB2444628A (en) Sorting graphics data for processing
JP2006235839A (ja) 画像処理装置および画像処理方法
US20230401667A1 (en) Graphics processing systems
EP1306811A1 (en) Triangle identification buffer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120621

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121122

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130801

R150 Certificate of patent or registration of utility model

Ref document number: 5336067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250