CN110969567B - 一种gpu线图元光栅化平移坐标系扫描方法 - Google Patents
一种gpu线图元光栅化平移坐标系扫描方法 Download PDFInfo
- Publication number
- CN110969567B CN110969567B CN201911125635.3A CN201911125635A CN110969567B CN 110969567 B CN110969567 B CN 110969567B CN 201911125635 A CN201911125635 A CN 201911125635A CN 110969567 B CN110969567 B CN 110969567B
- Authority
- CN
- China
- Prior art keywords
- scanning
- coordinate system
- line width
- calculating
- coordinates
- 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
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
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
Abstract
本发明涉及计算机图形学技术领域,尤其涉及一种GPU线图元光栅化平移坐标系扫描方法。数学意义上坐标系的点是没有长度的,但是GPU在窗口坐标系下光栅化图元时,单点是需要占据一个像素位置,数学意义上这个点是有长度的,同理,直线也是有宽度的。因此,计算线长、线宽、斜率都是需要基于窗口坐标系,但从数学上计算需要先对坐标系进行不同方向的平移,将坐标系整点移致像素的中心点。该方法包括了扫描参数的计算、x方向扫描、y方向扫描。本发明实现了GPU几何阶段线图元光栅化扫描功能。
Description
技术领域
本发明属于计算机图形学技术领域,涉及一种GPU线图元光栅化平移坐标系扫描方法。
背景技术
在图形处理器芯片(下简称GPU)设计中,图元的光栅化是在窗口坐标系下,单点是占据一个像素位置,一条直线也是占据一定的线宽。但是数学意义上的坐标系,点是不占据位置的,直线也没有宽度的。如果想用数学的方法进行扫描线图元坐标位置的计算,对于线长、线宽、斜率都需要进行计算参数的修正,这是需要解决的技术问题。
发明内容
本发明目的是提供一种GPU线图元光栅化平移坐标系扫描方法。
本发明的技术解决方案是:
一种GPU线图元光栅化平移坐标系扫描方法,所述方法包括如下步骤:
1)扫描参数的计算:
2)x方向扫描:
3)y方向扫描:
进一步的,所述步骤1)包括:
首先设置原始起点坐标和终点坐标,并且置位直线的扫描顺序标志位,直线按照从左到右的原则进行扫描,
然后,根据原始起点坐标和终点坐标计算斜率,
再根据配置的线宽和反走样开启标志,进行垂直线宽的计算,
最后,根据斜率和垂直线宽计算直线方程。
进一步的,所述步骤2)包括:
如果直线的终点x坐标小于0,线图元光栅化平移坐标系扫描结束;
否则,先根据原始起点坐标计算直线起点的坐标,
根据终点坐标和起点坐标对x方向在视窗范围外的片元进行过滤,
然后对坐标系左移0.5后进行直线长度的计算,
再根据扫描方向计算扫描起始片元,如果是正向扫描,从第0个片元开始扫描;否则,从第1个片元开始扫描。
进一步的,所述步骤3)包括:
首先判断斜率,如果斜率为0,坐标系上移0.5;
否则,坐标系下移0.5,
然后根据平移后的直线方程和垂直线宽计算上边界坐标和有效下边界坐标,过滤掉视窗范围外的片元后,从有效下边界坐标往上边界坐标扫描,输出光栅片元,
再进入步骤3)进行下一列片元的扫描,当扫描到直线终点坐标的片元,直线长度扫描完成,线图元光栅化平移坐标系扫描结束。
本发明的有益效果:
本发明采用了坐标系平移方法,基于窗口坐标系对直线扫描的线长、线宽、斜率参数进行修正,解决了点与像素的坐标对应关系问题,进而解决了GPU线图元光栅化扫描问题,正确的实现了GPU线图元光栅化扫描功能。
附图说明
图1为本发明的算法流程图;
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
本发明提供了一种GPU线图元光栅化平移坐标系扫描方法,该方法包括以下步骤:
1)扫描参数的计算:
首先设置原始起点坐标和终点坐标,并且置位直线的扫描顺序标志位,直线按照从左到右的原则进行扫描,然后根据原始起点坐标和终点坐标计算斜率,再根据配置的线宽和反走样开启标志,进行垂直线宽的计算,最后,根据斜率和垂直线宽计算直线方程。
2)x方向扫描:
如果直线的终点x坐标小于0,线图元光栅化平移坐标系扫描结束;
否则,先根据原始起点坐标计算直线起点的坐标,根据终点坐标和起点坐标对x方向在视窗范围外的片元进行过滤,然后对坐标系左移0.5后进行直线长度的计算,再根据扫描方向计算扫描起始片元,如果是正向扫描,从第0个片元开始扫描;否则,从第1个片元开始扫描。
3)y方向扫描:
首先判断斜率,如果斜率为0,坐标系上移0.5;否则,坐标系下移0.5。然后根据平移后的直线方程和垂直线宽计算上边界坐标和有效下边界坐标,过滤掉视窗范围外的片元后,从有效下边界坐标往上边界坐标扫描,输出光栅片元然后,再进入步骤3)进行下一列片元的扫描,当扫描到直线终点坐标的片元,直线长度扫描完成,线图元光栅化平移坐标系扫描结束。
实施例:
下面结合附图对本发明做进一步详细描述,请参阅图1。
一种GPU线图元光栅化平移坐标系扫描方法,包括以下步骤:
步骤1:扫描参数的计算:
首先设置原始起点坐标和终点坐标,并且置位直线的扫描顺序标志位,直线按照从左到右的原则进行扫描,然后根据原始起点坐标和终点坐标计算斜率,再根据配置的线宽和反走样开启标志,进行垂直线宽的计算,
当线宽为1时,如果反走样开启标志为true,以线宽为2计算垂直线宽,否则垂直线宽为0;当线宽不为1时,根据线宽计算垂直线宽;然后对垂直线宽四舍五入。最后,根据斜率和垂直线宽计算直线方程。
步骤2:x方向扫描:
如果直线的终点x坐标小于0,线图元光栅化平移坐标系扫描结束;
否则,如果原始起点的x坐标小于0,设置直线起点的x坐标为0,直线起点的y坐标与原始起点的y坐标相同;如果原始起点的x坐标不小于0,直线起点坐标与原始起点坐标相同;然后对坐标系左移0.5后进行直线长度的计算。再根据扫描方向计算扫描起始片元,如果是正向扫描,从第0个片元开始扫描;否则,从第1个片元开始扫描。
步骤3:y方向扫描:
首先判断斜率,如果斜率为0,坐标系上移0.5;否则,坐标系下移0.5。在x方向扫描,将片元的x坐标代入直线方程,计算y坐标,即上边界坐标,如果上边界坐标小于0,再进入步骤3进行下一列片元的扫描;否则,判断垂直线宽,如果等于0,下边界坐标等于上边界坐标;如果不等于0,根据上边界坐标和垂直线宽计算下边界坐标。再判断下边界y坐标,如果小于0,有效下边界y坐标等于0,有效下边界x坐标与下边界x坐标相同;否则,有效下边界坐标与下边界坐标相同。然后,从有效下边界坐标开始扫描到上边界坐标,输出每个光栅片元的坐标,再进入步骤3进行下一列片元的扫描,当扫描到直线终点坐标的片元,直线长度扫描完成,线图元光栅化平移坐标系扫描结束。
Claims (1)
1.一种GPU线图元光栅化平移坐标系扫描方法,其特征在于:所述方法包括如下步骤:
1)扫描参数的计算:
2)x方向扫描:
3)y方向扫描,
所述步骤1)包括:
首先设置原始起点坐标和终点坐标,并且置位直线的扫描顺序标志位,直线按照从左到右的原则进行扫描,
然后,根据原始起点坐标和终点坐标计算斜率,
再根据配置的线宽和反走样开启标志,进行垂直线宽的计算,
当线宽为1时,如果反走样开启标志为true,以线宽为2计算垂直线宽,否则垂直线宽为0;当线宽不为1时,根据线宽计算垂直线宽;然后对垂直线宽四舍五入,
最后,根据斜率和垂直线宽计算直线方程,
所述步骤2)包括:
如果直线的终点x坐标小于0,线图元光栅化平移坐标系扫描结束;
否则,先根据原始起点坐标计算直线起点的坐标,
根据终点坐标和起点坐标对x方向在视窗范围外的片元进行过滤,
然后对坐标系左移0.5后进行直线长度的计算,
再根据扫描方向计算扫描起始片元,如果是正向扫描,从第0个片元开始扫描;否则,从第1个片元开始扫描,
所述步骤3)包括:
首先判断斜率,如果斜率为0,坐标系上移0.5;
否则,坐标系下移0.5,
然后根据平移后的直线方程和垂直线宽计算上边界坐标和有效下边界坐标,过滤掉视窗范围外的片元后,从有效下边界坐标往上边界坐标扫描,输出光栅片元,
再进入步骤3)进行下一列片元的扫描,当扫描到直线终点坐标的片元,直线长度扫描完成,线图元光栅化平移坐标系扫描结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911125635.3A CN110969567B (zh) | 2019-11-18 | 2019-11-18 | 一种gpu线图元光栅化平移坐标系扫描方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911125635.3A CN110969567B (zh) | 2019-11-18 | 2019-11-18 | 一种gpu线图元光栅化平移坐标系扫描方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110969567A CN110969567A (zh) | 2020-04-07 |
CN110969567B true CN110969567B (zh) | 2023-09-19 |
Family
ID=70030874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911125635.3A Active CN110969567B (zh) | 2019-11-18 | 2019-11-18 | 一种gpu线图元光栅化平移坐标系扫描方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110969567B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115063509B (zh) * | 2022-08-18 | 2022-11-22 | 深圳中微电科技有限公司 | 一种基于daa直线表示的光栅化方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4942621A (en) * | 1988-11-15 | 1990-07-17 | Msc Technologies, Inc. | Method for mapping scanned pixel data |
JPH07225849A (ja) * | 1993-12-17 | 1995-08-22 | Hitachi Ltd | グラフィックスコンピュータと直線描画装置 |
US5821944A (en) * | 1995-01-10 | 1998-10-13 | Evans & Sutherland Computer Corp. | Computer graphics pixel rendering system with multi-level scanning |
CN101719154A (zh) * | 2009-12-24 | 2010-06-02 | 中国科学院计算技术研究所 | 一种基于栅格结构的空间索引建立方法和系统 |
CN102063523A (zh) * | 2010-11-22 | 2011-05-18 | 长沙景嘉微电子有限公司 | 基于超采样算法的浮点定点相结合的线段反走样的实现 |
CN108537718A (zh) * | 2018-04-12 | 2018-09-14 | 长沙景美集成电路设计有限公司 | Gpu中一种实现点图元反走样的装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1480171B1 (en) * | 2003-05-22 | 2016-11-02 | Telefonaktiebolaget LM Ericsson (publ) | Method and system for supersampling rasterization of image data |
-
2019
- 2019-11-18 CN CN201911125635.3A patent/CN110969567B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4942621A (en) * | 1988-11-15 | 1990-07-17 | Msc Technologies, Inc. | Method for mapping scanned pixel data |
JPH07225849A (ja) * | 1993-12-17 | 1995-08-22 | Hitachi Ltd | グラフィックスコンピュータと直線描画装置 |
US5821944A (en) * | 1995-01-10 | 1998-10-13 | Evans & Sutherland Computer Corp. | Computer graphics pixel rendering system with multi-level scanning |
CN101719154A (zh) * | 2009-12-24 | 2010-06-02 | 中国科学院计算技术研究所 | 一种基于栅格结构的空间索引建立方法和系统 |
CN102063523A (zh) * | 2010-11-22 | 2011-05-18 | 长沙景嘉微电子有限公司 | 基于超采样算法的浮点定点相结合的线段反走样的实现 |
CN108537718A (zh) * | 2018-04-12 | 2018-09-14 | 长沙景美集成电路设计有限公司 | Gpu中一种实现点图元反走样的装置和方法 |
Non-Patent Citations (3)
Title |
---|
Efficient and robust lane marking extraction from mobile lidar point clouds;Jaehoon Jung;ISPRS Journal of Photogrammetey and Remote Sensing;第147卷;1-18 * |
基于OpenGL的反走样算法的分析与应用;于晓明 等;咸阳师范学院学报;第31卷(第2期);60-64 * |
田泽 等.基于扫描线填充的三角形图元双向光栅化技术.《小型微型计算机系统》.2015,第6卷(第36期),1398-1402. * |
Also Published As
Publication number | Publication date |
---|---|
CN110969567A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109978750B (zh) | 执行基于采样的渲染的图形处理器和操作其的方法 | |
CN110969567B (zh) | 一种gpu线图元光栅化平移坐标系扫描方法 | |
KR20080009870A (ko) | 비트맵 이미지 회전 장치 및 그 방법 | |
US20140184633A1 (en) | Conservative bounding region rasterization | |
CN104685543B (zh) | 图形描绘装置 | |
CN111091487B (zh) | 面向gpu硬件线图元光栅化扫描算法的tlm微结构 | |
EP0528524A2 (en) | Method and apparatus for scaling line patterns | |
US6876366B2 (en) | Graphic engine for handling sub-pixel regions in a resource-constrained device | |
US20040183816A1 (en) | Method and apparatus for sampling on a non-power-of-two pixel grid | |
CN103543974A (zh) | 一种提高字体清晰度的方法及系统 | |
US20070188498A1 (en) | Character generation processing method | |
JP4749868B2 (ja) | 画像処理装置 | |
KR100361387B1 (ko) | 다각형 묘화 방법, 및 다각형 묘화 장치 | |
CN111223142B (zh) | 一种gpu点光栅化点大小奇偶配置的顶点坐标映射方法 | |
CN110942418B (zh) | 一种基于glCopyPixels的GPU像素复制方法 | |
US7142211B2 (en) | Graphic engine for fill style transferring in a resource-constrained device | |
US20050007365A1 (en) | Graphic engine for rasterizing a straight edge in a resource-constrained device | |
US8736635B2 (en) | Figure drawing device, anti-aliasing method, and storage medium | |
JPH11175740A (ja) | 太線描画方法および装置 | |
JP4890425B2 (ja) | マンガのコマ画像のためのマスク画像の作成方法及びプログラム | |
JP3408176B2 (ja) | フォント処理装置、フォント処理方法及び記憶媒体 | |
CN116433798A (zh) | 斜线描边样式生成方法 | |
CN117911578B (zh) | 一种文字渲染方法、装置、计算机设备和存储介质 | |
JPH05323937A (ja) | ヒンティング処理方法 | |
JP2013539880A (ja) | ラスター化方法とラスター化装置 |
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 |