JP2011510396A - グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト - Google Patents

グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト Download PDF

Info

Publication number
JP2011510396A
JP2011510396A JP2010543083A JP2010543083A JP2011510396A JP 2011510396 A JP2011510396 A JP 2011510396A JP 2010543083 A JP2010543083 A JP 2010543083A JP 2010543083 A JP2010543083 A JP 2010543083A JP 2011510396 A JP2011510396 A JP 2011510396A
Authority
JP
Japan
Prior art keywords
representation
basic primitive
vertex
subjecting
sorting
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.)
Pending
Application number
JP2010543083A
Other languages
English (en)
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
Priority claimed from SE0800165A external-priority patent/SE532399C2/sv
Priority claimed from SE0801742A external-priority patent/SE0801742L/xx
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2011510396A publication Critical patent/JP2011510396A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

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

Abstract

デジタル表現されたグラフィックの生成のパフォーマンスを改善する方法。本方法は:基本プリミティブの第一の表現を受領し;バーテックス位置決定に関連付けられた命令の組を提供し;前記基本プリミティブの前記第一の表現に対して、有界算術を使って前記の取得された命令の組を実行して、前記基本プリミティブの第二の表現を提供し;前記基本プリミティブの前記第二の表現を選別プロセスにかけることを含む。対応する装置およびコンピュータ・プログラム・プロダクトも提示される。

Description

