[发明专利]一种GPU统一染色阵列顶点染色任务属性数据组装方法有效
申请号: | 201711280915.2 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108122190B | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 郭亮;田泽;郑斐;韩立敏;任向隆;郝冲 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06F9/50 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 王迪 |
地址: | 710000 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gpu 统一 染色 阵列 顶点 任务 属性 数据 组装 方法 | ||
1.一种GPU统一染色阵列顶点染色任务属性数据组装方法,其特征在于,包括:
步骤(1)、顶点组装初始状态,
顶点组装流程的初始状态,在该状态监控类型A,类型B顶点数据是否有效,如果两者有一个有效,转入步骤(2)染色模式判断处理;如果两者都无效且状态指示信号A有效,则直接转入步骤(7)统一染色阵列资源申请;
步骤(2)、染色模式判断,
判断目前需要组装的顶点处于简单模式或者复杂模式,如果是简单模式则转入步骤(3)简单模式组装处理,否则转入步骤(4)复杂模式组装处理;
步骤(3)、简单模式组装,
对顶点属性进行判断,如果顶点属性是坐标属性,则将坐标属性和步骤(6)的全局顶点参数寄存器中的颜色属性一起发往下级单元;如果是其他属性,则将属性存储在步骤(6)全局顶点参数寄存器中;如果数据组装完成,并且出现代表绘图程序结束的glEnd命令,则转入步骤(12)glEnd命令单元;
步骤(4)、复杂模式组装,
对顶点数据组装请求类型进行判断,如果是类型A顶点,则转入步骤(5)类型A顶点数据预读和处理一,如果是类型B则转入步骤(7)统一染色阵列资源申请;
步骤(5)、类型A顶点数据预读和处理一,
对类型A的数据进行预读,如果该顶点属性为坐标属性,则将该坐标属性存储在步骤(6)全局顶点参数寄存器中,并转入步骤(7)统一染色阵列资源申请;如果该顶点属性为除坐标属性之外的其他属性,则将该属性存储在步骤(6)全局顶点参数寄存器中,并继续进行预读处理;
步骤(6)、全局顶点参数寄存器,
在全局顶点参数寄存器存储步骤(5)类型A顶点数据预读和处理一的坐标属性和其他属性,所述其他属性包括顶点全局开关打开的属性;
步骤(7)、统一染色阵列资源申请,
申请空闲的统一染色阵列资源,申请到资源后转入步骤(8)顶点全局属性组装,如果未申请成功则在该状态继续申请;
步骤(8)、顶点全局属性组装,
从步骤(6)的全局顶点参数寄存器读取对应的顶点全局开关打开的属性进行组装,组装完成后如果顶点类型为类型A,转入步骤(9)类型A顶点组装;如果顶点类型为类型B,转入步骤(10)类型B顶点组装;
步骤(9)、类型A顶点组装,
对类型A的顶点进行组装,并且将组装属性存储在步骤(6)的全局顶点参数寄存器中;对组装属性中的顶点坐标属性进行计数,如果组装的顶点坐标计数值达到16,则转入步骤(11)类型A顶点数据预读和处理二;如果组装的顶点坐标计数值未达到16,且有glEnd命令有效并且顶点处理结束,则转入步骤(12)glEnd命令;
步骤(10)、类型B顶点组装,
完成类型B顶点组装,组装完成后转入步骤(13)顶点组装结束;
步骤(11)、类型A顶点数据预读和组装二,
对类型A的数据进行预读,如果该顶点属性为坐标属性,则将该坐标属性存储在步骤(6)的全局顶点参数寄存器中,并转入步骤(13)顶点组装结束,并置状态指示信号A有效;如果该顶点属性为除坐标属性之外的其他属性,则将该属性存储在步骤(6)的全局顶点参数寄存器中,并继续进行预读处理;
步骤(12)、glEnd命令,
将glEnd命令锁存起来,转入步骤(13)顶点组装结束;
步骤(13)、顶点组装结束,
将组装顶点类型信息和glEnd命令锁存信息提供给统一染色阵列,转入步骤(1)顶点组装初始状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711280915.2/1.html,转载请声明来源钻瓜专利网。