CN101976432A - 图形芯片设计中分级裁剪策略的实现 - Google Patents
图形芯片设计中分级裁剪策略的实现 Download PDFInfo
- Publication number
- CN101976432A CN101976432A CN 201010557425 CN201010557425A CN101976432A CN 101976432 A CN101976432 A CN 101976432A CN 201010557425 CN201010557425 CN 201010557425 CN 201010557425 A CN201010557425 A CN 201010557425A CN 101976432 A CN101976432 A CN 101976432A
- Authority
- CN
- China
- Prior art keywords
- cutting
- line segment
- triangle
- line
- window
- 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.)
- Granted
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种图形芯片设计中的分级裁剪策略的实现方式。它包括线段的裁剪和三角形的裁剪。线段的裁剪层次分为:(1)明显不可见的线段裁剪;(2)斜向不可见的线段裁剪;(3)部分可见的线段的裁剪三个部分。将(1)和(2)完成后得到的线段写入FIFO中,从FIFO中读出的线段再进行(3)。三角形的裁剪分为:(1)明显不可见和斜向不可见的三角形裁剪,将完全可见和部分可见的三角形数据写入FIFO;(2)在三角形光栅化过程中,在得到三角形水平扫描线起始点和终点之后,根据裁剪窗口进行水平线裁剪。这样既能保证线段全裁剪后利用整数精度进行光栅化,也不会对三角形的光栅化的速度产生影响,同时可大幅度减少芯片的面积。
Description
技术领域
本发明主要涉及到图形芯片设计中的线段和三角形的裁剪领域,特指分级裁剪策略的实现。
背景技术
图形芯片的作用是加速2D、3D绘图。在基于OpenGL的绘图中,所有的图形均由点、线段、三角形三种基本图元组成,将大量的基本图元顶点送入图形芯片中进行绘制,这些基本图元的顶点有可能会落在显示范围之外,为了减少后端的处理,我们需要判断这些图元与显示范围的位置关系,将不需要显示的部分裁减掉,减少后端处理单元硬件方面的负担,减少后端不必要的运算,提高2D、3D加速的执行效率。这个过程在图形芯片中就称为图元裁剪。
由于需要裁剪的图元顶点均为单精度浮点格式的数据,裁剪又需要进行大量的运算,因此正确执行裁剪功能、减小芯片面积是图元裁剪的目标。
多年以来国内外许多专家学者对此进行了深入的研究,对于线段裁剪方面,已经出现了很多经典算法,如基于编码技术的 Cohen-Sutherland 算法,便于硬件实现的中点分割算法,通过法向点积判别的 Cyrus-Berk 裁剪算法,Liang-Barsky 算法,Nicholl等提出的基于几何变换技术的 NLN 算法,以及在NLN算法基础上发展的ELC算法等。三角形的裁剪一般是基于线段的裁剪来实现。这些算法在实现过程中硬件资源消耗比较大,不利于低功耗芯片的设计。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术难点,本发明提供了一种结构相对简单、硬件资源消耗不大、执行效率比较高的分级裁剪策略的实现。
与现有技术相比,本发明的优点就在于:1、逻辑简单:本发明提出的分级裁剪策略的实现结构并未采用很复杂的算法,比较利于硬件实现,带来的好处就是逻辑简单;2、性能优良:本发明提出的分级裁剪了策略的实现采用全流水的方式实现,因此可以保证裁剪的快速实现;3、使用方便:本发明提出的分级裁剪策略的实现可重用性比较好,可以在嵌入式或通用图形芯片设计中很方便的移植。
附图说明
图1是线段部分可见的七种情况;
图2是本发明提出的分级裁剪策略的实现结构;
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,本发明中的线段全裁剪,若判断出线段有一部分在裁剪窗口内部时,根据图中所列举的七种不同情况来确定裁剪后线段的两个端点。确定的原则:若有一点在裁剪窗口内部则裁剪后其中一点就为此点,根据另一个端点的位置确定另一点在裁剪窗口哪一边上的交点;若两个端点均在裁剪窗口外部则根据两个端点与裁剪窗口的位置关系确定裁剪后的两个端点为线段与哪两条裁剪窗口的交点。
如图2所示,本发明的分级裁剪策略的实现,分为线段裁剪和三角形裁剪两个部分。线段裁剪包括线段明显不可见的判断:将两个端点均在裁剪窗口同一侧的线段裁减掉;线段斜向不可见的判断:利用叉乘法判断裁剪窗口的两组顶点与线段的位置关系,将斜向不可见的线段裁减掉;线段裁剪的结果判断,根据前面线段裁剪的两个过程将不可见的线段裁减掉,将完全可见/部分可见的线段写入FIFO;从FIFO中读出可见线段的端点和属性,利用端点计算线段与裁剪窗口四个边界的交点;根据可见线段与裁剪窗口的交点情况,判断出线段全裁剪后的新端点;利用线段端点的属性采用插值法计算线段裁剪后端点的属性,计算完成后将线段的端点和属性写入FIFO,进入后端的光栅化过程。三角形的裁剪包括明显不可见的判断:利用叉乘法将三角形三个顶点三点一线的情况裁减掉,将三个顶点均在裁剪窗口同一侧的三角形裁减掉;三角形斜向不可见的情况判断:对于窗口的某顶点,如果其叉乘积中有小于0的,则表明该点在三角形外,进一步,如果窗口的4个顶点都在三角形外,且三角形的三个顶点都不在窗口内,则表明三角形在裁剪窗口外;三角形不可见的判断:根据前面裁剪的过程,将判断出可见的三角形将其信息写入FIFO;水平线裁剪:在三角形光栅化过程中,根据水平线与裁剪窗口的位置关系,将水平线上超出显示范围的部分裁减掉,减小后端处理的压力。整个裁剪的流程高速、简洁、面积小、效率高。
Claims (4)
4. 水平线裁剪,三角形的光栅化采用水平线扫描的方式来实现,当得到一条扫描线的起始点和终点之后,将水平线裁剪到屏幕范围之内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105574254A CN101976432B (zh) | 2010-11-22 | 2010-11-22 | 图形芯片设计中分级裁剪策略的实现 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105574254A CN101976432B (zh) | 2010-11-22 | 2010-11-22 | 图形芯片设计中分级裁剪策略的实现 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101976432A true CN101976432A (zh) | 2011-02-16 |
CN101976432B CN101976432B (zh) | 2012-02-08 |
Family
ID=43576314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105574254A Active CN101976432B (zh) | 2010-11-22 | 2010-11-22 | 图形芯片设计中分级裁剪策略的实现 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101976432B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200425A (zh) * | 2014-08-22 | 2014-12-10 | 济南大学 | 一种gpu图形处理过程中图元裁剪装置及裁剪方法 |
CN104361619A (zh) * | 2014-10-28 | 2015-02-18 | 长沙景嘉微电子股份有限公司 | 一种基于水平线填充的2d图形ip核实现方法 |
CN107909623A (zh) * | 2017-11-30 | 2018-04-13 | 东华大学 | 一种基于投影分解的矩形窗口裁剪方法 |
CN108389154A (zh) * | 2018-03-27 | 2018-08-10 | 长沙景嘉微电子股份有限公司 | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 |
CN108447015A (zh) * | 2018-03-27 | 2018-08-24 | 长沙景嘉微电子股份有限公司 | Gpu中一种实现用户自定义裁剪功能的装置和方法 |
CN108510565A (zh) * | 2018-03-27 | 2018-09-07 | 长沙景嘉微电子股份有限公司 | Gpu中一种实现线段转三角形绘制的装置与方法 |
CN108986011A (zh) * | 2018-07-19 | 2018-12-11 | 芯视图(常州)微电子有限公司 | 平面剪裁加速器 |
CN109064383A (zh) * | 2018-07-19 | 2018-12-21 | 芯视图(常州)微电子有限公司 | 一种通用图形处理器中三维裁剪的并行硬件加速电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008048940A2 (en) * | 2006-10-17 | 2008-04-24 | Qualcomm Incorporated | Graphics processing unit with shared arithmetic logic unit |
CN101199428A (zh) * | 2007-04-18 | 2008-06-18 | 汕头超声仪器研究所 | 一种超声回波数据的处理装置及方法 |
-
2010
- 2010-11-22 CN CN2010105574254A patent/CN101976432B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008048940A2 (en) * | 2006-10-17 | 2008-04-24 | Qualcomm Incorporated | Graphics processing unit with shared arithmetic logic unit |
CN101199428A (zh) * | 2007-04-18 | 2008-06-18 | 汕头超声仪器研究所 | 一种超声回波数据的处理装置及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200425A (zh) * | 2014-08-22 | 2014-12-10 | 济南大学 | 一种gpu图形处理过程中图元裁剪装置及裁剪方法 |
CN104361619A (zh) * | 2014-10-28 | 2015-02-18 | 长沙景嘉微电子股份有限公司 | 一种基于水平线填充的2d图形ip核实现方法 |
CN107909623A (zh) * | 2017-11-30 | 2018-04-13 | 东华大学 | 一种基于投影分解的矩形窗口裁剪方法 |
CN108389154A (zh) * | 2018-03-27 | 2018-08-10 | 长沙景嘉微电子股份有限公司 | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 |
CN108447015A (zh) * | 2018-03-27 | 2018-08-24 | 长沙景嘉微电子股份有限公司 | Gpu中一种实现用户自定义裁剪功能的装置和方法 |
CN108510565A (zh) * | 2018-03-27 | 2018-09-07 | 长沙景嘉微电子股份有限公司 | Gpu中一种实现线段转三角形绘制的装置与方法 |
CN108389154B (zh) * | 2018-03-27 | 2022-12-02 | 长沙景嘉微电子股份有限公司 | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 |
CN108986011A (zh) * | 2018-07-19 | 2018-12-11 | 芯视图(常州)微电子有限公司 | 平面剪裁加速器 |
CN109064383A (zh) * | 2018-07-19 | 2018-12-21 | 芯视图(常州)微电子有限公司 | 一种通用图形处理器中三维裁剪的并行硬件加速电路 |
Also Published As
Publication number | Publication date |
---|---|
CN101976432B (zh) | 2012-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101976432B (zh) | 图形芯片设计中分级裁剪策略的实现 | |
CN102016928B (zh) | 用于提高的图形性能的方法、设备 | |
US8269767B2 (en) | Multiscale three-dimensional reference grid | |
US8368714B2 (en) | Curved surface rendering system and method | |
US8259103B2 (en) | Position pegs for a three-dimensional reference grid | |
CN102279981B (zh) | 一种三维图像网格化方法 | |
CN103886633A (zh) | 基于图块的计算机图形渲染中细分面数据的面片 | |
CN102096897B (zh) | 基于分块渲染的gpu中块存储策略的实现 | |
CN103714575A (zh) | 一种sph与动态表面网格相结合的流体仿真方法 | |
US20140267266A1 (en) | Generating anti-aliased voxel data | |
US20110158555A1 (en) | Curved surface area calculation device and method | |
US8502818B1 (en) | System and method for surface tracking | |
CN108022202B (zh) | 一种超前消隐几何引擎结构 | |
CN111581776B (zh) | 一种基于几何重建模型的等几何分析方法 | |
CN104463942A (zh) | 三维图像裁剪方法及装置 | |
CN112764004B (zh) | 一种点云处理方法、装置、设备及存储介质 | |
CN104200425A (zh) | 一种gpu图形处理过程中图元裁剪装置及裁剪方法 | |
CN1942901B (zh) | 图像处理装置及图像处理方法 | |
CN105468375A (zh) | 一种面向面结构光点云数据的对应点搜索结构的构建方法 | |
CN103140878B (zh) | 用于运动模糊和景深的背面剔除 | |
US7542589B2 (en) | Road position detection | |
US20140267264A1 (en) | Generating anti-aliased voxel data | |
CN113421336A (zh) | 动态水域的体绘制方法及装置、存储介质、电子设备 | |
CN102063523A (zh) | 基于超采样算法的浮点定点相结合的线段反走样的实现 | |
CN102004832B (zh) | 基于水平线扫描的三角形光栅化的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 410205 Hunan province Changsha Hexi Lugu high tech Zone base Lu Jing Road No. 2 Changsha Productivity Promotion Center Patentee after: Changsha Jingjia Microelectronic Co., Ltd. Address before: 410205 Hunan province Changsha Hexi Lugu high tech Zone base Lu Jing Road No. 2 Changsha Productivity Promotion Center Patentee before: Changsha Jingjia Microelectronics Co., Ltd. |