本発明は、デジタル表現されたグラフィックに、より詳細にはデジタル表現されたグラフィックを生成するパフォーマンスの改善のための方法、装置およびコンピュータ・プログラム・プロダクトに関する。
コンピュータ・グラフィックのようなデジタル表現されたグラフィックは継続的にパフォーマンスを改善してきている。1980年代および1990年代には、グラフィック・アクセラレータをもつ、コンピュータおよびゲーム・コンソール用ディスプレイ・アダプターが現れ、グラフィック生成において中央処理装置(CPU)の負荷を軽減した。最初はディスプレイ・アダプターは2Dグラフィックの加速をもたらしたが、結局はディスプレイ・アダプターは加速3Dグラフィックのサポートをも含むようになった。現代のディスプレイ・アダプターは、しばしばグラフィック処理ユニット(GPU: graphics processing unit)と称される処理ユニットを使う。
3Dグラフィックの複雑さのため、今日のGPUはその処理パワーのかなりの部分を3Dグラフィックに関係する計算を実行するために使う。
ディスプレイ・アダプターに関する継続的な問題はパフォーマンスである。常に、より高いフレーム・レート(毎秒レンダリングされる画面画像数)、より高い解像度およびより高い画像品質を要求する新たなアプリケーションやゲームが登場し、その結果、各画面画像はできるだけ短い時間でレンダリングされることが要求される。換言すれば、パフォーマンスを上げることは常に重要だということである。
パフォーマンスを上げるために知られている一つの方法は、より高いクロック・スピードを可能にする、パイプライニングするまたは並列計算を活用することによってGPUの処理パワーを上げることである。しかしながら、これはしばしばより多くの発熱につながり、結果として電力消費が多くなり、GPUを冷ますためのファンの雑音が大きくなる。電力消費と発熱はモバイル装置にとっては重要な制約となり、ボトルネックとなる。さらに、各GPUのクロック・スピードには限界がある。
したがって、依然として、デジタル表現されたグラフィックにおけるパフォーマンスを改善する能力が不十分であるという問題がある。
上記に鑑み、本発明の一つの目的は、上で論じた問題を解決するまたは少なくとも軽減することである。
第一の側面によれば、本発明は、デジタル表現されたグラフィックの生成のパフォーマンスを改善する方法によって実現される。本方法は:基本プリミティブの第一の表現を受領し;バーテックス位置決定に関連付けられた命令の組を提供し;前記基本プリミティブの前記第一の表現に対して、有界算術(bounded arithmetic)を使って前記命令の組を実行して、前記基本プリミティブの第二の表現を提供し;前記基本プリミティブの前記第二の表現を選別(culling)プロセスにかけることを含む。基本プリミティブに対して選別を実行することは、基本プリミティブおよび基本プリミティブの表現がグラフィック・パイプラインの最初に破棄され得、これがパフォーマンスの利得につながるという点で有利である。さらに、完全にレンダリングされた画像において見えない表面の大半は前記プロセスにおいて後段に転送されず、これもパフォーマンスの利得につながる。換言すれば、全基本プリミティブに対して選別を実行することは、見えない表面の大半のテッセレーション(tessellation)が避けられ、これがパフォーマンスの利得につながるという点で有利である。
コンピュータ・グラフィックでは、バーテックス(vertex)は、空間内のある位置に関連付けられたデータを含む。たとえば、バーテックスは、プリミティブのコーナーに関連付けられた全データであってもよい。バーテックスは、三つの空間座標のみならず、色、反射属性、テクスチャおよび表面法線といった、オブジェクトを正しくレンダリングするために必要な他のグラフィック情報とも関連付けられる。
バーテックスの接続された集合が、プリミティブを定義するために使用できる。プリミティブ(primitive)は、たとえば、三角形、四角形、多角形〔ポリゴン〕または他の幾何学的な形であってもよく、あるいはまた、プリミティブは空間内の面または点であってもよい。三角形として表現されるプリミティブは、たとえば三つのバーテックスをもち、四角形は四つのバーテックスをもつ。
本方法は、前記基本プリミティブの前記第一の表現から少なくとも一つのバーテックスを選択し、前記少なくとも一つのバーテックスの第一の表現に対して、バーテックス位置決定に関連付けられた命令の組を実行して、前記少なくとも一つのバーテックスの第二の表現を提供し、前記少なくとも一つのバーテックスの前記第二の表現を選別プロセスにかけることを含んでいてもよく、前記選別プロセスの帰結は、前記少なくとも一つのバーテックスを選別するという決定および前記少なくとも一つのバーテックスを選別しないという決定のうちの一つを含み、前記選別プロセスの帰結が前記少なくとも一つのバーテックスを選別するという決定を含む場合に:基本プリミティブの第一の表現を受領する前記段階;バーテックス位置決定に関連付けられた命令の組を提供する前記段階;前記基本プリミティブの前記第一の表現に対して、有界算術を使って前記命令の組を実行して、前記基本プリミティブの第二の表現を提供する前記段階;および前記基本プリミティブの前記第二の表現を選別プロセスにかける前記段階を実行する。これは、パフォーマンス利得につながるので、有利である。たとえば、前記選別プロセスの帰結が、前記少なくとも一つのバーテックスを選別しないという決定である場合には、前記第一の側面による方法に比べて、キャパシティ的に高価でない方法を与える。
本方法は、前記基本プリミティブの前記第二の表現を囲むバウンディング・ボリュームを決定し;前記バウンディング・ボリュームを選別プロセスにかけることを含みうる。これは、あらかじめ設定された限界が与えられる必要がなく、バウンディング・ボリュームが自動的に決定されるという点で有利である。
本方法は、テッセレーション・プロセスを実行することを含みうる。ここで、前記テッセレーション・プロセスは、前記選別プロセスの帰結に基づく。よって、選別はテッセレーションの前に実行される。選別後にテッセレーションを実行することは、より少数の基本プリミティブがテッセレーションされるのでパフォーマンスの利得につながり、よって有利である。前記選別プロセスは、第二の表現がかけられる選別プロセスおよび/または前記バウンディング・ボリュームがかけられる選別プロセスであることができる。
本方法は、前記選別プロセスが置換可能であることを含みうる。前記選別プロセスがたとえばユーザーによって修正されてもよいという点で有利である。前記選別プロセスが置換可能であるということは、第一の側面の全実施形態に当てはまる。
本方法は、有界算術が、テイラー算術(Taylor arithmetic)、区間算術(interval arithmetic)およびアフィン算術(affine arithmetic)の群からの少なくとも一つであることを含みうる。これは、本方法が柔軟であり、種々の型の有界算術をサポートし、一つの型の有界算術に制約されないという点で有利である。テッセレーションにおいてよく使われる曲面および細分方式がしばしば多項式に基づくので、テイラー・モデルを使うことが好ましい。もう一つの利点は、多項式計算はテイラー・モデル(十分高い次数であるとする)によって厳密に表現でき、このことが非常に緊密な(tight)限界につながるということである。
本方法は、前記バウンディング・ボリュームの決定がさらに、前記第二の表現の最小および最大を計算することを含むということを含みうる。これは、バウンディング・ボリュームを決定するためのパフォーマンス効率のよい方法であるという点で有利である。
本方法は、前記第二の表現が、位置限界(positional bound)および法線限界(normal bound)の群のうちの少なくとも一つであるということを含みうる。位置限界および法線限界は、たとえば基本プリミティブの第一の表現の位置または範囲を決定するために使用されうる。さらなる利点は、位置限界および法線限界が自動的に決定されるということである。
本方法は、前記命令の組を実行することがさらに:バーテックス位置決定に関連付けられた前記命令の組から第二の命令の組を導出し、前記第二の命令の組を実行して法線限界を与えることを含むということを含みうる。これは、前記第二の組の命令が自動的に導出され、さらに法線限界が自動的に計算されるという点で有利である。
本方法は、前記バウンディング・ボリュームを前記選別プロセスにかけることがさらに、前記バウンディング・ボリュームをビュー錐台選別(view frustum culling)にかける、前記バウンディング・ボリュームを裏面選別(back-face culling)にかけるおよび前記バウンディング・ボリュームを隠蔽選別(occlusion culling)にかけることのうちの少なくとも一つを実行することを含むということを含みうる。この利点は、多くの異なる選別技法が適用可能であるということである。
本方法は、前記第二の表現(位置限界または法線限界である)を前記選別プロセスにかけることがさらに、前記位置限界をビュー錐台選別にかける、前記位置限界または前記法線限界を裏面選別にかけるおよび前記位置限界を隠蔽選別にかけることのうちの少なくとも一つを実行することを含むということを含みうる。この利点は、多くの異なる選別技法が適用可能であるということである。
本方法は、前記選別プロセスの帰結が前記基本プリミティブを破棄するという決定およびテッセレーション因子の一つを含むということを含みうる。基本プリミティブを破棄することは、レンダリングすべき基本プリミティブが一つ少なくなるということを含意し、それはパフォーマンスを高めるので、有利である。
本方法は、前記選別プロセスの帰結がテッセレーション因子を含む場合に、テッセレーション・プロセスを実行することを含みうる。これは、テッセレーションされないまたはより少なくテッセレーションされる基本プリミティブ毎についてパフォーマンスの利得があるという点で有利である。前記選別プロセスの帰結が前記基本プリミティブを破棄するという決定である場合、テッセレーション・プロセスは実行されない。
第二の側面によれば、本発明は、デジタル表現されたグラフィックを生成するよう適応された装置であって、デジタル表現されたグラフィックの生成のパフォーマンスを改善する回路を有する装置によって実現される。前記回路は:基本プリミティブの第一の表現を受領し;バーテックス位置決定に関連付けられた命令の組を提供し;前記基本プリミティブの前記第一の表現に対して、有界算術を使って前記命令の組を実行して、前記基本プリミティブの第二の表現を提供し;前記基本プリミティブの前記第二の表現を選別プロセスにかけるよう適応されている。
本発明の第二の側面は、本発明の第一の側面の特徴のいずれに対応する特徴のいかなる組み合わせを用いて具現されることもできることを注意しておく。
第一の側面の利点は、第二の側面にも等しく当てはまる。
第三の側面によれば、本発明は、コンピュータ可読記憶媒体上に記憶され、プロセッサ上で実行されたときに本発明の第一の側面に基づく方法を実行するコンピュータ・プログラム・コードを有するコンピュータ・プログラム・プロダクトによって実現される。第一の側面の利点は、第三の側面にも等しく当てはまる。
本発明の他の目的、特徴および利点は、以下の詳細な開示から、付属の請求項から、また図面から、明白となるであろう。
一般に、請求項において使われているすべての用語は、本稿において明示的に他の定義がされているのでない限り、当該技術分野におけるその通常の意味に従って解釈されるべきである。「ある/該[要素、装置、コンポーネント、手段、段階など]」というあらゆる言及は、そうでないとの明示的な陳述がない限り、そのような要素、装置、コンポーネント、手段、段階などの少なくとも一つのインスタンスに言及するオープンなものとして解釈されるべきである。本稿に開示されるどの方法のステップも、明示的に述べられているのでない限り、開示されている厳密な順序で実行される必要はない。
本発明の他の特徴および利点は、付属の図面の参照のもとに、現在のところ好ましい実施形態の以下の詳細な記述から明白となるであろう。
Berz, M., and Hoffst¨atter, G., Computation and Application of Taylor Polynomials with Interval Remainder Bounds, 『Reliable Computing』, 4, 1, 73-97, 1998 Hungerb¨uhler, R., and Garloff, J., Bounds for the Range of a Bivariate Polynomial over a Triangle, 『Reliable Computing』, 4, 1, 3-13, 1998
従来技術に基づくディスプレイ・アダプターにおいて種々のエンティティがどのように相互作用するかを示すブロック図である。 本発明のある実施形態において装置内の種々のエンティティがどのように相互作用しうるかを示すブロック図である。 本発明のある実施形態を示すブロック図である。 本発明のある実施形態を示すブロック図である。 本発明のある実施形態を示すブロック図である。 本発明のある実施形態を示すブロック図である。 本発明のある実施形態を示すブロック図である。 本発明のある実施形態を示すブロック図である。 本発明のある実施形態を示すブロック図である。 図2a〜dの装置において実行できる基本プリミティブ選別プロセスを示すフローチャートである。 図2a〜dの装置において実行できる基本プリミティブ選別プロセスを示すフローチャートである。 図3a〜bの基本プリミティブ選別プロセスを示す概略図である。 図2a〜dの装置を具現する典型的な汎用コンピュータの全体的なアーキテクチャを示す図である。
本発明は、本発明のある種の実施形態を示す付属の図面を参照しつつ以下により十全に記述される。しかしながら、本発明は、数多くの異なる形において具現されうるものであり、本稿に記載される実施形態に限定されると解釈すべきではない。これらの実施形態は、本開示が十全であり完備となり、本発明の範囲を当業者に十全に伝えるべく例として与えられているものである。同様の参照符号は全体を通じて同様の要素を指す。
図1は、当業者には既知の従来式のディスプレイ・アダプターにおける種々のエンティティがどのように相互作用するかを示すブロック図である。従来技術に基づくディスプレイ・アダプターは、テッセレータ(tessellator)120、バーテックス・シェーダー(vertex shader)130、三角形通過ユニット(triangle traversal unit)140およびフラグメント・シェーダー(fragment shader)150を含みうる。従来技術に基づくディスプレイのこれらのエンティティは当業者にはよく知られている。
テッセレータ120への入力110は基本プリミティブであり、これは三角形、四角形または他の幾何学的な形であってもよい。テッセレーションは、多くの、より小さな、しばしば接続されたプリミティブが生成されることを含意する。たとえば、基本三角形(すなわち基本プリミティブ)がテッセレータ120において基本三角形を覆う100×100の、より小さな、接続された三角形に分割される。これらのより小さな三角形のバーテックスの位置は、バーテックス・シェーダー・ユニット130において計算でき、それにより曲がった表面が形成される。
種々の型のテッセレーションが存在する。たとえば、一様テッセレーション(uniform tessellation)、部分テッセレーション(fractional tessellation)および適応テッセレーション(adaptive tessellation)である。
バーテックス・シェーダー・ユニット130は、テッセレータ120から全バーテックスについての重心座標を受信し、たとえばバーテックスの位置p(u,v)を重心座標(u,v)の関数として計算する。
三角形通過ユニット140は、接続されたコントローラによって指示されるようにポリゴンをセットアップすることを受け持つ。いかなる多角形でも使用できるが、三角形が一般に使用される。各ポリゴンについて、三角形通過ユニット140は、レンダリングされるべきポリゴンを一つまたは複数のタイルに分割する。ここで、各タイルには少なくとも部分的には前記ポリゴンが重なる。一般に、タイルは、フラグメントの群である。タイルは、いくつかのフラグメントを含む二次元長方形である。これらのフラグメントのそれぞれがピクセルに対応し、そのピクセルをレンダリングするためおよびそのピクセルが画面上にレンダリングされるべきかどうかを試験するために要求される全データを含む。タイルの一般的なサイズは8×8フラグメントであるが、任意のタイル・サイズが本発明の範囲内である。
三角形通過ユニット140のもう一つの重要なタスクは、レンダリングされる幾何学的プリミティブ(たとえば三角形)内にあるフラグメントを見出すことである。これは、当業者には既知の多様な技法を使ってできる。
フラグメント・シェーダー150は、このユニットに渡される各フラグメントについてフラグメント・シェーダー・プログラムを実行する。これらのフラグメントのそれぞれがピクセルに対応し、そのピクセルをレンダリングするためおよびそのピクセルが画面上にレンダリングされるべきかどうかを試験するために要求される全データを含む。フラグメント・データは、ラスタ位置、奥行き(depth)、色、テクスチャ座標、ステンシル、アルファ(ブレンディングのために使用される)などを含む。一つ一つの全ピクセルについて、複数のフラグメント・サンプルが存在してもよい。
フラグメントはさらに処理される。これはたとえば、以前に評価された色をテクスチャと組み合わせる、また霧のような効果を加える、また可能な場合にはレンダリングされる必要のないフラグメントを識別する、すなわちフラグメント選別のためである。
フラグメント・シェーダー150はさらに、フラグメントが目標バッファに書き込まれる前に、奥行き試験、アルファ試験およびブレンディングを実行してもよい。
従来技術に基づくディスプレイ・アダプターからの出力150はディスプレイ上に表示されうる。
ここから、本発明について述べる。
本発明に基づくデジタル表現されたグラフィックを生成するよう適応された装置の種々の実施形態について、以下で図2を参照しつつ述べる。本装置は、デジタル表現されたグラフィックの生成のパフォーマンスを改善する回路を有する。前記装置は、ディスプレイ・アダプターとして具現されてもよく、以下ではディスプレイ・アダプターと称される。
図2aは、本発明に基づくディスプレイ・アダプター205の実施形態を示すブロック図である。ディスプレイ・アダプター205は、基本プリミティブ選別回路212をなす、デジタル表現されたグラフィックの生成のパフォーマンスを改善する回路を有する。
基本プリミティブ選別回路212への入力210は、基本プリミティブの第一の表現である。コンピュータ・グラフィックの分野における幾何学的プリミティブは、通例、システムが扱える、たとえば描画または記憶することのできる原子的な幾何学的オブジェクトと解釈される。他のすべてのグラフィック要素はこれらのプリミティブから構築される。
基本プリミティブは、多くの、より小さな、三角形のような幾何学的プリミティブに分割〔テッセレーション〕できる好適な幾何学的表現である。基本プリミティブは分割されていない。基本プリミティブの例は、三角形、四角形、直線、曲線、ベジェ面などである。
ポリゴンは、接続されたバーテックスの組を使って定義される。たとえば三角形は三つのバーテックスを有し、四角形は四つのバーテックスを有する。コンピュータ・グラフィックでは、バーテックスは、三つの空間座標のみならず、色、反射属性、テクスチャおよび面法線といった、オブジェクトを正しくレンダリングするために必要な他のグラフィック情報とも関連付けられる。
基本プリミティブの第一の表現は、属性の集合であってもよい。属性の集合は、たとえば、制御点、バーテックス位置、法線、テクスチャ座標などの群からの一つであってもよい。たとえば、三角形は、三つのバーテックス位置を使って記述でき、四角形ポリゴンは四つのバーテックス位置を使って記述できる。各バーテックス位置は、法線およびテクスチャ座標といった、他の属性と関連付けられていてもよい。もう一つの例は、ベジェ三角形またはパッチであり、これは一組のバーテックス位置および制御点を使って記述できる。
基本プリミティブ選別ユニット212において、選別は、基本プリミティブに対して、および基本プリミティブの表現に対して実行される。基本選別ユニットからの出力222は、基本プリミティブが破棄されるべきであるということであってもよい。別の実施例では、出力222は、テッセレーション因子が生成されるということであってもよい。テッセレーション因子は、基本プリミティブが破棄されるべきであることを指示する値に設定されてもよい。あるいはまた、テッセレーション因子は、基本プリミティブが破棄されることができないことを示す値に設定されてもよい。さらに、テッセレーション因子は、基本プリミティブがテッセレーションされるべきではない、粗くテッセレーションされるべきである、あるいは低レートでテッセレーションされるべきであることを示す値に設定されてもよい。
基本プリミティブ選別の詳細および効果については、図3aおよび図3bとの関連でさらに後述する。
ディスプレイ・アダプター205からの出力224はディスプレイ上に表示されうる。
もう一つの実施形態では、図2bを参照するに、ディスプレイ・アダプター205は、基本プリミティブ選別ユニット212およびテッセレータ214を有する。テッセレータ214は、図1を参照して上記したテッセレータ120と同様の型であってもよい。
基本プリミティブ選別ユニット212、基本プリミティブ選別ユニット212への入力210およびディスプレイ・アダプター205からの出力224は図2aとの関連で前述した。
テッセレータ214が基本プリミティブ選別ユニット212から、基本プリミティブと、該基本プリミティブがテッセレーションされるべきではないことを示すテッセレーション因子とを受け取る場合、テッセレータは基本プリミティブをテッセレーションしない。
テッセレータ214が基本プリミティブ選別ユニット212から、基本プリミティブを受け取るが、該基本プリミティブがテッセレーションされるべきではないことを示すテッセレーション因子を受け取らない場合は、テッセレータ214は基本プリミティブをテッセレーションする。
図2cは、本発明のある実施形態において、ディスプレイ・アダプター205内の種々のエンティティがどのように相互作用しうるかを示すブロック図である。ディスプレイ・アダプター205は、基本プリミティブ選別ユニット212、テッセレータ214、バーテックス・シェーダー216、三角形通過ユニット218およびフラグメント・シェーダー220を有する。エンティティ214、216、218および220は、図1を参照して前述したのと同様の型であってもよい。
基本プリミティブ選別ユニット212、基本プリミティブ選別ユニット212への入力210およびディスプレイ・アダプター205からの出力224は図2aとの関連で前述した。
さらにもう一つの実施形態では、図2dを参照するに、ディスプレイ・アダプター205は、基本プリミティブ選別ユニット212、テッセレータ214、バーテックス・シェーダー216、三角形通過ユニット218、プログラム可能選別ユニット(PCU: programmable culling unit)226およびフラグメント・シェーダー220を有する。エンティティ214、216、218および220は、図1を参照して前述したのと同じまたは同様の型であってもよい。基本プリミティブ選別ユニット212、基本プリミティブ選別ユニット212への入力210およびディスプレイ・アダプター205からの出力224は図2aとの関連で前述した。
プログラム可能選別ユニット226では、選別は、置換可能な選別モジュールとしても知られる置換可能な選別プログラムに従って実行される。選別プログラムの詳細および効果は、非公開のスウェーデン特許出願SE0700162-1においてより詳細に説明されており、その内容はここに参照によって組み込まれる。
図2aのディスプレイ・アダプター205はさらに、基本プリミティブ探査ユニット211を有していてもよい(図2eを参照)。基本プリミティブ探査ユニット211は、基本プリミティブの少なくとも一つのバーテックスが選別されることができるかどうかを検査するよう構成される。前記少なくとも一つのバーテックスは、たとえば、基本プリミティブのバーテックスまたは基本プリミティブの中心であることができる。基本プリミティブの前記少なくとも一つのバーテックスが選別されることができない場合、そのことはその基本プリミティブが選別されることができないということを含意し、その場合、基本プリミティブ選別はキャパシティを要求するので、基本プリミティブ選別ユニット212において基本プリミティブ選別を実行しないほうがよい。
図2fに示されるように、図2bのディスプレイ・アダプター205はさらに、基本プリミティブ探査ユニット211を有していてもよい。さらに、図2cのディスプレイ・アダプター205が基本プリミティブ探査ユニット211を有していてもよい(図2gを参照)。図2dのディスプレイ・アダプター205が基本プリミティブ探査ユニットを有していてもよい(図2hを参照)。
図3aは、図2a、2b、2cおよび2dの基本プリミティブ選別ユニット212において実行されることのできる基本プリミティブ選別プログラムについてのフローチャートを示している。
ステップ310では、基本プリミティブの第一の表現が受領される。
ステップ320では、命令の組が提供される。提供された命令の組は、バーテックス位置決定と関連付けられる。バーテックス位置は、たとえば、バーテックス・シェーダー・ユニット216との関連で全バーテックスについての重心座標を使ってp(u,v)として計算される。前記命令の組は、バーテックス・シェーダー・ユニット216において実行できるバーテックス・シェーダー・プログラムから導かれるまたは取り出される。前記命令の組は、次いで、解析され、バーテックス位置を計算するために使われるすべての命令、算術命令が単離される。これらの命令は、有界算術、たとえばテイラー算術、区間算術、アフィン算術または当業者に既知の別の好適な算術に対して作用するよう再定義される。ある実施形態では、これらの命令は、(浮動小数点数ではなく)テイラー・モデルに対して作用するよう再定義され、新たな命令への入力がテイラー・モデルに再定義される。
後続のステップの理解を助けるため、テイラー・モデルの簡単な説明をしておく。
テイラー・モデルでは区間が使われ、区間について、次の記法が使用される:
Figure 2011510396
u∈[u0,u1]としてn+1回微分可能な関数f(u)を与えられると、fのテイラー・モデルはテイラー多項式Tfおよび区間残余項(^付きのrf)から構成される。ここでチルダ付きのfで記される、定義域u∈[u0,u1]上でのn次のテイラー・モデルは:
Figure 2011510396
となる。ここで、
Figure 2011510396
はテイラー多項式であり、
Figure 2011510396
は区間残余項である。この表現がテイラー・モデルと呼ばれ、定義域u∈[u0,u1]上での関数fの保守的な囲い(enclosure)である。テイラー・モデルに対する算術演算子を定義することも可能であり、その結果も保守的な囲い(もう一つのテイラー・モデル)である。単純な例として、f+gが計算され、これらの関数がテイラー・モデル
Figure 2011510396
として表されるとする。すると、その和のテイラー・モデルは、
Figure 2011510396
となる。乗算、正弦、対数、指数、逆数などのようなより複雑な演算子も導出できる。これらの演算子についての実装上の詳細は、非特許文献1に記載されている。
重心座標(barycentric coordinates)はテイラー・モデルとして:
Figure 2011510396
と再定義されてもよい。
ステップ330では、提供された命令の組が、有界算術を使って、基本プリミティブの第一の表現に対して実行される。前記命令の組のこの実行の帰結は、基本プリミティブの第二の表現である。
基本プリミティブの前記第二の表現は、テイラー・モデルであってもよく、バーテックス位置属性の多項式近似であってもよい。より具体的には、ステップ330からの出力は、四つのテイラー・モデルである位置限界:
Figure 2011510396
であってもよい。単一の成分、たとえばxについて、これは冪ベースで次のように表現できる:
Figure 2011510396
(明確のため、残余項である^付きのrfは省略した)。
ステップ330において使われる有界算術は、たとえばテイラー算術、区間算術、アフィン算術または当業者に既知の他の好適な算術であってもよい。
ある実施形態では、前記基本プリミティブの前記第二の表現は法線限界であってもよい。パラメータ表現された面について、規格化していない法線、ベクトルnは:
Figure 2011510396
として計算できる。すると法線限界、すなわち法線のテイラー・モデルは、
Figure 2011510396
として計算される。
ある実施形態では、前記命令の組を実行するステップ330は、ステップ331を含む(図3b参照)。ステップ331は、バーテックス位置決定に関連する前記命令の組から第二の命令の組を導出することを含む。前記第二の命令の組は、バーテックス・シェーダー・ユニット216において実行されるバーテックス・シェーダー・プログラムから取得され、それらの命令は解析され、バーテックス位置を計算するために使われるすべての命令、算術命令が単離される。それらの命令は(浮動小数点数ではなく)テイラー・モデルに対して作用するよう再定義され、新しい命令への入力がテイラー・モデルに再定義される。次いで第二の命令の組が、法線限界を与えるために実行される。
オブジェクトの集合についてのバウンディング・ボリューム(bounding volume)は、その集合中のオブジェクトの和集合を完全に含む閉じた体積である。バウンディング・ボリュームはさまざまな形、たとえば直方体または長方形のような箱形、球、円柱、ポリトープおよび凸包でありうる。
ある実施形態では、前記基本プリミティブの前記第二の表現を囲むバウンディング・ボリュームが決定され(図3b、ステップ350)、バウンディング・ボリュームが選別プロセスにかけられる。選別プロセスについては、ステップ340との関連でさらに述べる。
本発明のバウンディング・ボリュームは、緊密なバウンディング・ボリュームである。バウンディング・ボリュームが緊密(tight)であるとは、バウンディング・ボリュームの面積または体積ができる限り小さいが、それでも前記基本プリミティブの前記第二の表現を完全に囲んでいることを含意する。
ある実施形態では、バウンディング・ボリュームは、前記第二の表現の最小および最大を計算することによって決定される(ステップ351)。
前記基本プリミティブの前記第二の表現は、冪型のテイラー多項式であってもよい。
バウンディング・ボリュームを決定する一つの方法は、テイラー多項式の導関数を計算し、それにより前記第二の表現の最小および最大を見出すことによってであってもよい。
バウンディング・ボリュームを決定するもう一つの方法は、次のようなものであってもよい。テイラー多項式をベルンシュタイン形式に変換する。ベルンシュタイン基底の凸包属性のために多項式の実際の表面または曲線がベルンシュタイン基底において得られる制御点の凸包内にあることが保証されるという事実のため、バウンディング・ボリュームは、各次元において最小および最大の制御点値を見出すことによって計算される。式(3)をベルンシュタイン基底に変換すると、
Figure 2011510396
となり、ここで、
Figure 2011510396
は、三角形の定義域上での二変量の場合のベルンシュタイン多項式である。この変換は、非特許文献2に記載される次の公式:
Figure 2011510396
を使って実行される。
バウンディング・ボックスを計算するため、単に各次元x,y,z,wについて全pijにわたる最小値および最大値が計算される。これがクリップ空間においてバウンディング・ボックス
Figure 2011510396
を与える。ここで、各要素は区間であり、たとえば
Figure 2011510396
である。
ステップ340では、基本プリミティブの前記第二の表現は、選別プロセスにかけられる。
選別は、見えないオブジェクトまたはオブジェクト部分を描画するのを避けるために実行される。
従来技術のGPUは、テッセレーションされたポリゴン上で選別を実行する。本発明は、選別を、テッセレーションがそもそも行われる前に実行する。これはパフォーマンスの利得につながる。
このアプローチでは、上記で導出された位置限界、法線限界およびバウンディング・ボリュームは、基本プリミティブに対して異なる選別技法を適用するために使われる。
ある実施形態では、前記位置限界または前記バウンディング・ボリュームを使ってビュー錐台選別が実行される(ステップ341、図3b)。
ある実施形態では、前記法線限界、前記位置限界および前記バウンディング・ボリュームの群からの少なくとも一つを使って、裏面選別が実行される(ステップ342、図3b)。
ある実施形態では、前記位置限界または前記バウンディング・ボリュームを使って、隠蔽選別が実行される(ステップ343、図3b)。
ある実施形態では、ステップ341〜343の少なくとも一つが実行される。
以下に開示される選別技法は、限定するものと解釈すべきではなく、例として与えられるものである。当業者には、裏面選別、隠蔽選別およびビュー錐台選別が以下に述べるのとは異なるさまざまな技法を使って実行されうることは明らかである。
ビュー錐台選別は、見えるオブジェクト、すなわち現在のビュー錐台内に位置するオブジェクトだけが描画されるという事実に基づく選別技法である。ビュー錐台は、モデル化された世界において、画面上に現れうる空間領域として定義されうる。錐台の外のオブジェクトを描画することは、どうせ見えないので時間と資源の無駄になる。オブジェクトが完全にビュー錐台の外にあれば、そのオブジェクトは見えないので、破棄できる。
ある実施形態では、バウンディング・ボリュームの位置限界が、ビュー錐台の面に対して試験される。バウンディング・ボリューム(^付きのb)は均一なクリップ空間にあるので、試験はクリップ空間において実行されてもよい。面‐ボックス試験のための標準的な最適化が使用されうる。その場合、バウンディング・ボリュームはバウンディング・ボックスであり、バウンディング・ボリュームの単一のコーナーだけが面方程式を評価するために使われる。その際、各面試験は、加算および比較に帰着する。たとえば、該ボリュームが左面の外側にあるかどうかの試験は、
Figure 2011510396
を使って実行される。この試験は、位置限界
Figure 2011510396
を使って実行されてもよい。これらの試験は時間および資源効率がよいので、ビュー錐台試験を最初の試験とすることは有利である。
裏面選別は、見る者と反対側を向いているオブジェクト、すなわち法線ベクトルが見る者と反対方向であるオブジェクトを破棄する。これらのオブジェクトは可視ではなく、よって描画する必要はない。
面上の点、ベクトルp(u,v)が与えられたとき、裏面選別は、一般に:
c=p(u,v)・n(u,v) 式(8)
として計算される。ここで、ベクトルn(u,v)は(u,v)における法線ベクトルである。c>0であれば、ベクトルp(u,v)は(u,v)のその特定の値については裏向きである。よって、この公式は、単一の法線しかもたない三角形全体を選別するために使用されることもできる。ドット積のテイラー・モデル(式(5)および式(8)参照)は:
Figure 2011510396
と計算される。裏面選別ができるには、三角形領域全体にわたって
Figure 2011510396
が成り立つ必要がある。チルダ付きのcに対する下限はここでもまた、ベルンシュタイン形の凸包属性を使って保守的に推定される。これは、区間
Figure 2011510396
を与え、その三角形(これはこの時点ではまだテッセレーションされていない)は、
Figure 2011510396
であれば選別されることができる。
別の実施形態では、裏面条件が満たされているかどうかを検査するために、法線について区間限界(interval bounds)が計算される。
上記試験は、位置限界
Figure 2011510396
または代替的にバウンディング・ボリュームを使って実行されてもよい。
隠蔽選別は、隠蔽されるオブジェクトが破棄されることを含意する。以下では、バウンディング・ボックスについて隠蔽選別を記述するが、当業者には、他の型のバウンディング・ボリュームに対して隠蔽選別を実行することも可能であることは明らかである。
隠蔽選別技法は、奥行きバッファにおいて単一の追加レベルが使われる(8×8ピクセル・タイル)だけであるという点を除いて、階層的奥行きバッファリング(hierarchical depth buffering)とよく似ている。各タイルに、最大奥行き値Ztile maxが記憶される。これは、三角形をラスタ化するときに使われる、GPUにおける標準的な技法である。クリップ空間バウンディング・ボックスbは投影され、この軸整列されたボックスに重なるすべてのタイルが訪問される。各タイルにおいて、古典的な隠蔽選抜試験が実行される:Zbox min≧Ztile max。これは、この比較が満たされた場合、そのボックスが現在のタイルのところで隠蔽されることを示す。ボックスの最小奥行きZbox minはクリップ空間バウンディング・ボックスから得られ、タイルの最大奥行きZtile maxは階層的奥行きバッファ(これは現在のGPUにすでに存在している)から得られる。タイルが隠蔽されていないと見出されるとすぐに試験は打ち切ることができること、また、階層的奥行きバッファへのさらなるレベルの追加はストレートにできることを注意しておく。隠蔽選別試験は、テッセレーションされるべき三角形のバウンディング・ボックスの非常に安価な前置ラスタ化手段と見ることができる。これはタイル・ベースで作用するので、隠蔽問い合わせほど高価でない。
別の実施形態では、上記試験は、位置限界
Figure 2011510396
を使って実行されてもよい。
ある実施形態では、選別プロセスは置換可能である。これは、基本プリミティブ選別ユニット212は、ユーザー定義された選別プロセスを与えられてもよいことを含意する。
選別プロセスを実行するステップ340(および350)は、種々の帰結をもちうる。ある実施形態では、選別プロセスの帰結は、基本プリミティブが破棄されるべきであるというものであってもよい。別の実施形態では、選別プロセスの帰結は、テッセレーション因子が生成されるというものであってもよい。このテッセレーション因子は、基本プリミティブが破棄されるべきであることを示す値に設定されてもよい。あるいはまた、テッセレーション因子は、基本プリミティブが破棄されることができないことを示す値に設定されてもよい。さらに、テッセレーション因子は、基本プリミティブがテッセレーションされるべきではないことを示す値に設定されてもよい。
ある実施形態では、選別プロセスを実行するステップ340(および350)ののち、選別プロセスの実行の結果がテッセレータ214に送られる。テッセレーション・プロセスが実行される(図3b、ステップ360)。テッセレータ214が基本プリミティブと、該基本プリミティブがテッセレーションされるべきではないことを示すテッセレーション因子とを受け取る場合、テッセレータは基本プリミティブをテッセレーションしない。
テッセレータ214が、選別プロセスにおいて破棄されなかった基本プリミティブを受け取るが、該基本プリミティブがテッセレーションされるべきではないことを示すテッセレーション因子を受け取らない場合は、テッセレータ214は基本プリミティブをテッセレーションする。
図3aおよび3bとの関連で述べたステップは、本発明の装置205において実行されてもよい。
図4は、図3aおよび3bのステップの結果を示している。図4aは、基本三角形405の形の基本プリミティブを描いている。図4bは、バーテックス・シェーダー・ユニット216(およびテッセレーション周波数)によって決定される基本三角形405にわたる結果として得られる生成された面410を示している。図4cでは、基本三角形405がテイラー形式(多項式415および区間残余420、425)で表されており、こうして面410の保守的な推定が得られている。図4dでは、テイラー多項式が、効率的な範囲制限(range bounding)のために、(凸包属性を使って)ベルンシュタイン形430に展開されている。図4eでは、区間残余項420、425がテイラー・モデルからベルンシュタイン限界430に加えられ、こうして保守的な面限界445、450が得られる。
図5は、図2のディスプレイ・アダプター205を具現する典型的な汎用コンピュータ583の全体的なアーキテクチャを示している。コンピュータ583は、ソフトウェア命令を実行できる、CPUのようなコントローラ570を有する。コントローラ570は、ランダム・アクセス・メモリ(RAM)のような揮発性メモリ571およびディスプレイ・アダプター500に接続される。このディスプレイ・アダプターは図2のディスプレイ・アダプター205に対応する。ディスプレイ・アダプター500は今度はCRTモニタ、LCDモニタなどといったディスプレイ576に接続される。コントローラ570は、ハード・ドライブまたはフラッシュ・メモリのような持続性記憶装置573およびCD,DVD,HD-DVDもしくはブルーレイのような光メディアの読み出しおよび/または書き込み器のような光学式記憶装置574にも接続されている。ローカル・エリア・ネットワーク、広域ネットワーク(たとえばインターネット)、無線ローカル・エリア・ネットワークまたは無線都市圏ネットワークのようなネットワーク582へのアクセスを提供するために、ネットワーク・インターフェース581もコントローラ570に接続されている。周辺インターフェース577、たとえばユニバーサル・シリアル・バス(universal serial bus)、無線ユニバーサル・シリアル・バス、ファイアワイヤ(firewire)、RS232シリアル、セントロニクス(Centronics)パラレル、PS/2の型のインターフェースを通じて、コントローラ570はマウス578、キーボード579またはジョイスティック、プリンタ、スキャナなどを含む他の任意の周辺機器と通信できる。
本発明を具現するために上記では汎用コンピュータが記載されているが、本発明は、デジタル・グラフィック、特に3Dグラフィックが利用されるいかなる環境においても、たとえばゲーム・コンソール、携帯電話、MP3プレーヤーなどにおいても、同様によく具現できる。
本発明はさらに、ずっと汎用のアーキテクチャにおいて具現されてもよい。該アーキテクチャは、たとえば、任意の型のプログラムを実行できる多くの小さなプロセッサ・コアからなっていてもよい。これは、よりハードウェア中心のGPUとは対照的に、一種のソフトウェアGPUを含意する。
本発明は、上記で、若干の実施形態を参照して述べてきた。しかしながら、当業者にはすぐ理解されるであろうように、上記に開示されたもの以外の実施形態も、付属の特許請求項によって定義される本発明の範囲内で、同様に可能である。

Claims (15)

  1. デジタル表現されたグラフィックの生成のパフォーマンスを改善する方法であって:
    基本プリミティブの第一の表現を受領する段階と;
    バーテックス位置決定に関連する命令の組を提供する段階と;
    前記基本プリミティブの前記第一の表現に対して、有界算術を使って前記命令の組を実行して、前記基本プリミティブの第二の表現を提供する段階と;
    前記基本プリミティブの前記第二の表現を選別プロセスにかける段階とを含む、
    方法。
  2. 請求項1記載の方法であって、さらに:
    前記基本プリミティブの前記第一の表現から少なくとも一つのバーテックスを選択する段階と、
    前記少なくとも一つのバーテックスの第一の表現に対して、バーテックス位置決定に関連する命令の組を実行して、前記少なくとも一つのバーテックスの第二の表現を提供する段階と、
    前記少なくとも一つのバーテックスの前記第二の表現を選別プロセスにかける段階とを含み、ここで、前記選別プロセスの結果は
    前記少なくとも一つのバーテックスを選別するという決定および
    前記少なくとも一つのバーテックスを選別しないという決定のうちの一つを含み、
    前記選別プロセスの結果が前記少なくとも一つのバーテックスを選別するという決定を含む場合に:
    基本プリミティブの第一の表現を受領する前記段階;
    バーテックス位置決定に関連する命令の組を提供する前記段階;
    前記基本プリミティブの前記第一の表現に対して、有界算術を使って前記命令の組を実行して、前記基本プリミティブの第二の表現を提供する前記段階;および
    前記基本プリミティブの前記第二の表現を選別プロセスにかける前記段階を実行する、
    方法。
  3. 請求項1または2記載の方法であって、さらに:
    前記基本プリミティブの前記第二の表現を囲むバウンディング・ボリュームを決定する段階と;
    前記バウンディング・ボリュームを選別プロセスにかける段階とを含む、
    方法。
  4. 請求項1ないし3のうちいずれか一項記載の方法であって、さらに、テッセレーション・プロセスを実行する段階を含み、ここで、前記テッセレーション・プロセスは、前記選別プロセスの結果に基づく、方法。
  5. 前記選別プロセスが置換可能である、請求項1ないし4のうちいずれか一項記載の方法。
  6. 前記有界算術が、テイラー算術、区間算術およびアフィン算術の群からの少なくとも一つである、請求項1ないし5のうちいずれか一項記載の方法。
  7. 請求項3記載の方法であって、前記バウンディング・ボリュームを決定する段階がさらに、前記第二の表現の最小および最大を計算することを含む、方法。
  8. 前記第二の表現が、位置限界および法線限界の群からの少なくとも一つである、請求項1ないし7のうちいずれか一項記載の方法。
  9. 請求項1記載の方法であって、前記命令の組を実行する段階がさらに:
    バーテックス位置決定に関連する前記命令の組から第二の命令の組を導出する段階と、
    前記第二の命令の組を実行して法線限界を与える段階とを含む、
    方法。
  10. 請求項3記載の方法であって、前記バウンディング・ボリュームを前記選別プロセスにかける段階がさらに、
    前記バウンディング・ボリュームをビュー錐台選別にかけること、
    前記バウンディング・ボリュームを裏面選別にかけること、および
    前記バウンディング・ボリュームを隠蔽選別にかけること、
    のうちの少なくとも一つを実行することを含む、方法。
  11. 請求項8記載の方法であって、前記第二の表現を前記選別プロセスにかける段階がさらに、
    前記位置限界をビュー錐台選別にかけること、
    前記位置限界または前記法線限界を裏面選別にかけること、および
    前記位置限界を隠蔽選別にかけること、
    のうちの少なくとも一つを実行することを含む、
    方法。
  12. 前記選別プロセスの結果が、
    前記基本プリミティブを破棄するという決定および
    テッセレーション因子
    の一つを含む、請求項1ないし11のうちいずれか一項記載の方法。
  13. 請求項12記載の方法であって、前記選別プロセスの結果がテッセレーション因子を含む場合に、テッセレーション・プロセスを実行することをさらに含む、方法。
  14. デジタル表現されたグラフィックを生成するよう適応された装置であって、デジタル表現されたグラフィックの生成のパフォーマンスを改善する回路を有する装置であって、前記回路は:
    基本プリミティブの第一の表現を受領し;
    バーテックス位置決定に関連する命令の組を提供し;
    前記基本プリミティブの前記第一の表現に対して、有界算術を使って前記命令の組を実行して、前記基本プリミティブの第二の表現を提供し;
    前記基本プリミティブの前記第二の表現を選別プロセスにかけるよう適応されている、
    装置。
  15. コンピュータ可読記憶媒体上に記憶され、プロセッサ上で実行されたときに請求項1ないし13のうちいずれか一項記載の方法を実行するコンピュータ・プログラム・コードを有するコンピュータ・プログラム・プロダクト。
