【技术实现步骤摘要】
顶点坐标生成方法、装置、电子设备及计算机存储介质
[0001]本公开涉及计算机图形学
,尤其涉及一种顶点坐标生成方法
、
装置
、
电子设备及计算机存储介质
。
[0002]
技术介绍
[0003]在图形渲染过程中,顶点坐标是图形管线的一个重要数据源
。
通常,顶点坐标是由用户直接定义,或者是在顶点着色器源码中定义
。
将顶点坐标存储在图形处理器(
Graphics Processing Unit
,
GPU
)的顶点缓冲区中,以在图形管线的顶点着色器阶段将顶点坐标作为输入执行渲染
。
[0004]对于通过顶点着色器源码生成对应的顶点坐标,顶点坐标是在顶点着色器阶段才生成再存入顶点缓冲区
。
因此,若有接口(如
vkCmdDraw
函数)在顶点着色器阶段之前需要使用顶点坐标,则会由于无法从顶点缓冲区获取到顶点坐标导致程序运行失败
。
[0005]
技术实现思路
[0006]本公开提供了一种顶点坐标生成方法
、
装置
、
电子设备及计算机存储介质,该方法在顶点着色器阶段之前,将生成的顶点坐标存储至顶点缓冲区以供其他接口使用
。
[0007]第一方面,本公开提供了一种顶点坐标生成方法,该方法包括:获取目标源码对应的多组序列,目标源码为顶点着色器源码中用于在顶点着色器阶段生成待绘制图形的顶点坐标的源码 ...
【技术保护点】
【技术特征摘要】
1.
一种顶点坐标生成方法,其特征在于,所述方法包括:获取目标源码对应的多组序列,所述目标源码为顶点着色器源码中用于在顶点着色器阶段生成待绘制图形的顶点坐标的源码,每组序列包括输入序列和对应的中间表示
NIR
指令序列,每组序列对应一个顶点坐标;基于所述多组序列,确定所述待绘制图形的顶点坐标;将所述待绘制图形的顶点坐标存储至图形处理器
GPU
的顶点缓冲区,以使在顶点着色器阶段之前,所述顶点缓冲区有可用的顶点坐标
。2.
根据权利要求1所述的方法,其特征在于,所述每组序列包括多个子输入序列和对应的子指令序列,每个子输入序列和对应的子指令序列对应一个顶点的目标坐标,所述目标坐标为横坐标
、
纵坐标或竖坐标;所述基于所述多组
NIR
指令序列和输入序列,确定所述待绘制图形的顶点坐标,包括:将每个所述子输入序列作为目标输入序列,对应的所述子指令序列作为目标指令序列,执行下述步骤
S1
,直至所述目标指令序列为空,得到一个顶点的目标坐标;步骤
S1
包括:在所述目标指令序列不为空的情况下,对所述目标输入序列中位于前两位的输入,执行所述目标指令序列位于第一位的指令对应的运算,得到运算结果;删除所述目标输入序列中前两位输入,并将所述运算结果添加到删除后的目标输入序列的第一位,得到更新后的目标输入序列;删除所述目标指令序列中第一位的指令,得到更新后的目标指令序列;将所述更新后的目标输入序列作为所述目标输入序列,所述更新后的目标指令序列作为目标指令序列
。3.
根据权利要求1所述的方法,其特征在于,所述将所述待绘制图形的顶点坐标存储至图形处理器
GPU
的顶点缓冲区之后,所述方法还包括:绑定所述顶点缓冲区与
CPU
中的目标缓冲区,以便于在
CPU
中能够通过所述目标缓冲区获取所述顶点缓冲区中的顶点坐标
。4.
根据权利要求1所述的方法,其特征在于,所述获取目标源码对应的多组序列之前,所述方法还包括:检测
CPU
中的目标缓冲区是否为空,所述目标缓冲区对应所述顶点缓冲区;所述获取目标源码对应的多组序列,包括:在所述目标缓冲区为空的情况下,获取目标源码对应的多组序列
。5.
根据权利要求1至4任一项所述的方法,其特征在于,所述
NIR
指令序列中指令对应的运算包括:加,减,乘,除,左移,右移,取余,大于...
【专利技术属性】
技术研发人员:王恒,
申请(专利权)人:芯瞳半导体技术山东有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。