JP6441963B2 - グラフィックス処理における加速された複数のポリゴンの単一平面クリッピング - Google Patents
グラフィックス処理における加速された複数のポリゴンの単一平面クリッピング Download PDFInfo
- Publication number
- JP6441963B2 JP6441963B2 JP2016567610A JP2016567610A JP6441963B2 JP 6441963 B2 JP6441963 B2 JP 6441963B2 JP 2016567610 A JP2016567610 A JP 2016567610A JP 2016567610 A JP2016567610 A JP 2016567610A JP 6441963 B2 JP6441963 B2 JP 6441963B2
- Authority
- JP
- Japan
- Prior art keywords
- clipping
- plane
- polygon
- pipeline
- vertices
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- 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
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
Description
Dout:頂点Aからクリッピング平面50への距離。
Din:頂点Bからクリッピング平面50への距離。
D:クリッピング平面50によりインターセプトされる位置でのA−Bに沿った点。
さらに、この例において、A−Bに沿った距離は、計算上の便利のために1に正規化される。
Dist=Din*alpha+Dout*(1−alpha)
図5において、Distは、A−Bに沿って位置付けられる任意の点Eからクリッピング平面50への距離として示される。Dist=0(これは、図面上は、点Eを点Dへと移動することに対応する)に設定し、alphaについて解くと、クリッピング平面でのalpha、alpha=−Dout/(Din−Dout)又はalpha=Dout/(Dout−Din)の値をもたらす。(Din及びDoutは、複数の符号付きの大きさに関連する複数の距離であってよいことに留意されたい。従って、Dinが正であれば、Doutは負であってよく、DinはDoutと等しくないであろうし、その結果、ゼロで除算されることは排除されている。)betaが1−alphaと等しいものとして定義されるものとしよう。これにより、a*x+b*yの形式の複数の数式を減らす。
beta=1−alpha=1−(Dout/(Dout−Din))=((Dout−Din)−Dout)/(Dout−Din)
beta=−Din/(Dout−Din)
alpha=D(B)/(D(B)−D(A)) (式1)
beta=−D(A)/(D(B)−D(A)) (式2)
b0(D)=b0(A)*alpha+b0(B)*beta (式3)
b1(D)=b1(A)*alpha+b1(B)*beta (式4)
b2(D)=b2(A)*alpha+b2(B)*beta (式5)
P(D)=V(A)*b0(D)+V(B)*b1(D)+V(C)*b2(D) (式6)
式中、V(A)、V(B)、及びV(C)は、それぞれ頂点A、B、及びCにおける元の頂点の複数の属性値を表し、P(D)は新たな頂点Dにおける属性(例えば、色、テクスチャ)を表し、b0(D)、b1(D)、及びb2(D)は、新たな頂点Dにおいて計算される複数の重心座標値である。
b0(A)=1,b1(A)=0,b2(A)=0
b0(B)=0,b1(B)=0、b2(B)=1
b0(C)=0,b1(C)=1,b2(C)=0
初期の複数の重心座標値を式(3)、(4)、及び(5)に代入することにより、単一クリッピング平面の場合について、新たな点Dに対する複数の重心座標は、ここで以下のように評価されてよい。
b0(D)=1*alpha+0*beta=alpha (式7)
b1(D)=0*alpha+0*beta=0 (式8)
b2(D)=0+beta=beta (式9)
点Eについての複数の重心座標値は、同様に評価され得る。
S=最初のセットアップ及び最終的な出力、及び全ての他のブックキーピングオペレーションに費やされる一定のサイクルの数
N=クリッピングされる平面の数
M=それぞれの平面に対しクリッピングに費やされるサイクル
SP_Mは、単一平面クリッピングオペレーションの最悪の場合のステージのレイテンシである。 SP_Mレイテンシは、概してMよりかなり低くなり、実際にALUレイテンシに近くなるであろうことに留意されたい。
Claims (23)
- グラフィックス処理ユニットと、
ポリゴンがクリッピングされるべき複数のクリッピング平面の数を判断するモジュールと、
単一平面クリッピング専用の第1のパイプラインと、
マルチ平面クリッピング専用の第2のパイプラインと、を備え、
前記第2のパイプラインは一度に1つのポリゴンを処理可能であり、前記第1のパイプラインは一度に複数のポリゴンを処理可能である、
少なくとも1つのグラフィックスポリゴンを処理するためのシステム。 - 前記ポリゴンの複数の頂点の複数の座標をロードし、
前記複数の頂点の前記複数の座標に複数の重心座標値を割り当てる、
前記第1のパイプラインに関連付けられたモジュールをさらに備える、請求項1に記載のシステム。 - 単一のクリッピング平面から前記複数の頂点のそれぞれへの距離を計算する、前記第1のパイプラインに関連付けられたモジュールをさらに備える、請求項2に記載のシステム。
- alpha及びbetaの距離比を計算する前記第1のパイプラインに関連付けられたモジュールをさらに備えるシステムであって、
alpha=Dout/(Din−Dout)であり、
上式において、Doutは1つの頂点からクリッピング平面への距離であり、Dinは隣接する頂点から前記クリッピング平面への距離であり、
beta=1−alphaである、
請求項3に記載のシステム。 - 判断されるクリッピング平面及び前記ポリゴンの交差部に位置する複数の点へ新たな複数の重心座標値を割り当てる、前記第1のパイプラインに関連付けられたモジュールをさらに備える請求項1〜4のいずれか一項に記載のシステム。
- 判断される前記クリッピング平面及び前記ポリゴンの交差部に位置する複数の点に新たな複数の値を割り当てる、前記第1のパイプラインに関連付けられたモジュールをさらに備える請求項5に記載のシステム。
- ポリゴンがクリッピングされるべき複数のクリッピング平面の数を判断する段階と、
単一のクリッピング平面のみが存在する場合、前記ポリゴンを単一平面クリッピングに専用の第1のパイプラインに投入する段階と、
1より多くのクリッピング平面が存在する場合、前記ポリゴンをマルチ平面クリッピング専用の第2のパイプラインに投入する段階と、
を備え、
前記第2のパイプラインは一度に1つのポリゴンを処理可能であり、前記第1のパイプラインは一度に複数のポリゴンを処理可能である、少なくとも1つのグラフィックスポリゴンを処理する方法。 - 前記ポリゴンの複数の頂点の複数の座標をロードする段階と、前記複数の頂点の前記複数の座標に複数の重心座標値を割り当てる段階と、をさらに備える請求項7に記載の方法。
- 前記単一のクリッピング平面から前記複数の頂点のそれぞれへの距離を計算する段階をさらに備える、請求項8に記載の方法。
- alpha及びbetaの距離比を計算する段階をさらに備え、
alpha=Dout/(Din−Dout)であり、
上式において、Doutは1つの頂点からクリッピング平面への距離であり、Dinは隣接する頂点から前記クリッピング平面への距離であり、
beta=1−alphaである、
請求項9に記載の方法。 - 隣接する複数の頂点の間の距離を正規化する段階をさらに備える、請求項10に記載の方法。
- 判断されるクリッピング平面及び前記ポリゴンの交差部に位置する複数の点に新たな複数の重心座標値を割り当てる段階をさらに備える、請求項7〜11のいずれか一項に記載の方法。
- 判断されるクリッピング平面及び前記ポリゴンの交差部に位置する複数の点に新たな複数の値を割り当てる段階をさらに備える、請求項7〜11のいずれか一項に記載の方法。
- 前記ポリゴンは三角形である、請求項7〜11のいずれか一項に記載の方法。
- ポリゴンがクリッピングされるべき複数のクリッピング平面の数を判断するモジュールと、
単一平面クリッピング専用の第1のパイプラインと、
マルチ平面クリッピング専用の第2のパイプラインと、
を備え、
前記第2のパイプラインは一度に1つのポリゴンを処理可能であり、前記第1のパイプラインは一度に複数のポリゴンを処理可能である、少なくとも1つのグラフィックスポリゴンを処理する装置。 - 前記ポリゴンの複数の頂点の複数の座標をロードし、
前記複数の頂点の前記複数の座標に複数の重心座標値を割り当てる、モジュールをさらに備える、請求項15に記載の装置。 - 単一のクリッピング平面から前記複数の頂点のそれぞれへの距離を計算するモジュールをさらに備える、請求項16に記載の装置。
- alpha及びbetaの距離比を計算するモジュールをさらに備える装置であって、
alpha=Dout/(Din−Dout)であり、
上式において、Doutは1つの頂点からクリッピング平面への距離であり、Dinは隣接する頂点から前記クリッピング平面への距離であり、
beta=1−alphaである、
請求項15〜17のいずれか一項に記載の装置。 - 隣接する複数の頂点の間の距離を正規化するモジュールをさらに備える、請求項15〜17のいずれか一項に記載の装置。
- 判断される前記クリッピング平面及び前記ポリゴンの交差部に位置する複数の点に新たな複数の重心座標値を割り当てるモジュールをさらに備える、請求項18に記載の装置。
- 判断される前記クリッピング平面及び前記ポリゴンの前記交差部に位置する複数の点に、新たな複数の値を割り当てるモジュールをさらに備える、請求項20に記載の装置。
- 前記ポリゴンは三角形である、請求項16に記載の装置。
- 複数の前記モジュールは、両方のパイプラインに利用可能である、請求項15に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/316,895 | 2014-06-27 | ||
US14/316,895 US20150379664A1 (en) | 2014-06-27 | 2014-06-27 | Accelerated single plane clipping of polygons in graphics processing |
PCT/US2015/036319 WO2015200076A1 (en) | 2014-06-27 | 2015-06-18 | Accelerated single plane clipping of polygons in graphics processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017522632A JP2017522632A (ja) | 2017-08-10 |
JP6441963B2 true JP6441963B2 (ja) | 2018-12-19 |
Family
ID=54931075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016567610A Expired - Fee Related JP6441963B2 (ja) | 2014-06-27 | 2015-06-18 | グラフィックス処理における加速された複数のポリゴンの単一平面クリッピング |
Country Status (8)
Country | Link |
---|---|
US (1) | US20150379664A1 (ja) |
EP (1) | EP3161801A4 (ja) |
JP (1) | JP6441963B2 (ja) |
KR (1) | KR20160148618A (ja) |
CN (1) | CN106575452A (ja) |
RU (1) | RU2656683C1 (ja) |
SG (1) | SG11201609371WA (ja) |
WO (1) | WO2015200076A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235811B2 (en) | 2016-12-29 | 2019-03-19 | Intel Corporation | Replicating primitives across multiple viewports |
US10522113B2 (en) | 2017-12-29 | 2019-12-31 | Intel Corporation | Light field displays having synergistic data formatting, re-projection, foveation, tile binning and image warping technology |
US10628910B2 (en) | 2018-09-24 | 2020-04-21 | Intel Corporation | Vertex shader with primitive replication |
US20210103852A1 (en) * | 2019-10-02 | 2021-04-08 | Qualcomm Incorporated | Resource based workload allocation for machine learning workloads |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507348B1 (en) * | 2000-02-02 | 2003-01-14 | Ati International, Srl | Method and apparatus for clipping an object element in accordance with a clip volume |
GB2372188B (en) * | 2001-02-08 | 2005-07-13 | Imagination Tech Ltd | Volume clipping in computer 3-D Graphics |
US7324116B2 (en) * | 2002-06-20 | 2008-01-29 | Microsoft Corporation | Systems and methods for providing controllable texture sampling |
US20050116948A1 (en) * | 2003-12-01 | 2005-06-02 | Lg Electronics Inc. | Line clipping method and method for displaying three-dimensional image using the same |
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 |
US7705845B1 (en) * | 2006-06-01 | 2010-04-27 | Nvidia Corporation | Clipping graphics primitives with deferred derivation of vertex attributes |
US8237739B2 (en) * | 2006-09-12 | 2012-08-07 | Qualcomm Incorporated | Method and device for performing user-defined clipping in object space |
US8212840B2 (en) * | 2006-10-23 | 2012-07-03 | Qualcomm Incorporated | 3-D clipping in a graphics processing unit |
CN102184572B (zh) * | 2011-05-19 | 2017-07-21 | 威盛电子股份有限公司 | 三维图形裁剪方法、呈现方法及其图形处理装置 |
-
2014
- 2014-06-27 US US14/316,895 patent/US20150379664A1/en not_active Abandoned
-
2015
- 2015-06-18 JP JP2016567610A patent/JP6441963B2/ja not_active Expired - Fee Related
- 2015-06-18 SG SG11201609371WA patent/SG11201609371WA/en unknown
- 2015-06-18 CN CN201580027632.XA patent/CN106575452A/zh active Pending
- 2015-06-18 EP EP15812277.0A patent/EP3161801A4/en not_active Withdrawn
- 2015-06-18 RU RU2016146356A patent/RU2656683C1/ru not_active IP Right Cessation
- 2015-06-18 KR KR1020167032521A patent/KR20160148618A/ko not_active Application Discontinuation
- 2015-06-18 WO PCT/US2015/036319 patent/WO2015200076A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2017522632A (ja) | 2017-08-10 |
KR20160148618A (ko) | 2016-12-26 |
CN106575452A (zh) | 2017-04-19 |
EP3161801A4 (en) | 2018-01-17 |
EP3161801A1 (en) | 2017-05-03 |
SG11201609371WA (en) | 2016-12-29 |
US20150379664A1 (en) | 2015-12-31 |
WO2015200076A1 (en) | 2015-12-30 |
RU2656683C1 (ru) | 2018-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733691B2 (en) | Fragment shaders perform vertex shader computations | |
US20200372602A1 (en) | Scheme for compressing vertex shader output parameters | |
CN110084875B (zh) | 使用计算着色器作为顶点着色器的前端 | |
CN107341283B (zh) | 用于图块的控制流的生成 | |
JP6441963B2 (ja) | グラフィックス処理における加速された複数のポリゴンの単一平面クリッピング | |
US10019802B2 (en) | Graphics processing unit | |
EP3353746B1 (en) | Dynamically switching between late depth testing and conservative depth testing | |
JP7122396B2 (ja) | グラフィックスパイプラインにおけるメモリ使用削減のためのコンパイラ支援技法 | |
US9558573B2 (en) | Optimizing triangle topology for path rendering | |
US9721187B2 (en) | System, method, and computer program product for a stereoscopic image lasso | |
JP2017062789A (ja) | グラフィックス処理装置、及びテクスチャリングのためのlodを決定する方法 | |
US8681173B2 (en) | Device, system, and method for improving processing efficiency by collectively applying operations | |
US7724254B1 (en) | ISO-surface tesselation of a volumetric description | |
US9471310B2 (en) | Method, computer program product, and system for a multi-input bitwise logical operation | |
US11030792B1 (en) | System and method for packing sparse arrays of data while preserving order | |
US20130328884A1 (en) | Direct opencl graphics rendering | |
US11417059B1 (en) | System and method for reading arrays of data by rebuilding an index buffer while preserving order | |
TWI810458B (zh) | 用於最佳化像素著色器屬性管理的設備、系統及方法 | |
GB2549787A (en) | Generation of a control stream for a tile | |
CN112116517A (zh) | 用于数据处理的装置、系统和方法 | |
Yeh et al. | A 3D graphics SOC for digital Television | |
Royer et al. | Implementation tradeoffs of triangle traversal algorithms for graphics processing | |
GB2549788A (en) | Generation of a control stream for a tile |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180426 |
|
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: 20180925 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20181024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6441963 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |