JP2004537129A - 3次元グラフィックシステム - Google Patents
3次元グラフィックシステム Download PDFInfo
- Publication number
- JP2004537129A JP2004537129A JP2003516018A JP2003516018A JP2004537129A JP 2004537129 A JP2004537129 A JP 2004537129A JP 2003516018 A JP2003516018 A JP 2003516018A JP 2003516018 A JP2003516018 A JP 2003516018A JP 2004537129 A JP2004537129 A JP 2004537129A
- Authority
- JP
- Japan
- Prior art keywords
- range
- depth
- rectangular area
- data
- image
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
【解決手段】3次元コンピュータグラフィック画像を発生させるための装置及び方法。画像は、最初に複数の矩形区域(2)に再分割される。表示リストメモリ(4)には、各矩形区域に対するオブジェクトデータがロードされる。各矩形区域の各画素に対する画像及び陰影付けデータは、画像合成プロセッサ(6)及びテクスチャ及び陰影付けプロセッサ(10)内のオブジェクトデータから得られる。深度範囲発生器(12)は、画像及び陰影付けデータが得られる時にオブジェクトデータから各矩形区域に対する深度範囲を引き出す。この深度範囲は、画像合成プロセッサ(6)に提供される新たな各オブジェクトの深度と比較され、この比較の結果に応じて、オブジェクトの画像合成プロセッサ(6)への供給を防止することができる。
Description
【0001】
本発明は、3次元コンピュータグラフィックシステムに関し、より具体的には、本出願人の英国特許第2281682号及び第2298111号に説明された種類のシステムに関する。
【背景技術】
【0002】
英国特許第2281682号は、無限平面の集合で構成された場面における可視表面を判断するために、光線投射法を使用するシステムについて説明している。このシステムに対する改良は、英国特許出願第2298111号に説明されており、この特許においては、画像平面がいくつかの矩形タイルに分割される。オブジェクトは、表示リストメモリ内に記憶され、「オブジェクトポインタ」が、特定オブジェクトをそれらを見ることができるタイルと関連付けるために使用される。このシステムの構造は、図1に示されている。
【0003】
図1において、「タイルアクセレレータ」2は、入力データを処理し、タイル計算を行い、オブジェクトパラメータ及びポインタデータを表示リストメモリ4に書き込むシステムの部分である。表示リストメモリ内のデータのレイアウトは、図2に示す通りである。これには可能な多くの変形例があるが、本質的には、タイル毎に1つのオブジェクトポインタリスト、及びオブジェクトポインタが指示するいくつかのオブジェクトパラメータブロックがある。表示リストメモリ内のオブジェクトのレイアウトは、図2に示されている。この図の上部は、2つのオブジェクトA及びBのためのパラメータを記憶した基本的なシステムを示している。オブジェクトAは、タイル1、2、5、6、及び7内で見ることができるから、5つのオブジェクトポインタが書き込まれる。オブジェクトBは、タイル3及び7においてのみ見ることができるから、2つのオブジェクトポインタだけが書き込まれる。オブジェクトポインタの使用は、オブジェクトパラメータデータをタイル間で共用することができ、そのオブジェクトが1つよりも多いタイルに入る場合に複製する必要がないことを意味することが分る。それはまた、図1の「画像合成プロセッサ(ISP)」6が、そのタイル内で可視オブジェクトのみのためのパラメータを読み取ることができるということも意味している。「ISP」は、「ISPパラメータ取出しユニット」8を使用してこれを行う。図2の例において、「ISP」は、タイル3を処理している時には、オブジェクトBのためのパラメータのみを読み取り、タイル7を処理している時には、両オブジェクトのためのパラメータを読み取るであろう。タイル4のデータを読み取ることは必要ない。図2の下側部分は、後述するマクロタイルパラメータ管理システムと共に使用されるメモリレイアウトを示している。
【0004】
「タイルアクセレレータ」が完全な表示リストを作成した時、「画像合成プロセッサ(ISP)」6は、場面を処理し始める。「ISPパラメータ取出しユニット」8は、各々のタイルを順に処理し、当該タイルに関係したパラメータデータのみを表示リストメモリ4から読み取るために、オブジェクトポインタリストを使用する。次に「ISP」は、各オブジェクトの深度値がタイル内の全てのピクセルにおいて計算され、前に記憶されていた深度と比較される「Z−バッファリング」という名で知られた技術を用いて穏面消去を行う。この比較により、オブジェクトが以前に記憶されていた値よりも一層目に近いことが示された場合は、この新たなオブジェクトのアイデンティティ及び深度を用いて記憶されていた値が置き換えられる。タイル内の全てのオブジェクトを処理し終えた時、「ISP」6は、可視表面情報がフレームバッファへ送られる前に表示のためにテクスチャ及び陰影付けされる「テクスチャ及び陰影付けプロセッサ(TSP)」10へ可視表面情報を送る。
【0005】
上述のシステムに対する改良は、英国特許出願第0027897.8号に説明されている。このシステムは、「パラメータ管理」という名で知られ、要求される表示リストメモリのサイズを減らすために、場面をいくつかの「部分レンダー」に分割することにより作動する。この方法は、表示リストの一部分をレンダリングした後に「ISP」の状態を保管するために、「Zロード及び記憶」という名で知られた技術を使用する。これは、表示リストメモリに新たなデータをリロードして、後にその場面をレンダリングし続けることが可能であるような仕方で行われる。従って、この改良は、表示リストメモリの僅かに限られた容量を使用して、任意の複雑さを有する場面を妥当な効率でレンダリングすることを可能にする。
【0006】
【特許文献1】
英国特許第2281682号
【特許文献2】
英国特許出願第2298111号
【特許文献3】
英国特許出願第0027897.8号
【発明の開示】
【発明が解決しようとする課題】
【0007】
3Dグラフィックのハードウエアがより強力になる時に、レンダリングされる画像の複雑さは大きく増大し、この傾向は、今後も続くものと予想される。これは、上述したような表示リスト利用型レンダリングシステムにとっては、気がかりなことである。その理由は、表示リストを記憶するためには、大容量の高速メモリが要求されるからである。メモリ帯域幅もまた、乏しい資源である。使用されるメモリアーキテクチャに依存して、表示リストメモリに書き込む及びそれから読み取るための限られた帯域幅は、データを読み取る速度又は書き込む速度を限定し、又は、同じ帯域幅を共用する他のサブシステムの性能、例えば、テクスチャ付けに影響を及ぼす可能性がある。
【課題を解決するための手段】
【0008】
本発明の実施形態は、オブジェクト及びタイルの深度範囲を調べ、レンダリングされた結果に貢献しないと判明したオブジェクトを場面からカリングすることにより、これらの問題に対処する。
本発明の実施形態は、タイル全体のための深度値範囲を計算するために、「ISP」内に記憶された深度値を使用する。オブジェクトの深度を記憶された深度値の範囲と比較することにより見えないことが保証されたオブジェクトは、「ISP」内でそれらを処理する必要はなく、カリングすることができる。
上に言及したパラメータ管理システムは、メモリの限られた容量内でレンダリングが行われることを可能にするが、十分な容量の実際のメモリを有するシステムと比べて性能に重大な影響を及ぼす恐れがある。
【0009】
本発明の実施形態は、オブジェクトが表示リスト内に記憶される以前にそれらをカリングすることにより、「パラメータ管理システム」の非能率性を軽減する。表示リスト内に記憶されるデータ量を減らすことは、場面をレンダリングするために、より少数の部分レンダーしか必要とされないことを意味している。部分レンダーの数が減少すると、「Zロード及び記憶」機能により消費されるかなりのメモリ帯域幅も減少する。
この種類のカリングを行うために、「タイルアクセレレータ」は、入ってくるオブジェクトを前回の部分レンダーの間に「ISP」に記憶された深度範囲に関する情報と比較する。
【0010】
図3は、前回の部分レンダーに対する深度とレンダリングされる新たなオブジェクトの深度とを示すグラフである。新たなオブジェクトは、0.7から0.8の深度範囲内にあり、前回の部分レンダーの間にタイル内の全てのピクセルは、0.4と0.6の間の値に設定された。このオブジェクトは更に離れているから決して見ることができず、従って、以前に描かれたオブジェクトにより塞がれる。従って、このオブジェクトは画像に貢献し得ないから、表示リストメモリ内に記憶する必要がない。
【0011】
「ISP」のパラメータ取出し段階におけるカリングの第2段階は、更に別の実施形態で行われる。これは、オブジェクトポインタが修飾参照され、パラメータデータが表示リストメモリから読み出される時点である。これは、図3に示すカリングの第1段階と非常に似通った原理に基づいて作動する。オブジェクトポインタ内に少量の追加的情報を記憶させることにより、かつ、「ISP」内に維持された深度範囲情報と対比させてこれを試験することにより、いくつかのオブジェクトのためのパラメータデータを一緒に読み取ることを回避することができる。この種類のカリングは、「ISP」への入力帯域幅及び「ISP」が処理すべきオブジェクトの数を減少させるが、表示リストメモリ内に書き込まれるデータの量は減少させない。
【0012】
カリングの第1段階とは異なり、第2段階は、現在「ISP」により処理されているタイルに対応するオブジェクトポインタにより作動する。「ISP」の深度範囲情報は、カリングの第1段階で使用される範囲情報よりも一層迅速かつ正確に更新される。このことは、第1段階を通過したオブジェクトがカリングされることを可能にする。
本発明は、この時点で参照すべきである特許請求の範囲のその様々な態様で規定される。
ここで、添付図面を参照しながら、本発明の特定の実施形態を例示的に以下に詳しく説明する。
【発明を実施するための最良の形態】
【0013】
「ISP」範囲発生
上述の実施形態は、「ISP」6に記憶されたオブジェクトの最小及び最大深度を表した深度範囲を使用する。この範囲は、オブジェクトが処理される時「ISP」内で計算され、その瞬間にタイル内に記憶される深度値の実際の範囲を表す。この範囲は、常に更新されるべきである。その理由は、記憶された値は絶えず置換され、範囲が場面がレンダリングされる時に広くなったり狭くなったりするからである。図5a及び5bは、それぞれ、入ってくるオブジェクトがタイルの最大Z値を予め判断したピクセル内へレンダリングされ、従って最小深度値と最大深度値の両方を減少させる状況の前後を示している。
【0014】
「ISP」6は、タイル内の各ピクセルのための記憶装置を含む。この記憶装置は、技術の実施方式に応じてサイズを変えることができる。典型的なタイルサイズは、32x16ピクセルであろう。「ISP」はまた、いくつかの「PE(プロセッサ素子)」も含み、これらの「PE」は、ハードウエアユニットであって、各ピクセルにおける深度値を判断することにより「ISP」機能を実行するために、並列的に作動する。典型的には、タイル内のピクセル数よりも少ない数の「PE」がある。例えば、32個の「PE」を、8x4ピクセルの格子として配列することができる。この場合、32(8x4)のピクセルが同時に計算可能であって、「PE」は、オブジェクト全体を処理するために、タイル内の固定された位置において最高で16(4x4)回まで計算を行うことになる。図6は、タイル内における「PE」16の可能な配列と、以下に述べる比較器の構造とを示している。
【0015】
深度の範囲を計算するために、「PE」は、それらが現在働きかけているピクセルの集合のための深度範囲を計算する。次に、この範囲は、他の可能な「PE」位置からの範囲情報と共に、そのタイルのための深度範囲全体を更新するために使用される。典型的な実施方式においては、一組のピクセル内に記憶された値の範囲を見つけるために、ツリー構造の比較器が使用されるであろう。例えば、32個から成る一組の「PE」は、最大値と最小値の両方を計算するために、16+2x(8+4+2+1)=46個の比較器を要するであろう。このツリー構造は、図6の下部に見ることができる。この図において、「最小/最大」18と記されたブロックは、2つの「PE」16からの2つの入力値の最小及び最大を判断するために1つの比較器を含み、「最小/最大2」20と記されたブロックは、2つの入力範囲の最小及び最大を計算するために一対の比較器を含む。比較器ツリーの出力は、それらの32ピクセル内の深度値の最小及び最大の組を表した一対の値であって、その特定のピクセルの組に付随するメモリに記憶される。
【0016】
各最小/最大ブロック18は、「PE」16のうちの2つの出力に結合され、最小及び最大値出力をこれらの素子によって比較し、これらをそのメモリに記憶し、範囲を最小/最大2ユニット20へ送る。最小/最大2ユニット20は、第2の最小/最大ユニット18から入力を受け取り、その出力をツリーの次の最小/最大2ユニット20へ送る。全ての「PE」範囲は、究極的にはツリー構造底部にある単一の最小/最大2ユニット20内に供給される。これは、32個の「PE」16のアレーに対する「PE」Z範囲出力22を与える。
【0017】
「PE」がタイルの全区域内、すなわち全てのピクセルにおける多角形を計算し終えた状態で、記憶された深度値を結合してタイル全体のための単一の値にすることが必要である。比較器のツリーを再び使用することができる。32x16タイルの場合には、一組へと減少されるべき16組の範囲があるから、2x(8+4+2+1)=30の比較器が必要とされる。この構造は、図6の上部右側に示されており、この場合、各「最小/最大」ブロック20は、一対の比較器を含む。最終対である比較器26の出力は、処理されたばかりの三角形の深度で更新されたタイル全体のための深度値を提供する。ツリー構造に対する入力は、「PE」アレー位置の各々に対応する範囲情報を記憶するこのブロックの最小/最大範囲メモリ24である。これらのメモリは、「PE」アレーが処理された後に、「PE」 Z範囲データ22で更新される。
【0018】
図6の比較器18、20、及び26、及び、他のZ範囲発生回路は、全て図4の「ISP」Z範囲発生ユニット12内に含まれている。従って、これは、タイル全体のためのZ範囲を発生して記憶する。
有効な深度値が「ISP」内の全てのピクセルに記憶されたか否かを知ることも必要である。Zバッファ内の値を初期化するために使用される多角形は、普通は各フレームが始まる付近にあるが、これは信頼できない。初期化されていない深度値は、いずれの範囲情報の有効性に対しても明らかに影響を及ぼすであろうから、この状態は検知されなくてはならず、そのような範囲は無効であるとして印が付されるべきである。範囲情報が有効となるまでは、深度に基づくオブジェクトのカリングは、回避されるべきである。
【0019】
精度
「ISP」のZ範囲発生ハードウエア12内で使用される多数の比較器は、大きなシリコン面積を使用することになるから、その作製は高価である。このハードウエア12のサイズを小さくするために、計算精度が落ちる恐れがある。例えば、「ISP」に入って来るZ値は、24ビット仮数を有する浮動点値として記憶することができるが、Z範囲比較器は、もっと短いワード、例えば8又は16ビット仮数でも作動することができる。
【0020】
値がより小さなワード長へと切り捨てられるので、それらの値は、適切に丸めることが大切である。その理由は、短いワードが長いワードの値を正確に表すことができる可能性がほとんどないからである。範囲を取り扱う時には、最小値は、元の値よりも小さい最も近い値へと丸められるべきであり、最大値は、元の値よりも大きい最も近い値へと丸められるべきである。このようにして、切り捨て誤差は、常にZ範囲を拡大させる。Z範囲の拡大は、全くその範囲外にあることが見出されるオブジェクトは極めて少数であるから、効率を僅かに低下させるが、発生された画像の正確さは維持する。範囲が縮められる場合には、その範囲の縁部に近いオブジェクトは、それらが実際には画像内で見える筈の場合でも切り捨てられる。これは明らかに望ましくない。
【0021】
比較器ツリーの出力側において要求される精度を維持するために、ツリーのレベルが高くなる時に連続的により高いレベルになる精度を使用することが必要である。
完璧な精度のZ範囲値を使用することは、システムの他の部分においても実際には不可能である。例えば、「ISP」パラメータ取出しカリング段階についての議論において、オブジェクトのZ範囲を表す少なくとも1つの値がオブジェクトポインタ内に記憶されることが分るであろう。空間効率の理由により、ここでもまた精度を下げた値を記憶することが望ましいであろう。この場合、「ISP」において、オブジェクトポインタ値の利用可能な値よりも高精度の値を使用して範囲を発生する意味はほとんどない。他方、タイルアクセレレータにおけるカリング段階は、同じような記憶上の制約がないので、「ISP」からより高精度の範囲を受けることから利益を得る。
実際には、より高精度のZ範囲計算のもたらす利益は小さく、典型的には短縮された8から16ビットの仮数長が最適なことが分るであろう。使用される正確なサイズは、実施されている特定装置の要求に従って判断されることになる。
【0022】
Z範囲試験
多角形オブジェクトの最小及び最大Z値は、頂点座標値を調べることにより容易に判断することができる。有効な範囲情報がZ範囲発生ユニット12内の「ISP」から入手可能な場合には、値の2つの範囲の比較に基づいて、オブジェクトを条件付きでカリングすることができる。
スコア内の各オブジェクトは、「深度比較モード(DCM)」を有する。この「DCM」は、8つの値のうちの1つを採り、当該オブジェクトがピクセルにおける深度試験に合格するか否かをどのように判断するかということを「ISP」の深度比較ハードウエアに告げる命令である。カリング試験は、オブジェクトの「DCM」に従って変更されるべきである。「DCM」の可能な8つの値と、各々に対する適切なカリング試験とを表1に示す。
【0023】
【表1】
【0024】
「ISP」内における深度比較は、処理されている各タイルに対してオブジェクト内の全てのピクセルについて行われ、深度が多角形の表面に亘って反復される。深度に基づくカリングは、オブジェクト毎に単一の試験を行い、従って、値の適切な範囲の間で適切な比較を行わなくてはならない。
深度に基づくカリング試験を行う場合は、深度比較モードを考慮に入れなくてはならない。図7のグラフは、深度比較モードに対応する単純な状態のうちの3つの状態、「DCM_EQUAL」、「DCM_LESS」、及び「DCM_GREATER」を示している。陰影を付けた区域は、「ISP」内に記憶された深度の範囲を表しており、それらは、Z範囲発生ユニット12によりカリング段階に対して利用可能にされる。三角形は、カリングのための候補を表している。「OK」を付した三角形は合格とされるが、「X」を付した三角形はカリングされるであろう。
【0025】
「DCM_EQUAL」の例においては、オブジェクトは、それらが現在記憶されている深度値のうちの1つに等しい深度値を有する場合にのみ記憶されることになる。これは、記憶された範囲と交差する深度範囲を有するどのオブジェクト(「OK」を付したオブジェクト)も深度試験に合格するので、カリングする必要がないことを意味する。記憶された範囲と交差しないオブジェクト(「Xを付したオブジェクト」は、深度試験に絶対に合格できないから、従って、安全にカリングすることができる。
【0026】
「DCM_LESS」の例においては、オブジェクトは、対応する記憶された値よりも小さな深度値をそれらが有するならば、「ISP」内に記憶されることになる。記憶された範囲よりも全体に小さい深度を有するオブジェクトが見えることは非常にあり得ることであり、従ってカリングされない。記憶された範囲と全体的又は部分的に交差する深度範囲を有するオブジェクトも見えるので、カリングされない。その範囲が記憶された深度範囲よりも完全に大きいオブジェクトのみが、完全に塞がれることを保証され、従ってカリングされる。これらのオブジェクトには「X」が付されている。
【0027】
「DCM_GREATER」の例は、「DCM_LESS」の例の逆である。記憶された範囲よりも全体に小さい深度範囲を有するオブジェクトは、カリング可能であり、他方、記憶された範囲と交差するか、又は記憶された範囲よりも大きな深度値を有するオブジェクトは、カリングできない。
「DCM_LESS_EQ」及び「DCM_GREATER_EQ」という「DCM」モードは、それぞれ、「DCM_LESS」及び「DCM_GREATER」と非常に似通っているが、等号条件が範囲の交差であると見なされるか否かという点で異なっている。
【0028】
残りのモードである「DCM_ALWAYS」、「DCM_NEVER」、及び「DCM_NOT_EQUAL」に対しては、深度に基づくカリングは使用できない。これらの場合は、オブジェクトをカリングできるか否かを表すために使用することができる深度値の比較が無いことは明白である。
「DCM」モードのうちの4つ(「LESS」及び「GREATER」モード)は、各々の範囲からの1つの値のみを必要とし、他方、「DCM_EQUAL」のための試験は、各々の範囲からの両方の値を必要とするという点に注意すべきである。
【0029】
「DCM_NEVER」モードは、それが深度試験に決して合格しないことになり、場面内で決して見ることができないことになるので、幾分有用性が限られたモードであることが分る。そのようなオブジェクトは、それだけの理由があって場面に加えられており、従って、カリングされるべきでないと考えなくてはならない。考えられる1つの理由は、そのオブジェクトがステンシル作動を行うなどの付帯的効果を有するか否かということであろう。実際には、付帯的効果を有するいかなるオブジェクトもカリングされるべきでないということは重要なことである。
【0030】
深度比較モードにおける取扱いの変化
3次元レンダリングハードウエアの設計は、必要とされる処理が多数のより単純な段階に分割された技術であるパイプライン化に大きく依存している。パイプライン化は、ハードウエアの全ての部分が使用中であるように保つことによりシステムの処理量を増大させ、パイプライン自体の長さに関係なく、処理結果を最も遅い段階の速度で取り出すことを可能にする。
パイプライン化は、有用な技術であって、高性能レンダリングシステムの設計において非常に重要である。しかし、それは、カリングが理想的にはパイプラインの早い段階で起こるが、「ISP」深度範囲発生はずっと遅く起きるZベースカリングシステムに対して、いくつかの問題を呈する。その影響は、オブジェクトをカリングすることができるという判断と、オブジェクトが「ISP」内で実際にレンダリングされたであろう時点との間の遅延である。カリング試験と実際のレンダリング時点との間の「ISP」のいかなる状態変化も、カリングされたオブジェクトを再び見えるようにし、従って、レンダリングされた画像に誤差を生じる可能性があるであろう。「ISP」の状態に変化を引き起こすことができる、又は引き起こすことになるのは、既にパイプライン内にある他のカリングされていないオブジェクトである。
【0031】
パイプラインにより生じた遅延が問題を引き起こすという状況の一例として、「DCM_LESS」という「DCM」を有する多数のオブジェクトについて考察してみる。これは、視点に近いオブジェクトがより遠方にあるオブジェクトの眺めを不明瞭にするという場面を描くための典型的なモードである。次に、「DCM_ALWAYS」という「DCM」を有する単一のオブジェクトが場面の中央にある場合について考えてみる。この状況は図8に示してあり、ここでは「B」以外の全てのオブジェクトは「DCM_LESS」であり、記号「B」を付したオブジェクトは、「DCM_ALWAYS」である。オブジェクト「C」は,現在「ISP」内で処理されており、オブジェクト「A」は、カリングされており、また、パイプライン内の中間段階には8つのオブジェクト(「B」を含む)がある。
【0032】
オブジェクト「C」が処理される時、「ISP」内の値の範囲は0.5と0.6の間である。これは、カリングユニットへフィードバックされて、オブジェクト「A」をカリングするために使用される範囲である。オブジェクト「A」は、Z値0.8を有する。これは、「ISP」のZ範囲と比較した場合、オブジェクト「A」がカリングされることになることを意味する。次に、オブジェクト「B」がタイル全体を覆い、Z値0.9を有すると仮定する。「DCM_ALWAYS」モードは、それが「ISP」内に記憶された全ての深度を0.9で置換することになるので、オブジェクト「A」がまだカリングされていないならば、このオブジェクト「A」が実際には記憶されたオブジェクト「B」よりも視点に近く、従って、可視オブジェクトとしてレンダリングされるべきであるということを意味している。深度に基づくカリングの使用は、パイプライン又は他の任意の理由でZ範囲フィードバックが遅延された時に不正確な結果を生じることが分る。
【0033】
この問題は、「ISP」パラメータ取出しユニットと「ISP」深度範囲発生ハードウエアユニットとの間のパイプライン長により起こり、また、「タイルアクセレレータ」内でのオブジェクトの処理とこのオブジェクトが「ISP」内でレンダリングされることとの間の遅延によっても起る。後者の場合は、遅延はかなり大であり、「ISP」からのZ範囲情報が各部分レンダーの終わりにおいてのみ更新される場合は、問題は深刻である。これらの問題の解決方法については後述する。
【0034】
ほとんどの場合、オブジェクトは、一定の深度比較モードを有するオブジェクトが長期に亘って生じるようにグループ分けされる。典型的な用途において、「DCM_LESS」又は「DCM_GREATER」のような単一の深度比較モードは、穏面消去を発生させるのがこれらのモードであるから、場面内のオブジェクトのほとんどに対処することになる。他のモードが使用される場合、これらのモードは、特別な効果のために使用される傾向があり、オブジェクトは、その数が少なく、しばしば表示リストの終わりでグループにまとめられる。「DCM」が変わらない場合、遅延されたZ範囲フィードバックが問題にならないということは幸いである。
【0035】
正しい挙動の一例として、図9に示すいくつかの「DCM_LESS」オブジェクトの場合について考えてみる。オブジェクトは、それらのZ値が現在記憶されている値よりも小さい場合にのみ「ISP」内に記憶されたオブジェクトと置き換わることになる。これは、「ISP」内の数は常に小さくなる一方であることを意味しており、また、オブジェクトは置換されるから、記憶された最小及び最大深度値は、共に減少することが可能なことを意味している。「DCM_LESS」であるオブジェクトのための適切なカリング試験は、そのオブジェクトの最小Z値が「ISP」のZ範囲の最大限度よりも大ならば、このオブジェクトを放棄することである。遅延は、「ISP」の最大値を遅延がない時の値よりも大きくすることができるだけであるから、カリングは安全である。理想的な場合よりも僅かに少数のオブジェクトがカリングされるであろうが、控えめなカリング挙動は、レンダリングされた出力に誤差を生じさせない。
【0036】
「タイルアクセレレータ」におけるZ範囲カリング
「タイルアクセレレータ」におけるカリングは、パラメータ管理が作動状態にある時、すなわち、画像全体が表示リストメモリ内に記憶される前にシステムが画面の小部分(マクロタイルと呼ばれる)をレンダリングし始める時に作動する。マクロタイルのレンダリングは、「部分レンダー」という名で知られ、典型的には最終的にそのマクロタイル内でレンダリングされることになるオブジェクトの数の一部分のみをレンダリングする。パラメータ管理システムは、マクロタイルに付随する表示リストメモリを解放し、更に別のオブジェクトの記憶のために使用させる。これは、任意の複雑さを有する場面を有限容量のメモリ空間内でレンダリングすることを可能にする。パラメータ管理に関しては、英国特許出願第0027897.8号に十分に説明されている。
【0037】
「ISP」により発生されたZ範囲情報を記憶するために、図4の「Z範囲メモリ」14として示すような小容量のメモリが、フィードバックループ内で使用される。各タイルのために別々の記憶場所が使用され、この記憶場所は、当該タイル内で最近起った部分レンダーの終わりに発生されたZ範囲を含む。
「タイルアクセレレータ」は、各オブジェクトがレンダリングされるべきであるタイルの集合を計算し、オブジェクトポインタを適切なリスト内に書き込むことによってそれらのタイルの各々にオブジェクトを加えることにより機能する。基本的なシステムにおいては、パラメータデータの単一コピーが表示リストメモリに書き込まれるが、パラメータ管理を使用するシステムにおいては、データのコピーは、オブジェクトがレンダリングされる各マクロタイルに対して書き込まれるべきである。この構成は、図2の下部に示されている。
【0038】
Z範囲カリングは、オブジェクトが加えられるタイルの集合をレンダリングすることにより機能する。これは、オブジェクトのZ範囲を、各タイルに対してオブジェクトが発生するタイルに対して記憶されたZ範囲と比較することにより行われる。次に、試験不合格となった場合は、タイルは、タイル集合から除去することができる。比較試験は、勿論、オブジェクトの「DCM」に従って選択されるべきである。
減少されたタイルの集合はまた、より少数のマクロタイルを使用する傾向があり、従って、オブジェクトパラメータデータのより少数のコピーが作成されるべきであるから、メモリ消費の減少が発生する。
【0039】
上述のように、深度比較モードにおける変化は、誤差の発生を防止するように取り扱われるべきである。「タイルアクセレレータ」及び「ISP」が同時に同一タイルに働きかけることはないから、状況は図8に示すよりも僅かにより複雑である。パラメータ管理システムは、「TA」内でオブジェクトを処理すること、及びこのオブジェクトが予知し得ない「ISP」内でレンダリングされることの間にこの間隔を生じさせ、表示リスト内に未知数の「DCM」変化が記憶されることになる。
【0040】
「DCM」の変化を取り扱うために、理想的な挙動から少し離れて、オブジェクトが処理される時にZ範囲メモリ14内に記憶された範囲値を「TA」内から更新することが必要である。この方法の欠点は、システムが「ISP」により発生された範囲で作動し始めるが、更新される範囲は、「TA」により処理された全てのオブジェクトの頂点座標に基づく最悪の場合の推定値になるという点である。このようにして発生された範囲は、互いにオーバードローするオブジェクトを考慮に入れることはできないから、「ISP」自体が発生させるであろう範囲よりも大きくなりがちである。表2は、異なる「DCM」を有するオブジェクトのために要求される範囲更新を示す。記憶された範囲は、縮めることはできずに常に大きくなり、次の特定レンダリングの終わりにおいて「ISP」からの「正確な」値により再び置換される。
この種類の作動の利点は、記憶されたZ範囲は必要とされるものよりも大きいが、パイプラインにより遅延されることはなく、従って「DCM」における変化が問題を引き起こすことはないという点である。
【0041】
【表2】
【0042】
「ISP」パラメータ取出しユニットにおけるZ範囲カリング
パラメータ取出しハードウエア及び「ISP」は、同時に同じタイルに対して常に作動しているので、パラメータ取出しユニットにおけるオブジェクトのカリングは、「タイルアクセレレータ」におけるカリングよりも僅かに単純である。状況は図8に示すのと正確に同じであって、オブジェクトをカリングするために最小及び最大Z値に関する適正な比較を使用することができる。
「ISP」のZ範囲値は、図8に示すように、Z範囲発生ユニットから直接取り出して、パラメータ取出しユニットへフィードバックすることができる。オブジェクト自体のZ範囲は、仮にZ範囲を計算するためにメモリからオブジェクトパラメータを読み出すことが必要である場合には、それがカリングの目的を打ち負かすであろうから一層問題である。代わりに、全ての適正な情報(Z範囲及び「DCM」)は、パラメータ取出しユニット8によりオブジェクトポインタから読取られるべきである。
【0043】
Z範囲情報をオブジェクトポインタ内に記憶するために、範囲は、「タイルアクセレレータ」内で計算されるべきである。これは問題ではなく、その理由は、「TA」カリング段階は、Z範囲を計算するハードウエアも必要とし、この同じハードウエアを両方の目的のために使用することができるからである。
オブジェクトポインタワード内には、空き空間が少ないから、ワード長をできるだけ短く保つことが望ましい。「DCM」コードは、3ビットの記憶装置を必要とする。「DCM」が既知になった状態で、「DCM_LESS」及び「DCM_LESS_EQ」のためのカリング試験は、オブジェクトの最小Z値のみを必要とし、「DCM_GREATER」及び「DCM_GREATER_EQ」のためのカリング試験は、オブジェクトの最大Z値のみを必要とする。従って、これらの場合は、1つの値、すなわち当該オブジェクトの「DCM」に適する最大又は最小値を記憶することができる。
【0044】
表1に示すように、「DCM_EQUAL」のカリング試験は、必ず両方の値を必要とし、従って、オブジェクトポインタ内に2つの深度値の記憶装置を必要とする。特に、多数のオブジェクトに対しては「DCM_EQUAL」モードが使用されないのが普通であるから、第2の値を記憶するために必要なオブジェクトポインタのサイズ増大は望ましくない。この場合、試験全体の半分だけを行うことにより、従って、オブジェクトポインタからの1つの値のみを使用することにより、不完全カリングを行うことができる。
上述のように、丸み付けに注意するならば、オブジェクトポインタ内に完全に正確な値を記憶させる必要はない。このようにして、更に空間を節約することができる。
【0045】
深度比較モードを変える問題を処理するために、パラメータ取出しユニット内で単純なカウンタが使用される。パイプラインの長さは予め既知であり、このパイプラインが多分含むことのできるオブジェクトの最大数も既知である。正しい作動を保証するために、取り出される三角形と「ISP」内で処理される三角形とは、両方とも全て同一の「DCM」を有する一連の三角形に属する。「DCM」か変わるとカウンタはゼロにリセットされ、三角形が1つ取り出される毎にその分だけ増加する。カウンタがパイプライン内のオブジェクトの可能な最大数よりも少ない時は、カリングは無効にされ、このようにして「ISP」内のオブジェクトが現在取り出されているオブジェクトと同じ一連のオブジェクトの一部であることが保証される。オブジェクトの各実行の始めのいくつかのオブジェクトはカリングできないので、性能は僅かに低下するが、正確さは保証される。オブジェクトの約20個分のパイプライン長を使用すると、「DCM」が頻繁には変わらない典型的な用途の場合には、カリングできないオブジェクトの数は、場面全体の小さな割合を占めるに過ぎない。将来的には場面の複雑さが上がると予想されるので、得られる効率の低下は、それほど重要ではなくなることになる。
【図面の簡単な説明】
【0046】
【図1】公知のシステムを示す図である。
【図2】表示リストメモリのレイアウトを概略的に示す図である。
【図3】以前に記憶された深度と入ってくるオブジェクトの深度との間の差を表したグラフである。
【図4】図1のブロック図を拡大して変更したものであり、「ISP」のZ範囲発生ユニット12が、「ISP」6に記憶されたZ値の範囲を計算し、それを「TA」2に置かれたカリングの第1段階へZ範囲メモリ14を通じてフィードバックし、第2のフィードバック経路が、Z範囲データを「ISP」パラメータ取出しユニット8に置かれたカリングの第2段階へ送ることを示す、本発明の実施形態のブロック図である。
【図5】a)及びb)は、オブジェクトが処理される時に記憶された深度範囲が変わる方法を図式的に示す図である。
【図6】本発明の実施形態において深度範囲を求めるために必要とされる比較器アレーのブロック図である。
【図7】様々な作動の深度比較モードを概略的に示す図である。
【図8】パイプライン遅延の効果を示す図である。
【図9】パイプライン遅延の間の深度範囲の移動の効果を示す図である。
【符号の説明】
【0047】
2 タイルアクセレレータ(TA)
6 画像合成プロセッサ(ISP)
8 「ISP」パラメータ取出しユニット
12 「ISP」Z範囲発生ユニット
14 Z範囲メモリ
Claims (16)
- 画像を複数の矩形区域に再分割する段階と、
各矩形区域に対するオブジェクトデータを表示リストメモリ内にロードする段階と、
各矩形区域の各画素に対する画像データと陰影付けデータとを前記オブジェクトデータから引き出す段階と、
表示のために前記陰影付けデータを提供する段階と、
を含む3次元コンピュータグラフィック画像を発生させる方法であって、
各矩形区域に対する深度値の範囲をオブジェクトデータから引き出す段階と、
矩形区域に対する前記画像データ引出し段階に提供される新たな各オブジェクトの深度を、該矩形区域に対する深度範囲と比較する段階と、
前記比較の結果に応じて、前記新たなオブジェクトデータが前記画像データ引出し段階に提供されることを防止する段階と、
を含むことを特徴とする方法。 - 前記防止する段階は、オブジェクトデータが前記表示リストメモリから読み出されることを防止することを特徴とする請求項1に記載の方法。
- 前記防止する段階は、オブジェクトデータが前記表示リストメモリ内にロードされることを防止することを特徴とする請求項1に記載の方法。
- 前記深度値の範囲を引き出す段階は、前記矩形区域の前記オブジェクトに対する最小及び最大深度を引き出す段階を含むことを特徴とする請求項1に記載の方法。
- 前記矩形区域のオブジェクトに対する最小及び最大深度を引き出す段階は、該矩形区域内のピクセルの複数の部分集合に対して実行され、該矩形区域に対する範囲を生成するために、前記ピクセルの複数の部分集合に対する結果を結合する段階を含むことを特徴とする請求項4に記載の方法。
- 前記結合する段階は、比較器のツリー構造を用いて実行されることを特徴とする請求項5に記載の方法。
- 前記ツリー構造のより高いレベルにある比較器は、より低いレベルにある比較器よりも高い精度を有することを特徴とする請求項6に記載の方法。
- 画像を複数の矩形区域に再分割する手段と、
各矩形区域に対するオブジェクトデータがロードされる表示リストメモリと、
前記オブジェクトデータから各矩形区域の各画素に対する画像及び陰影付けデータを引き出す手段と、
表示のために前記陰影付けデータを提供する手段と、
を含む3次元コンピュータグラフィック画像を発生させるための装置であって、
画像及び陰影付けデータが引き出される時に、オブジェクトデータから各矩形区域に対する深度範囲を引き出す手段と、
画像データ引出し手段に提供される新たな各オブジェクトの深度を、前記矩形区域からの現在の範囲と比較する手段と、
前記比較の結果に応じて、前記新たなオブジェクトデータが前記画像データ引出し手段に提供されることを防止する手段と、
を含むことを特徴とする装置。 - 前記防止する手段は、オブジェクトデータが前記表示リストメモリから読み出されることを防止することを特徴とする請求項8に記載の装置。
- 前記防止する手段は、オブジェクトデータが前記表示リストメモリ内にロードされることを防止することを特徴とする請求項8に記載の装置。
- 前記深度範囲を引き出す手段は、前記矩形区域の前記オブジェクトに対する最小及び最大深度を引き出す手段を含むことを特徴とする請求項8に記載の装置。
- 前記矩形区域のオブジェクトに対する最小及び最大深度を引き出す手段は、ピクセルの複数の部分集合に対して作動し、該矩形区域に対する範囲を生成するために該部分集合に対する結果を結合する手段を含むことを特徴とする請求項11に記載の装置。
- 前記結合する手段は、比較器のツリー構造を含むことを特徴とする請求項12に記載の装置。
- 前記ツリー構造のより高いレベルにある比較器は、より低いレベルにある比較器よりも高い精度を有することを特徴とする請求項13に記載の装置。
- 実質的に図4及び図6の図面に関連して本明細書に説明したような3次元コンピュータグラフィック画像を発生させるための装置。
- 実質的に本明細書に説明したような3次元コンピュータグラフィック画像を発生させる方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0118025A GB2378108B (en) | 2001-07-24 | 2001-07-24 | Three dimensional graphics system |
PCT/GB2002/003130 WO2003010717A2 (en) | 2001-07-24 | 2002-07-08 | Three dimensional graphics systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004537129A true JP2004537129A (ja) | 2004-12-09 |
JP4088585B2 JP4088585B2 (ja) | 2008-05-21 |
Family
ID=9919090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003516018A Expired - Lifetime JP4088585B2 (ja) | 2001-07-24 | 2002-07-08 | 3次元グラフィックシステム |
Country Status (6)
Country | Link |
---|---|
US (6) | US20030025695A1 (ja) |
EP (1) | EP1410336B1 (ja) |
JP (1) | JP4088585B2 (ja) |
DE (1) | DE60217122T2 (ja) |
GB (1) | GB2378108B (ja) |
WO (1) | WO2003010717A2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008077627A (ja) * | 2006-09-18 | 2008-04-03 | Samsung Electronics Co Ltd | 3次元画像のレンダリングにおける早期zテスト方法およびシステム |
JP2009541820A (ja) * | 2006-06-12 | 2009-11-26 | イマジネイション テクノロジーズ リミテッド | タイルベースのレンダリング装置におけるパラメータ圧縮 |
JP2010027050A (ja) * | 2008-07-16 | 2010-02-04 | Arm Ltd | グラフィック処理の監視 |
JP2010165357A (ja) * | 2009-01-15 | 2010-07-29 | Arm Ltd | グラフィックスを処理する方法およびそのための装置 |
JP2010539579A (ja) * | 2007-09-12 | 2010-12-16 | イマジネイション テクノロジーズ リミテッド | 3次元コンピュータ画像を生成する方法及びシステム |
KR20130097886A (ko) * | 2012-02-27 | 2013-09-04 | 삼성전자주식회사 | 렌더링 장치 및 그 방법 |
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 |
US11010959B2 (en) | 2016-04-29 | 2021-05-18 | Arm Limited | Graphics processing systems |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2416100B (en) * | 2002-03-26 | 2006-04-12 | Imagination Tech Ltd | 3D computer graphics rendering system |
US7978194B2 (en) * | 2004-03-02 | 2011-07-12 | Ati Technologies Ulc | Method and apparatus for hierarchical Z buffering and stenciling |
US7589722B2 (en) | 2004-08-10 | 2009-09-15 | Ati Technologies, Ulc | Method and apparatus for generating compressed stencil test information |
US7538765B2 (en) * | 2004-08-10 | 2009-05-26 | Ati International Srl | Method and apparatus for generating hierarchical depth culling characteristics |
JP4284285B2 (ja) * | 2005-02-24 | 2009-06-24 | 株式会社東芝 | 画像処理装置、画像処理方法および画像処理プログラム |
US10134150B2 (en) * | 2010-08-10 | 2018-11-20 | Monotype Imaging Inc. | Displaying graphics in multi-view scenes |
KR101681056B1 (ko) | 2010-10-01 | 2016-12-01 | 삼성전자주식회사 | 정점 처리 방법 및 장치 |
GB2487421A (en) | 2011-01-21 | 2012-07-25 | Imagination Tech Ltd | Tile Based Depth Buffer Compression |
US20130265305A1 (en) * | 2012-04-04 | 2013-10-10 | Jon N. Hasselgren | Compressed Depth Cache |
US9741154B2 (en) * | 2012-11-21 | 2017-08-22 | Intel Corporation | Recording the results of visibility tests at the input geometry object granularity |
GB2544679B (en) | 2012-12-20 | 2017-08-16 | Imagination Tech Ltd | Tessellating patches of surface data in tile based computer graphics rendering |
GB201223089D0 (en) * | 2012-12-20 | 2013-02-06 | Imagination Tech Ltd | Hidden culling in tile based computer generated graphics |
GB2506706B (en) | 2013-04-02 | 2014-09-03 | Imagination Tech Ltd | Tile-based graphics |
KR102116708B1 (ko) * | 2013-05-24 | 2020-05-29 | 삼성전자 주식회사 | 그래픽스 프로세싱 유닛 |
KR20150042095A (ko) | 2013-10-10 | 2015-04-20 | 삼성전자주식회사 | 드로우 커맨드들의 처리 순서를 재조정하여 프레임을 렌더링하는 장치 및 방법 |
US9842424B2 (en) * | 2014-02-10 | 2017-12-12 | Pixar | Volume rendering using adaptive buckets |
GB2524121B (en) * | 2014-06-17 | 2016-03-02 | Imagination Tech Ltd | Assigning primitives to tiles in a graphics processing system |
GB2524120B (en) * | 2014-06-17 | 2016-03-02 | Imagination Tech Ltd | Assigning primitives to tiles in a graphics processing system |
KR20160047316A (ko) * | 2014-10-22 | 2016-05-02 | 삼성전자주식회사 | 렌더링 장치 및 방법 |
US9792722B2 (en) | 2014-12-18 | 2017-10-17 | Mediatek Inc. | Depth processing method and associated graphic processing circuit |
US9361697B1 (en) | 2014-12-23 | 2016-06-07 | Mediatek Inc. | Graphic processing circuit with binning rendering and pre-depth processing method thereof |
WO2017049592A1 (en) | 2015-09-25 | 2017-03-30 | Intel Corporation | Method and apparatus to improve shared memory efficiency |
JP6817961B2 (ja) * | 2015-12-14 | 2021-01-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置 |
CN107283816B (zh) * | 2016-04-05 | 2019-05-14 | 清华大学 | 一种dlp 3d打印机打印方法及装置 |
US10453170B2 (en) | 2016-09-09 | 2019-10-22 | Intel Corporation | Minimum/maximum and bitwise and/or based coarse stencil test |
US10540808B2 (en) * | 2016-09-16 | 2020-01-21 | Intel Corporation | Hierarchical Z-culling (HiZ) optimization for texture-dependent discard operations |
KR102637736B1 (ko) | 2017-01-04 | 2024-02-19 | 삼성전자주식회사 | 그래픽스 처리 방법 및 시스템 |
US10591971B2 (en) * | 2017-04-01 | 2020-03-17 | Intel Corporation | Adaptive multi-resolution for graphics |
US10424107B2 (en) * | 2017-04-01 | 2019-09-24 | Intel Corporation | Hierarchical depth buffer back annotaton |
US10459509B2 (en) | 2017-04-10 | 2019-10-29 | Intel Corporation | Dual path sequential element to reduce toggles in data path |
US11010953B2 (en) | 2017-04-21 | 2021-05-18 | Intel Corporation | Dedicated fixed point blending for energy efficiency |
US10178619B1 (en) | 2017-09-29 | 2019-01-08 | Intel Corporation | Advanced graphics power state management |
US11281463B2 (en) | 2018-03-25 | 2022-03-22 | Intel Corporation | Conversion of unorm integer values to floating-point values in low power |
US10672182B2 (en) * | 2018-04-19 | 2020-06-02 | Microsoft Technology Licensing, Llc | Compact visibility state for GPUs compatible with hardware instancing |
CN112116519B (zh) * | 2019-06-19 | 2022-12-27 | 畅想科技有限公司 | 图形处理***中的粗略深度测试 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02132572A (ja) * | 1988-11-14 | 1990-05-22 | Nippon I B M Kk | 画像表示装置 |
US5729672A (en) * | 1993-07-30 | 1998-03-17 | Videologic Limited | Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces |
GB9315852D0 (en) * | 1993-07-30 | 1993-09-15 | Video Logic Ltd | Shading three-dimensional images |
US5600763A (en) * | 1994-07-21 | 1997-02-04 | Apple Computer, Inc. | Error-bounded antialiased rendering of complex scenes |
US5838334A (en) * | 1994-11-16 | 1998-11-17 | Dye; Thomas A. | Memory and graphics controller which performs pointer-based display list video refresh operations |
JP2763499B2 (ja) * | 1994-11-30 | 1998-06-11 | 株式会社ナムコ | 画像合成装置及び画像合成方法 |
GB2336982B (en) | 1995-01-31 | 2000-01-19 | Videologic Ltd | Improvements relating to computer 3D rendering systems |
US5867166A (en) * | 1995-08-04 | 1999-02-02 | Microsoft Corporation | Method and system for generating images using Gsprites |
US6115047A (en) * | 1996-07-01 | 2000-09-05 | Sun Microsystems, Inc. | Method and apparatus for implementing efficient floating point Z-buffering |
US6104417A (en) | 1996-09-13 | 2000-08-15 | Silicon Graphics, Inc. | Unified memory computer architecture with dynamic graphics memory allocation |
US6697063B1 (en) | 1997-01-03 | 2004-02-24 | Nvidia U.S. Investment Company | Rendering pipeline |
US6084591A (en) | 1997-04-29 | 2000-07-04 | Ati Technologies, Inc. | Method and apparatus for deferred video rendering |
US6038946A (en) * | 1997-05-19 | 2000-03-21 | Jackson; Roger Lee | Axially repositionable adapter for use with a ratchet assembly |
JP4106719B2 (ja) | 1997-11-07 | 2008-06-25 | 株式会社セガ | 画像処理装置 |
US6856320B1 (en) | 1997-11-25 | 2005-02-15 | Nvidia U.S. Investment Company | Demand-based memory system for graphics applications |
US7102646B1 (en) | 1997-11-25 | 2006-09-05 | Nvidia U.S. Investment Company | Demand-based memory system for graphics applications |
US6377258B1 (en) * | 1998-04-20 | 2002-04-23 | Broadcom Corporation | Method and system for providing a hardware sort in a graphics system |
US6246415B1 (en) * | 1998-04-30 | 2001-06-12 | Silicon Graphics, Inc. | Method and apparatus for culling polygons |
US6480205B1 (en) * | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
WO2000011603A2 (en) * | 1998-08-20 | 2000-03-02 | Apple Computer, Inc. | Graphics processor with pipeline state storage and retrieval |
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
US6720964B1 (en) * | 1998-08-27 | 2004-04-13 | Ati International Srl | Method and apparatus for processing portions of primitives that are being rendered |
US6313839B1 (en) * | 1998-10-23 | 2001-11-06 | Hewlett-Packard Company | Method and apparatus for performing Z buffer depth comparison operations |
GB2343603B (en) * | 1998-11-06 | 2003-04-02 | Videologic Ltd | Shading 3-dimensional computer generated images |
GB2343602B (en) * | 1998-11-06 | 2003-03-19 | Videologic Ltd | Shading 3-dimensional computer generated images |
GB2343600B (en) | 1998-11-06 | 2003-03-12 | Videologic Ltd | Depth sorting for use in 3-dimensional computer shading and texturing systems |
US6380935B1 (en) | 1999-03-17 | 2002-04-30 | Nvidia Corporation | circuit and method for processing render commands in a tile-based graphics system |
US6407736B1 (en) * | 1999-06-18 | 2002-06-18 | Interval Research Corporation | Deferred scanline conversion architecture |
US6801203B1 (en) | 1999-12-22 | 2004-10-05 | Microsoft Corporation | Efficient graphics pipeline with a pixel cache and data pre-fetching |
TW463120B (en) * | 2000-05-16 | 2001-11-11 | Silicon Integrated Sys Corp | Method for enhancing 3D graphic performance by pre-sorting |
WO2001095257A1 (en) * | 2000-06-08 | 2001-12-13 | Imagination Technologies Limited | Tiling and compression for rendering 3d images |
US7405734B2 (en) | 2000-07-18 | 2008-07-29 | Silicon Graphics, Inc. | Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units |
US6961057B1 (en) * | 2000-10-12 | 2005-11-01 | Nvidia Corporation | Method and apparatus for managing and accessing depth data in a computer graphics system |
US6636212B1 (en) * | 2000-11-14 | 2003-10-21 | Nvidia Corporation | Method and apparatus for determining visibility of groups of pixels |
US20020196252A1 (en) * | 2001-06-20 | 2002-12-26 | Min-Hao Liao | Method and apparatus for rendering three-dimensional images with tile-based visibility preprocessing |
GB2416100B (en) | 2002-03-26 | 2006-04-12 | Imagination Tech Ltd | 3D computer graphics rendering system |
JP4082194B2 (ja) | 2002-12-03 | 2008-04-30 | セイコーエプソン株式会社 | 画像処理方法および画像処理装置ならびに画像処理プログラム |
GB2406184B (en) | 2003-09-17 | 2006-03-15 | Advanced Risc Mach Ltd | Data processing system |
US20050122338A1 (en) | 2003-12-05 | 2005-06-09 | Michael Hong | Apparatus and method for rendering graphics primitives using a multi-pass rendering approach |
US7652678B2 (en) | 2004-06-25 | 2010-01-26 | Apple Inc. | Partial display updates in a windowing system using a programmable graphics processing unit |
GB0524804D0 (en) | 2005-12-05 | 2006-01-11 | Falanx Microsystems As | Method of and apparatus for processing graphics |
-
2001
- 2001-07-24 GB GB0118025A patent/GB2378108B/en not_active Expired - Lifetime
-
2002
- 2002-07-08 DE DE60217122T patent/DE60217122T2/de not_active Expired - Lifetime
- 2002-07-08 EP EP02743425A patent/EP1410336B1/en not_active Expired - Lifetime
- 2002-07-08 JP JP2003516018A patent/JP4088585B2/ja not_active Expired - Lifetime
- 2002-07-08 WO PCT/GB2002/003130 patent/WO2003010717A2/en active IP Right Grant
- 2002-07-24 US US10/202,220 patent/US20030025695A1/en not_active Abandoned
-
2006
- 2006-01-20 US US11/336,685 patent/US20060114261A1/en not_active Abandoned
-
2007
- 2007-12-04 US US11/999,133 patent/US8686998B2/en active Active
-
2014
- 2014-02-18 US US14/182,917 patent/US9552666B2/en not_active Expired - Lifetime
-
2016
- 2016-12-12 US US15/376,323 patent/US9922450B2/en not_active Expired - Lifetime
-
2018
- 2018-02-08 US US15/891,555 patent/US11217008B2/en not_active Expired - Lifetime
Cited By (17)
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 |
JP2009541820A (ja) * | 2006-06-12 | 2009-11-26 | イマジネイション テクノロジーズ リミテッド | タイルベースのレンダリング装置におけるパラメータ圧縮 |
US8154547B2 (en) | 2006-09-18 | 2012-04-10 | Samsung Electronics, Co., Ltd. | Method and system for early Z test in title-based three-dimensional rendering |
JP4579262B2 (ja) * | 2006-09-18 | 2010-11-10 | 三星電子株式会社 | 3次元画像のレンダリングにおける早期zテスト方法およびシステム |
JP2008077627A (ja) * | 2006-09-18 | 2008-04-03 | Samsung Electronics Co Ltd | 3次元画像のレンダリングにおける早期zテスト方法およびシステム |
US9965886B2 (en) | 2006-12-04 | 2018-05-08 | Arm Norway As | Method of and apparatus for processing graphics |
JP2010539579A (ja) * | 2007-09-12 | 2010-12-16 | イマジネイション テクノロジーズ リミテッド | 3次元コンピュータ画像を生成する方法及びシステム |
US8339414B2 (en) | 2008-07-16 | 2012-12-25 | Arm Limited | Monitoring graphics processing |
JP2010027050A (ja) * | 2008-07-16 | 2010-02-04 | Arm Ltd | グラフィック処理の監視 |
US8681168B2 (en) | 2009-01-15 | 2014-03-25 | Arm Limited | Methods of and apparatus for processing graphics |
JP2010165357A (ja) * | 2009-01-15 | 2010-07-29 | Arm Ltd | グラフィックスを処理する方法およびそのための装置 |
KR20130097886A (ko) * | 2012-02-27 | 2013-09-04 | 삼성전자주식회사 | 렌더링 장치 및 그 방법 |
JP2013175191A (ja) * | 2012-02-27 | 2013-09-05 | Samsung Electronics Co Ltd | レンダリング装置及びその方法 |
US9805502B2 (en) | 2012-02-27 | 2017-10-31 | Samsung Electronics Co., Ltd. | Rendering system and method |
KR101953133B1 (ko) * | 2012-02-27 | 2019-05-22 | 삼성전자주식회사 | 렌더링 장치 및 그 방법 |
US11010959B2 (en) | 2016-04-29 | 2021-05-18 | Arm Limited | Graphics processing systems |
Also Published As
Publication number | Publication date |
---|---|
GB2378108A (en) | 2003-01-29 |
EP1410336B1 (en) | 2006-12-27 |
US9922450B2 (en) | 2018-03-20 |
WO2003010717A2 (en) | 2003-02-06 |
US20180165873A1 (en) | 2018-06-14 |
GB0118025D0 (en) | 2001-09-19 |
US20060114261A1 (en) | 2006-06-01 |
US8686998B2 (en) | 2014-04-01 |
DE60217122T2 (de) | 2007-08-09 |
EP1410336A2 (en) | 2004-04-21 |
US20170091987A1 (en) | 2017-03-30 |
US20080136816A1 (en) | 2008-06-12 |
WO2003010717A3 (en) | 2003-06-05 |
US9552666B2 (en) | 2017-01-24 |
US20030025695A1 (en) | 2003-02-06 |
US11217008B2 (en) | 2022-01-04 |
GB2378108B (en) | 2005-08-17 |
DE60217122D1 (de) | 2007-02-08 |
JP4088585B2 (ja) | 2008-05-21 |
US20140333619A1 (en) | 2014-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11217008B2 (en) | Graphics renderer and method for rendering 3D scene in computer graphics using object pointers and depth values | |
US10223122B2 (en) | Managing event count reports in a tile-based architecture | |
US10032243B2 (en) | Distributed tiled caching | |
US10055883B2 (en) | Frustum tests for sub-pixel shadows | |
US9779533B2 (en) | Hierarchical tiled caching | |
US6359629B1 (en) | Backface primitives culling | |
GB2617182A (en) | Reducing redundant rendering in a graphics system | |
CA2514296A1 (en) | Method and system for compositing three-dimensional graphics images using associative decision mechanism | |
EP1127338B1 (en) | Depth sorting for use in 3-dimensional computer shading and texturing systems | |
US11756258B2 (en) | Techniques for ray cone tracing and texture filtering | |
US20210350607A1 (en) | Techniques for ray cone tracing and texture filtering | |
EP4254340A1 (en) | Reducing redundant rendering in a graphics system | |
US20240104847A1 (en) | Techniques for parallel edge decimation of a mesh | |
GB2617181A (en) | Reducing redundant rendering in a graphics system | |
Szántó et al. | Exact Bucket Sorting for Segmented Screen Rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070702 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071002 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071228 |
|
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: 20080212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080225 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4088585 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130228 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140228 Year of fee payment: 6 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |