CN102270351A - 基于分块渲染的gpu中线段分块技术的实现 - Google Patents

基于分块渲染的gpu中线段分块技术的实现 Download PDF

Info

Publication number
CN102270351A
CN102270351A CN2011100651738A CN201110065173A CN102270351A CN 102270351 A CN102270351 A CN 102270351A CN 2011100651738 A CN2011100651738 A CN 2011100651738A CN 201110065173 A CN201110065173 A CN 201110065173A CN 102270351 A CN102270351 A CN 102270351A
Authority
CN
China
Prior art keywords
line segment
coordinate
piece
expansion
bounding box
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.)
Pending
Application number
CN2011100651738A
Other languages
English (en)
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 MICROELECTRONICS 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 CN2011100651738A priority Critical patent/CN102270351A/zh
Publication of CN102270351A publication Critical patent/CN102270351A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种基于分块渲染的GPU中线段分块技术的实现,它包括线段的四边形扩展;包围盒坐标生成;线段所在块号预生成;线段确切所在块号的生成四个步骤,在实现中采用流水线方式处理,可以快速准确地确定线段在哪些块中,减少渲染的访存频率,加快渲染的运行速度。

Description

基于分块渲染的GPU中线段分块技术的实现
技术领域
本发明主要涉及到基于分块渲染的GPU设计领域,特指基于分块渲染的GPU中线段分块技术的实现。
背景技术
传统的GPU设计采用固定流水线的方式,在绘制线段时,直接根据线段的起始点和终止点完成一条线段的绘制,而在渲染时,由于线段的局部性比较差,导致绘制大量线段时需要频繁地替换Cache中的数据,往往是Cache中的数据替换出去过一段时间又装载进来,所以传统GPU绘制线段的效率不高。
为了解决线段绘制频繁访存的问题,基于分块渲染的技术就被提出来了,这种技术的特点是:将绘图区分成若干个大小相等的块,判断图元所在的块,将其按照块号写入存储器,等当前帧所有的图元都分块完毕并写入存储器之后,再按照块的顺序将当前块内的图元依次读出进行渲染,如此带来的好处就是在渲染某一块时只是在最终确定了要绘制的像素之后才会写入帧存,避免了频繁的访存,节省了存储器带宽,提高绘图效率。
对三角形的分块技术已经比较成熟,但是对于某些应用场合,需要绘制大量的线段(比如地图),如果只是对三角形进行分块,线段的绘制将会影响到最终的绘制效率,所以对于含有大量线段和三角形的应用,对线段也采用分块算法就显得很重要。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术难点,本发明提供了一种能够快速完成线段分块的实现方式。
本发明的优点就在于:1、精确:本发明提出的线段分块实现方式可以准确地将包含线段的块找出来;2、快速:本发明采用的算法是将线段扩展成四边形之后再将其分成两个三角形,利用三角形的边界方程并行判断,运行速度快;3、高效:采用本发明提出的线段分块技术的基于分块渲染的GPU,可以大大提高含有大量线段的场景绘制效率。
附图说明          
图1是本发明实现的线段扩展四边形及三角形划分;
图2是本发明提出的确定线段所在块的示意图;
图3是本发明提出的线段分块技术的实现结构示意图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,为本发明实现的线段扩展四边形及三角形划分,其中(a)为锯齿线段的扩展四边形,(b)为锯齿线段扩展四边形的三角形划分;(c)为反走样线段的扩展四边形,(d)为反走样线段扩展四边形的划分。
如图2所示,为本发明实现的线段所在块的判断示意图,图中可以看到,该线段扩展四边形的包围盒所包含的块号为0、1、2、4、5、6,在利用边界方程进行判断之后,线段实际所在的块号为1、2、4、5、6,0号与线段并无相交部分,不会将0号块写入存储器。
如图3所示,本发明的线段分块技术实现的结构示意图,它包括线段方向调整,若x0>x1,则交换T0、T1两个点的坐标,得到线段两个点的额坐标为 
Figure 2011100651738100002DEST_PATH_IMAGE002
,此时线段的方向是从左到右;根据绘制线段的类型,分别进行线段的扩展,锯齿线段可以将线段扩展成为一个平行四边形,反走样线段可以将线段扩展成为一个矩形,同时保证线段扩展之后的四个顶点是按照逆时针顺序排列的;确定包围盒坐标,包围盒为包含当前处理线段的最小矩形,其计算方法为:找出上面生成的扩展四边形四个顶点的最大X值(设为Xmax)、最小X值(设为Xmin)、最大Y值(设为Ymax)、最小Y值(设为Ymin),将这些值都转化为整数,然后与屏幕坐标边界进行比较,确定包围盒的四个边界为Lxmin、Rxmax、Bymin、Tymax;块号预生成,根据包围盒的四个边界和分块的大小(假设为64×64),确定这个包围盒包含哪些块,此时生成的块号会有一部分并不与线段相交;确切块号生成,将线段划分成两个三角形,利用三角形的边界方程并行判断六条边,得到线段所在的确切块号。

