JP5058831B2 - 視体積の外側を分散クリッピングするための方法 - Google Patents
視体積の外側を分散クリッピングするための方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/30—Clipping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three 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号)に関し、その明細書は、本明細書に組み込まれる。
クリッピングに基づいて、より多くのプリミティブを生成し、そして、変換パイプへ転送し、その変換パイプは、それがSEモジュールに入力する前に、クリッピングされたプリミティブをスクリーン空間に変換する。プリミティブ組み立てブロック、クリッパーブロック、および、変換パイプを含むこのパイプ全体は、PAモジュールと呼ばれる。さらに、グラフィックス処理パイプラインは、典型的には、ラスタライゼーションモジュール(以下、RAモジュールと呼ぶ)を含み、このラスタライゼーションモジュールにおいて、2Dスクリーン空間内部に存在するクリッピング窓内のすべての画素が、レンダリングされる。RAモジュールは、視錐台の一部分であってもよいクリッピング窓に処理を施す。また、クリッピング窓の外側のスクリーン空間内に存在する画素は、クリッピング/カリング、すなわち、廃棄、除去、または、放棄されなければならない。プリミティブ組み立てモジュールおよびラスタライゼーションモジュールに加えて、セットアップモジュール(以下、SEモジュールと呼ぶ)において実行される付加的なセットアップ機能(例えば、プリミティブに対するラスタライゼーションの開始点を計算する)が、存在してもよい。従来技術においては、視錐台の外側に存在する3Dオブジェクトのクリッピング/カリングは、典型的には、グラフィックス処理パイプラインにおけるただ1つの箇所においてなされる。そのような実施形態は、クリッピング/カリングを実行するのに必要な大量の計算のために、パイプラインにボトルネックを発生させることがある。一例として、視錐台クリッピング/カリングは、スクリーン空間においてなされてもよい。この例においては、すべての3Dオブジェクトは、スクリーン空間に変換され、そして、クリッピング窓に基づいてクリッピングを実行するために、セットアップエンジンへ送信される。このアプローチの利点は、PAモジュール内のハードウェアがきわめて単純であることである。欠点は、すべての3Dオブジェクトは、視錐台またはクリッピング窓の外側に存在するオブジェクトさえも、スクリーン空間に変換されなければならないことである。これは、グラフィックス処理パイプラインの実施形態の複雑さおよびコストを増大させるかもしれない。別の例においては、すべての6平面クリッピングは、2Dスクリーン空間に変換する前に、視錐台内においてなされてもよい。このアプローチの利点は、視錐台の外側に存在するすべてのポリゴンが、クリッピングされ、視錐台の内側に存在するポリゴンだけが、スクリーン空間に変換され、そして、セットアップエンジンへ送信されることである。このアプローチの欠点は、6平面クリッピングを実行するアルゴリズムが、ハードウェアで実施する場合、複雑であり、かつ、高価であることである。
ここで、ステップ102は、3Dオブジェクトを表現する複数の頂点を受信する。ある例においては、頂点は、3Dオブジェクトを表現するこれらの頂点を計算する頂点シェーダーモジュールから受信されてもよい。ステップ104は、これらの3Dオブジェクトを、頂点から、点、線分(以下、直線と呼ぶ)、三角形、または、その他の適切な幾何学的形状のような幾何学的プリミティブに変換する。一例においては、PAモジュールは、三角形モードに設定される。三角形モードにおいては、頂点は、さらなる何らかの処理の前に、複数の三角形に変換される。別の例においては、PAモジュールは、直線モードに設定され、さらなる何らかの処理の前に、頂点を複数の直線に変換する。さらに別の例においては、PAモジュールは、点モードに設定され、さらなる何らかの処理の前に、頂点を複数の点に変換する。点は、その後に、グラフィックス処理パイプラインのレンダリングステップで使用されるかもしれない位置属性およびサイズ属性に関連するものであってもよい。ステップ104の説明に戻れば、視錐台の完全に外側に存在する三角形および直線は、除去され、これは、当業者には、自明棄却(trivial rejection)として知られている。1つでも三角形または直線が、部分的に視錐台の内側に存在し、かつ、部分的に視錐台の外側に存在する場合、そうした三角形または直線には、近平面クリッピングまたは近Z平面クリッピングだけが適用される。
(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クリッピングを実行する。
グ窓の内側に存在しかつ三角形の内側に存在する点または直線の一部である点としてラスタライゼーションの開始点を計算する。一例として、直線の頂点が、クリッピング窓の外側に存在すれば、SEモジュールは、ラスタライゼーションの開始点として、直線とクリッピング窓の交点を計算してもよい。そのような交点を検出することができなければ、その直線は、カリングされる。別の例においては、PAモジュールが、点モードに設定されている場合、幾何学的プリミティブとしてのそれぞれの点は、SEモジュールにおける関連するサイズ属性に基づいた適切なサイズを備えたポリゴンに変換されてもよい。ポリゴンは、さらに、1つかまたはそれ以上の三角形に変換されてもよい。ステップ110において、SEモジュールは、ポリゴン変換の後、点に対する自明棄却を実施する。一例においては、点は、PAモジュール内において自明棄却され、そして、プリミティブ全体がクリッピング窓の外側にまたは遠Z平面よりも遠方に存在すれば、SEモジュールは、カリングするだけである。別の例においては、SEモジュールが、クリッピング窓との交点を1つも検出できなければ、あるいは、プリミティブが、遠Z平面よりも遠方に存在すれば、SEモジュールは、自明棄却(カリング)を実行する。さらに別の例においては、SEモジュールは、PAモジュールが設定されたモードを区別しなくてもよいあるいは幾何学的プリミティブを区別しなくてもよい実施形態を容易に実現するために、三角形および直線を含むすべての幾何学的プリミティブに対して自明棄却を実行してもよい。一例においては、自明棄却は、クリッピング窓の内側に存在するラスタライゼーションの開始点を計算することによって実行される。当業者には、本発明が、その他の幾何学的プリミティブを含めるかまたは除外する自明棄却を実行するSEモジュールによって実施されてもよいことがわかるはずである。
Claims (6)
- 3Dコンピュータグラフィックス処理パイプラインが、視錐台、クリッピング窓、プリミティブ組み立て(PA)モジュール、セットアップ(SE)モジュール、および、ラスタライゼーション(RA)モジュールを備えた、前記3Dコンピュータグラフィックス処理パイプラインにおいてクリッピングするための方法であって、
前記PAモジュールを用いて、プリミティブを得るステップと、
前記PAモジュールを用いて、前記プリミティブの第1のクリッピングを実行するステップと、
前記SEモジュールを用いて、前記プリミティブに対するラスタライゼーションの開始点を決定するステップと、
前記SEモジュールを用いて、前記プリミティブの第2のクリッピングを実行するステップと、
前記RAモジュールを用いて、前記プリミティブをレンダリングするステップと、
前記RAモジュールを用いて、前記プリミティブの第3のクリッピングを実行するステップと、
を備えた方法。 - 前記プリミティブが、1つかまたはそれ以上の頂点を備え、前記プリミティブが、前記視錐台の内側に1つも頂点を有していなければ、前記第1のクリッピングが、前記プリミティブを除去する請求項1に記載の方法。
- 前記プリミティブが、1つかまたはそれ以上の頂点を備え、前記第1のクリッピングが、近Zクリッピングを備えた請求項1に記載の方法。
- 前記プリミティブが、1つかまたはそれ以上の頂点を備え、前記プリミティブに対するラスタライゼーションの前記開始点を前記クリッピング窓の内側において決定することができなければ、前記第2のクリッピングが、前記プリミティブを除去することを備えた請求項1に記載の方法。
- 前記プリミティブが、位置およびサイズを有し、前記位置が前記視錐台の外側に存在すれば、前記第1のクリッピングが、前記プリミティブを除去する請求項1に記載の方法。
- 前記プリミティブが、前記サイズに基づいて、ポリゴンに変換され、
前記ポリゴンが、前記SEモジュールにおいて、複数の三角形に変換され、
三角形が、前記クリッピング窓の内側に存在する頂点を1つも有していなければ、前記第2のクリッピングが、前記三角形を除去する、
請求項5に記載の方法。
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)
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)
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 |
-
2007
- 2007-01-24 US US11/657,966 patent/US7746355B1/en active Active
-
2008
- 2008-01-15 JP JP2008005719A patent/JP5058831B2/ja active Active
- 2008-01-23 KR KR1020080007147A patent/KR20080069924A/ko not_active Application Discontinuation
- 2008-01-24 EP EP08100864A patent/EP1950706A2/en not_active Withdrawn
-
2010
- 2010-05-19 US US12/783,433 patent/US20100271370A1/en not_active Abandoned
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 |