【技术实现步骤摘要】
本专利技术实施例涉及存储技术,尤其涉及一种顶点属性存储的方法及装置。
技术介绍
在计算机图形学中,图形由多个顶点组成,每个顶点具有不同的属性,例如顶点位置、顶点颜色以及顶点的法向量等。应用程序通过调用开放图形库(OpenGraphicsLibrary,简称OpenGL)的显示列表中的函数来组织顶点的属性,并将顶点的属性发送给图形处理器(GraphicsProcessingUnit,简称GPU),由GPU根据顶点的属性进行渲染并显示该图形。现有技术中,应用程序通过调用OpenGL的显示列表中的函数来组织顶点的属性,通常采用离散存储的方式。在该方式中,先分配存储空间,然后依次将该顶点的属性写入该存储空间。在具体处理过程中,将一个顶点的所有属性写入存储空间之后,判断存储空间的剩余空间是否可以容纳下一个顶点的所有属性,若是,则继续存储该下一个顶点的所有属性,若否,则再分配存储空间,直至所有顶点的所有属性都存储至存储空间。然而,现有技术中对于各属性而言,各属性在存储空间中的存储是离散的,导致图形处理器根据顶点的属性,进行渲染并显示该图形时处理性能不佳。
技术实现思路
本专利技术实施例提供一种顶点属性存储的方法及装置,以使顶点的属性可连续存储至存储空间,使得图形处理器根据顶点的属性进行渲染并显示该图形时,性能提高。第一方面,本专利技术提供一种顶点属性存储的方法,包括:分配第一存储空间,根据所述第一存储空间的存储容量、第一待存储顶点中任一顶点的每个属性所占的存储空间的大小,确定所述第一存储空间能够容纳的所述第一待存储顶点的顶点数量;其中,所述第一待存储顶点 ...
【技术保护点】
一种顶点属性存储的方法,其特征在于,包括:分配第一存储空间,根据所述第一存储空间的存储容量、第一待存储顶点中任一顶点的每个属性所占的存储空间的大小,确定所述第一存储空间能够容纳的所述第一待存储顶点的顶点数量;其中,所述第一待存储顶点中包括多个属性相同的顶点;根据所述第一存储空间能够容纳的第一待存储顶点的顶点数量,确定用于存储所述第一待存储顶点的各属性的偏移量,根据所述各属性的偏移量,在所述第一存储空间中,对所述第一待存储顶点中的所有顶点的相同属性进行连续存储;确定所述第一待存储顶点中的所有顶点的属性存储到所述第一存储空间后,判断所述第一存储空间的剩余存储容量是否大于预设值,若是,根据所述第一待存储顶点中的所有顶点的属性所占的空间,分配第二存储空间,将所述第一存储空间中存储的所述第一待存储顶点的属性移动至所述第二存储空间,以使所述第一存储空间存储第二待存储顶点的属性。
【技术特征摘要】
1.一种顶点属性存储的方法,其特征在于,包括:分配第一存储空间,根据所述第一存储空间的存储容量、第一待存储顶点中任一顶点的每个属性所占的存储空间的大小,确定所述第一存储空间能够容纳的所述第一待存储顶点的顶点数量;其中,所述第一待存储顶点中包括多个属性相同的顶点;根据所述第一存储空间能够容纳的第一待存储顶点的顶点数量,确定用于存储所述第一待存储顶点的各属性的偏移量,根据所述各属性的偏移量,在所述第一存储空间中,对所述第一待存储顶点中的所有顶点的相同属性进行连续存储;确定所述第一待存储顶点中的所有顶点的属性存储到所述第一存储空间后,判断所述第一存储空间的剩余存储容量是否大于预设值,若是,根据所述第一待存储顶点中的所有顶点的属性所占的空间,分配第二存储空间,将所述第一存储空间中存储的所述第一待存储顶点的属性移动至所述第二存储空间,以使所述第一存储空间存储第二待存储顶点的属性。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一存储空间的存储容量、第一待存储顶点中任一顶点的每个属性所占的存储空间的大小,确定所述第一存储空间能够容纳的第一待存储顶点的顶点数量,包括:获取所述第一待存储顶点中任一顶点的每个属性所占的存储空间的大小;根据所述任一顶点的每个属性所占的存储空间的大小,得到所述任一顶点的所有属性占用的存储空间;根据所述第一存储空间的存储容量、以及所述任一顶点的所有属性占用的存储空间,确定所述第一存储空间能够容纳的第一待存储顶点的顶点数量。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一存储空间能够容纳的第一待存储顶点的顶点数量,确定用于存储所述第一待存储顶点的各属性的偏移量,根据所述各属性的偏移量,在所述第一存储空间中,对所述第一待存储顶点中的所有顶点的相同属性进行连续存储,
\t包括:根据所述第一存储空间能够容纳的顶点数量,确定用于存储所述第一待存储顶点的第M个属性的偏移量为(M-1)*N,所述1≤M≤第一待存储顶点的属性的数量,所述N为所述第一存储空间能够容纳的所述第一待存储顶点的顶点数量;根据各所述属性的偏移量,将所述第一待存储顶点中的第一个顶点的第一个属性存储至所述第一存储空间中的[1,N]存储空间中的第一个位置,将所述第一待存储顶点中的第一个顶点的第二个属性存储至所述第一存储空间中的[N+1,2N]存储空间中的第一个位置,将所述第一待存储顶点中的第一个顶点的第M个属性存储至所述第一存储空间中的[(M-1)*N+1,MN]存储空间中的第一个位置,直至将所述第一待存储顶点中的第一个顶点的所有属性存储至所述第一存储空间,依次处理每个顶点,直至将所述第一待存储顶点中的所有顶点的属性存储至第一存储空间或所述第一存储空间存满。4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:确定所述第一存储空间存满,且所述第一待存储顶点中存在未被所述第一存储空间容纳的顶点后,分配第三存储空间,在所述第三存储空间中,对未被所述第一存储空间容纳的所述第一待存储顶点的相同属性进行连续存储。5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:确定所述第一待存储顶点中的所有顶点的...
【专利技术属性】
技术研发人员:高翔,吴松伟,蔡万伟,薛双百,
申请(专利权)人:龙芯中科技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。