JP4564718B2 - 3−dコンピュータ・グラフィックス・レンダリングシステム - Google Patents
3−dコンピュータ・グラフィックス・レンダリングシステム Download PDFInfo
- Publication number
- JP4564718B2 JP4564718B2 JP2003068879A JP2003068879A JP4564718B2 JP 4564718 B2 JP4564718 B2 JP 4564718B2 JP 2003068879 A JP2003068879 A JP 2003068879A JP 2003068879 A JP2003068879 A JP 2003068879A JP 4564718 B2 JP4564718 B2 JP 4564718B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- vertex
- base point
- scene
- display list
- 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.)
- Expired - Lifetime
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、3次元(3D)コンピュータ・グラフィックス・レンダリング・システムに関し、より詳細には、レンダリングされるシーンを複数の矩形領域、すなわちタイルへと更に分割し、その各々を、交差する全てのオブジェクトに関して順番に処理する形式のシステムに関する。
【0002】
【従来の技術】
図1は、従来技術の3−Dレンダリングシステムを示す。
【0003】
このシステムは、シーン100に関する三次元記述を有し、コンピュータのモニターのような出力装置上に表示することができる、二次元表現のシーン105を生成する。
【0004】
効率的なオペレーションとするために、このシステムは、二次元表現のシーンをタイルと称される領域へ更に分割する。
【0005】
三次元シーンにおけるオブジェクトは、タイル・アクセラレータ101によって処理され、次に定義データが、表示リスト102内に格納される。この表示リストは、シーンをレンダリングするのに必要とされる全ての頂点データと制御データとを含む。この頂点データは、通常頂点の細片として格納される。
【0006】
シーン空間を含む各タイルに関して、画像合成プロセッサ(ISP)103は、タイルに対応する表示リストを読み取り、どのシーンの部分が目に見えるかを決定する。この情報は次いで、テクスチャリング及びシェーディングプロセッサ(TSP)104に伝えられて、レンダリングされる。
【0007】
更に精緻化するには、タイル領域をマクロタイルへと互いにグループ化することである。シーン全体の表示リストを生成する代わりに、このタイル・アクセラレータは、各マクロタイルに関する表示リストを生成する。これにより、表示リストのメモリを全て消費した場合には、その後マクロタイルをレンダリングすることができ、このマクロタイルに関連付けられた表示リストメモリは、システムによって再生して使用されることができる利点を有する。欠点は、シーン内のオブジェクトが多くのマクロタイルに及んでいる場合には、該オブジェクトは、各マクロタイルの表示リスト内に複製された頂点データを有する可能性があることである。
【0008】
【発明が解決しようとする課題】
非タイル化三次元図形処理システムのほとんどは、直接モードでレンダリングを行うアーキテクチャを有する。直接モードでレンダリングを行うことは、表示リスト内にシーン全体に関する記述を格納する必要がなく、その代わりに、システムに対してプリミティブが示される場合に、該プリミティブがレンダリングされる。直接モードでレンダリングを行うことは、表示リストに関するメモリを必要としないという利点を有するが、タイル化されたアーキテクチャを使用することによって可能な、例えば遅延テクスチャリング及び半透明ソーティングのような、多くの最適化を妨げる。
【0009】
強力で、低価格のレンダリングシステムがより普及するにつれて、レンダリングされるシーンの複雑さは増大している。このことは、表示リストが必要とする記憶所要量及び帯域幅要件もまた増大することから、タイル化されたレンダラーに対する問題がある。
【0010】
【課題を解決するための手段】
本発明の実施形態は、表示リストに関して必要とされるサイズ及びメモリ帯域幅を低減するための方法及び装置を提供し、これによりタイル化されたレンダリングシステムが低価格で実施可能となる。
【0011】
本発明の特定の実施形態は、スクリーン空間の頂点データのブロックをタイル・アクセラレータ内に集め、該頂点データ間の空間的な関係を利用することによって、データを格納するのに必要な記憶量及び帯域幅量を低減する。これは、基点値のセットを決定し、頂点の属性を基点値を基準にしたデルタ(或いは、差分)値として格納することによってなされる。
【0012】
また、好ましい実施形態は、表示リスト内にあるインデックス付きプリミティブを簡潔に記述している仕組みを使用し、この仕組みは、参照場所を保存すると同時に、細片のような従来の方法を上回って頂点をシーン内で再利用することができる回数を改善する。
【0013】
本発明は、添付の請求項に一層正確に示され、その様々な態様において定義されており、ここで参照されたい。
【0014】
ここで、添付図面を参照しながら、本発明の特定の実施形態を例示的に以下に詳しく説明する。
【0015】
【発明の実施の形態】
図2は、本発明の実施形態における頂点データの圧縮を用いたタイル・アクセラレータの処理段階及びデータの流れを示す。
【0016】
入力データ100は、レンダリングされるシーンの記述を含む。これは、シーンを定義する複数の頂点と、これらの頂点を直線及び三角形のようなプリミティブ・オブジェクトへ組み立てる方法の記述と、これらをレンダリングする方法を記述するステート情報とを含む。このステート情報は、プリミティブ・オブジェクトのラスタライズ、テクスチャリング、及びシェーディングの方法に関する情報を含む。実施形態において、このステート情報は、両方とも業界標準のアプリケーション・プログラミング・インターフェースであるOpenGL及びDirect Xによって仕様が定められるステートを含む。
【0017】
タイル・アクセラレータ101は、入力データ内のレンダリングコマンドのリストに従って頂点を読み取って、処理を行う。
【0018】
図3は、入力データの可能な構成を示す。レンダリングコマンド300は、描かれるべき2つの三角形があることを示し、ステート情報は、これらの三角形がどのようにレンダリングされるべきかを定義する。この構成において、アプリケーションは、2種類の三ビットインデックス301及び302を得て、その各々が、どの頂点303がそれぞれの三角形を構成しているかを記述する。
【0019】
また、三角形の細片或いは扇形を記述するインデックスのリストのような、頂点のリストからプリミティブがどのように組立てられるべきかを記述するための別の構成も可能である。また、四分円及び直線のような、別の型式のプリミティブに関する記述は、より少ない或いは追加的なインデックス値を使用することによって可能である。特定の構成においては、インデックスのリストを、システムが内部的に包含し、発生させることができる。
【0020】
インデックスを使用することにより、細片を使用して可能である場合よりも極めて多くのシーン内のプリミティブが、個々の頂点を参照することが可能となることが分かる。以下に示されるように、このシステムは、インデックスを表示リスト内に小さく効率的に格納できるようにする。好ましい実施形態において、インデックスのセットは、プリミティブがどのように形成されるかを記述するために、システム全体にわたって使用される。
【0021】
レンダリングコマンドによって命令されると、図2において、このシステムは頂点を読み取り、それらを、クリップ空間座標へ変換するための変換プロセッサ200へ渡す。これにより、固定関数変換及び照明ロジックとして、或いは、頂点に対して実際に適用されたものである作業順序を利用するプログラム可能なロジックとして実行することができる。この実施形態において、変換プロセスはプログラム可能であり、プリミティブ・オブジェクトへの頂点ブレンディングと高次曲面のテセレーションとを含む。幾つかの状況によっては、レンダリングシステムへ提供される入力データは、既にスクリーン空間内にあるものとすることができ、この場合、このデータを変換する必要がない。幾つかの実施形態においては、頂点データがレンダリングシステムに提供される前に常に変換を実行することができ、変換機能は全く必要でないものとすることができる。
【0022】
クリッピング及びカリング201は、変換された頂点及びインデックス情報を取り、プリミティブが前面又は背面に面しているかに基づいて、前部、後部或いは任意のクリップ面に対するクリッピングと、カリングとをプリミティブに対して実行する。この実施形態においては、スクリーン空間への頂点の最終変換は、ここで実行される。
【0023】
タイル化ユニット202は、このクリッピング及びカリングプロセスからインデックスと頂点とを受け取る。この変換され、クリップリングされた頂点は、頂点バッファ203内に置かれ、インデックスは、インデックスバッファ204内に置かれる。このタイル化プロセスは次いで、このインデックスを使用して対応する頂点のスクリーン座標をバッファから取り出して、データがどのタイルをバッファ効果内に含んだかを決定する。
【0024】
実施形態において、頂点バッファは16の頂点まで、インデックスバッファは96のインデックスまで格納することができる。これらのバッファが満杯の場合、頂点バッファの内容は圧縮プロセス207へ送られ、インデックスは、表示リストの制御部分205へ送られる。図4は、頂点及びインデックスをこれらのバッファへ追加するために使用されるプロセスを示す。
【0025】
図4のプロセスは、500において、次のプリミティブに関する新規のインデックスを受け取り、501で、この新規のインデックスがインデックスバッファに適合するか否かを決定する。これらが適合しない場合には、ステップ502において、インデックスバッファの内容は表示リストへフラッシュされ、頂点バッファの内容は圧縮ユニット207へフラッシュされる。このプロセスは次に、新規のインデックスがインデックスバッファに適合する場合に、ステップ501から直接同様に到達できるステップ503に移動する。この段階では、この新規のインデックスが、インデックスバッファの内容と比較され、この新規のインデックスによって参照されるどの頂点が、現在の頂点バッファ内に存在しないかに関して決定される。この後、503において決定された新規の頂点が、頂点バッファに適合するか否かに関して、504で決定される。これら新規の頂点が適合しない場合には、ステップ505において、インデックスバッファの内容は表示リストへフラッシュされ、頂点バッファの内容は圧縮ユニット207へフラッシュされる。このプロセスはその後、また同様にこの新規の頂点が、頂点バッファに適合しない場合にステップ504から移動するステップ506へ移り、次に新規のインデックスがインデックスバッファに追加される。このプロセスは、新規の頂点が取り出されて頂点バッファへ追加されるステップ507で完了する。
【0026】
頂点バッファ内の各頂点は、関連する多くの属性を有することができる。好ましい実施形態において、各頂点は、4つの位置属性(X、Y、Z、W)、ベース及びオフセット色と称される2つのグループの色属性(R、G、B、A)、8つのグループであるテクスチャ座標(U、V、S、T)、及びフォグ値とからなる、45のIEEE浮動小数点規格の属性値を有する。図5は、頂点バッファの編成を示す。
【0027】
頂点位置400は、頂点のスクリーン空間座標を示す。このデータは、シーンをラスタライズするのに必要とされ、オブジェクトの視認性を決定する。ベース色及びオフセット色401と、テクスチャ座標402と、フォグ値403とを含む残りのデータは、テクスチャリング及びシェーディングの間に使用される。
【0028】
このシステムは、Zが目から頂点によって表される点までの距離を表すように、或いは、Zが前平面からの距離であるように、構成されることができる点に留意されたい。
【0029】
タイル化プロセスの間、プリミティブは、該プリミティブが完全に画面から外れており、或いはピクセルが抽出されるようになっている点をどこもカバーしないので、カリングを行うことができる。プリミティブをカリングした後、このタイル化プロセスは、残りのプリミティブのインデックスを調べ、どの頂点を更に参照するかを決定する。この情報は、マスクの形で圧縮プロセスへ前送りされる。マクロタイル化が使用される場合には、この情報を頂点バッファ効果の内容である各マクロタイル用に、マクロタイル基準相当で圧縮モジュールへ渡すことができることに留意されたい。
【0030】
頂点バッファ内に格納可能な頂点数の限界、又はタイル化においてバッファリング可能なインデックス数の限界、或いは、プリミティブの最後の頂点、又はシーンの最後に至った場合には、頂点バッファの内容はフラッシュされて、圧縮プロセスへ送られ、プリミティブを記述するインデックスが、表示リストの制御部分205に書き込まれる。
【0031】
ステート情報は、タイル化プロセスによって、この表示リストの制御部分内に置かれる。好ましい実施形態において、システムに対する入力データのステート情報には、1から63までのタグが付けられる。タイル化プロセスは、現在のタグと、各タイルに書き込まれた最終ステートのタグとを記録する。プリミティブが特定のタイルをもたらすと決定される場合には、該タイルに書き込まれた最終タグは、現在のタグと対比される。番号が一致しない場合には、このステート情報は、該タイルの制御データへ挿入され、該タイルに関する最終タグが更新される。各フレームの開始時、又は63のタグがシステムへ送られた後、各タイルに書き込まれた最終タグの記録はクリアされてゼロになる。
【0032】
図6は、表示リスト編成を示す。表示リスト内の各タイルは、制御データの自己ストリームを有する。領域アレー706は、各タイルに関する制御データの先頭に対するポインタを保持する。
【0033】
制御データ及び頂点データを含む表示リストの部分は、典型的にはメモリページと同じ大きさであるメモリブロック700へ分割される。タイル化プロセスの間、タイル毎の制御データ706は、メモリブロック内の昇順アドレスへ書き込まれ、頂点データのブロック703は、降順メモリアドレス内へ書き込まれる。
メモリブロック内の全アドレススペースが使用された場合には、新しいメモリブロックが割り当てられる。このようにして、頂点データが、参照する制御データと同一のメモリブロック内へ格納されることができるので、参照する場所が改善される。
【0034】
タイル化プロセスの間、メモリアレーは、各タイルに関する制御データが付加されるべきメモリブロックの、表示リスト内の場所を記録するために使用される。マクロタイル化の場合には、マクロタイル毎に埋められている一つのメモリブロックがある。
【0035】
制御データは、ステート情報701と、頂点ブロックポインタ702と、インデックス704と、ストリームポインタ705とを含む。
【0036】
実施形態において、ISPによって必要とされるだけであるステート情報は、制御データ内へ直接格納される。TSPによって必要とされるステート情報は、一旦表示リスト内へ書き込まれ、該ステート情報に対する参照は、制御データ内に置かれる。
【0037】
TSPステート情報のために必要とされる表示リストの記憶量を減少させるため、該TSPステート情報は、3つの部分に分割される。即ち、多数のオブジェクト全体にわたって共有されるオブジェクトステートと、通常は頻繁に変化するテクスチャステートと、概して大きいが、多くのオブジェクト全体にわたって共有されるブレンディングステートである。このようにして、テクスチャステートは、その都度大きなブレンディングステートを複製する必要無しに頻度を変えることができる。
【0038】
頂点ブロックポインタは、プリミティブを描くために引き続き使用されることになる頂点データのブロックを識別する。好ましい実施形態において、これは描かれるプリミティブの型式に関するバッファからの記述を含む。これは、線、点、塗りつぶされた三角形、及び輪郭だけの三角形を含む。
【0039】
表示リストの記憶量を減少させるため、制御データ内へ書き込まれるインデックスは、ゼロと頂点バッファ内に格納された頂点数との間の範囲内で、連想記憶を使用してマッピングされる。実施形態において、制御データ内に書き込まれるインデックスは、4ビット値である。
【0040】
タイル用の制御データは、連続的なメモリアドレスの形でメモリブロックへ書き込まれる。各メモリブロックは、複数のタイル用の制御データを含むことができ、タイル用の制御データは、複数のメモリブロックにまたがることができる。
各一連の制御データの最後において、このタイル化プロセスは、表示リスト内の、制御データが連続するアドレスを識別するため、或いは、タイル用の制御データの最終を示すためのいずれの目的としても、ストリームポインタを挿入する。
【0041】
図2における圧縮ユニット207は、頂点バッファ内に格納される頂点の属性を調べ、該頂点の記憶装置及びメモリ帯域幅要件を低減させるために、該頂点の間の空間的な関係を利用することを試みる。実施形態において、属性のブロックは、該ブロックを基点値に対するデルタ値すなわち差分値として格納することによって圧縮される。ブロック内の全頂点に対する基点値及びデルタ値は、表示リスト内の頂点データへ格納される。
【0042】
図7は、頂点属性を圧縮するプロセスを示す。このプロセスは、圧縮されるべき各頂点用の各属性に対して実行される。この結果は、各セットの属性が、デルタ値と基点値とのセットとして圧縮形式の形で書き出されるか、或いは、32ビットIEEE浮動小数点値(R、G、B及びA属性を除く全属性に対して)と8ビット整数値(R、G、B及びA属性に対して)とのセットとして、生の「非圧縮」形式の形で書き出されるかのいずれかである。タイル・アクセラレータは、可能な属性の部分集合のみを処理するように構成されることができる点に留意されたい。また、実施形態において、フォグ値は、圧縮されないが、しかしながら、他の属性に対するのと同様に処理することもできる。
【0043】
600において、どの属性が処理されるべきかを示す、タイル化からのマスク・ビットのセットと共に、頂点バッファから属性のセットを受け取る。
【0044】
601において、対応するマスク・ビットを有さない属性は、これ以降の処理から切り捨てられる。このシステムの幾つかの実施形態において、このマスクは使用されず、この場合、全ての属性が常に処理される。
【0045】
602において、属性値は、特定量の小数精度に低減され、それはスナッピングと称される。保持される精度量は、属性の型式及び、圧縮プロセスがどのように構成されてきたかによって異なる。該実施形態に関して、表1は、切捨てられる属性と、保存される小数ビット又は仮数ビット数とを示す。
【表1】
表1
【0046】
スクリーン空間内の位置は、通常は整数値座標で抽出され、変換の間に精度が低下するので、X、Y用に保存される小数ビットの数を比較的小さいものとすることができる。Zに人為的に影響を与えないように、Zを十分な精度に維持する必要がある。
【0047】
テクスチャ座標に関しては、保存される小数ビット数は、設定可能である点に留意されたい。圧縮は通常、log2(dim)+8の小数ビットを保持するように設定される。ここで、dimは、その属性と関連するテクスチャ・マップのテクセルにおける最大寸法であり、log2は、2を底とする対数である。保存される小数ビット数は、精度を犠牲にして圧縮比を大きくする目的で低減することができる。
【0048】
実施形態において、0と1.0との間の、浮動小数点の色値は、符号なしの8ビット整数値に変換され、255又は256と乗算されて、保持される。
【0049】
圧縮プロセスは、特定の属性の圧縮を無効とするように設定することができる。これにより、属性をそのままの形式で保存するように強制するので、スナッピングは何も実行されない。
【0050】
603において、スナッピングされた属性セットの最小値と最大値とが決定される。
【0051】
604において、この最小値は、基点値として選択される。
【0052】
テクスチャ・マップは、小数部分のみ、時にはテクスチャ座標の奇数/偶数値が有効であるように抽出されることが多い。このようにして使用されるテクスチャ座標に対しては、圧縮プロセスは、基点値の最有効ビットを切り捨てるように設定することができ、これは、1又は2の倍数を加算或いは減算することと等価であり、従って、該最有効ビットをゼロに近づけることができる。このようにしてテクスチャ座標基点値の大きさを低減することにより、テクスチャ座標基点に必要とされる記憶量を低減することができる。
【0053】
マクロタイル化が実行されている場合、X及びY属性は、両属性から減算されるマクロタイルの基点に最も近い場所にマクロタイルコーナを有することができる。
【0054】
幾つかの属性は、圧縮形式で表すことができる基点値の大きさに関して制限を有することができる。好ましい実施形態において、テクスチャ座標基点値は、−216と216との間の値に制限され、Z、W及びT基点値は、正数に制限される。
【0055】
605において、圧縮プロセスは、基点値を表すことができるかどうかを決定する。テクスチャ座標基点値が、表示可能な範囲の外にある場合には、属性は圧縮されずに、属性の「生」の32ビットIEEE形式浮動値が、611において表示リスト内へ格納される。
【0056】
圧縮メモリ形式の符号化及び復号化を簡単にするため、属性を生の形式で格納するように決定することはまた、関連する属性を生の形式で格納することを強制することができる。例えば、圧縮プロセスが、X、Y又はZの何れかを生の形式で格納することを決定する場合、セット内の全ての属性を生の形式で格納することができる。同様に、テクスチャ座標の各グループに対して、U、V、S又はTの何かを生の形式で格納する場合、該グループに対する全てのテクスチャ座標の属性も、生の形式で格納できる。
【0057】
属性のセットが生の形式で格納される場合には、基点値は使用されない点に留意されたい。
【0058】
606において、各属性の最大デルタ値のすなわち差分値は、最大値から最小値を減算することによって計算される。
【0059】
607において、各属性に対する最大デルタ値の大きさが調べられ、該デルタ値が、圧縮形式で表されることができる最大値を超えるか否かを決定する。
【0060】
好ましい実施形態において、X、Y、U、V及びS属性全てに対する圧縮形式のデルタ値は、固定小数点のデルタ値として格納される。表2は、圧縮形式ではデルタを表すことができない大きさを示す。
【表2】
表2
【0061】
色デルタ値R、G、B及びAは、0から255までの範囲にある整数量である。好ましい実施形態において、色デルタ値のグループは、単一の16ビット・ブロック内に格納される。このA属性が全て255とは限らない場合には、R、G、B及びAデルタ値を表すことができない大きさは、24である。A属性が全て255である場合には、R及びBに対する値は25であり、Gに対しては26である。
【0062】
Z、W及びT属性は、浮動小数点値として格納される。デルタ値は、基点の指数に対する仮数値として格納される。デルタ値内に保存される仮数ビット数は、スナッピング時に使用される数と同一である。基点は最小値であるので、この指数に対する仮数値を格納することは、全ての可能な仮数精度を保存することである点に留意されたい。
【0063】
608において、最大デルタ値の大きさは、圧縮形式で格納されるように、属性デルタのサイズを決定するのに使用される。好ましい実施形態において、各セット内の全ての属性に対するこの圧縮形式は、同様のデルタ・サイズを有し、X、Y、Z、W、U、V、S及びTに対しては0、8又は16ビット、色のグループに対しては16ビットとすることができる。これは、ブロック内の各頂点が同一サイズであることを意味する点に留意されたい。
【0064】
609において、各属性に対するデルタ値は、各属性の値から基点値を減算することによって計算される。保存されるビット数は、上述の説明の通りである。
【0065】
610において、属性のセットは、デルタ値及び基点値のセットとして圧縮形式で表示リスト内へ書き込まれる。
【0066】
611において、属性のセットは、32ビットIEEE浮動値のセットとして生の形式で表示リストへ書き込まれる。
【0067】
図8は、表示リストメモリ内の各頂点データブロックに対する頂点データを、圧縮プロセスがどのように編成しているかを示す。
【0068】
頂点データの最初の部分は、頂点形式700である。これは、頂点データ形式の一部を記述している。好ましい実施形態において、これは即ち、X、Y及びZ属性が、生の形式又は圧縮形式のいずれで格納されているかを示すフラグと;圧縮形式のデルタX704、デルタY705及びデルタZ706が、8ビットデルタ値又は16ビットデルタ値のいずれであるかを示す3つのフィールドと;W基点707、ベース色基点708、オフセット色基点709が存在するか否かを示す3つのフラグと;存在するテクスチャ座標形式710の数を示すフィールドと;Wデルタ715値が、0、8、又は16ビット・デルタ値のいずれか、或いは32ビットの生の値であるかを示すフィールドと;ベース・デルタ716及びオフセット・デルタ717が、0、8、又は16ビット・デルタ値のいずれか、或いは32ビットの生の値であるかを示す2つのフィールドと;フォグ719値が存在するか否かを示すフラグとを含む。
【0069】
頂点データの第2の部分750は、頂点に対する位置情報を含む。
【0070】
X、Y及びZ属性が圧縮形式で格納されている場合、この頂点形式の後には、604で決定されたように、X基点701、Y基点702及びZ基点703の値が続く。基点値に続いて、この頂点データは次に、609で決定されたように、ブロック内の全ての頂点に対する、Xデルタ値、Yデルタ値及びZデルタ値を含む。
【0071】
X、Y及びZ属性が生の形式である場合には、X基点、Y基点及びZ基点の値は使用されず、頂点形式の後にはブロック内の全ての頂点に対する生の形式のX、Y及びZ属性値が続く。幾つかの実施形態において、X基点、Y基点及びZ基点は、常時存在するものとすることができる。
【0072】
頂点データの第3の部分751は、頂点のテクスチャリング及びシェーディングに必要なデータを含む。幾つかの実施形態において、頂点がテクスチャリング又はシェーディングを必要としない場合には、該第3の部分は存在しないものとすることができる。
【0073】
604で決定されたように、W基点707、ベース色基点708、オフセット色基点709は、Wに対する基点値と、ベース色及びオフセット色に対するR、G、B及びA基点値とを含む。これら基点値は、頂点形式内の対応するフラグが設定されている場合にだけ存在する。
【0074】
ゼロ又はそれ以上のテクスチャ座標形式が存在してもよい。各々は、U、V、S及びT属性のグループに対する形式を記述する。好ましい実施形態において、これは、このグループに対するU、V及びS属性が、生の形式か又は圧縮形式のいずれで格納されるかを示すフラグと;このグループに対するUデルタ値、Vデルタ値及びSデルタ値が、8ビット又は16ビットのいずれであるかを示す3つのフィールドと;S及びT属性が存在するか否かを示す2つのフラグと;Sデルタ値及びTデルタ値が、8ビット又は16ビットであるかを示す2つのフィールドとを含む。
【0075】
各テクスチャ座標形式の後には、604で決定されたように、U基点値711、V基点値712、S基点値713及びT基点値714が続く。好ましい実施形態において、このU基点値、V基点値及びS基点値は、1つの符号ビットと、4つの指数ビットと、11の仮数ビットとを有する16ビットの浮動小数点数として格納され、T基点は、32ビットIEEE形式の浮動小数点数として格納される。
【0076】
このテクスチャ座標形式並びにU基点、V基点、S基点及びT基点データの後に、残りの属性に対する頂点毎のデータが続く。これは、Wデルタ715、ベース色デルタ716、オフセット色デルタ717、フォグ718を含み、またテクスチャ座標属性の各グループに対しては、Uデルタ719、Vデルタ720、Sデルタ721及びTデルタ722が存在する。幾つかの実施形態において、これらの値は、頂点形式又はレイヤ形式内の対応するビットが設定されている場合にのみ存在する。
【0077】
頂点位置データは、ISPがタイル毎の制御データを表示リストから取り出すと解凍される。図9は、シーンの各タイルに対して実行されるプロセスを示す。
制御ストリームの取り出しを開始するため、制御ストリームデータのポインタは、領域アレー内に格納されているアドレスから、制御ストリームデータの開始点に初期設定される。900において、制御ストリームのポインタによって示されたアイテムが読み込まれ、該ポインタは、増分して次のアイテムを示す。901において、読み込まれたアイテムは、制御ストリームが最後に至ったかどうかを決定するために調べられる。最後に至った場合には、このタイルに対するISPデータ取り出しは完了し、シーンの次のタイルが処理されなければならないか、又はシーンのレンダリングが完了であるかのいずれかである。ストリームが最後に至っていない場合には、続いて902において、該アイテムがストリームポインタであるか否かを決定するために調べられる。ストリームポインタである場合には、続いて903において、この制御ストリームデータのポインタは、示されたアドレスに更新され、制御はステップ901に戻る。該アイテムがストリームポインタではない場合には、904において調べられて、ステートであるか否かが決定される。ステートである場合には、該ステートデータは、905において記録され、制御はステップ901へ戻る。該アイテムがステートではない場合には、906において調べられて、頂点ブロックポインタであるか否かが決定される。頂点ブロックである場合、続いて基点データが、907において頂点ブロックから読み込まれ、制御はステップ901へ戻る。該アイテムが頂点ブロックポインタでない場合には、該アイテムはインデックスでなければならない。この場合、該インデックスに対応するデルタ値は、頂点ブロックから取り出される。頂点の属性は、基点値に対してデルタ値を加算することによって再構成される。
【0078】
頂点を解凍するために必要なデータは、この頂点に対する基点値とデルタ値とからなる点に留意されたい。このようにして、ブロック内にある他の全ての頂点を形成するデータを取り出す必要も無く、単一の頂点を取り出すことができる。
【0079】
実施形態において、Z、W及びT基点値は、正数であるように制限される。圧縮プロセスに関する別の実施形態において、Z、W及びT属性のセットの符号が記録され、圧縮プロセスは、上述のように、属性の絶対値に対して実行される。
これら属性の各々に対して、圧縮形式が選択される場合には、元の属性の符号を含む追加のビットが、頂点データ内の各属性デルタ値と共に記録される。これにより、圧縮された浮動小数点値が、該浮動小数点値の符号を維持することが可能になる点に留意されたい。生の形式が選択される場合には、頂点データ内へ書き込まれるこの値は、元の符号を含む。
【図面の簡単な説明】
【図1】上述の従来技術のレンダリングシステムである。
【図2】本発明を具現化するタイル・アクセラレータのブロック図である。
【図3】図3の実施形態内部の入力データ編成を示す。
【図4】本発明の実施形態におけるタイル化によるインデックス処理のフロー図を示す。
【図5】図2のタイル・アクセラレータ内の頂点バッファ編成の構造を示す。
【図6】本発明実施形態における表示リストの編成を概略的に示す。
【図7】属性がどのように圧縮されるかを示すフロー図である。
【図8】頂点編成の更に詳細な図である。
【図9】頂点データの読み出し及び解凍に関するフロー図である。
【符号の説明】
100 入力データ
200 変換
201 クリッピング及びカリング
202 タイル化
203 頂点バッファ
204 インデックスバッファ
205 制御
207 圧縮
208 頂点データ
Claims (21)
- オブジェクトプリミティブを定義するための、頂点データと、関連する属性データと、前記頂点データを示すインデックスデータとを含む、レンダリングされるべきシーンに関するオブジェクトデータを受け取るための手段と、
レンダリングされるべき前記シーンを複数の矩形領域へ更に分割するための手段と、
前記シーン内の各矩形領域に関するオブジェクトデータを組立てるための手段と、
前記シーン内の各矩形領域に関する前記オブジェクトデータを圧縮するための手段と、
前記オブジェクトデータを読み出し、解凍するための手段と、
表示するために、前記オブジェクトデータをシェーディングし、テクスチャリングするための手段と、
を含み、
前記圧縮手段が、各頂点に関する基点を基準にした差分データを得るための手段を含み、表示リストメモリが、前記基点と差分データとを格納し、前記差分データを得るための手段が、前記関連する属性データから基点を決定し且つ各頂点に関して基点を基準にして前記差分データを得、
前記オブジェクトデータを組立てるための手段が、インデックスデータが格納されるインデックスバッファと、頂点データが格納される頂点バッファとを含み、
前記属性が、基点値及び差分値に圧縮された位置データを含み、
前記圧縮されたテクスチャ属性が、浮動小数点値として格納されており、
入ってくるデータに関連付けられたタグ値が、矩形領域と関連付けられた現在のタグ値と一致しない場合には、前記矩形領域内へデータが挿入されることを特徴とする3次元コンピュータ・グラフィックス・レンダリングシステム。 - 前記頂点バッファの内容を前記圧縮手段へ送るための手段と、前記インデックスバッファの内容と圧縮された頂点データとを前記表示リストメモリへ送るための手段と、を含むことを特徴とする、請求項1に記載の3次元コンピュータ・グラフィックス・レンダリングシステム。
- 前記データが、前記インデックスバッファ内に格納されるデータ量に応じて、前記圧縮手段と前記表示リストに送られることを特徴とする、請求項1に記載の3次元コンピュータ・グラフィックス・レンダリングシステム。
- 前記データが、前記頂点バッファ内に格納されるデータ量に応じて、前記圧縮手段と前記表示リストに送られることを特徴とする、請求項2又は3に記載の3次元コンピュータ・グラフィックス・レンダリングシステム。
- オブジェクトプリミティブを定義するための、頂点データと、関連する属性データと、前記頂点データを示すインデックスデータとを含む、レンダリングされるべきシーンに関するオブジェクトデータを受け取るための手段と、
レンダリングされるべき前記シーンを複数の矩形領域へ更に分割するための手段と、
前記シーン内の各矩形領域に関するオブジェクトデータを組立てるための手段と、
前記シーン内の各矩形領域に関する前記オブジェクトデータを圧縮するための手段と、
前記オブジェクトデータを読み出し、解凍するための手段と、
表示するために、前記オブジェクトデータをシェーディングし、テクスチャリングするための手段と、
を含み、
前記圧縮手段が、各頂点に関する基点を基準にした差分データを得るための手段を含み、表示リストメモリが、前記基点と差分データとを格納し、前記差分データを得るための手段が、前記関連する属性データから基点を決定し且つ各頂点に関して基点を基準にして前記差分データを得、
前記表示リストメモリが、複数のメモリブロックを含み、前記表示リストメモリ内にデータを格納するための手段が、各矩形領域内の各頂点に関連付けられる制御データを前記メモリブロックの一方端から書き込むための手段と、前記同じ矩形領域のための前記制御データに関連付けられる頂点データを同じ前記メモリブロック内に前記ブロックの他方端から書き込むための手段とを含むことを特徴とする3次元コンピュータ・グラフィックス・レンダリングシステム。 - オブジェクトプリミティブを定義するための、頂点データと、関連する属性データと、前記頂点データを示すインデックスデータとを含む、レンダリングされるべきシーンに関するオブジェクトデータを受け取るための手段と、
レンダリングされるべき前記シーンを複数の矩形領域へ更に分割するための手段と、
前記シーン内の各矩形領域に関するオブジェクトデータを組立てるための手段と、
前記シーン内の各矩形領域に関する前記オブジェクトデータを圧縮するための手段と、
前記オブジェクトデータを読み出し、解凍するための手段と、
表示するために、前記オブジェクトデータをシェーディングし、テクスチャリングするための手段と、
を含み、
前記圧縮手段が、各頂点に関する基点を基準にした差分データを得るための手段を含み、表示リストメモリが、前記基点と差分データとを格納し、前記差分データを得るための手段が、前記関連する属性データから基点を決定し且つ各頂点に関して基点を基準にして前記差分データを得、
前記表示リストメモリが、複数のメモリブロックを含み、前記表示リストメモリ内にデータを格納するための手段が、各矩形領域内の各頂点に関連付けられる制御データを前記メモリブロックの一方端から書き込むための手段と、前記同じ矩形領域のための前記制御データに関連付けられる頂点データを同じ前記メモリブロック内に前記ブロックの他方端から書き込むための手段とを含み、
前記メモリブロックがそれぞれ、メモリページを含むことを特徴とする3次元コンピュータ・グラフィックス・レンダリングシステム。 - 各頂点が、該頂点に関連付けられた複数の画像属性を有し、前記圧縮手段が、前記属性を定義するデータを圧縮する手段を含むことを特徴とする、請求項1に記載の3次元コンピュータ・グラフィックス・レンダリングシステム。
- 前記属性が、テクスチャ属性、頂点位置、色及びフォグ値の少なくとも1つを含むことを特徴とする請求項6又は7に記載の3次元コンピュータ・グラフィックス・レンダリングシステム。
- 前記属性の一部だけが圧縮されていることを特徴とする、請求項7又は1に記載の3次元コンピュータ・グラフィックス・レンダリングシステム。
- 前記タグを更新するための手段を含むことを特徴とする、請求項1に記載の3次元コンピュータ・グラフィックス・レンダリングシステム。
- オブジェクトプリミティブを定義するための、頂点データと、関連する属性データと、前記頂点データを示すインデックスデータとを含む、レンダリングされるべきシーンに関するオブジェクトデータを受け取るための手段と、
レンダリングされるべき前記シーンを複数の矩形領域へ更に分割するための手段と、
前記シーン内の各矩形領域に関するオブジェクトデータを組立てるための手段と、
前記シーン内の各矩形領域に関する前記オブジェクトデータを圧縮するための手段と、
前記オブジェクトデータを読み出し、解凍するための手段と、
表示するために、前記オブジェクトデータをシェーディングし、テクスチャリングするための手段と、
を含み、
前記圧縮手段が、各頂点に関する基点を基準にした差分データを得るための手段を含み、表示リストメモリが、前記基点と差分データとを格納し、前記差分データを得るための手段が、前記関連する属性データから基点を決定し且つ各頂点に関して基点を基準にして前記差分データを得、
各矩形領域に対して複数のタグ値を関連付けるための手段を含み、
入ってくるデータに関連付けられたタグ値が、矩形領域と関連付けられた現在のタグ値と一致しない場合には、前記矩形領域内へデータが挿入されることを特徴とする3次元コンピュータ・グラフィックス・レンダリングシステム。 - 3次元コンピュータ・グラフィックス画像をレンダリングするための方法であって、
オブジェクトプリミティブを定義するための、頂点データと、関連する属性データと、前記頂点データを示すインデックスデータとを含む、レンダリングされるべきシーンに関するオブジェクトデータを受け取る段階と、
レンダリングされるべき前記シーンを複数の矩形領域へ更に分割する段階と、
前記シーン内の各矩形領域に関するオブジェクトデータを組立てる段階と、
各矩形領域に関する前記オブジェクトデータを圧縮する段階と、
各矩形領域に関する前記圧縮されたオブジェクトデータを、表示リストメモリ内に格納する段階と、前記オブジェクトデータを読み出し、解凍する段階と、
表示するための、前記オブジェクトデータをシェーディングし、テクスチャリングする段階と、を含み、
前記圧縮する段階が、各頂点に関する基点を基準にした差分データを得る段階を含み、
前記格納する段階が、前記基点データ及び差分データを前記表示リストメモリ内に格納する段階を含み、前記関連する属性データから基点を決定し且つ各頂点に関して基点を基準にして前記差分データを得る段階を更に含み、
前記表示リストメモリが、複数のメモリブロックを含み、
前記表示リストメモリ内にデータを格納する前記段階が、
各矩形領域内の各頂点に関連付けられた制御データを、前記表示リストメモリ内のメモリブロックの一方端から書き込む段階と、
同じ前記矩形領域に関する前記制御データに関連付けられた対応する頂点データを、同じ前記メモリブロック内で、前記ブロックの他方端から書き込む段階と、を含むことを特徴とする方法。 - 各矩形領域に関するオブジェクトデータを組立てる前記段階が、インデックスデータをインデックスバッファへ書き込む段階と、頂点データを頂点バッファ内へ書き込む段階と、を含むことを特徴とする、請求項12に記載の方法。
- 前記インデックスバッファの内容を、圧縮するために送り出す段階と、前記インデックスバッファの内容と圧縮された頂点データとを前記表示リストメモリへ送り出す段階と、を含むことを特徴とする、請求項13に記載の方法。
- 前記圧縮のために送り出されるデータと、前記表示リストメモリに送り出されるデータとが、前記インデックスバッファ内に格納されるデータ量に応じて送られることを特徴とする、請求項12に記載の方法。
- 圧縮のため、及び前記表示リストメモリに送り出される前記データが、前記頂点バッファ内に格納されるデータ量に応じて送り出されることを特徴とする、請求項12又は15に記載の方法。
- 各頂点が、該頂点に関連付けられた複数の画像属性を有し、前記圧縮段階が、これらの属性を定義するデータを圧縮する段階を含むことを特徴とする、請求項12に記載の方法。
- 前記属性が、基点値及び差分値に対して圧縮された位置データを含むことを特徴とする、請求項17に記載の方法。
- 前記属性が、テクスチャ座標、頂点位置、色、フォグ値の少なくとも1つを含むことを特徴とする、請求項17又は18に記載の方法。
- 前記属性の一部だけが圧縮されていることを特徴とする、請求項17、18又は19に記載の方法。
- 前記圧縮されたテクスチャ属性が、浮動小数点値として格納されていることを特徴とする、請求項19に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0207152A GB2387094B (en) | 2002-03-26 | 2002-03-26 | 3-D Computer graphics rendering system |
GB0207152.0 | 2002-03-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003296747A JP2003296747A (ja) | 2003-10-17 |
JP4564718B2 true JP4564718B2 (ja) | 2010-10-20 |
Family
ID=9933761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003068879A Expired - Lifetime JP4564718B2 (ja) | 2002-03-26 | 2003-02-06 | 3−dコンピュータ・グラフィックス・レンダリングシステム |
Country Status (4)
Country | Link |
---|---|
US (2) | US20030184555A1 (ja) |
EP (1) | EP1351195A3 (ja) |
JP (1) | JP4564718B2 (ja) |
GB (2) | GB2387094B (ja) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2378108B (en) | 2001-07-24 | 2005-08-17 | Imagination Tech Ltd | Three dimensional graphics system |
US7382368B1 (en) * | 2004-06-28 | 2008-06-03 | Nvidia Corporation | Planar z representation for z compression |
US20060022990A1 (en) * | 2004-07-30 | 2006-02-02 | Silicon Graphics, Inc. | Generating subdivision surfaces on a graphics hardware with floating-point fragment shaders |
US20060061577A1 (en) * | 2004-09-22 | 2006-03-23 | Vijay Subramaniam | Efficient interface and assembler for a graphics processor |
US20060177122A1 (en) * | 2005-02-07 | 2006-08-10 | Sony Computer Entertainment Inc. | Method and apparatus for particle manipulation using graphics processing |
JP4646712B2 (ja) * | 2005-07-05 | 2011-03-09 | パナソニック株式会社 | コンピュータグラフィックス描画方法及び描画装置 |
GB0524804D0 (en) | 2005-12-05 | 2006-01-11 | Falanx Microsystems As | Method of and apparatus for processing graphics |
GB2439129B (en) | 2006-06-12 | 2008-11-12 | Imagination Tech Ltd | Parameter compaction in a tile based rendering system |
US20080027985A1 (en) * | 2006-07-31 | 2008-01-31 | Microsoft Corporation | Generating spatial multimedia indices for multimedia corpuses |
US7764849B2 (en) * | 2006-07-31 | 2010-07-27 | Microsoft Corporation | User interface for navigating through images |
US7712052B2 (en) | 2006-07-31 | 2010-05-04 | Microsoft Corporation | Applications of three-dimensional environments constructed from images |
US7804499B1 (en) | 2006-08-28 | 2010-09-28 | Nvidia Corporation | Variable performance rasterization with constant effort |
GB2449398B (en) * | 2006-09-29 | 2009-02-11 | Imagination Tech Ltd | Improvements in memory management for systems for generating 3-dimensional computer images |
US9965886B2 (en) | 2006-12-04 | 2018-05-08 | Arm Norway As | Method of and apparatus for processing graphics |
US20080198166A1 (en) * | 2007-02-16 | 2008-08-21 | Via Technologies, Inc. | Multi-threads vertex shader, graphics processing unit, and flow control method |
GB2461821B (en) | 2007-09-12 | 2010-06-30 | Imagination Tech Ltd | Methods and systems for generating 3-dimensional computer images |
GB0723536D0 (en) * | 2007-11-30 | 2008-01-09 | Imagination Tech Ltd | Multi-core geometry processing in a tile based rendering system |
JP4955596B2 (ja) * | 2008-03-21 | 2012-06-20 | 富士フイルム株式会社 | 画像出力方法、装置およびプログラム |
US9639963B2 (en) * | 2008-12-08 | 2017-05-02 | Microsoft Technology Licensing, Llc | Command remoting techniques |
US8330766B1 (en) * | 2008-12-19 | 2012-12-11 | Nvidia Corporation | Zero-bandwidth clears |
US8319783B1 (en) | 2008-12-19 | 2012-11-27 | Nvidia Corporation | Index-based zero-bandwidth clears |
GB0823254D0 (en) | 2008-12-19 | 2009-01-28 | Imagination Tech Ltd | Multi level display control list in tile based 3D computer graphics system |
GB0823468D0 (en) | 2008-12-23 | 2009-01-28 | Imagination Tech Ltd | Display list control stream grouping in tile based 3D computer graphics systems |
GB0900700D0 (en) | 2009-01-15 | 2009-03-04 | Advanced Risc Mach Ltd | Methods of and apparatus for processing graphics |
US20110043518A1 (en) * | 2009-08-21 | 2011-02-24 | Nicolas Galoppo Von Borries | Techniques to store and retrieve image data |
EP2309648A1 (en) | 2009-09-14 | 2011-04-13 | Thomson Licensing | Method for encoding floating-point data, method for decoding floating-point data, and corresponding encoder and decoder |
US8810592B2 (en) * | 2009-10-09 | 2014-08-19 | Nvidia Corporation | Vertex attribute buffer for inline immediate attributes and constants |
KR101609266B1 (ko) | 2009-10-20 | 2016-04-21 | 삼성전자주식회사 | 타일 기반의 랜더링 장치 및 방법 |
US8619085B2 (en) * | 2010-03-08 | 2013-12-31 | Broadcom Corporation | Method and system for compressing tile lists used for 3D rendering |
GB201004673D0 (en) * | 2010-03-19 | 2010-05-05 | Imagination Tech Ltd | Processing of 3D computer graphics data on multiple shading engines |
GB201004675D0 (en) | 2010-03-19 | 2010-05-05 | Imagination Tech Ltd | Memory management system |
GB201007348D0 (en) | 2010-04-30 | 2010-06-16 | Imagination Tech Ltd | Programmable tessellation in a tile based rendering system |
GB2483502B (en) * | 2010-09-10 | 2014-05-07 | Imagination Tech Ltd | Random accessible lossless parameter data compression for title based 3D computer graphics system |
KR101681056B1 (ko) | 2010-10-01 | 2016-12-01 | 삼성전자주식회사 | 정점 처리 방법 및 장치 |
JP5670723B2 (ja) * | 2010-12-27 | 2015-02-18 | 株式会社ディジタルメディアプロフェッショナル | 画像処理装置 |
KR101773396B1 (ko) | 2011-02-09 | 2017-08-31 | 삼성전자주식회사 | 데이터를 압축 해제하는 그래픽 처리 장치 및 방법 |
US8605333B2 (en) * | 2011-05-24 | 2013-12-10 | Eastman Kodak Company | Depositing texture on receiver |
CN103999043B (zh) * | 2011-12-15 | 2017-06-27 | 英特尔公司 | 用于在三维流水线中增强多视图性能的技术 |
US9153058B2 (en) | 2012-02-29 | 2015-10-06 | Adobe Systems Incorporated | Dynamic splitting of content |
CN105894548B (zh) * | 2012-04-18 | 2019-09-24 | 苏州超擎图形软件科技发展有限公司 | 空间数据渐进传输的有关方法与装置 |
JP5910310B2 (ja) | 2012-05-22 | 2016-04-27 | 富士通株式会社 | 描画処理装置及び描画処理方法 |
US9424685B2 (en) | 2012-07-31 | 2016-08-23 | Imagination Technologies Limited | Unified rasterization and ray tracing rendering environments |
US9317948B2 (en) | 2012-11-16 | 2016-04-19 | Arm Limited | Method of and apparatus for processing graphics |
US9418616B2 (en) * | 2012-12-20 | 2016-08-16 | Nvidia Corporation | Technique for storing shared vertices |
GB201223089D0 (en) | 2012-12-20 | 2013-02-06 | Imagination Tech Ltd | Hidden culling in tile based computer generated graphics |
US9293109B2 (en) | 2012-12-20 | 2016-03-22 | Nvidia Corporation | Technique for storing shared vertices |
GB2511817A (en) * | 2013-03-14 | 2014-09-17 | Imagination Tech Ltd | Rendering in computer graphics systems |
GB2513698B (en) | 2013-03-15 | 2017-01-11 | Imagination Tech Ltd | Rendering with point sampling and pre-computed light transport information |
GB2506706B (en) | 2013-04-02 | 2014-09-03 | Imagination Tech Ltd | Tile-based graphics |
KR102048885B1 (ko) * | 2013-05-09 | 2019-11-26 | 삼성전자 주식회사 | 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법 |
US10204391B2 (en) | 2013-06-04 | 2019-02-12 | Arm Limited | Method of and apparatus for processing graphics |
GB2524121B (en) * | 2014-06-17 | 2016-03-02 | Imagination Tech Ltd | Assigning primitives to tiles in a graphics processing system |
US10235338B2 (en) | 2014-09-04 | 2019-03-19 | Nvidia Corporation | Short stack traversal of tree data structures |
GB2553744B (en) | 2016-04-29 | 2018-09-05 | Advanced Risc Mach Ltd | Graphics processing systems |
US10417787B2 (en) | 2017-02-15 | 2019-09-17 | Microsoft Technology Licensing, Llc | Index buffer block compression |
US10600142B2 (en) * | 2017-11-02 | 2020-03-24 | Advanced Micro Devices, Inc. | Compression and decompression of indices in a graphics pipeline |
WO2021002657A1 (ko) * | 2019-07-04 | 2021-01-07 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
JP2022544571A (ja) * | 2019-08-14 | 2022-10-19 | エルジー エレクトロニクス インコーポレイティド | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。 |
WO2021187737A1 (ko) * | 2020-03-18 | 2021-09-23 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
US11748839B2 (en) * | 2020-04-16 | 2023-09-05 | Samsung Electronics Co., Ltd. | Efficient fast random access enabled geometry attribute compression mechanism |
US20210398325A1 (en) * | 2020-06-22 | 2021-12-23 | Advanced Micro Devices, Inc. | Delta triplet index compression |
CN114140569B (zh) * | 2022-01-27 | 2022-04-26 | 山东捷瑞数字科技股份有限公司 | 一种三维场景序列化压缩方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000165634A (ja) * | 1994-10-28 | 2000-06-16 | Seiko Epson Corp | 画像デ―タをメモリに蓄積する装置及び方法 |
JP2001209821A (ja) * | 2000-01-27 | 2001-08-03 | Mitsubishi Electric Corp | 三次元グラフィックス処理装置およびその方法 |
WO2001095257A1 (en) * | 2000-06-08 | 2001-12-13 | Imagination Technologies Limited | Tiling and compression for rendering 3d images |
JP2002008060A (ja) * | 2000-06-23 | 2002-01-11 | Hitachi Ltd | データ処理方法、記録媒体及びデータ処理装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US5621430A (en) * | 1994-08-29 | 1997-04-15 | Software Garden, Inc. | Method and apparatus for navigating multiple independent windowed images |
GB2343603B (en) * | 1998-11-06 | 2003-04-02 | Videologic Ltd | Shading 3-dimensional computer generated images |
US6266733B1 (en) * | 1998-11-12 | 2001-07-24 | Terarecon, Inc | Two-level mini-block storage system for volume data sets |
US6466217B1 (en) * | 1999-12-22 | 2002-10-15 | Intel Corporation | Method and apparatus for ensuring backward compatibility in a bucket rendering system |
US6897858B1 (en) * | 2000-02-16 | 2005-05-24 | Enroute, Inc. | Partial image decompression of a tiled image |
IL136430A0 (en) * | 2000-05-29 | 2001-06-14 | Zviaguina Natalia | Ray tracing method and system for determining visible parts of surfaces of three-dimensional objects and their parameters of shading accounting for light and shadow volumes |
US7102636B2 (en) * | 2001-03-31 | 2006-09-05 | Intel Corporation | Spatial patches for graphics rendering |
GB2378108B (en) | 2001-07-24 | 2005-08-17 | Imagination Tech Ltd | Three dimensional graphics system |
US6747649B1 (en) * | 2002-03-19 | 2004-06-08 | Aechelon Technology, Inc. | Terrain rendering in a three-dimensional environment |
-
2002
- 2002-03-26 GB GB0207152A patent/GB2387094B/en not_active Expired - Lifetime
- 2002-03-26 GB GB0520082A patent/GB2416100B/en not_active Expired - Lifetime
- 2002-06-12 US US10/171,304 patent/US20030184555A1/en not_active Abandoned
-
2003
- 2003-02-04 EP EP03250715A patent/EP1351195A3/en not_active Ceased
- 2003-02-06 JP JP2003068879A patent/JP4564718B2/ja not_active Expired - Lifetime
-
2004
- 2004-06-03 US US10/860,335 patent/US7324115B2/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000165634A (ja) * | 1994-10-28 | 2000-06-16 | Seiko Epson Corp | 画像デ―タをメモリに蓄積する装置及び方法 |
JP2001209821A (ja) * | 2000-01-27 | 2001-08-03 | Mitsubishi Electric Corp | 三次元グラフィックス処理装置およびその方法 |
WO2001095257A1 (en) * | 2000-06-08 | 2001-12-13 | Imagination Technologies Limited | Tiling and compression for rendering 3d images |
JP2003536153A (ja) * | 2000-06-08 | 2003-12-02 | イマジネイション テクノロジーズ リミテッド | 三次元イメージレンダリングのためのタイリング及び圧縮 |
JP2002008060A (ja) * | 2000-06-23 | 2002-01-11 | Hitachi Ltd | データ処理方法、記録媒体及びデータ処理装置 |
Also Published As
Publication number | Publication date |
---|---|
GB2416100B (en) | 2006-04-12 |
EP1351195A3 (en) | 2005-11-16 |
EP1351195A2 (en) | 2003-10-08 |
GB0520082D0 (en) | 2005-11-09 |
GB2387094B (en) | 2005-12-07 |
US20030184555A1 (en) | 2003-10-02 |
US20040222996A1 (en) | 2004-11-11 |
JP2003296747A (ja) | 2003-10-17 |
US7324115B2 (en) | 2008-01-29 |
GB0207152D0 (en) | 2002-05-08 |
GB2416100A (en) | 2006-01-11 |
GB2387094A (en) | 2003-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4564718B2 (ja) | 3−dコンピュータ・グラフィックス・レンダリングシステム | |
US7911480B2 (en) | Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline | |
US8681168B2 (en) | Methods of and apparatus for processing graphics | |
US7202872B2 (en) | Apparatus for compressing data in a bit stream or bit pattern | |
US8004521B2 (en) | Graphic rendering method and system comprising a graphic module | |
US8659589B2 (en) | Leveraging graphics processors to optimize rendering 2-D objects | |
JP3462211B2 (ja) | 多態グラフィック・デバイス | |
US5886701A (en) | Graphics rendering device and method for operating same | |
JP5579741B2 (ja) | タイルベースの3dコンピュータグラフィックシステムにおける表示リスト制御ストリームのグループ化 | |
US6243081B1 (en) | Data structure for efficient retrieval of compressed texture data from a memory system | |
CN107256573B (zh) | 基于图块的计算机图形 | |
WO2000019377B1 (en) | Graphics processor with deferred shading | |
EP1074945A2 (en) | Method and apparatus for controlling compressed Z information in a video graphics system | |
KR20120041769A (ko) | 화상파일 생성장치, 화상처리장치, 화상파일 생성방법, 및 화상처리방법 | |
EP3580726B1 (en) | Buffer index format and compression | |
US7791601B2 (en) | Efficient object storage for zone rendering | |
GB2496394A (en) | Jagged edge aliasing removal using multisample anti-aliasing (MSAA) with reduced data storing for pixel samples wholly within primitives | |
US8736627B2 (en) | Systems and methods for providing a shared buffer in a multiple FIFO environment | |
US6285373B1 (en) | Method and apparatus for texture transmission and storage | |
JP3104643B2 (ja) | 画像処理装置及び画像処理方法 | |
US7372466B2 (en) | Image processing apparatus and method of same | |
US6768493B1 (en) | System, method and article of manufacture for a compressed texture format that is efficiently accessible | |
US20030123089A1 (en) | Graphics state bandwidth reduction for zone rendering | |
JPH0869539A (ja) | 画像の領域エクステントを決める方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081006 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081224 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090406 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090910 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091110 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20091130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091224 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100324 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100624 |
|
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: 20100715 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100802 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4564718 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 |
|
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 |