JP5058831B2 - 視体積の外側を分散クリッピングするための方法 - Google Patents

視体積の外側を分散クリッピングするための方法 Download PDF

Info

Publication number
JP5058831B2
JP5058831B2 JP2008005719A JP2008005719A JP5058831B2 JP 5058831 B2 JP5058831 B2 JP 5058831B2 JP 2008005719 A JP2008005719 A JP 2008005719A JP 2008005719 A JP2008005719 A JP 2008005719A JP 5058831 B2 JP5058831 B2 JP 5058831B2
Authority
JP
Japan
Prior art keywords
clipping
module
primitive
vertices
plane
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
JP2008005719A
Other languages
English (en)
Other versions
JP2008181514A (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 JP2008181514A publication Critical patent/JP2008181514A/ja
Application granted granted Critical
Publication of JP5058831B2 publication Critical patent/JP5058831B2/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/10Geometric effects
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

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

Description

〔技術分野〕
本発明は、一般的には、コンピュータシステムの分野に関し、より詳細には、3Dコンピュータグラフィックスプロセッサーに関する。
〔関連出願の相互参照〕
本出願は、発明の名称が“HIERARCHICAL TILE−BASED RASTERIZATION ALGORITHM”である2006年11月3日に出願された米国特許出願第11/592,799号(代理人整理番号第GIQUILA−P001号)に関し、その明細書は、本明細書に組み込まれる。
3Dコンピュータグラフィックスにおいては、視錐台は、2Dスクリーン空間(以下、スクリーン空間と呼ぶ)によって表現されるコンピュータ表示スクリーン上に表示できるモデル化された世界における3次元空間の領域である。視錐台の正確な形状は、様々であってもよく、例えば、その形状は、直方体、四角錐、または、その他の適切な幾何学的形状であってもよい。一例においては、視錐台は、6つの平面、すなわち、近平面、遠平面、+X平面、−X平面、+Y平面、および、−Y平面によって形成されてもよい。視線方向に垂直に視錐台を切り取る平面は、近平面および遠平面と呼ばれ、それらは、また、近Z平面および遠Z平面と呼ばれてもよい。
視錐台内の3Dオブジェクトは、ポリゴン、三角形、線分、点、または、その他の適切な幾何学的要素のような複数の幾何学的なプリミティブによって表現されてもよい。視錐台の外側に存在する幾何学的なプリミティブは、目に見えることはなく、グラフィックス処理パイプラインの視錐台クリッピング処理または視錐台カリング処理において、廃棄され、除去され、あるいは、放棄されてもよい。ここで、カリングは、視錐台の完全に外側に存在する幾何学的プリミティブを完全に除去することを意味し、そして、クリッピングは、視錐台の外側に一部分を有する幾何学的プリミティブを部分的に除去することを意味する。カリングは、除去される一部分がデフォルトで完全な幾何学的プリミティブであるクリッピングの特別な場合と考えることができる。視錐台の外側にある3Dオブジェクトのクリッピング/カリングは、正しい画像出力を達成するのに必要なものではなく、コンピュータ表示スクリーン上にはどっちみち現れることのないプリミティブに対する不必要なラスタライゼーションおよび後処理を省略することによって、レンダリング処理を高速化するものである。グラフィックス処理パイプラインは、典型的には、プリミティブ組み立てモジュール(以下、PAモジュールと呼ぶ)を含み、このモジュールにおいて、頂点シェーダーモジュールによって計算された複数の頂点によって表現できる3Dオブジェクトは、三角形、直線、点、ポリゴン、または、その他の適切な幾何学的要素のような幾何学的プリミティブに変換される。例えば、直線は、適合性試験に合格させるために、始点(または、開始頂点)から終点(終了頂点)まで引かれてもよい。この理由は、終了頂点は、直線の一部であってもなくてもよいためである。さらに、PAモジュールは、視錐台から2Dスクリーン空間への変換を実行してもよい。ある例においては、X座標およびY座標だけが、スクリーン空間内へ変換され、画素ごとのZ値は、Zバッファーに記憶されてもよい。PAモジュールによって処理された後、プリミティブは、スクリーン空間内に存在する。残りのパイプは、スクリーン空間にだけ処理を施す。ある例においては、クリッピングブロックが、プリミティブ組み立てブロックの後に、かつ、SEモジュールの前に、付加されてもよい。この場合には、プリミティブ組み立てブロックは、プリミティブを組み立てるだけであり、クリッパーブロックは、プリミティブをクリッピングし、この
クリッピングに基づいて、より多くのプリミティブを生成し、そして、変換パイプへ転送し、その変換パイプは、それがSEモジュールに入力する前に、クリッピングされたプリミティブをスクリーン空間に変換する。プリミティブ組み立てブロック、クリッパーブロック、および、変換パイプを含むこのパイプ全体は、PAモジュールと呼ばれる。さらに、グラフィックス処理パイプラインは、典型的には、ラスタライゼーションモジュール(以下、RAモジュールと呼ぶ)を含み、このラスタライゼーションモジュールにおいて、2Dスクリーン空間内部に存在するクリッピング窓内のすべての画素が、レンダリングされる。RAモジュールは、視錐台の一部分であってもよいクリッピング窓に処理を施す。また、クリッピング窓の外側のスクリーン空間内に存在する画素は、クリッピング/カリング、すなわち、廃棄、除去、または、放棄されなければならない。プリミティブ組み立てモジュールおよびラスタライゼーションモジュールに加えて、セットアップモジュール(以下、SEモジュールと呼ぶ)において実行される付加的なセットアップ機能(例えば、プリミティブに対するラスタライゼーションの開始点を計算する)が、存在してもよい。従来技術においては、視錐台の外側に存在する3Dオブジェクトのクリッピング/カリングは、典型的には、グラフィックス処理パイプラインにおけるただ1つの箇所においてなされる。そのような実施形態は、クリッピング/カリングを実行するのに必要な大量の計算のために、パイプラインにボトルネックを発生させることがある。一例として、視錐台クリッピング/カリングは、スクリーン空間においてなされてもよい。この例においては、すべての3Dオブジェクトは、スクリーン空間に変換され、そして、クリッピング窓に基づいてクリッピングを実行するために、セットアップエンジンへ送信される。このアプローチの利点は、PAモジュール内のハードウェアがきわめて単純であることである。欠点は、すべての3Dオブジェクトは、視錐台またはクリッピング窓の外側に存在するオブジェクトさえも、スクリーン空間に変換されなければならないことである。これは、グラフィックス処理パイプラインの実施形態の複雑さおよびコストを増大させるかもしれない。別の例においては、すべての6平面クリッピングは、2Dスクリーン空間に変換する前に、視錐台内においてなされてもよい。このアプローチの利点は、視錐台の外側に存在するすべてのポリゴンが、クリッピングされ、視錐台の内側に存在するポリゴンだけが、スクリーン空間に変換され、そして、セットアップエンジンへ送信されることである。このアプローチの欠点は、6平面クリッピングを実行するアルゴリズムが、ハードウェアで実施する場合、複雑であり、かつ、高価であることである。
一般的に、本発明は、一側面において、3Dコンピュータグラフィックス処理パイプラインにおいてクリッピングするための方法に関し、その3Dコンピュータグラフィックス処理パイプラインは、視錐台、クリッピング窓、プリミティブ組み立て(PA)モジュール、セットアップ(SE)モジュール、および、ラスタライゼーション(RA)モジュールを備え、この方法は、PAモジュールを用いてプリミティブを得るステップと、PAモジュールを用いてプリミティブの第1のクリッピングを実行するステップと、SEモジュールを用いてプリミティブに対するラスタライゼーションの開始点を決定するステップと、SEモジュールを用いてプリミティブの第2のクリッピングを実行するステップと、RAモジュールを用いてプリミティブをレンダリングするステップと、RAモジュールを用いてプリミティブの第3のクリッピングを実行するステップとを備える。
本発明のその他の特徴および利点が、以下の説明および添付の特許請求の範囲から明らかとなる。
図1は、本発明の一実施形態によるグラフィックス処理パイプラインの全体的なクリッピング/カリング手順を説明するフローチャートである。一例として、グラフィックス処理パイプラインは、PAモジュール、SEモジュール、および、RAモジュールを含む。
ここで、ステップ102は、3Dオブジェクトを表現する複数の頂点を受信する。ある例においては、頂点は、3Dオブジェクトを表現するこれらの頂点を計算する頂点シェーダーモジュールから受信されてもよい。ステップ104は、これらの3Dオブジェクトを、頂点から、点、線分(以下、直線と呼ぶ)、三角形、または、その他の適切な幾何学的形状のような幾何学的プリミティブに変換する。一例においては、PAモジュールは、三角形モードに設定される。三角形モードにおいては、頂点は、さらなる何らかの処理の前に、複数の三角形に変換される。別の例においては、PAモジュールは、直線モードに設定され、さらなる何らかの処理の前に、頂点を複数の直線に変換する。さらに別の例においては、PAモジュールは、点モードに設定され、さらなる何らかの処理の前に、頂点を複数の点に変換する。点は、その後に、グラフィックス処理パイプラインのレンダリングステップで使用されるかもしれない位置属性およびサイズ属性に関連するものであってもよい。ステップ104の説明に戻れば、視錐台の完全に外側に存在する三角形および直線は、除去され、これは、当業者には、自明棄却(trivial rejection)として知られている。1つでも三角形または直線が、部分的に視錐台の内側に存在し、かつ、部分的に視錐台の外側に存在する場合、そうした三角形または直線には、近平面クリッピングまたは近Z平面クリッピングだけが適用される。
一例においては、ステップ104は、以下のアルゴリズムとして実施されてもよく、そのアルゴリズムにおいて、(Xc,Yc,Zc)は、視錐台内に存在する頂点の座標であり、その視錐台は、(a)+X平面:Xc=Wc、(b)−X平面:Xc=−Wc、(c)+Y平面:Yc=Wc、(d)−Y平面:Yc=−Wc、(e)近Z平面:Zc=0、および、(f)遠Z平面:Zc=Wcと定義される6つの平面によって境界を画定される。ここで、+X平面、−X平面、+Y平面、および、−Y平面は、視錐台のX,Yクリッピング長方形を構成する。アルゴリズムは、以下のことを含む。
(1)三角形モードおよび直線モードに対するクリッピングを実行し、点モードに対するクリッピングは実行しない。
(2)+X平面および−X平面を検査し、三角形または直線のすべての頂点が、Xc<−Wc、または、Xc>Wcであれば、その三角形または直線は、カリングされる。
(3)+Y平面および−Y平面を検査し、三角形または直線のすべての頂点が、Yc<−Wc、または、Yc>Wcであれば、その三角形または直線は、カリングされる。
(4)近Z平面および遠Z平面を検査し、三角形または直線のすべての頂点が、Zc<0、または、Zc>Wcであれば、その三角形または直線は、カリングされる。
(5)再度、Zを検査し、ある頂点のZcが、Zc<0であり、また、ある頂点のZcが、Zc>=0であれば、近Zクリッピングを実行する。
上述した例としてのアルゴリズムにおいては、近Zクリッピングは、3Dコンピュータグラフィックスの分野に精通する当業者に知られている様々な方法で実行されてもよい。本発明の重要な特徴は、視錐台クリッピング/カリングのすべてのステップがグラフィックス処理パイプラインにおいて、ただ1つの箇所で実行されるとは限らないことである。
視錐台内におけるクリッピングの後、ステップ106において、プリミティブの座標が、スクリーン空間に変換されてから、残りのクリッピングを実行するために、SEモジュールおよびRAモジュールに送信されるようにしてもよい。
図1をステップ108まで引き続き説明すると、SEモジュールは、クリッピング窓の内側に存在しなければならないラスタライゼーションの開始点を決定する。さらなるクリッピング/カリングが、この決定処理中に実行されてもよい。ここで、クリッピング窓が、スクリーン空間内に存在する。一例においては、SEモジュールは、ラスタライゼーションの開始点として、クリッピング窓の内側に存在する三角形または直線の頂点から始める。頂点が、クリッピング窓内に1つも存在しなければ、SEモジュールは、クリッピン
グ窓の内側に存在しかつ三角形の内側に存在する点または直線の一部である点としてラスタライゼーションの開始点を計算する。一例として、直線の頂点が、クリッピング窓の外側に存在すれば、SEモジュールは、ラスタライゼーションの開始点として、直線とクリッピング窓の交点を計算してもよい。そのような交点を検出することができなければ、その直線は、カリングされる。別の例においては、PAモジュールが、点モードに設定されている場合、幾何学的プリミティブとしてのそれぞれの点は、SEモジュールにおける関連するサイズ属性に基づいた適切なサイズを備えたポリゴンに変換されてもよい。ポリゴンは、さらに、1つかまたはそれ以上の三角形に変換されてもよい。ステップ110において、SEモジュールは、ポリゴン変換の後、点に対する自明棄却を実施する。一例においては、点は、PAモジュール内において自明棄却され、そして、プリミティブ全体がクリッピング窓の外側にまたは遠Z平面よりも遠方に存在すれば、SEモジュールは、カリングするだけである。別の例においては、SEモジュールが、クリッピング窓との交点を1つも検出できなければ、あるいは、プリミティブが、遠Z平面よりも遠方に存在すれば、SEモジュールは、自明棄却(カリング)を実行する。さらに別の例においては、SEモジュールは、PAモジュールが設定されたモードを区別しなくてもよいあるいは幾何学的プリミティブを区別しなくてもよい実施形態を容易に実現するために、三角形および直線を含むすべての幾何学的プリミティブに対して自明棄却を実行してもよい。一例においては、自明棄却は、クリッピング窓の内側に存在するラスタライゼーションの開始点を計算することによって実行される。当業者には、本発明が、その他の幾何学的プリミティブを含めるかまたは除外する自明棄却を実行するSEモジュールによって実施されてもよいことがわかるはずである。
図1のステップ112において、RAモジュールは、タイルごと、サブタイルごと、クワッドごと、および、画素ごとのクリッピングを実行する。RAモジュールにおけるラスタライゼーションは、3Dコンピュータグラフィックスの分野に精通する当業者に知られている様々な方法で実施されてもよい。一例においては、ラスタライゼーションは、発明の名称が“HIERARCHICAL TILE−BASED RASTERIZATION ALGORITHM”である2006年11月3日に出願された米国特許出願第11/592,799号(代理人整理番号第GIQUILA−P001号)に説明されるような階層的アプローチによって実施されてもよく、その明細書は、本明細書に組み込まれる。この例としてのラスタライゼーション方法においては、タイルごと、サブタイルごと、クワッドごと、および、画素ごとのクリッピングが、そのラスタライゼーション方法のタイルごと、サブタイルごと、クワッドごと、および、画素ごとのレンダリングステップと同時に実行される。
図2は、本発明の一実施形態によるグラフィックス処理パイプラインに含まれるPAモジュールにおけるクリッピング/カリング手順を説明するフローチャートである。ここで、ステップ201において、点、直線、または、三角形のようなプリミティブが、PAモジュールによって頂点から組み立てられる。ステップ202において、プリミティブのすべての頂点のX、Y、または、Zは視錐台の外側に存在するかどうかの判定がなされる。判定が、「はい」であれば、ステップ203において、そのプリミティブは、カリングされる。判定が、「いいえ」であれば、ステップ204において、頂点のうちで最も近いZが視錐台の外側に存在するかどうかのさらなる判定がなされる。判定が、「はい」であれば、近Zクリッピングが、実行される。一例においては、直線の場合、視錐台との交点が、計算され、そして、セットアップ(SE)モジュールに送信されてもよく、三角形の場合には、交叉点群(intersection verticies)が、計算され、これらの交叉点群に基づいて、1つかまたはそれ以上の新しい三角形が、組み立てられ、そして、SEモジュールに送信されてもよい。ステップ204における判定が、「いいえ」であれば、そのプリミティブは、さらなる処理がなされることなく、SEモジュールに送信される。
図3は、本発明の一実施形態によるグラフィックス処理パイプラインに含まれるSEモジュールにおけるクリッピング/カリング手順を説明するフローチャートである。ある例においては、SEモジュールは、ラスタライゼーション処理においてプリミティブをレンダリングするためのRAモジュールによって使用されるラスタライゼーションの開始点を計算する。一例においては、クリッピング窓の内側に存在する頂点が、ラスタライゼーションの開始点として選択されてもよい。すべての頂点が、クリッピング窓の外側に存在するならば、SEモジュールは、必要なクリッピングを実行し、ラスタライゼーションの別の開始点を計算する。ここで、ステップ301において、近Zクリッピングされたプリミティブが、これはPAモジュールにおいて自明棄却されたものではないが、SEモジュールに入力される。ある例においては、X座標およびY座標だけが、スクリーン空間に変換され、画素ごとのZ値は、Zバッファーに記憶される。そして、ステップ302において、1つでもプリミティブの頂点が視錐台の遠Z平面の外側に存在するかどうかの判定がなされる。判定が、「はい」であれば、プリミティブ全体が、遠Zクリッピング/カリング(ステップ309)においてカリングされる。ステップ302の判定が、「いいえ」であれば、ステップ303において、プリミティブが直線であるかどうかのさらなる判定がなされる。PAモジュールが直線モードに設定されており、かつ、プリミティブが直線である場合、方法は、ステップ304に進み、そのステップ304において、開始頂点はクリッピング窓の外側に存在するかどうかの判定がなされる。判定が、「いいえ」であれば、その直線は、RAモジュールに送信される(ステップ310)。判定が、「はい」であれば、ステップ305において、クリッピング窓との直線の交点が、計算されて、交点がまだクリッピング窓の外側に存在するかどうかの判定がなされる。例えば、直線は、2次元であるので、1つの座標だけが、クリッピングされる。例えば、直線が、x−majorであれば、クリッピングは、最近傍xクリッピング境界(左境界線または右境界線)におけるy値を計算することによってなされる。計算されたy座標は、まだ、それがクリッピング窓の外側に存在するかどうかを確認されなければならない。判定が、「はい」であれば、直線は、カリングされる(ステップ309)。判定が、「いいえ」であれば、直線は、計算された交点とともにRAモジュールに送信される(ステップ310)。ステップ303においてなされる判定に戻ると、プリミティブが直線ではない場合、ステップ306において、1つでもプリミティブの頂点がクリッピング長方形の内側に存在するかどうかのさらなる判定がなされる。頂点が、クリッピング窓の内側において1つも検出されなければ、方法は、ステップ308に進み、クリッピング窓とのプリミティブのそれぞれの辺の交点が、計算される。クリッピング窓の内側に存在する交点が、1つも検出されなければ、プリミティブ全体が、カリングされる(ステップ309)。1つでも交点が、存在すれば、プリミティブは、ラスタライゼーションの開始点としての第1の計算された交点とともに、RAモジュールに送信される(ステップ310)。ステップ306においてなされる判定に戻ると、プリミティブのいずれかの頂点がクリッピング窓の内側に存在する場合、クリッピング窓の内側に存在するプリミティブの頂点が、ラスタライゼーションの開始点として選択され、そのプリミティブは、検出された頂点とともにRAモジュールに送信される(ステップ307)。
本発明の上述した実施形態は、例として説明されたものである。それらの実施形態は、本発明をまさに説明された形態に限定しようとするものではない。より具体的には、ここで説明された本発明の機能的な実施形態は、ハードウェア、ソフトウェア、ファームウェア、および/または、その他の利用可能な機能コンポーネントまたはビルディングブロックによって同等に実施されてもよいこと、および、ネットワークは、有線、無線、または、それらを組み合わせたものであってもよいことが考えられる。その他の変形および実施形態を上述した教示から考えることもでき、したがって、本発明の範囲は、「発明を実施するための最良の形態」によって限定されるのではなく、添付の特許請求の範囲によって規定される。
本発明の上述した特徴、利点、および、目的がどのようにして達成されるかを詳細に理解できるように、上で簡単に説明された本発明のより具体的な説明が、添付の図面に示されるそれの実施形態を参照してなされる。
しかしながら、添付の図面は、典型的な実施形態を説明するにすぎず、本発明の範囲を限定するものとみなされるべきではないことに注意されたい。なぜなら、本発明は、その他の同等の効果を有する実施形態を考えることもできるからである。
本発明の一実施形態によるグラフィックス処理パイプラインの全体的なクリッピング/カリング手順を説明するフローチャートである。 本発明の一実施形態によるグラフィックス処理パイプラインのPAモジュールにおけるクリッピング/カリング手順を説明するフローチャートである。 本発明の一実施形態によるグラフィックス処理パイプラインのSEモジュールにおけるクリッピング/カリング手順を説明するフローチャートである。

Claims (6)

  1. 3Dコンピュータグラフィックス処理パイプラインが、視錐台、クリッピング窓、プリミティブ組み立て(PA)モジュール、セットアップ(SE)モジュール、および、ラスタライゼーション(RA)モジュールを備えた、前記3Dコンピュータグラフィックス処理パイプラインにおいてクリッピングするための方法であって、
    前記PAモジュールを用いて、プリミティブを得るステップと、
    前記PAモジュールを用いて、前記プリミティブの第1のクリッピングを実行するステップと、
    前記SEモジュールを用いて、前記プリミティブに対するラスタライゼーションの開始点を決定するステップと、
    前記SEモジュールを用いて、前記プリミティブの第2のクリッピングを実行するステップと、
    前記RAモジュールを用いて、前記プリミティブをレンダリングするステップと、
    前記RAモジュールを用いて、前記プリミティブの第3のクリッピングを実行するステップと、
    を備えた方法。
  2. 前記プリミティブが、1つかまたはそれ以上の頂点を備え、前記プリミティブが、前記視錐台の内側に1つも頂点を有していなければ、前記第1のクリッピングが、前記プリミティブを除去する請求項1に記載の方法。
  3. 前記プリミティブが、1つかまたはそれ以上の頂点を備え、前記第1のクリッピングが、近Zクリッピングを備えた請求項1に記載の方法。
  4. 前記プリミティブが、1つかまたはそれ以上の頂点を備え、前記プリミティブに対するラスタライゼーションの前記開始点を前記クリッピング窓の内側において決定することができなければ、前記第2のクリッピングが、前記プリミティブを除去することを備えた請求項1に記載の方法。
  5. 前記プリミティブが、位置およびサイズを有し、前記位置が前記視錐台の外側に存在すれば、前記第1のクリッピングが、前記プリミティブを除去する請求項1に記載の方法。
  6. 前記プリミティブが、前記サイズに基づいて、ポリゴンに変換され、
    前記ポリゴンが、前記SEモジュールにおいて、複数の三角形に変換され、
    三角形が、前記クリッピング窓の内側に存在する頂点を1つも有していなければ、前記第2のクリッピングが、前記三角形を除去する、
    請求項に記載の方法。
JP2008005719A 2007-01-24 2008-01-15 視体積の外側を分散クリッピングするための方法 Active JP5058831B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/657,966 2007-01-24
US11/657,966 US7746355B1 (en) 2007-01-24 2007-01-24 Method for distributed clipping outside of view volume

Publications (2)

Publication Number Publication Date
JP2008181514A JP2008181514A (ja) 2008-08-07
JP5058831B2 true JP5058831B2 (ja) 2012-10-24

Family

ID=39322543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008005719A Active JP5058831B2 (ja) 2007-01-24 2008-01-15 視体積の外側を分散クリッピングするための方法

Country Status (4)

Country Link
US (2) US7746355B1 (ja)
EP (1) EP1950706A2 (ja)
JP (1) JP5058831B2 (ja)
KR (1) KR20080069924A (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326048B2 (en) * 2007-10-04 2012-12-04 Microsoft Corporation Geo-relevance for images
US8564616B1 (en) 2009-07-17 2013-10-22 Nvidia Corporation Cull before vertex attribute fetch and vertex lighting
US8542247B1 (en) 2009-07-17 2013-09-24 Nvidia Corporation Cull before vertex attribute fetch and vertex lighting
US8384736B1 (en) * 2009-10-14 2013-02-26 Nvidia Corporation Generating clip state for a batch of vertices
US8976195B1 (en) 2009-10-14 2015-03-10 Nvidia Corporation Generating clip state for a batch of vertices
KR101068324B1 (ko) * 2009-10-28 2011-09-28 중앙대학교 산학협력단 구좌표계 렌더링 방법 및 시스템
US9064343B2 (en) 2010-08-24 2015-06-23 Qualcomm Incorporated Graphics processing using two-dimensional scissor regions
KR101681056B1 (ko) 2010-10-01 2016-12-01 삼성전자주식회사 정점 처리 방법 및 장치
US9626792B2 (en) 2012-10-16 2017-04-18 Adobe Systems Incorporated Rendering an infinite plane
KR102066533B1 (ko) 2013-11-19 2020-01-16 삼성전자 주식회사 도메인 쉐이딩 방법과 이를 수행하는 장치들
US9824412B2 (en) * 2014-09-24 2017-11-21 Intel Corporation Position-only shading pipeline
US10217272B2 (en) 2014-11-06 2019-02-26 Intel Corporation Zero-coverage rasterization culling
US9607414B2 (en) 2015-01-27 2017-03-28 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures
US9836874B2 (en) * 2015-01-27 2017-12-05 Splunk Inc. Efficient polygon-clipping technique to reduce data transfer requirements for a viewport
US9916326B2 (en) 2015-01-27 2018-03-13 Splunk, Inc. Efficient point-in-polygon indexing technique for facilitating geofencing operations
US9767122B2 (en) 2015-01-27 2017-09-19 Splunk Inc. Efficient point-in-polygon indexing technique to facilitate displaying geographic data
US10026204B2 (en) 2015-01-27 2018-07-17 Splunk Inc. Efficient point-in-polygon indexing technique for processing queries over geographic data sets
GB2565301A (en) * 2017-08-08 2019-02-13 Nokia Technologies Oy Three-dimensional video processing
CN107729665B (zh) * 2017-10-24 2021-01-05 北京空间技术研制试验中心 一种航天器管路三维设计系统和方法
CN109712063B (zh) * 2018-12-12 2023-03-14 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器平面剪裁电路
US11481967B2 (en) * 2020-08-31 2022-10-25 Advanced Micro Devices, Inc. Shader core instruction to invoke depth culling

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157764A (en) * 1989-01-13 1992-10-20 Sun Microsystems, Inc. Apparatus and method for using a test window in a graphics subsystem which incorporates hardware to perform clipping of images
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6618048B1 (en) * 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US7184059B1 (en) * 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US6819332B2 (en) * 2001-02-27 2004-11-16 3Dlabs Inc. Ltd. Antialias mask generation
US7162716B2 (en) * 2001-06-08 2007-01-09 Nvidia Corporation Software emulator for optimizing application-programmable vertex processing
JP2004102841A (ja) * 2002-09-11 2004-04-02 Toshiba Corp クリッピング処理装置、グラフィックスシステム、クリッピング処理方法及びグラフィックス方法
US7292242B1 (en) * 2004-08-11 2007-11-06 Nvida Corporation Clipping with addition of vertices to existing primitives
US7439988B1 (en) * 2005-12-05 2008-10-21 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives with respect to a clipping plane
US7292254B1 (en) * 2005-12-05 2007-11-06 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives with reduced sensitivity to vertex ordering

Also Published As

Publication number Publication date
EP1950706A2 (en) 2008-07-30
US20100271370A1 (en) 2010-10-28
JP2008181514A (ja) 2008-08-07
US7746355B1 (en) 2010-06-29
KR20080069924A (ko) 2008-07-29

Similar Documents

Publication Publication Date Title
JP5058831B2 (ja) 視体積の外側を分散クリッピングするための方法
US9818222B2 (en) Tessellation of patches of surfaces in a tile based rendering system
JP5111638B2 (ja) パラメトリック曲線をより小さなサブパッチに分割する装置およびその方法
KR101033779B1 (ko) 확장된 버텍스 캐시를 갖는 그래픽스 프로세싱 유닛을 이용하여 이미지를 프로세싱하는 방법 및 장치
US10169906B2 (en) Hybrid render with deferred primitive batch binning
US20090046098A1 (en) Primitive binning method for tile-based rendering
KR101681056B1 (ko) 정점 처리 방법 및 장치
JP4977712B2 (ja) ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法
US5986669A (en) Graphics processing with efficient clipping
US10134171B2 (en) Graphics processing systems
KR20180080517A (ko) 그래픽스 처리 방법 및 시스템
WO2013101167A1 (en) Five-dimensional rasterization with conservative bounds
US20120139916A1 (en) System and associated methodology for three-dimensional rendering of data containing clipping shapes
US8068120B2 (en) Guard band clipping systems and methods
CN113223178B (zh) 管道选定结构特征参数的确定方法和装置
US8902217B2 (en) Image generating method
JP2022520525A (ja) 光強度画像を生成するための装置及び方法
EP1197922A2 (en) Apparatus, system, and method for simplifying annotations on a geometric surface
CN113379814B (zh) 一种三维空间关系判定方法及装置
JP7100624B2 (ja) 優先プリミティブバッチのビニング及びソートを用いたハイブリッドレンダリング
CN115953290A (zh) 基于gpu光栅器的场景体素化方法
KR20180117499A (ko) 3차원 메쉬 데이터 간소화 방법 및 장치
KR102304932B1 (ko) 그래픽스 데이터를 처리하는 방법, 장치 및 기록매체
US7414635B1 (en) Optimized primitive filler
JP5106992B2 (ja) 霧効果を考慮して3次元グラフィックスデータをレンダリングする方法及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081017

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20081017

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20081017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120528

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120528

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

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

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

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5058831

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