CN101976432A - 图形芯片设计中分级裁剪策略的实现 - Google Patents

图形芯片设计中分级裁剪策略的实现 Download PDF

Info

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
Application number
CN 201010557425
Other languages
English (en)
Other versions
CN101976432B (zh
Inventor
焦永
陈宝民
周敏龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Jingjia Microelectronic Co., Ltd.
Original Assignee
CHANGSHA JINGJIA MICROELECTRONICS Co Ltd
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 CHANGSHA JINGJIA MICROELECTRONICS Co Ltd filed Critical CHANGSHA JINGJIA MICROELECTRONICS Co Ltd
Priority to CN2010105574254A priority Critical patent/CN101976432B/zh
Publication of CN101976432A publication Critical patent/CN101976432A/zh
Application granted granted Critical
Publication of CN101976432B publication Critical patent/CN101976432B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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)

1.图形芯片设计中分级裁剪的实现,其特征在于:线段裁剪输入包含线段的两个端点单精度浮点格式的坐标                                                
Figure 672112DEST_PATH_IMAGE001
,及其对应的单精度浮点格式的属性
Figure 197957DEST_PATH_IMAGE003
Figure 164776DEST_PATH_IMAGE004
,线段明显不可见的判断,当线段的两个端点都在裁剪窗口之外时,可以将该线段排除;若
Figure 936423DEST_PATH_IMAGE005
则将线段的P0和P1交换位置,斜率非负时若裁剪窗口左上角PLT、右下角PRB在线段的同侧时,线段裁减掉,斜率为负时若裁剪窗口左下角PLB、右上角PRT在线段的两侧,线段可见;将可见的线段顶点和属性等写入FIFO。
2.三角形的裁剪输入为三个顶点的单精度浮点格式的坐标
Figure 355903DEST_PATH_IMAGE006
Figure 707250DEST_PATH_IMAGE007
Figure 59734DEST_PATH_IMAGE008
,三角形明显不可见的判断,包括三点一线的判断和三个顶点在裁剪窗口边界同一侧的判断;三角形斜向不可见的判断,如果点P在三角形的每一条边上方,则P在三角形内部,以边
Figure 720391DEST_PATH_IMAGE009
为例,P在三角形内部,即要求
Figure 627168DEST_PATH_IMAGE010
,(如果三角形的顶点按顺时针排列,则要求
Figure 47785DEST_PATH_IMAGE011
)对于窗口的某顶点,如果其叉乘积中有<0的,则表明该点在三角形外,进一步,如果窗口的4个顶点都在三角形外,且三角形的三个顶点都不在窗口内,则表明三角形在裁剪窗口外,将可见的三角形写入FIFO。
3.计算可见线段与裁剪窗口的交点,根据直线公式:
Figure 989196DEST_PATH_IMAGE012
,对于四个裁剪边界x=-1、x=1、y=-1、y=1分别计算与线段的交点;根据线段与裁剪窗口的位置关系,确定出裁剪后线段的两个端点坐标;线段经过全裁剪之后,线段的端点坐标会改变,同时端点的属性也应随之改变用线性插值方法进行计算。
4. 水平线裁剪,三角形的光栅化采用水平线扫描的方式来实现,当得到一条扫描线的起始点和终点之后,将水平线裁剪到屏幕范围之内。
CN2010105574254A 2010-11-22 2010-11-22 图形芯片设计中分级裁剪策略的实现 Active CN101976432B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 汕头超声仪器研究所 一种超声回波数据的处理装置及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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.