Claims (6)

1.基于分块渲染算法实现的GPU中线段分块技术的实现,其输入为线段的两个端点的单精度浮点格式的坐标T0(x0,y0)、T1(x1,y1)。
1.调整线段方向。若x0>x1,则交换T0、T1两个点的坐标,得到线段两个点的坐标为T′0(x′0,y′0)、T′1(x′1,y′1),此时线段的方向是从左到右。
2.扩展线段为四边形,根据线段是否需要做反走样处理进行不同的扩展方式,若不进行反走样处理,假设线段宽度为w,那么:
(1)线段沿X方向生成,扩展的四个点坐标为:
Figure DEST_PATH_FDA0000082007070000011
Figure DEST_PATH_FDA0000082007070000012
Figure DEST_PATH_FDA0000082007070000013
(2)线段沿Y方向生成,扩展的四个点坐标为:
Figure DEST_PATH_FDA0000082007070000015
Figure DEST_PATH_FDA0000082007070000016
Figure DEST_PATH_FDA0000082007070000017
Figure DEST_PATH_FDA0000082007070000018
若需要进行线段反走样处理,同样假设线段宽度为w,那么,扩展后的四个顶点坐标为:
Figure DEST_PATH_FDA0000082007070000019
Figure DEST_PATH_FDA00000820070700000110
Figure DEST_PATH_FDA00000820070700000111
Figure DEST_PATH_FDA00000820070700000112
其中:θ为线段 与X轴的夹角。
3.包围盒坐标生成。包围盒为包含当前处理线段的最小矩形。其计算方法为:找出2生成的扩展四边形四个顶点的最大X值(设为Xmax)、最小X值(设为Xmin)、最大Y值(设为Ymax)、最小Y值(设为Ymin),将这些值都转化为整数,然后与屏幕坐标边 界进行比较,确定包围盒的四个边界为Lxmin、Rxmax、Bymin、Tymax
4.块号预生成。根据包围盒的四个边界和分块的大小(假设为64×64),确定这个包围盒包含哪些块,此时生成的块号会有一部分并不与线段相交。
5.确切块号生成。根据4生成的块号,进一步将不与线段相交的块排除掉。具体方法为:
(1)定义边界方程
E(x,y)=(x-x0)·dy-(y-y0)·dx
(2)将线段扩展四边形按逆时针排列分成两个三角形;
(3)对每一个三角形(以下假设一个逆时针顺序的△ABC),只需要判断块的左下角坐标是否满足以下公式即可:
Figure DEST_PATH_FDA0000082007070000021
当上述三个公式均成立时,那么当前判断的块与线段必有交点。 
CN2011100651738A 2011-03-17 2011-03-17 基于分块渲染的gpu中线段分块技术的实现 Pending CN102270351A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100651738A CN102270351A (zh) 2011-03-17 2011-03-17 基于分块渲染的gpu中线段分块技术的实现

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100651738A CN102270351A (zh) 2011-03-17 2011-03-17 基于分块渲染的gpu中线段分块技术的实现

Publications (1)

Publication Number Publication Date
CN102270351A true CN102270351A (zh) 2011-12-07

Family

ID=45052646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100651738A Pending CN102270351A (zh) 2011-03-17 2011-03-17 基于分块渲染的gpu中线段分块技术的实现

Country Status (1)

Country Link
CN (1) CN102270351A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103903507A (zh) * 2012-12-26 2014-07-02 腾讯科技(深圳)有限公司 一种地图道路渲染方法及系统
CN106067187A (zh) * 2015-04-22 2016-11-02 想象技术有限公司 在图形处理系统中对基元分块
CN106127833A (zh) * 2016-06-30 2016-11-16 苏州爱因智能设备有限公司 用于勾画靶区体积轮廓的外扩内缩方法
CN108510565A (zh) * 2018-03-27 2018-09-07 长沙景嘉微电子股份有限公司 Gpu中一种实现线段转三角形绘制的装置与方法
CN111784795A (zh) * 2020-06-01 2020-10-16 北京像素软件科技股份有限公司 线段走样的处理方法、装置、电子设备及存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103903507A (zh) * 2012-12-26 2014-07-02 腾讯科技(深圳)有限公司 一种地图道路渲染方法及系统
WO2014101494A1 (zh) * 2012-12-26 2014-07-03 腾讯科技(深圳)有限公司 地图道路渲染方法及地图道路渲染装置
CN106067187A (zh) * 2015-04-22 2016-11-02 想象技术有限公司 在图形处理系统中对基元分块
CN106067187B (zh) * 2015-04-22 2021-11-30 想象技术有限公司 在图形处理系统中对基元分块
US11257181B2 (en) 2015-04-22 2022-02-22 Imagination Technologies Limited Tiling a primitive in a graphics processing system by edge-specific testing of a subset of tiles in a rendering space
US11790480B2 (en) 2015-04-22 2023-10-17 Imagination Technologies Limited Tiling a primitive in a graphics processing system by edge-specific testing of a subset of tiles in a rendering space
CN106127833A (zh) * 2016-06-30 2016-11-16 苏州爱因智能设备有限公司 用于勾画靶区体积轮廓的外扩内缩方法
CN106127833B (zh) * 2016-06-30 2018-12-28 苏州爱因智能设备有限公司 用于勾画靶区体积轮廓的外扩内缩方法
CN108510565A (zh) * 2018-03-27 2018-09-07 长沙景嘉微电子股份有限公司 Gpu中一种实现线段转三角形绘制的装置与方法
CN111784795A (zh) * 2020-06-01 2020-10-16 北京像素软件科技股份有限公司 线段走样的处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US10096086B2 (en) Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
US10147203B2 (en) Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
US9612839B2 (en) Higher accuracy Z-culling in a tile-based architecture
CN102208112B (zh) 景深消隐方法、三维图形处理方法及其装置
JP5020393B2 (ja) 処理装置
US9779533B2 (en) Hierarchical tiled caching
US10032243B2 (en) Distributed tiled caching
BR112018014012B1 (pt) Sistemas e métodos para renderizar múltiplos níveis de detalhe e memória legível por computador
CN102270351A (zh) 基于分块渲染的gpu中线段分块技术的实现
CN107392836B (zh) 使用图形处理管线实现的立体多投影
US20180174349A1 (en) Adaptive partition mechanism with arbitrary tile shape for tile based rendering gpu architecture
US10762696B2 (en) Graphic processor performing sampling-based rendering and method of operating the same
US11631212B2 (en) Methods and apparatus for efficient multi-view rasterization
CN102096935B (zh) 基于分块渲染的gpu中反走样线段的生成
CN102436673A (zh) 一种大规模室外场景的阴影绘制方法
CN104952103A (zh) 一种视点依赖的阴影贴图创建方法
US9613392B2 (en) Method for performing graphics processing of a graphics system in an electronic device with aid of configurable hardware, and associated apparatus
KR20220151620A (ko) 에지 압축 앤티 앨리어싱을 위한 방법 및 장치
CN102426692A (zh) 粒子绘制方法
CN113628315B (zh) 射线锥追踪和纹理过滤的技术
US10755468B2 (en) Image processing apparatus, image processing method, and program to improve speed for calculating a color of pixels in image data
KR20220112710A (ko) 픽셀 패킹 관련 애플리케이션 데이터를 위한 방법 및 장치
CN102142150A (zh) 基于分块渲染的gpu中锯齿线段的生成

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 410205 Hunan province Changsha Hexi Lugu high tech Zone base Lu Jing Road No. 2 Changsha Productivity Promotion Center

Applicant 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

Applicant before: Changsha Jingjia Microelectronics Co., Ltd.

DD01 Delivery of document by public notice

Addressee: Zhuang Lingli

Document name: reexamine notice

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20111207