JP2010543083A 2008-01-23 2009-01-23 グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト Pending JP2011510396A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SE0800165A SE532399C2 (sv) 2008-01-23 2008-01-23 Förfarande, apparat och datorprogramprodukt för s kapande av digitalt representerad grafik
US6263508P 2008-01-29 2008-01-29
SE0801742A SE0801742L (sv) 2008-07-30 2008-07-30 Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda
PCT/SE2009/000022 WO2009093956A1 (en) 2008-01-23 2009-01-23 Method, apparatus, and computer program product for improved graphics performance

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012209479A Division JP5518967B2 (ja) 2008-01-23 2012-09-24 グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト

Publications (1)

Publication Number Publication Date
JP2011510396A true JP2011510396A (ja) 2011-03-31

Family

ID=40901330

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010543083A Pending JP2011510396A (ja) 2008-01-23 2009-01-23 グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト
JP2012209479A Active JP5518967B2 (ja) 2008-01-23 2012-09-24 グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012209479A Active JP5518967B2 (ja) 2008-01-23 2012-09-24 グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト

Country Status (7)

Country Link
US (4) US9947130B2 (ja)
JP (2) JP2011510396A (ja)
CN (1) CN102016928B (ja)
DE (1) DE112009000180T5 (ja)
GB (1) GB2468994B (ja)
HK (1) HK1156428A1 (ja)
WO (1) WO2009093956A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015528598A (ja) * 2012-08-09 2015-09-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated Gpuアクセラレーテッドパスレンダリング
US9619853B2 (en) 2012-08-09 2017-04-11 Qualcomm Incorporated GPU-accelerated path rendering

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010048093A2 (en) * 2008-10-20 2010-04-29 Intel Corporation Graphics processing using culling on groups of vertices
US8542492B2 (en) * 2009-12-10 2013-09-24 Richard Anthony Dunn, JR. Scalable up and down nesting integrated electronic enclosures with form factors including asteroids and/or dumbbells and/or approximated tessellation(s)/tiling(s) or combinations thereof with thermal management, wiring, sliding fit, manual and/or automated full range vertical to horizontal positioning, access and structural systems for individual modules and intra-and inter-planar stacks, columns, rows, arrays and associated infrastructures
US8144147B2 (en) * 2010-04-07 2012-03-27 Intel Corporation Hierarchical bounding of displaced parametric surfaces
GB201007348D0 (en) 2010-04-30 2010-06-16 Imagination Tech Ltd Programmable tessellation in a tile based rendering system
US20110285736A1 (en) 2010-05-21 2011-11-24 Kilgard Mark J Decomposing cubic bèzier segments for tessellation-free stencil filling
US10559123B2 (en) 2012-04-04 2020-02-11 Qualcomm Incorporated Patched shading in graphics processing
GB2509113B (en) 2012-12-20 2017-04-26 Imagination Tech Ltd Tessellating patches of surface data in tile based computer graphics rendering
US9483861B2 (en) * 2013-03-15 2016-11-01 Qualcomm Incorporated Tile-based rendering
KR102109130B1 (ko) 2013-08-12 2020-05-08 삼성전자주식회사 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들
KR102066533B1 (ko) 2013-11-19 2020-01-16 삼성전자 주식회사 도메인 쉐이딩 방법과 이를 수행하는 장치들
GB2526359B (en) * 2014-05-23 2020-07-22 Advanced Risc Mach Ltd Graphics processing systems
WO2016105218A1 (en) * 2014-12-23 2016-06-30 Intel Corporation Facilitating culling of composite objects in graphics processing units when such objects produce no visible change in graphics images
US20160259404A1 (en) 2015-03-05 2016-09-08 Magic Leap, Inc. Systems and methods for augmented reality
US10838207B2 (en) 2015-03-05 2020-11-17 Magic Leap, Inc. Systems and methods for augmented reality
US10180734B2 (en) 2015-03-05 2019-01-15 Magic Leap, Inc. Systems and methods for augmented reality
KR102381945B1 (ko) 2015-11-18 2022-04-01 삼성전자주식회사 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법
US10909711B2 (en) 2015-12-04 2021-02-02 Magic Leap, Inc. Relocalization systems and methods
KR102626821B1 (ko) 2016-08-02 2024-01-18 매직 립, 인코포레이티드 고정-거리 가상 및 증강 현실 시스템들 및 방법들
US10812936B2 (en) 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
JP7009495B2 (ja) 2017-03-17 2022-01-25 マジック リープ, インコーポレイテッド 多ソース仮想コンテンツ合成を伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
CN110431599B (zh) 2017-03-17 2022-04-12 奇跃公司 具有虚拟内容扭曲的混合现实系统及使用该系统生成虚拟内容的方法
JP7009494B2 (ja) 2017-03-17 2022-01-25 マジック リープ, インコーポレイテッド カラー仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツ生成する方法
US10614611B2 (en) * 2017-04-07 2020-04-07 Intel Corporation Apparatus and method for implementing bounding volume hierarchy (BVH) operations on tesselation hardware
US10373365B2 (en) * 2017-04-10 2019-08-06 Intel Corporation Topology shader technology
EP3827584A4 (en) 2018-07-23 2021-09-08 Magic Leap, Inc. INTRA-FIELD SUB-CODE SYNCHRONIZATION IN SEQUENTIAL FIELD DISPLAYS
JP7304934B2 (ja) 2018-07-23 2023-07-07 マジック リープ, インコーポレイテッド 仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
US10831503B2 (en) 2018-11-06 2020-11-10 International Business Machines Corporation Saving and restoring machine state between multiple executions of an instruction
US10831478B2 (en) 2018-11-06 2020-11-10 International Business Machines Corporation Sort and merge instruction for a general-purpose processor
US10831502B2 (en) 2018-11-06 2020-11-10 International Business Machines Corporation Migration of partially completed instructions
US10832465B2 (en) * 2018-12-13 2020-11-10 Advanced Micro Devices, Inc. Use of workgroups in pixel shader
US20220319091A1 (en) * 2021-03-31 2022-10-06 Advanced Micro Devices, Inc. Post-depth visibility collection with two level binning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318066A (ja) * 2005-05-10 2006-11-24 Digital Media Professional:Kk 幾何演算装置
JP2007164557A (ja) * 2005-12-15 2007-06-28 Namco Bandai Games Inc プログラム、情報記録媒体および画像生成システム
JP2007310797A (ja) * 2006-05-22 2007-11-29 Sony Computer Entertainment Inc オクルージョンカリング方法および描画処理装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2271260A (en) * 1992-10-02 1994-04-06 Canon Res Ct Europe Ltd Processing image data
GB9716251D0 (en) * 1997-08-01 1997-10-08 Philips Electronics Nv Attribute interpolation in 3d graphics
JP2975336B2 (ja) * 1998-01-09 1999-11-10 コナミ株式会社 3次元ビデオゲームにおける衝突検出方法及びこれを用いたビデオゲーム装置並びに3次元ビデオゲームにおける衝突検出プログラムを記録したコンピュータ読み取り可能な媒体
US6717578B1 (en) * 1998-02-17 2004-04-06 Sun Microsystems, Inc. Graphics system with a variable-resolution sample buffer
US6359629B1 (en) * 1998-07-06 2002-03-19 Silicon Graphics, Inc. Backface primitives culling
US7068272B1 (en) 2000-05-31 2006-06-27 Nvidia Corporation System, method and article of manufacture for Z-value and stencil culling prior to rendering in a computer graphics processing pipeline
US6462740B1 (en) * 1999-07-30 2002-10-08 Silicon Graphics, Inc. System for in-scene cloth modification
JP4253190B2 (ja) 2001-02-01 2009-04-08 メンタル イメージズ ゲーエムベーハー 細分表面における滑らかな特徴線の生成
JP4803909B2 (ja) * 2001-06-21 2011-10-26 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
US6809738B2 (en) * 2001-12-21 2004-10-26 Vrcontext S.A. Performing memory management operations to provide displays of complex virtual environments
US20030117398A1 (en) * 2001-12-21 2003-06-26 Hubrecht Alain Yves Nestor Systems and methods for rendering frames of complex virtual environments
NZ540742A (en) * 2002-11-15 2007-10-26 Sunfish Studio Inc Visible surface determination system & methodology in computer graphics using interval analysis
US20050122338A1 (en) * 2003-12-05 2005-06-09 Michael Hong Apparatus and method for rendering graphics primitives using a multi-pass rendering approach
US7400325B1 (en) * 2004-08-06 2008-07-15 Nvidia Corporation Culling before setup in viewport and culling unit
US7847798B1 (en) * 2006-10-24 2010-12-07 Adobe Systems Incorporated Clipping and culling artwork using a graphics processing unit
CN1949272A (zh) * 2006-11-23 2007-04-18 北京航空航天大学 基于视域剔除和图像缓存技术的复杂场景快速绘制方法
EP2122577B1 (en) 2007-01-24 2018-03-07 Swiftfoot Graphics Ab Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program
US7948489B1 (en) * 2007-05-30 2011-05-24 Adobe Systems Incorporated Minimizing tessellation of surfaces
CN100568289C (zh) * 2007-07-13 2009-12-09 威盛电子股份有限公司 计算机绘图元素描绘方法及装置
US8044971B2 (en) * 2008-01-31 2011-10-25 Arm Norway As Methods of and apparatus for processing computer graphics

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318066A (ja) * 2005-05-10 2006-11-24 Digital Media Professional:Kk 幾何演算装置
JP2007164557A (ja) * 2005-12-15 2007-06-28 Namco Bandai Games Inc プログラム、情報記録媒体および画像生成システム
JP2007310797A (ja) * 2006-05-22 2007-11-29 Sony Computer Entertainment Inc オクルージョンカリング方法および描画処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015528598A (ja) * 2012-08-09 2015-09-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated Gpuアクセラレーテッドパスレンダリング
US9619853B2 (en) 2012-08-09 2017-04-11 Qualcomm Incorporated GPU-accelerated path rendering

