CN108537718B - Gpu中一种实现点图元反走样的装置和方法 - Google Patents
Gpu中一种实现点图元反走样的装置和方法 Download PDFInfo
- Publication number
- CN108537718B CN108537718B CN201810328261.4A CN201810328261A CN108537718B CN 108537718 B CN108537718 B CN 108537718B CN 201810328261 A CN201810328261 A CN 201810328261A CN 108537718 B CN108537718 B CN 108537718B
- Authority
- CN
- China
- Prior art keywords
- point
- color
- primitive
- fragment
- aliasing
- 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
- 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
- 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
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
本发明公开了GPU中一种实现点图元反走样的装置和方法,该装置包括:接收点图元坐标、属性及参数模块,边界扩展模块,片段生成模块,片段面积比计算模块和融合模块,实现方法为:经过点图元的扩展,扫描线的生成,片段面积比的计算和融合操作等步骤,在点图元光栅化过程中完成片段面积比的计算,最终实现点图元反走样效果。
Description
技术领域
本发明主要涉及到GPU设计领域,特指GPU中点图元的反走样效果实现领域。
背景技术
走样是光栅显示的一种固有性质,产生走样的原因是像素本质上的离散性,即像素是以某一固定尺寸的矩形阵列的形式出现在显示器上,而光栅化时仅仅使用了像素中的某个点来代替,用过低的频率来采样高频的信号就导致了走样现象。为了降低由于采样不足而产生的走样,常用的反走样方法有:前置滤波和超采样。前值滤波技术根据物体的覆盖率计算像素的颜色,覆盖率是指某个像素区域被物体覆盖的比例,由于求出每个像素覆盖率的几何计算代价非常大,这种方法不常用。由于走样是由于对物体采样点过少,那么可以采用每个像素多点采样来降低走样现象,这种技术称为超采样。
点图元是GPU的基本图元之一,走样的情况下,点被画成一个以给定点坐标为中心,以点大小为边长的正方形,点的反走样是一种对点图元进行平滑处理的技巧,当开启反走样效果时,点被绘制成一个以给定点坐标为圆心,以点大小为直径的圆,位于边界区域的像素的颜色强度较小。
发明内容
本发明要解决的问题就在于:提供了一种实现点图元反走样效果的方法,通过将扩展后点图元的每个片段划分成子片段,判断子片段与最终效果的点图元的位置关系得到每个片段的面积比,利用该面积比将片段颜色与背景颜色进行融合操作得到将边界区域的像素颜色强度变小,最终实现了反走样效果。
发明内容:
本发明公开了GPU中一种实现点图元反走样的装置,由以下模块构成:
(1)缓冲区FIFO:接收点图元坐标属性及参数;
(2)点的扩展模块:根据点的坐标和点的大小计算四个边界,得到一个正方形的区域;
(3)片段生成模块:对正方形区域按照从上到下,从左到右的顺序扫描,得到该区域范围内每一个片段的坐标;
(4)片段面积比计算模块:将片段划分成若干个子片段,通过计算子片段网格点与以点图元坐标为中心点,点的大小为直径的圆的位置关系,得到各个片段的面积比;
(5)融合模块:将面积比作为融合源因子,一减面积比作为融合目的因子,对片段颜色和背景颜色进行融合,结果写入帧存;
本发明还公开了GPU中一种实现点图元反走样的方法,对经过顶点处理和屏幕坐标变换后的点图元单精度浮点格式的坐标(x0,y0)、点图元的属性、用户配置的单精度浮点格式的点图元大小d写入缓冲区FIFO,按照以下步骤实现点图元的反走样:
步骤(1):读取缓冲区FIFO,得到点图元单精度浮点格式的坐标(x0,y0)、点图元的属性、用户配置的单精度浮点格式的点图元大小d;
步骤(2):根据点的坐标和点的大小计算四个边界,得到一个正方形的边界区域:左边界:xL=x0-d/2;右边界:xR=x0+d/2;上边界:yT=y0+d/2;下边界:yB=y0-d/2
步骤(3):对步骤(2)得到的边界按照从左到右,从上到下的顺序扫描,得到边界范围内每一个片段左下角的坐标(xp,yp);
步骤(4):对步骤(3)得到的片段坐标计算其面积比,经过反走样的点的图形应该为以(x0,y0)为中心点,半径为d/2的圆,在实现时的处理方法为:将片段(xp,yp)划分成m×m个子片段共(m+1)2个交点,其中的m为自然数,每个交点的坐标为(xp+a,yp+b),其中a,b∈{0,1/m,2/m,3/m,…,(m-1)/m,1},判断计算交点(xp+a,yp+b)是否在圆内部,在圆内部则权值为1,否则取权值为0,将计算出的(m+1)2个点的权重相加,得到子片段交点的权重和,除以总权重(m+1)2得到片段面积比Ratio,以此作为该片段的颜色与背景颜色融合时的比例;
步骤(5):设背景颜色为ColorB,点图元的颜色为ColorP,最终生成的像素颜色为ColorF,利用公式ColorF=ColorP*Ratio+ColorB*(1-Ratio)得到像素写入帧存的颜色。
对于本发明实现方法的进一步限定,所述步骤(3)中子片段交点的权重值计算方法为:利用公式A=(xp+a-x0)2+(yp+b-y0)2,B=(d/2)2,C=B-A,若C≥0则权值为1,否则取权值为0;
本发明的优点就在于:1、该方法可以方便地实现任意点大小的反走样效果;2、通过将片段分割方法简化面积比的计算。
附图说明
图1是本发明实现的GPU中点图元反走样实现结构;
图2是本发明实现的点图元反走样效果图。
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图1所示,GPU中一种实现点图元反走样的装置,由以下模块构成:
(1)缓冲区FIFO:接收点图元坐标属性及参数;
(2)点的扩展模块:根据点的坐标和点的大小计算四个边界,得到一个正方形的区域;
(3)片段生成模块:对正方形区域按照从上到下,从左到右的顺序扫描,得到该区域范围内每一个片段的坐标;
(4)片段面积比计算模块:将片段划分成若干个子片段,通过计算子片段网格点与以点图元坐标为中心点,点的大小为直径的圆的位置关系,得到各个片段的面积比;
(5)融合模块:将面积比作为融合源因子,一减面积比作为融合目的因子,对片段颜色和背景颜色进行融合,结果写入帧存;
具体实施方式为:对经过顶点处理和屏幕坐标变换后的点图元单精度浮点格式的坐标(x0,y0)、点图元的属性、用户配置的单精度浮点格式的点图元大小d写入缓冲区FIFO,按照以下步骤实现点图元的反走样:
步骤(1):读取缓冲区FIFO,得到点图元单精度浮点格式的坐标(x0,y0)、点图元的属性、用户配置的单精度浮点格式的点图元大小d;
步骤(2):根据点的坐标和点的大小计算四个边界,得到一个正方形的边界区域:左边界:xL=x0-d/2;右边界:xR=x0+d/2;上边界:yT=y0+d/2;下边界:yB=y0-d/2
步骤(3):对步骤(2)得到的边界按照从左到右,从上到下的顺序扫描,得到边界范围内每一个片段左下角的坐标(xp,yp);
步骤(4):对步骤(3)得到的片段坐标计算其面积比,经过反走样的点的图形应该为以(x0,y0)为中心点,半径为d/2的圆,在实现时的处理方法为:以将片段(xp,yp)划分成4×4个子片段共25个交点为例计算,每个交点的坐标为(xp+a,yp+b),其中a,b∈{0,1/4,2/4,3/4,1},判断计算交点(xp+a,yp+b)是否在圆内部,在圆内部则权值为1,否则取权值为0,将计算出的25个点的权重相加,得到子片段交点的权重和,除以总权重25得到片段面积比Ratio,以此作为该片段的颜色与背景颜色融合时的比例;
步骤(5):设背景颜色为ColorB,点图元的颜色为ColorP,最终生成的像素颜色为ColorF,利用公式ColorF=ColorP*Ratio+ColorB*(1-Ratio)得到像素写入帧存的颜色。
如图2所示,本发明实现的点图元反走样执行效果,(a1)和(a2)是执行反走样的效果,其中(a1)为原始大小,(a2)是将(a1)放大后的效果;(b1)和(b2)是未做反走样的效果,其中(b1)为原始大小,(b2)是将(b1)放大后的效果。
Claims (3)
1.GPU中一种实现点图元反走样的装置,其特征为:由以下模块构成:
(1)缓冲区FIFO:接收点图元坐标属性及参数;
(2)点的扩展模块:根据点的坐标和点的大小计算四个边界,得到一个正方形的区域;
(3)片段生成模块:对正方形区域按照从上到下,从左到右的顺序扫描,得到该区域范围内每一个片段的坐标;
(4)片段面积比计算模块:将片段划分成若干个子片段,通过计算子片段网格点与以点图元坐标为中心点,点的大小为直径的圆的位置关系,得到各个片段的面积比;
(5)融合模块:将面积比作为融合源因子,一减面积比作为融合目的因子,对片段颜色和背景颜色进行融合,结果写入帧存。
2.GPU中一种实现点图元反走样的方法,其特征为:对经过顶点处理和屏幕坐标变换后的点图元单精度浮点格式的坐标(x0,y0)、点图元的属性、用户配置的单精度浮点格式的点图元大小d写入缓冲区FIFO,按照以下步骤实现点图元的反走样:
步骤(1):读取缓冲区FIFO,得到点图元单精度浮点格式的坐标(x0,y0)、点图元的属性、用户配置的单精度浮点格式的点图元大小d;
步骤(2):根据点的坐标和点的大小计算四个边界,得到一个正方形的边界区域:左边界:xL=x0-d/2;右边界:xR=x0+d/2;上边界:yT=y0+d/2;下边界:yB=y0-d/2;
步骤(3):对步骤(2)得到的边界按照从左到右,从上到下的顺序扫描,得到边界范围内每一个片段左下角的坐标(xp,yp);
步骤(4):对步骤(3)得到的片段坐标计算其面积比,经过反走样的点的图形应该为以(x0,y0)为中心点,半径为d/2的圆,在实现时的处理方法为:将片段(xp,yp)划分成m×m个子片段共(m+1)2个交点,其中的m为自然数,每个交点的坐标为(xp+a,yp+b),其中a,b∈{0,1/m,2/m,3/m,…,(m-1)/m,1},判断计算交点(xp+a,yp+b)是否在圆内部,在圆内部则权值为1,否则取权值为0,将计算出的(m+1)2个点的权重相加,得到子片段交点的权重和,除以总权重(m+1)2得到片段面积比Ratio,以此作为该片段的颜色与背景颜色融合时的比例;
步骤(5):设背景颜色为ColorB,点图元的颜色为ColorP,最终生成的像素颜色为ColorF,利用公式ColorF=ColorP*Ratio+ColorB*(1-Ratio)得到像素写入帧存的颜色。
3.根据权利要求2所述的GPU中一种实现点图元反走样的方法,其特征为:所述步骤(3)中子片段交点的权重值计算方法为:利用公式A=(xp+a-x0)2+(yp+b-y0)2,B=(d/2)2,C=B-A,若C≥0则权值为1,否则取权值为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810328261.4A CN108537718B (zh) | 2018-04-12 | 2018-04-12 | Gpu中一种实现点图元反走样的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810328261.4A CN108537718B (zh) | 2018-04-12 | 2018-04-12 | Gpu中一种实现点图元反走样的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108537718A CN108537718A (zh) | 2018-09-14 |
CN108537718B true CN108537718B (zh) | 2022-12-02 |
Family
ID=63479975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810328261.4A Active CN108537718B (zh) | 2018-04-12 | 2018-04-12 | Gpu中一种实现点图元反走样的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108537718B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648386B (zh) * | 2019-07-23 | 2024-01-09 | 完美世界(北京)软件科技发展有限公司 | 一种用于图元的反走样的方法和系统 |
CN110969567B (zh) * | 2019-11-18 | 2023-09-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu线图元光栅化平移坐标系扫描方法 |
CN111223142B (zh) * | 2019-12-31 | 2023-09-08 | 西安翔腾微电子科技有限公司 | 一种gpu点光栅化点大小奇偶配置的顶点坐标映射方法 |
CN113643191B (zh) * | 2020-04-27 | 2023-08-15 | 北京蓝亚盒子科技有限公司 | 用于体素模型的平滑方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007141196A (ja) * | 2005-11-15 | 2007-06-07 | Kaadeikku Corporation:Kk | ポリゴン・シルエットライン・アンチエイリアス回路 |
CN102063523A (zh) * | 2010-11-22 | 2011-05-18 | 长沙景嘉微电子有限公司 | 基于超采样算法的浮点定点相结合的线段反走样的实现 |
CN105046729A (zh) * | 2015-08-07 | 2015-11-11 | 浙江大学 | 一种高效并行矢量数据可视化方法 |
WO2015184764A1 (zh) * | 2014-11-17 | 2015-12-10 | 中兴通讯股份有限公司 | 行人检测方法及装置 |
-
2018
- 2018-04-12 CN CN201810328261.4A patent/CN108537718B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007141196A (ja) * | 2005-11-15 | 2007-06-07 | Kaadeikku Corporation:Kk | ポリゴン・シルエットライン・アンチエイリアス回路 |
CN102063523A (zh) * | 2010-11-22 | 2011-05-18 | 长沙景嘉微电子有限公司 | 基于超采样算法的浮点定点相结合的线段反走样的实现 |
WO2015184764A1 (zh) * | 2014-11-17 | 2015-12-10 | 中兴通讯股份有限公司 | 行人检测方法及装置 |
CN105046729A (zh) * | 2015-08-07 | 2015-11-11 | 浙江大学 | 一种高效并行矢量数据可视化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108537718A (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108537718B (zh) | Gpu中一种实现点图元反走样的装置和方法 | |
JP6563048B2 (ja) | スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整 | |
JP6678209B2 (ja) | 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整 | |
TWI839352B (zh) | 圖形處理器、數據處理器、及其等的操作方法 | |
US7884825B2 (en) | Drawing method, image generating device, and electronic information apparatus | |
TWI552109B (zh) | 一種使用誤差項之保守格柵化基元的方法、非暫時性電腦可讀儲存媒體及系統 | |
CN108287678B (zh) | 一种基于虚拟现实的图像处理方法、装置、设备和介质 | |
CN101887592B (zh) | 一种矢量图形地图符号的绘制方法 | |
US10762696B2 (en) | Graphic processor performing sampling-based rendering and method of operating the same | |
US10403005B2 (en) | Using signed distance fields in multicolored vector approximation | |
US20200279415A1 (en) | Efficiently Computed Distance Fields | |
US20140327689A1 (en) | Technique for real-time rendering of temporally interpolated two-dimensional contour lines on a graphics processing unit | |
CN111127299A (zh) | 一种加速光栅化遍历的方法、装置及计算机存储介质 | |
CN111145286A (zh) | 一种基于gpu的用于边缘计算场景的点九图片贴图绘制方法 | |
US7808512B1 (en) | Bounding region accumulation for graphics rendering | |
CN101901590A (zh) | 用于抗锯齿的多边形栅格化的方法和系统 | |
EP1058912B1 (en) | Subsampled texture edge antialiasing | |
EP2992512B1 (en) | Anti-aliasing for geometries | |
CN101567091A (zh) | 一种三维虚拟现实引擎对目标渲染清晰化的方法 | |
CN111223142A (zh) | 一种gpu点光栅化点大小奇偶配置的顶点坐标映射方法 | |
US6900804B1 (en) | Method of forming polygon image and image processing apparatus using the same | |
JP3872056B2 (ja) | 描画方法 | |
CN112581352B (zh) | 一种面向多gpu的高性能图元分屏光栅方法 | |
JP2003187260A (ja) | 描画処理プログラム、描画処理プログラムを記録した記録媒体、描画処理装置及び方法 | |
CN114596386A (zh) | 一种面向平显的多线宽圆无失真绘制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |