[发明专利]一种GPU的LineStipple方法在审
申请号: | 201811521410.5 | 申请日: | 2018-12-12 |
公开(公告)号: | CN109658476A | 公开(公告)日: | 2019-04-19 |
发明(设计)人: | 陈佳;楼晓强;张少锋;姜丽云;吴晓成;裴希杰 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | G06T11/20 | 分类号: | G06T11/20 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 王迪 |
地址: | 710000 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图元 直线扫描 组合线 计算机图形学 后处理 关联标志 线位置 相邻线 线带 线环 衔接 | ||
本发明属于计算机图形学技术领域,提供一种GPU的LineStipple方法,包括:1)线位置关联标志;2)建立LineStipple;3)计算LineStipple位置;4)LineStipple的取值处理;5)不同类型线图元当前直线扫描完成后处理。本发明解决了包括线带和线环的组合线图元相邻线之间LineStipple的衔接问题,以及LineStipple的方向与直线扫描方向的对应问题,正确的实现了针对单独线图元和组合线图元的点画功能。
技术领域
本发明属于计算机图形学技术领域,涉及一种GPU的LineStipple方法。
背景技术
在图形处理器芯片(下简称GPU)设计中,点、线、三角形是三种基本图元,每种图元都有各自的细节功能。直线的一个很重要的细节就是LineStipple(点画)功能,因为GPU芯片在光栅化线时是以基本图元为单位处理的,因此单独线图元的点画功能相对简单,但是面对线带和线环组合线图元,相邻线之间LineStipple的衔接处理,以及LineStipple的方向与直线扫描方向对应都是需要解决的技术问题。
发明内容
本发明目的是提供一种GPU的LineStipple方法。
本发明的技术解决方案是:
一种GPU的LineStipple方法,包括以下步骤:
1)线位置关联标志:
将线图元装配成单独线,根据单独线图元和组合线图元与前后直线有无关联的特性,对图元进行标记;当图元是单独线时,标记当前直线与前后直线无关联;当图元为线带或者线环时,标记当前直线与前后直线有关联;
2)建立LineStipple:
开始扫描直线,首先根据glLineStipple函数获取linestipple参数,依据获取的参数建立完整的LineStipple;
3)计算LineStipple位置:
3.1)计算每条直线的开始位置:
根据当前直线与前后直线是否有关联标志计算线图元的起始点;如果当前直线与前后直线无关联,标记LineStipple的开始位置为起始点;
3.2)根据每条直线的扫描方向计算每个片元的位置:
首先计算当前直线的扫描方向,若直线是正向扫描,那么根据计算的起始位置,当前直线的每个片元从LineStipple的正方向按位取值;若直线是反向扫描,那么根据计算的起始位置加直线扫描长度,当前直线的每个片元从LineStipple的反方向按位取值;
4)LineStipple的取值处理:
若当前直线的每个片元对应的LineStipple取值为0,则此片元置无效;若片元对应的LineStipple取值为1,则此片元保留;
5)不同类型线图元当前直线扫描完成后处理:
若是单独线图元,当前直线扫描完成后结束;若是组合线图元,当前直线扫描完成后LineStipple的新位置为当前位置加直线扫描长度,供下一条直线的3.1)步骤使用,直到最后一条直线扫描完成后结束。
linestipple参数包括模式和重复因子。
标记LineStipple的开始位置为起始点的步骤具体为:
如果当前直线与前后直线有关联,那么当前直线在LineStipple的开始位置就是前一条直线扫描完成后计算的LineStipple新位置。
若是组合线图元的第一条直线,那么开始位置就是起始点。
本发明的有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811521410.5/2.html,转载请声明来源钻瓜专利网。