Also Published As

Publication number Publication date
HK1156428A1 (en) 2012-06-08
JP5518967B2 (ja) 2014-06-11
US20110018874A1 (en) 2011-01-27
WO2009093956A1 (en) 2009-07-30
JP2012252725A (ja) 2012-12-20
US11361498B2 (en) 2022-06-14
DE112009000180T5 (de) 2011-03-31
US11222462B2 (en) 2022-01-11
US10373370B2 (en) 2019-08-06
CN102016928A (zh) 2011-04-13
WO2009093956A8 (en) 2010-09-10
GB201012145D0 (en) 2010-09-01
US9947130B2 (en) 2018-04-17
CN102016928B (zh) 2014-01-08
US20170109921A1 (en) 2017-04-20
GB2468994B (en) 2012-11-28
US20190172253A1 (en) 2019-06-06
GB2468994A (en) 2010-09-29
US20190172254A1 (en) 2019-06-06

Similar Documents

Publication Publication Date Title
JP5518967B2 (ja) グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト
JP5111638B2 (ja) パラメトリック曲線をより小さなサブパッチに分割する装置およびその方法
US8654122B2 (en) Method, apparatus, and computer program product for improved graphics performance
US10032308B2 (en) Culling objects from a 3-D graphics pipeline using hierarchical Z buffers
US10497085B2 (en) Graphics processing method and system
US10593096B2 (en) Graphics processing employing cube map texturing
US10140750B2 (en) Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program
JP6863693B2 (ja) グラフィックス処理システムおよび方法
US20090046098A1 (en) Primitive binning method for tile-based rendering
US10592242B2 (en) Systems and methods for rendering vector data on static and dynamic-surfaces using screen space decals and a depth texture
US20100097377A1 (en) Graphics Processing Using Culling on Groups of Vertices
US20140176544A1 (en) Tessellating patches of surface data in tile based computer graphics rendering
US10249077B2 (en) Rendering the global illumination of a 3D scene
US20070268291A1 (en) Occlusion Culling Method and Rendering Processing Apparatus
US20070268290A1 (en) Reduced Z-Buffer Generating Method, Hidden Surface Removal Method and Occlusion Culling Method
KR20150060026A (ko) 이전 커맨드 정보를 이용하여 현재 커맨드를 처리하는 방법 및 장치.
JP2008305347A (ja) 干渉判定情報の生成方法及び装置
JP5106992B2 (ja) 霧効果を考慮して3次元グラフィックスデータをレンダリングする方法及び装置
JP6205200B2 (ja) ソート機能を持つ画像処理装置及び画像処理方法
SE532399C2 (sv) Förfarande, apparat och datorprogramprodukt för s kapande av digitalt representerad grafik
Knuth et al. A Hybrid Ambient Occlusion Technique for Dynamic Scenes

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120605