JP4769984B2 - タイルベース・グラフィック・レンダリング - Google Patents

タイルベース・グラフィック・レンダリング Download PDF

Info

Publication number
JP4769984B2
JP4769984B2 JP2007514221A JP2007514221A JP4769984B2 JP 4769984 B2 JP4769984 B2 JP 4769984B2 JP 2007514221 A JP2007514221 A JP 2007514221A JP 2007514221 A JP2007514221 A JP 2007514221A JP 4769984 B2 JP4769984 B2 JP 4769984B2
Authority
JP
Japan
Prior art keywords
polygon
tile
vertex
tiles
substrip
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.)
Active
Application number
JP2007514221A
Other languages
English (en)
Other versions
JP2008500625A (ja
Inventor
コルネリス、メインズ
Original Assignee
エスティー‐エリクソン、ソシエテ、アノニム
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
Application filed by エスティー‐エリクソン、ソシエテ、アノニム filed Critical エスティー‐エリクソン、ソシエテ、アノニム
Publication of JP2008500625A publication Critical patent/JP2008500625A/ja
Application granted granted Critical
Publication of JP4769984B2 publication Critical patent/JP4769984B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Description

本発明は、スクリーン上に表示するための出力画像に頂点データをタイルごとに変換するグラフィックシステムであって、頂点データがポリゴンの組(セット)によりオブジェクトを表し、一つのポリゴンが少なくとも三つの頂点から構成されるグラフィックシステムに関する。
欧州特許第EP1127337号(特許文献1)は、フラットなポリゴンの組(セット)により画像中の各オブジェクトを表す、3次元コンピュータ生成画像をシェーディングするための装置について記載している。頂点座標(x,y,z)は、三角形の各頂点ごとに与えられる。三角形は、三角形ストリップ(triangle strip)の一部として送られてもよく、そのように送られない場合には、頂点を相互に比較することにより、三角形をストリップに変換することができる。ストリップは、メモリの領域をあまり占有しない。これは、わずか(n+2)個の頂点を用いて、3n個の三角形の代わりにn個の三角形を記憶するからである。また、ストリップ中の総てのオブジェクトを指し示すためには、一つのポインタだけが必要とされる。
欧州特許第EP1127337号(特許文献1)に記載された方法においては、一つのタイルにおけるグラフィックデータをレンダリングするために、そのタイルに重なる一つのストリップの総ての三角形が処理される。例えば、50個のタイルに重なる一つの三角形ストリップの一部である一つの三角形は、それが一つのタイルだけに重なっている場合であっても、50回処理される。
欧州特許第EP1127337号公報
本発明の目的は、効率を向上させてスクリーン上に画像を表示するための最初の段落に記載されたグラフィックシステムを提供することである。本発明は、独立請求項によって規定される。従属請求項は、有利な実施の形態を規定する。
この目的は、前記頂点データを受け取るための入力部であって、前記頂点データは画像中の各頂点における3D空間座標を少なくとも含む、入力部と、タイルプロセッサであって、画像を複数のタイルに分割し、ポリゴンストリップを決定し、各ポリゴンストリップは少なくとも一つのポリゴンのシーケンスを含み、ポリゴンストリップのそれぞれの後続するポリゴンはその先行するポリゴンと一つの辺を共有し、各ポリゴンストリップごとにサブストリップを決定し、各サブストリップは、ポリゴンストリップのうちのいくつかのポリゴンであって前記タイルのうちの一つのタイルに少なくとも部分的に重なるポリゴンを含み、そのタイルを重なり合うサブストリップに関連付ける、ように機能するタイルプロセッサと、各タイルに関する表示リストを含むポリゴンタイルデータベースであって、前記タイルに関連付けられた前記サブストリップのそれぞれの各識別表示を含む、ポリゴンタイルデータベースと、前記スクリーン上に表示するために画像のレンダリングを可能にする出力部と、を備えているシステムにおいて実現される。
本発明に係るグラフィックシステムは、ポリゴンストリップが影響を及ぼしているタイルの数とは関係なく、どのタイルがポリゴンによって覆われているのかを決定するために1ポリゴン当たり一つのテストしか必要としない。このテストは、頂点データが入力部において受け取られた後、タイルプロセッサによって行われる。同じタイルに重なるポリゴンストリップのポリゴンは共に、そのタイルに関連付けられた一つのサブストリップを形成する。それぞれのタイルにおいて、重なり合うサブストリップのリストは、ポリゴン−タイル・データベースにおいて管理される。各タイルの更なる処理においては、そのタイルに重なるポリゴンだけが使用され、更なるテストは必要とされない。これに対し、サブストリップの代わりに各タイルごとにポリゴンストリップ全体が処理される場合、一つのポリゴンが一つのタイルに重なるかどうかを決定するためのテストは、タイルごとに必要であり、また、特定のタイルに重なるポリゴンストリップの一部である総てのポリゴンに関して必要となる。例えば、50個のタイルに影響を及ぼす100個のポリンゴンからなる一つのストリップに関し、既知の装置は5000個のテストを必要とするが、本発明に係るシステムにおいては、わずか100個のテストで済む。
3D空間座標は、座標をスクリーン空間に対してマッピングできるように、モデル空間座標、ワールド空間座標、アイ(eye)空間座標若しくはスクリーン空間座標であってよく、又は、他の空間からの座標であってもよい。
本発明の更なる態様において、タイルに関連するそれぞれのサブストリップにおける識別表示は、サブストリップの最初の頂点への参照、サブストリップの最後の頂点への参照、及び/又は、サブストリップ内の多くの頂点への参照を含んでいる。
サブストリップへのそのような参照が使用されると、サブストリップを別個のポリゴンサブストリップとして記憶する必要がなくなる。代わりに、ポリゴンストリップが全体として記憶されてもよい。その結果、メモリサイズ要件及び必要なメモリ帯域幅が低減される。
本発明のこれらの態様及び他の態様は、後述する実施の形態から明らかであり、当該実施の形態を参照しながら上記態様について説明する。
図1は、本発明に係るグラフィックシステムの概略図を示している。システムは、頂点データ及びテクスチャデータを含むグラフィックデータを受け取るための入力部101を備えている。テクスチャデータは、テクスチャマップを含んでおり、テクスチャメモリ106内に記憶される。頂点データは、表示されるグラフィックシーンにおける総ての頂点の情報と、ポリゴンの構成を可能にするための接続性情報とを含んでいる。この情報は、例えば、スクリーン空間内の頂点位置を規定する(x,y,z)スクリーン空間座標と、テクスチャ空間内の頂点位置を規定する(u,v)テクスチャ座標と、頂点カラー(赤、緑、青に関してR,G,B)及び透明度を規定するRGBA値とを含んでいてもよい。入力部101におけるグラフィックデータは、コンピュータゲーム等のグラフィックプログラム112又はビデオクリップ再生プログラムによって供給され得る。グラフィックプログラムは、スクリーン空間座標、又は、他の3D空間座標、例えばモデル空間座標、ワールド空間座標若しくはアイ(eye)空間座標等を供給してもよい。グラフィックプログラムがスクリーン空間座標を供給しない場合には、他の3D空間座標をスクリーン空間に対してマッピングし且つスクリーン空間座標を入力部に供給するために、頂点変換・ライティングユニット(図示せず)が使用されてもよい。
頂点データは、タイルプロセッサ102に送られる。タイルプロセッサ102は、ポリゴンストリップとしてデータを受け取り、又は、頂点データをポリゴンストリップへ変換するとともに、前処理されたデータをポリゴンタイルデータベースと称されるデータ構造内に記憶する。通常、ポリゴンは三角形であるが、四角形又は五角形等の他のポリゴン形状が使用されてもよい。三角形を使用する場合には、ポリゴンタイルデータベースが三角形タイルデータベース(TTDB)103と称されることがある。以下において説明するほとんどの実施の形態は、三角形を使用する。しかしながら、当業者が容易に四角形、五角形又は他の多角形を代わりに使用できることに留意すべきである。頂点のポリゴンへの変換は、近くの頂点を比較して類似する頂点をグループ化することにより実現され得る。本発明に係るグラフィックシステムにおいて、隣接する類似のポリゴンはポリゴンストリップへ変換される。ポリゴンストリップは少なくとも一つのポリゴンのシーケンスを備えており、それぞれの後続するポリゴンは、その先行するポリゴンと一つの辺を共有する。三角形の代わりに三角形ストリップを使用すると、一つの新たな三角形を定めるために一つの頂点しか必要とせず、その結果、ストリップ内の総ての頂点を指し示すために一つのポインタしか必要としないため、システムのメモリサイズ及び帯域幅の要件が減少する。個々の三角形を使用すると、一つの新たな三角形を定めるために三つの頂点が必要とされる。タイルプロセッサ102は、各タイルごとに、ポリゴンストリップのどの部分がそのタイルに重なるのかを決定する。その後、一つのポリゴンストリップのポリゴンを備えるサブストリップが定められ、これらのポリゴンがタイルのうちの特定の一つを覆う。一つのポリゴンが一つのタイルに重なるかどうかを決定するための典型的なアルゴリズムについては、図5を参照して後述する。
サブストリップの幾何学データ(ジオメトリデータ)、及び、タイルに重なる総てのサブストリップの第1の頂点へのポインタは、TTDB103内に記憶される。TTDB103は、各タイルごとに、そのタイルに重なるサブストリップのうちのそれぞれの一つに対する一つのポインタを伴う表示リストを備えている。TTDB103の構造については、図4を参照して更に後述する。ラスタライザ105は、TTDB103及びテクスチャメモリ106からのデータをRGBAピクセル値へ変換する。ラスタライザ105により行われるプロセスの詳細な説明については、図5を参照して後述する。ラスタライザ105により計算される一つのタイルにおけるRGBAピクセル値は、RGBAタイルバッファ108に書き込まれる。RGBAピクセル値は、その(x,y)ピクセル座標に関するZタイル107からのデプス(z)値(深度(z)値)の読み取りを伴うデプステストに依存している場合がある。一つのタイルにおける総てのRGBAピクセル値が生成されると、RGBAタイルがRGBAフレームバッファ110へコピーされる。グラフィックシーンの総てのタイルにおける総てのピクセルに関するRGBAピクセル値がフレームバッファ内にある場合には、グラフィックシーンがディスプレイスクリーン111上に表示されてもよく、又は、グラフィックシーンがビーマへ送られてもよい。
タイルプロセッサ102及びラスタライザ105等のデータ処理ユニット、並びに、処理ユニットにより使用される情報を一時的に記憶するためのRGBAタイルバッファ108等の小型メモリバッファは、通常、グラフィック処理チップ100の一部である。TTDB103、テクスチャメモリ106、RGBAフレームバッファ109のような更に大きいメモリは、通常、オフチップとして実現される。3Dグラフィックは、オフチップテクスチャメモリとオンチップ処理ユニットとの間で多くのデータトラフィックを必要とする。効率的なグラフィック処理のためには、このデータトラフィックを低減しなければならない。ポリゴンストリップ全体の代わりにサブストリップを使用すると、データトラフィックが劇的に減少する。一つのタイルが処理される場合、処理は、そのタイルを覆うポリゴンのみが関与している。ポリゴンストリップ全体を使用する場合には、ストリップの各ポリゴンを処理しなければならないが、実際には、ストリップの一部だけが処理されるべきタイルを覆う。また、本発明に係る手法を使用すると、必要なコンピュータ資源が大幅に減少させられる。
図2は、図1に示される実施の形態に類似するが、頂点キャッシュ204を更に備えるグラフィックシステムの実施の一形態を示している。いくつかのポリゴンが複数のタイルを覆っている。結果として、これらのポリゴンは、複数のサブストリップの一部である。これらのポリゴンの頂点データは、いくつかのタイルの処理中に使用されなければならない。図2に示されるグラフィックシステムにおいて、頂点データは、オンチップ頂点キャッシュ204内に一時的に記憶される。オンチップ頂点キャッシュ204を使用することにより、オフチップメモリからのデータトラフィックが更に低減される。
グラフィックシステムの好ましい実施の形態において、頂点キャッシュ204は、厳選された頂点を保存するだけである。例えば、一つのタイルだけに重なるポリゴンの頂点は、1回だけ処理されるとともに、頂点キャッシュ204内に保存される必要はない。また、既に処理されたタイルだけに重なる頂点は、頂点キャッシュ204内に保存される必要はない。スマートキャッシュ管理は、タイル間処理方向とポリゴンストリップにおけるポリゴン間方向とを比較して、ポリゴンが再び使用されるべきかどうかを決定することを含んでいる。例えば、一つのポリゴンが第1のタイルとこの第1のタイルの上側に隣接する第2のタイルとに重なり且つタイル間横断方向が左から右及び上から下である場合、このポリゴンは、再び処理されず、頂点キャッシュ204内に保存される必要がない。これに対し、タイル間処理方向がポリゴン間方向に等しい場合、重なり合うポリゴンは、おそらく再び使用されるであろうことから、頂点キャッシュ204内に保存されることが好ましい。効率的なキャッシュ管理は、頂点キャッシュ204及びグラフィック処理チップ100において必要なサイズを減少させることができる。効率的なキャッシュ管理のいくつかの例については、図7A乃至図7Cを参照して更に後述する。
図3は、スクリーン上に表示されるポリゴンストリップ30を示している。スクリーンは、12個のタイルt1−t12に分割される。タイルサイズは、例えば、オンチップメモリのサイズ、処理能力、スクリーンサイズ、シーン複雑度に応じて選択され得る。320×240解像度を有する携帯電話スクリーンは、例えば、32×16ピクセルからなる10×15タイルに分割されるものとしてもよい。図3では、一つの三角形ストリップ30がスクリーン上に表示されている。三角形ストリップ30は、三つのタイルt5,t6,t7に重なっている。本発明に係るグラフィックシステムにおいて、タイルプロセッサ102は、サブストリップを定めるように機能する。この場合、各サブストリップは、一つのポリゴンストリップのうちのいくつかのポリゴンであって複数あるタイルのうちの一つのタイルに少なくとも部分的に重なるいくつかのポリゴンを備えている。図3においては、三つのサブストリップを定めることができる。一つのサブストリップは、頂点v3から始まり頂点v9で終わってタイルt5を覆っており、一つのサブストリップは、頂点v6からv14へと延びてタイルt6を覆っており、一つのサブストリップは、v11からv14へと延びてタイルt7を覆っている。タイルt5の処理においては、頂点v3−v9がTTDB103から引き出される。頂点v6−v9は、タイルt6の処理中の再使用のために頂点キャッシュ204内に記憶されてもよい。
図4は、可能なTTDBデータ構造を概略的に示している。TTDBは、頂点データを有するシーンバッファを備えている。シーンバッファは、頂点アレイ(配列)44と、テクスチャポインタアレイ(配列)41とを備えている。頂点アレイ44は、頂点に関する幾何学データを備えている。頂点は、XYZUVRGBA属性:スクリーン空間又は他の3D空間内における頂点の位置に関しては(x,y,z)座標、テクスチャ空間内における頂点の位置に関しては(u,v)座標、頂点のカラー及び透明度を定めることに関してはRGBA明度を使用してコード化されるものとしてもよい。テクスチャポインタアレイ41は、テクスチャメモリ106内に記憶されたポインタ−テクスチャマップを備えている。
また、TTDBは、各タイルごとに表示リストを備えている。図4には、タイルt5(図3参照)に関する表示リスト42と、タイルt6(図3参照)に関する表示リスト43とが示されている。表示リストは、頂点アレイ44内の頂点データを参照する45,47等の頂点へのインデックス又はポインタを含む場合がある少なくとも二つのタイプのエントリと、46,48等の状態変化エントリとを備えている。sエントリにより含まれる状態変化データは、テクスチャポインタアレイへのインデックスであってもよく、又は、特定の状態が変化すべきことを示すコードであってもよい。フォグ、ライティング及び他の有効/無効OpenGL機能等の他の状態変化が直接にsエントリへとエンコードされる。
各頂点ポインタは、一つのサブストリップの最初の頂点を指し示す。例えば、タイルt5に関する表示リスト42は、図3に示されるサブストリップの最初の頂点v3への頂点ポインタ45を備えており、また、状態変化エントリ46は、テクスチャポインタアレイ41内のテクスチャポインタ49へのインデックスを含んでいる。サブストリップの総ての頂点は、パイプラインの同じ状態を使用して処理される。サブストリップの最後の頂点が処理されたら、次の頂点ポインタにより指し示される次のサブストリップの処理が開始される。ストリップ中の総ての三角形は、新たなテクスチャ状態変化エントリに達するまで、同じテクスチャを使用して処理される。
サブストリップの最後は、各頂点ごとにその頂点がタイルに重なる三角形の一部であるかどうかをチェックすることにより決定され得る。グラフィックシステムの実施の一形態において、表示リストは、それぞれのサブストリップの長さ、又は、サブストリップの最後の頂点へのポインタを更に含んでいる。そのような実施の形態においては、タイルをレンダリングする場合に、各頂点ごとにその頂点が処理されるべきサブストリップの一部であるかどうかをチェックする必要がない。
図5は、タイルC,Dに重なるポリゴン50を示している。どのタイルが三角形50によって覆われるのかを決定するための典型的なアルゴリズムは、以下のステップを含んでいるものとするとよい。
−三角形を構成する頂点の最も小さいx座標値(xmin)、最も大きいx座標値(xmax)、最も小さいy座標値(ymin)、最も大きいy座標値(ymax)を決定することにより三角形の周りに境界ボックスを形成する。
−総てのタイルの完全セットで開始する。
−xminよりも小さい最大x値を有する総てのタイルを排除する。
−xmaxよりも大きい最小x値を有する総てのタイルを排除する。
−yminよりも小さい最大y値を有する総てのタイルを排除する。
−ymaxよりも大きい最小y値を有する総てのタイルを排除する。
タイルの残余のセット(組)における総てのタイルは、三角形により覆われる。
図1に示されるグラフィックシステムにおいて、このアルゴリズムは、タイルプロセッサ102により実行される。どの三角形がどのタイルを覆うのかを決定するために他のアルゴリズムが使用されてもよいことが認識される。ポリゴンが三角形ではなく四角形、五角形又は他のタイプの多角形である場合にも、同じアルゴリズムが使用され得る。
尚、前述したアルゴリズムを用いると、基本的に、タイルとポリゴンの境界ボックスとの重なり合いが検出される。ポリゴンが三つのタイル、例えば図3におけるタイルt2,t3,t7を覆うと、境界ボックスは、4番目のタイル、この場合にはt6を覆うことができるが、ポリゴン自体は実際には4番目のタイルを覆わない。そのようなケースにおいて、ポリゴンはタイルに重なるものとして定められるが、実際には、タイルに重なるのは境界ボックスであり、ポリゴンではない。結果として、サブストリップは、時として、実際に対応するタイルを覆わないポリゴンを備える場合がある。しかしながら、隣接するタイルと共に使用するため、必要とされないポリゴンの頂点が依然として頂点キャッシュ204内に記憶される可能性があり又は記憶される場合がある。更なるポリゴンは、メモリサイズ、計算能力、帯域幅のようなシステムの技術的要件を著しく増大させない。更に幾分複雑なアルゴリズムを用いると、どのタイルがどのポリゴンによって覆われるべきかを正確に知ることができる。
図6は、ラスタライザ105内でRGBAピクセル値を計算するプロセスのフローチャートを示している。最初のRETRステップでは、一つのタイルの表示リスト中の最初のサブストリップの一つの三角形の頂点データがTTDB103から引き出される。その後、CALCステップにおいて、ラスタライザは、三角形内の総てのピクセルをトラバースするとともに、カラー、z値、(u,v)テクスチャ座標を計算し、この座標におけるテクセルカラーを現在のテクスチャマップから取り出し、又は、各ピクセルごとに他の属性を取り出す。
任意的なデプス試験ステップCOMPにおいて、計算されたz値は、zタイルバッファ107内に記憶されたz値と比較される。試験の結果に応じて、記憶されたz値が計算されたz値に取って代えられるとともに、書き込みステップWRTにおいてRGBAカラーがRGBAタイルバッファ108内に書き込まれる。次のステップMPにおいては、同じサブストリップの更に多くの三角形又は同じタイル上の更に多くのサブストリップが処理されるべきかどうかがチェックされる。処理されるべきである場合、次のサブストリップの次の三角形が最初のRETRステップから開始されて処理される。処理されるべきでない場合には、完全なRGBAタイルバッファ108がフレームバッファ110にコピーされる。その後、次のステップMTにおいて、フレーム上の更に多くのタイルが処理されるべきかどうかがチェックされる。処理されるべきである場合には、次のタイルの最初のサブストリップの最初の三角形が、再び最初のRETRステップを初めとして処理される。処理されるべきでない場合には、表示ステップDISPにおいて、フレーム全体をスクリーン111上に表示することができ、又は、フレーム全体をビーマへ送ることができる。
図7A乃至図7Cでは、効率的なキャッシュ管理のいくつかの例について説明する。図7Aには、頂点q1−q12から構成されるポリゴンストリップ70が示されている。ポリゴンストリップ70は、タイルt21,t22,t23に重なっている。図7Aでは、サブストリップ71が強調して表示されている。タイルt22をレンダリングする前、オフチップメモリに対する帯域幅要件を最小限に抑制することによりタイルの効率的なレンダリングを可能にするため、サブストリップ71の頂点q3−q10が頂点キャッシュ204に既に無かった場合には、これらの頂点が頂点キャッシュ204へとロードされる。頂点キャッシュ204は、画像をレンダリングするために依然として必要とされる総ての頂点を備えていることが好ましい。この目的は、一つの画像の総ての頂点データを備えることができる十分に大きい頂点キャッシュ204を設けることにより容易に得られる。しかしながら、そのような大きい頂点キャッシュ204は、製造コスト及びチップ面積の点から見ると非常に高価である。
頂点キャッシュ204の好ましい実施の形態においては、一つのタイルをレンダリングした後、他のタイルをレンダリングするために再び使用されるべきではない頂点が、他のタイルをレンダリングするために必要とされる頂点により上書きされる。例えば、図7Bの強調表示されたポリゴンを構成する頂点q7−q10は、タイルt23をレンダリングするために必要とされる。結果として、頂点q7−q10は、タイルt22のレンダリング後に頂点キャッシュ204内に保存されなければならない。サブストリップ71の他の頂点q3−q6は、タイルt23をレンダリングするために必要とされる他の頂点により上書きされてもよい。
更なる改良された実施の形態においては、一つのタイルをレンダリングする前に、他のタイルをレンダリングするために後に使用されるべき頂点が頂点キャッシュ204にロードされる。例えば、タイルt22をレンダリングする前に、サブストリップ71の頂点q3−q10をキャッシュすることに加えて、タイルt23をレンダリングするために必要とされる頂点q11及びq12がキャッシュにロードされる。図7Cにおいて、この改良された実施の形態を使用すると、影付き領域は、タイルt22をレンダリングする前にキャッシュされる頂点を含んでいる。この実施の形態を用いると、一つのタイルをレンダリングするために必要とされるデータを頂点キャッシュ204から直接に取り出すことができないという事態が最小限に抑制される。その結果、キャッシュの競合がほとんど生じない。
本発明がコンピュータプログラム、特に本発明を実現するようになっているキャリア上の又はキャリア内のコンピュータプログラムにも拡張されることが認識されるべきである。プログラムは、ソースコード、オブジェクトコード、コード中間ソース、部分的にコンパイルされた形式のようなオブジェクトコードの形態をなしていてもよく、又は、本発明に係る方法の実施における使用に適した任意の他の形態をなしていてもよい。キャリアは、プログラムを運ぶことができる任意のエンティティ又はデバイスであってよい。例えば、キャリアとしては、ROM、例えばCD−ROMや半導体ROM等の記憶媒体、又は、フロッピーディスクやハードディスク等の磁気記録媒体を挙げることができる。また、キャリアは、電気ケーブル又は光ケーブルを介して又は無線若しくは他の手段により伝達され得る電気信号又は光信号等の送信可能なキャリアであってもよい。プログラムがそのような信号の状態で具現化される場合、キャリアは、そのようなケーブル又は他のデバイスや手段により構成されていてもよい。あるいは、キャリアは、内部にプログラムが組み込まれる集積回路であってもよく、この集積回路は、関連する方法を行うようになっている又は関連する方法の実行において使用されるようになっている。
尚、前述した実施の形態は、本発明の例示であって、本発明を限定するものではなく、当業者であれば、添付の請求項の範囲から逸脱することなく多くの他の実施の形態を設計することができる。請求項中、括弧内の任意の参照符号は、請求項を限定するものと解釈されるべきではない。動詞「備える、含む(comprise)」及びその活用形の使用は、請求項に記載されている要素又はステップ以外の要素又はステップの存在を排除するものではない。要素に先行する冠詞「一つの(a,an)」は、そのような要素が複数存在することを排除するものではない。本発明は、いくつかの別個の要素を備えるハードウェアにより、また、適切にプログラムされたコンピュータにより実施されてもよい。いくつかの手段を列挙するデバイス/システム請求項において、これらの手段のうちのいくつかは、ハードウェアの一つの同じアイテムにより具現化されていてもよい。特定の手段が互いに異なる従属請求項に記載されているという事実だけで、これらの手段の組み合わせを有利に使用することができないということを示すものではない。
本発明に係るグラフィックシステムの実施の一形態の概略図を示している。 頂点キャッシュを備えるグラフィックシステムの概略図を示している。 スクリーン上に表示されるポリゴンストリップを示している。 可能なTTDBデータ構造を概略的に示している。 二つのタイルに重なるポリゴンを示している。 RGBAピクセル値を計算するプロセスのフローチャートを示している。 頂点キャッシュのいくつかの実施の形態の動作を示している。 頂点キャッシュのいくつかの実施の形態の動作を示している。 頂点キャッシュのいくつかの実施の形態の動作を示している。

Claims (9)

  1. スクリーン上に表示するための出力画像に頂点データをタイルごとに変換するグラフィックシステムであって、前記頂点データはポリゴンの組によりオブジェクトを表し、一つのポリゴンは少なくとも三つの頂点から構成されるグラフィックシステムにおいて、
    前記頂点データを受け取るための入力部であって、前記頂点データは画像中の各頂点における3D空間座標を少なくとも含む、入力部と、
    タイルプロセッサであって、
    画像を複数のタイルに分割し、
    ポリゴンストリップを決定し、各ポリゴンストリップは少なくとも一つのポリゴンのシーケンスを含み、ポリゴンストリップのそれぞれの後続するポリゴンはその先行するポリゴンと一つの辺を共有し、
    各ポリゴンストリップごとにサブストリップを決定し、各サブストリップは、ポリゴンストリップのうちのいくつかのポリゴンであって前記タイルのうちの一つのタイルに少なくとも部分的に重なるポリゴンを含み、そのタイルを重なり合うサブストリップに関連付ける、ためのタイルプロセッサと、
    各タイルに関する表示リストを含むポリゴンタイルデータベースであって、前記表示リストは、前記タイルに関連付けられた前記サブストリップのそれぞれの各識別表示を含む、ポリゴンタイルデータベースと、
    前記スクリーン上に表示するために画像のレンダリングを可能にする出力部と、
    を備えていることを特徴とするグラフィックシステム。
  2. 前記タイルに関連付けられた前記サブストリップのそれぞれの前記識別表示は、前記サブストリップの最初の頂点への参照を含むことを特徴とする請求項1に記載のグラフィックシステム。
  3. 前記タイルに関連付けられた前記サブストリップのそれぞれの前記識別表示は、前記サブストリップの最後の頂点への参照を含むことを特徴とする請求項2に記載のグラフィックシステム。
  4. 前記タイルに関連付けられた前記サブストリップのそれぞれの前記識別表示は、前記サブストリップ内の多くの頂点を含むことを特徴とする請求項2に記載のグラフィックシステム。
  5. タイルに関連付けられた前記サブストリップの前記頂点データをキャッシュするための頂点キャッシュを更に備えていることを特徴とする請求項1に記載のグラフィックシステム。
  6. 前記頂点キャッシュは、その後のタイルのために使用されるべき頂点データを保存するように構成されていることを特徴とする請求項5に記載のグラフィックシステム。
  7. 前記頂点キャッシュは、その後のタイルのために使用されるべき頂点データを先取りするように構成されていることを特徴とする請求項5に記載のグラフィックシステム。
  8. スクリーン上に表示するための出力画像に頂点データをタイルごとに変換する処理であって、前記頂点データはポリゴンの組によりオブジェクトを表し、一つのポリゴンは少なくとも三つの頂点から構成される処理を、入力部と、プロセッサと、記憶部と、出力部とを備えるコンピュータに実行させる方法において、
    前記入力部が、前記頂点データを受け取るステップであって、前記頂点データは画像中の各頂点における3D空間座標を少なくとも含む、ステップと、
    前記プロセッサが、画像を複数のタイルに分割するステップと、
    前記プロセッサが、ポリゴンストリップを決定するステップであって、各ポリゴンストリップは少なくとも一つのポリゴンのシーケンスを含み、前記ポリゴンストリップのそれぞれの後続するポリゴンはその先行するポリゴンと一つの辺を共有する、ステップと、
    前記プロセッサが、各ポリゴンストリップごとにサブストリップを決定するステップであって、各サブストリップは、前記ポリゴンストリップのうちのいくつかのポリゴンであって前記タイルのうちの一つのタイルに少なくとも部分的に重なるポリゴンを含み、そのタイルを重なり合うサブストリップに関連付ける、ステップと、
    各タイルに関する表示リストを含む前記記憶部内のポリゴンタイルデータベースであって、各表示リストは、前記タイルに関連付けられた前記サブストリップのそれぞれの各識別表示を含む、ポリゴンタイルデータベースを充填するステップと、
    前記出力部を介して前記スクリーン上に表示するために画像のレンダリングを可能にするステップと、を含むことを特徴とする方法。
  9. 請求項8に記載の方法を前記コンピュータに実行させるためのコンピュータプログラム。
JP2007514221A 2004-05-24 2005-05-10 タイルベース・グラフィック・レンダリング Active JP4769984B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04102260.9 2004-05-24
EP04102260 2004-05-24
PCT/IB2005/051528 WO2005116930A1 (en) 2004-05-24 2005-05-10 Tile based graphics rendering

Publications (2)

Publication Number Publication Date
JP2008500625A JP2008500625A (ja) 2008-01-10
JP4769984B2 true JP4769984B2 (ja) 2011-09-07

Family

ID=34967068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007514221A Active JP4769984B2 (ja) 2004-05-24 2005-05-10 タイルベース・グラフィック・レンダリング

Country Status (6)

Country Link
US (1) US8194071B2 (ja)
EP (1) EP1754195B1 (ja)
JP (1) JP4769984B2 (ja)
KR (1) KR101140460B1 (ja)
CN (1) CN100576249C (ja)
WO (1) WO2005116930A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0524804D0 (en) 2005-12-05 2006-01-11 Falanx Microsystems As Method of and apparatus for processing graphics
US7843468B2 (en) 2006-07-26 2010-11-30 Nvidia Corporation Accellerated start tile search
US9965886B2 (en) 2006-12-04 2018-05-08 Arm Norway As Method of and apparatus for processing graphics
GB0723536D0 (en) * 2007-11-30 2008-01-09 Imagination Tech Ltd Multi-core geometry processing in a tile based rendering system
US20100020069A1 (en) 2008-07-25 2010-01-28 Qualcomm Incorporated Partitioning-based performance analysis for graphics imaging
CN102089784A (zh) * 2008-07-25 2011-06-08 高通股份有限公司 图形成像的基于分割的性能分析
US9792718B2 (en) * 2008-07-25 2017-10-17 Qualcomm Incorporated Mapping graphics instructions to associated graphics data during performance analysis
KR101511273B1 (ko) * 2008-12-29 2015-04-10 삼성전자주식회사 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템
GB0900700D0 (en) * 2009-01-15 2009-03-04 Advanced Risc Mach Ltd Methods of and apparatus for processing graphics
US8217962B2 (en) * 2009-01-29 2012-07-10 Microsoft Corporation Single-pass bounding box calculation
US8761520B2 (en) * 2009-12-11 2014-06-24 Microsoft Corporation Accelerating bitmap remoting by identifying and extracting 2D patterns from source bitmaps
JP2011128713A (ja) * 2009-12-15 2011-06-30 Toshiba Corp 画像処理装置および画像処理プログラム
CN104599304B (zh) * 2009-12-23 2018-06-08 英特尔公司 图像处理技术
EP2517169A4 (en) 2009-12-23 2017-10-18 Intel Corporation Image processing techniques
KR101681056B1 (ko) * 2010-10-01 2016-12-01 삼성전자주식회사 정점 처리 방법 및 장치
US8913080B2 (en) * 2011-05-09 2014-12-16 Microsoft Corporation Partitioning high resolution images into sub-images for display
KR101799978B1 (ko) 2011-06-17 2017-11-22 삼성전자주식회사 타일 근접성을 사용하는 타일 기반 렌더링 방법 및 장치
CN102903094B (zh) * 2011-07-25 2015-09-02 株式会社理光 电子文档栅格化方法和电子文档栅格化装置
US9317948B2 (en) 2012-11-16 2016-04-19 Arm Limited Method of and apparatus for processing graphics
US10957094B2 (en) 2013-03-29 2021-03-23 Advanced Micro Devices, Inc. Hybrid render with preferred primitive batch binning and sorting
US10169906B2 (en) 2013-03-29 2019-01-01 Advanced Micro Devices, Inc. Hybrid render with deferred primitive batch binning
US10204391B2 (en) 2013-06-04 2019-02-12 Arm Limited Method of and apparatus for processing graphics
KR102109130B1 (ko) 2013-08-12 2020-05-08 삼성전자주식회사 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들
US9659393B2 (en) * 2013-10-07 2017-05-23 Intel Corporation Selective rasterization
KR20150095144A (ko) 2014-02-12 2015-08-20 삼성전자주식회사 그래픽스 데이터를 렌더링하는 방법 및 장치
CN105096299B (zh) * 2014-05-08 2019-02-26 北京大学 多边形检测方法和多边形检测装置
GB2524121B (en) 2014-06-17 2016-03-02 Imagination Tech Ltd Assigning primitives to tiles in a graphics processing system
US20160035128A1 (en) * 2014-08-03 2016-02-04 Mediatek Singapore Pte. Ltd. Graphics processing system for performing deferred vertex attribute shading based on split vertex bitstreams and related graphics processing method
US9799091B2 (en) * 2014-11-20 2017-10-24 Intel Corporation Apparatus and method for efficient frame-to-frame coherency exploitation for sort-last architectures
GB2553744B (en) 2016-04-29 2018-09-05 Advanced Risc Mach Ltd Graphics processing systems
US20170358132A1 (en) * 2016-06-12 2017-12-14 Apple Inc. System And Method For Tessellation In An Improved Graphics Pipeline
US10275941B2 (en) * 2016-11-01 2019-04-30 Dg Holdings, Inc. Multi-layered depth and volume preservation of stacked meshes
US10930086B2 (en) 2016-11-01 2021-02-23 Dg Holdings, Inc. Comparative virtual asset adjustment systems and methods
CN107101453A (zh) * 2017-05-19 2017-08-29 Tcl家用电器(合肥)有限公司 冰箱的温度控制方法、冰箱及计算机可读存储介质
JP7190574B2 (ja) * 2018-11-27 2022-12-15 ルネサスエレクトロニクス株式会社 命令リストの生成
US11106404B2 (en) 2019-12-07 2021-08-31 Kyocera Document Solutions Inc. Template generation for tiling for appearance of overlap
US11106410B2 (en) 2019-12-07 2021-08-31 Kyocera Document Solutions Inc. Automated template generation for tiling

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196383A (ja) * 1997-09-17 1999-04-09 Sony Computer Entertainment Inc 情報処理装置および方法、並びに伝送媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697063B1 (en) * 1997-01-03 2004-02-24 Nvidia U.S. Investment Company Rendering pipeline
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
US6344852B1 (en) * 1999-03-17 2002-02-05 Nvidia Corporation Optimized system and method for binning of graphics data
DE60127253T2 (de) * 2000-06-08 2007-11-22 Imagination Technologies Ltd., Kings Langley Bildkachelung und -kompression für die 3D-Bilddarstellung
US6816161B2 (en) * 2002-01-30 2004-11-09 Sun Microsystems, Inc. Vertex assembly buffer and primitive launch buffer
FR2840705A1 (fr) * 2002-06-06 2003-12-12 Artabel Procede et dispositif d'equilibrage de charge au sein d'un ensemble (cluster) d'ordinateurs utilises en parallele pour des applications graphiques

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196383A (ja) * 1997-09-17 1999-04-09 Sony Computer Entertainment Inc 情報処理装置および方法、並びに伝送媒体

Also Published As

Publication number Publication date
CN1957377A (zh) 2007-05-02
US8194071B2 (en) 2012-06-05
US20080259076A1 (en) 2008-10-23
KR101140460B1 (ko) 2012-04-30
EP1754195A1 (en) 2007-02-21
EP1754195B1 (en) 2016-02-17
KR20070026521A (ko) 2007-03-08
JP2008500625A (ja) 2008-01-10
CN100576249C (zh) 2009-12-30
WO2005116930A1 (en) 2005-12-08

Similar Documents

Publication Publication Date Title
JP4769984B2 (ja) タイルベース・グラフィック・レンダリング
US10957082B2 (en) Method of and apparatus for processing graphics
US7280121B2 (en) Image processing apparatus and method of same
US8154547B2 (en) Method and system for early Z test in title-based three-dimensional rendering
US6961065B2 (en) Image processor, components thereof, and rendering method
US10339703B2 (en) Device and method to compute shadow in a 3D scene
US9183608B2 (en) Image processing techniques for tile-based rasterization
EP2831848B1 (en) Method for estimating the opacity level in a scene and corresponding device
US7015914B1 (en) Multiple data buffers for processing graphics data
TWI434226B (zh) 影像處理技術
KR101609266B1 (ko) 타일 기반의 랜더링 장치 및 방법
KR101681056B1 (ko) 정점 처리 방법 및 장치
US20080030522A1 (en) Graphics system employing pixel mask
US20080122866A1 (en) Graphics system employing shape buffer
US9299182B2 (en) Divided-area-based rendering device and divided-area-based rendering method
US20180165872A1 (en) Removing or identifying overlapping fragments after z-culling
US10134171B2 (en) Graphics processing systems
US20050068326A1 (en) Image processing apparatus and method of same
KR100546383B1 (ko) 눈에 보이지 않는 프래그먼트를 처리하기 위한 3차원그래픽스 렌더링 엔진 및 그 방법
KR20170025099A (ko) 렌더링 방법 및 장치
KR20180038793A (ko) 영상 데이터 처리 방법 및 장치
CN116670719A (zh) 一种图形处理方法、装置及电子设备
CN117994431A (zh) 一种基础图元的拾取方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080509

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110322

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110407

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: 20110506

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110603

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4769984

Country of ref document: JP

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

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