[发明专利]一种GPU纹素取值方法有效
申请号: | 201911125535.0 | 申请日: | 2019-11-18 |
公开(公告)号: | CN110942417B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 陈佳;韩立敏;吴晓成;姜丽云;张少锋;张骏 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | G06T1/20 | 分类号: | G06T1/20 |
代理公司: | 北京清大紫荆知识产权代理有限公司 11718 | 代理人: | 娄华 |
地址: | 710065 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gpu 纹素取值 方法 | ||
1.一种GPU纹素取值方法,其特征在于:所述方法包括如下步骤:
(1)根据环绕模式对纹理坐标的修正和范围标记;
(2)根据过滤模式对纹素地址的修正;
(3)根据边框对纹素地址的修正;
(4)纹素取值,
所述(2)包括判断过滤模式,若是GL_LINEAR类,则,
首先基于(1)中计算所得纹理坐标,参照OpenGL2.0标准进行第1个纹素地址计算,再判断环绕模式,
GL_CLAMP,如果第1个纹素地址小于0,将第1个纹素地址赋值给第2个纹素地址,并将第1个纹素地址赋值为0;其他情况参照OpenGL2.0标准进行第2个纹素地址计算;
GL_REPEAT,如果第1个纹素地址小于0,将第1个纹素地址为0,第2个纹素地址为纹理图像维度减1,其他情况参照OpenGL2.0标准进行第2个纹素地址计算;
GL_CLAMP_TO_BORDER,判断纹理坐标范围标记,如果为true,将第1个纹素地址赋值给第2个纹素地址,如果false,处理方式同GL_CLAMP;
GL_CLAMP_TO_EDGE/GL_MIRRORED_REPEAT,判断纹理坐标范围标记,如果为true,将第1个纹素地址赋值给第2个纹素地址,如果false, 参照OpenGL2.0标准进行第2个纹素地址计算,
所述(1)包括:
首先判断当前纹理坐标的环绕模式,
如果环绕模式是GL_CLAMP或GL_REPEAT,那么参照OpenGL2.0对各自环绕模式的坐标进行修正,并且纹理范围标记为false;
如果是其他的环绕模式,那么先参照OpenGL2.0计算各自环绕模式的坐标范围;
对于超过范围的坐标设置纹理范围标记为true;
否则为false;
最后对纹理坐标进行范围截取,
所述(2)包括判断过滤模式,若是GL_NEAREST类,则对于(1)中所得的纹理坐标进行判断,
如果纹理坐标大于1.0的纹素地址,纹素地址取值为纹理图像维度;
如果纹理坐标不大于1.0,则参照OpenGL2.0标准进行纹素地址计算。
2.根据权利要求1所述的GPU纹素取值方法,其特征在于:
所述(3)中修正方法为(2)中所得纹素地址加边框值为修正后的纹素地址。
3.根据权利要求1所述的GPU纹素取值方法,其特征在于:
所述(4)中根据修正后的纹素地址设置此纹素取值,
如果修正后的纹素地址在纹理图像范围外,此标志为fasle,表明此纹素取设置的边框颜色常量;
如果修正后的纹素地址在范围内,此标志为true,表明此纹素取对应纹素地址的纹理图像,并根据纹素地址进行纹理图像的取值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911125535.0/1.html,转载请声明来源钻瓜专利网。