顶点属性存储的方法及装置与流程

文档序号:12127461阅读:来源:国知局

技术特征:

1.一种顶点属性存储的方法,其特征在于,包括:

分配第一存储空间,根据所述第一存储空间的存储容量、第一待存储顶点中任一顶点的每个属性所占的存储空间的大小,确定所述第一存储空间能够容纳的所述第一待存储顶点的顶点数量;其中,所述第一待存储顶点中包括多个属性相同的顶点;

根据所述第一存储空间能够容纳的第一待存储顶点的顶点数量,确定用于存储所述第一待存储顶点的各属性的偏移量,根据所述各属性的偏移量,在所述第一存储空间中,对所述第一待存储顶点中的所有顶点的相同属性进行连续存储;

确定所述第一待存储顶点中的所有顶点的属性存储到所述第一存储空间后,判断所述第一存储空间的剩余存储容量是否大于预设值,若是,根据所述第一待存储顶点中的所有顶点的属性所占的空间,分配第二存储空间,将所述第一存储空间中存储的所述第一待存储顶点的属性移动至所述第二存储空间,以使所述第一存储空间存储第二待存储顶点的属性。

2.根据权利要求1所述的方法,其特征在于,所述根据所述第一存储空间的存储容量、第一待存储顶点中任一顶点的每个属性所占的存储空间的大小,确定所述第一存储空间能够容纳的第一待存储顶点的顶点数量,包括:

获取所述第一待存储顶点中任一顶点的每个属性所占的存储空间的大小;

根据所述任一顶点的每个属性所占的存储空间的大小,得到所述任一顶点的所有属性占用的存储空间;

根据所述第一存储空间的存储容量、以及所述任一顶点的所有属性占用的存储空间,确定所述第一存储空间能够容纳的第一待存储顶点的顶点数量。

3.根据权利要求2所述的方法,其特征在于,所述根据所述第一存储空间能够容纳的第一待存储顶点的顶点数量,确定用于存储所述第一待存储顶点的各属性的偏移量,根据所述各属性的偏移量,在所述第一存储空间中,对所述第一待存储顶点中的所有顶点的相同属性进行连续存储, 包括:

根据所述第一存储空间能够容纳的顶点数量,确定用于存储所述第一待存储顶点的第M个属性的偏移量为(M-1)*N,所述1≤M≤第一待存储顶点的属性的数量,所述N为所述第一存储空间能够容纳的所述第一待存储顶点的顶点数量;

根据各所述属性的偏移量,将所述第一待存储顶点中的第一个顶点的第一个属性存储至所述第一存储空间中的[1,N]存储空间中的第一个位置,将所述第一待存储顶点中的第一个顶点的第二个属性存储至所述第一存储空间中的[N+1,2N]存储空间中的第一个位置,将所述第一待存储顶点中的第一个顶点的第M个属性存储至所述第一存储空间中的[(M-1)*N+1,MN]存储空间中的第一个位置,直至将所述第一待存储顶点中的第一个顶点的所有属性存储至所述第一存储空间,依次处理每个顶点,直至将所述第一待存储顶点中的所有顶点的属性存储至第一存储空间或所述第一存储空间存满。

4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:

确定所述第一存储空间存满,且所述第一待存储顶点中存在未被所述第一存储空间容纳的顶点后,分配第三存储空间,在所述第三存储空间中,对未被所述第一存储空间容纳的所述第一待存储顶点的相同属性进行连续存储。

5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:

确定所述第一待存储顶点中的所有顶点的属性存储到所述第一存储空间后,判断所述第一存储空间的剩余存储容量是否大于预设值,若否,则确定所述第一存储空间的存储容量达到饱和状态。

6.一种顶点属性存储的装置,其特征在于,包括:

分配模块,用于分配第一存储空间,根据所述第一存储空间的存储容量、第一待存储顶点中任一顶点的每个属性所占的存储空间的大小,确定所述第一存储空间能够容纳的所述第一待存储顶点的顶点数量;其中,所述第一待存储顶点中包括多个属性相同的顶点;

第一存储模块,用于根据所述第一存储空间能够容纳的第一待存储顶点的顶点数量,确定用于存储所述第一待存储顶点的各属性的偏移量,根据所述各属性的偏移量,在所述第一存储空间中,对所述第一待存储顶点中的所有顶点的相同属性进行连续存储;

处理模块,用于确定所述第一待存储顶点中的所有顶点的属性存储到所述第一存储空间后,判断所述第一存储空间的剩余存储容量是否大于预设值,若是,根据所述第一待存储顶点中的所有顶点的属性所占的空间,分配第二存储空间,将所述第一存储空间中存储的所述第一待存储顶点的属性移动至所述第二存储空间,以使所述第一存储空间存储第二待存储顶点的属性。

7.根据权利要求6所述的装置,其特征在于,所述分配模块具体用于:

获取所述第一待存储顶点中任一顶点的每个属性所占的存储空间的大小;

根据所述任一顶点的每个属性所占的存储空间的大小,得到所述任一顶点的所有属性占用的存储空间;

根据所述第一存储空间的存储容量、以及所述任一顶点的所有属性占用的存储空间,确定所述第一存储空间能够容纳的第一待存储顶点的顶点数量。

8.根据权利要求7所述的装置,其特征在于,所述第一存储模块具体用于:

根据所述第一存储空间能够容纳的顶点数量,确定用于存储所述第一待存储顶点的第M个属性的偏移量为(M-1)*N,所述1≤M≤第一待存储顶点的属性的数量,所述N为所述第一存储空间能够容纳的所述第一待存储顶点的顶点数量;

根据各所述属性的偏移量,将所述第一待存储顶点中的第一个顶点的第一个属性存储至所述第一存储空间中的[1,N]存储空间中的第一个位置,将所述第一待存储顶点中的第一个顶点的第二个属性存储至所述第一存储空间中的[N+1,2N]存储空间中的第一个位置,将所述第一待存储顶点中的第一个顶点的第M个属性存储至所述第一存储空间中的[(M-1) *N+1,MN]存储空间中的第一个位置,直至将所述第一待存储顶点中的第一个顶点的所有属性存储至所述第一存储空间,依次处理每个顶点,直至将所述第一待存储顶点中的所有顶点的属性存储至第一存储空间或所述第一存储空间存满。

9.根据权利要求6至8任一项所述的装置,其特征在于,还包括:

第二存储模块,用于确定所述第一存储空间存满,所述第一待存储顶点中存在未被所述第一存储空间容纳的顶点后,分配第三存储空间,在所述第三存储空间中,对未被所述第一存储空间容纳的所述第一待存储顶点的相同属性进行连续存储。

10.根据权利要求6至8任一项所述的装置,其特征在于,所述处理模块还用于:确定所述第一待存储顶点中的所有顶点的属性存储到所述第一存储空间后,判断所述第一存储空间的剩余存储容量是否大于预设值,若否,则确定所述第一存储空间的存储容量达到饱和状态。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1