【技术实现步骤摘要】
一种顶点索引的压缩及解压缩方法、装置及计算机存储介质
本专利技术实施例涉及图形处理器(GPU,GraphicsProcessingUnit)
,尤其涉及一种顶点索引的压缩及解压缩方法、装置及计算机存储介质。
技术介绍
开放式图形库(OpenGL,OpenGraphicsLibrary)是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API,ApplicationProgrammingInterface),它能够对GPU功能进行调用。目前,通过OpenGL调用GPU以实现图像绘制功能的过程中,具体的绘制模式可以包括直接调用顶点数组数据进行绘制的Draw_Arrays模式以及通过顶点索引抓取顶点数据的Draw-elements模式。对于Draw-elements模式,在具体实现过程中,通常需要CPU指定目标顶点索引,GPU利用目标顶点索引抓取目标顶点数据的地址后再根据目标顶点数据的地址去存放有顶点数据的缓存Cache中抓取目标顶点数据已进行后续的顶点处理。而对于顶点索引来说,其数据格式一般为:无符号8位整数UNSIGNED_BYTE、无符号16位整数UNSIGNED_SHORT或者无符号32位整数UNSIGNED_INT。当顶点索引的数量过多时,会占用较多的存储空间对顶点索引进行缓存,相应地会增加读取显存的次数,降低处理效率。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种顶点索引的压缩及解压缩方法、装置及计算机存储介质;能够减少顶点索引的存储空间,降低读取显存次数,提高处理效率。本专利技术实施例的技术方案是这样实现的:第一方面,本 ...
【技术保护点】
1.一种顶点索引的压缩方法,其特征在于,所述方法应用于CPU端,所述方法包括:根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,并获取每个原始索引片段的顶点索引数量以及每个原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对所述首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段;其中,所述相邻顶点索引数据的差值的位宽为所述压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;将所有压缩后的索引片段、各压缩后的索引片段内的顶点索引数量以及各压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数按照原始索引片段的划分顺序传输至图形处理器GPU以存入显存。
【技术特征摘要】
1.一种顶点索引的压缩方法,其特征在于,所述方法应用于CPU端,所述方法包括:根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,并获取每个原始索引片段的顶点索引数量以及每个原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对所述首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段;其中,所述相邻顶点索引数据的差值的位宽为所述压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数;将所有压缩后的索引片段、各压缩后的索引片段内的顶点索引数量以及各压缩后的索引片段对应的原始索引片段内相邻顶点索引之间的差值最大值对应的bit数按照原始索引片段的划分顺序传输至图形处理器GPU以存入显存。2.根据权利要求1所述的方法,其特征在于,所述根据设定的差值范围,将顶点索引数组中元素按照相邻元素之间的差值划分为一个或以上的原始索引片段,包括:按照元素顺序,将相邻元素之间的差值不超过所述设定的差值范围对所述顶点索引数组中的元素进行划分,获得一个或以上的原始索引片段。3.根据权利要求1所述的方法,其特征在于,所述针对每个原始索引片段:保持首个顶点索引数据不变,根据相邻顶点索引数据的差值对所述首个顶点索引数据之后的后续顶点索引数据进行替换,获得每个原始索引片段对应的压缩后的索引片段,包括:针对每个原始索引片段,至少执行以下步骤:保持所述原始索引片段中首个顶点索引数据不变;针对所述首个顶点索引数据之后的后续顶点索引数据,分别获取各后续顶点索引数据与各后续顶点索引数据的前一个顶点索引数据的差值,并通过各后续顶点索引数据与各后续顶点索引数据的前一个顶点索引数据的差值替换各后续顶点索引数据;其中,所述各后续顶点索引数据与各后续顶点索引数据的前一个顶点索引数据的差值位宽为所述原书索引片段内相邻顶点索引之间的差值最大值对应的bit数,所述各后续顶点索引数据与各后续顶点索引数据的前一个顶点索引数据的差值通过补码形式表示。4.一种顶点索引的解压缩方法,其特征在于,所述方法应用于GPU端,所述方法包括:按照原始索引片段的划分顺序,读取显存内存储的压缩后的索引片段;将当前被读取的压缩后的索引片段内的首个顶点索引数据作为对应的解压缩的索引片段内的首个顶点索引数据;针对当前被读取的压缩后的索引片段内所述首个顶点索引数据之后的后续顶点索引数据,按照当前被读取的压缩后的索引片段内各后续顶点索引数据的前一个顶点索引数据进行解压缩,获得对应的所述解压缩的索引片段内的首个顶点索引数据之后的各后续顶点索引数据;相应于所述解压缩的索引片段内的顶点索引数据数量满足当前被读取的压缩后的索引片段内的顶点索引数量,读取显存内存储的下一个压缩后的索引片段进行解压缩,直至所有压缩后的索引片段被解压缩。5.根据权利要求4所述的方法,其特征在于,所述按照当前被读取的压缩后的索引片段内各后续顶点索引数据的前一个顶点索引数据进行解压缩,获得对应的所述...
【专利技术属性】
技术研发人员:王可,黄虎才,
申请(专利权)人:西安博图希电子科技有限公司,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。