1.一種頂點屬性存儲的方法,其特征在于,包括:
分配第一存儲空間,根據(jù)所述第一存儲空間的存儲容量、第一待存儲頂點中任一頂點的每個屬性所占的存儲空間的大小,確定所述第一存儲空間能夠容納的所述第一待存儲頂點的頂點數(shù)量;其中,所述第一待存儲頂點中包括多個屬性相同的頂點;
根據(jù)所述第一存儲空間能夠容納的第一待存儲頂點的頂點數(shù)量,確定用于存儲所述第一待存儲頂點的各屬性的偏移量,根據(jù)所述各屬性的偏移量,在所述第一存儲空間中,對所述第一待存儲頂點中的所有頂點的相同屬性進行連續(xù)存儲;
確定所述第一待存儲頂點中的所有頂點的屬性存儲到所述第一存儲空間后,判斷所述第一存儲空間的剩余存儲容量是否大于預(yù)設(shè)值,若是,根據(jù)所述第一待存儲頂點中的所有頂點的屬性所占的空間,分配第二存儲空間,將所述第一存儲空間中存儲的所述第一待存儲頂點的屬性移動至所述第二存儲空間,以使所述第一存儲空間存儲第二待存儲頂點的屬性。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一存儲空間的存儲容量、第一待存儲頂點中任一頂點的每個屬性所占的存儲空間的大小,確定所述第一存儲空間能夠容納的第一待存儲頂點的頂點數(shù)量,包括:
獲取所述第一待存儲頂點中任一頂點的每個屬性所占的存儲空間的大小;
根據(jù)所述任一頂點的每個屬性所占的存儲空間的大小,得到所述任一頂點的所有屬性占用的存儲空間;
根據(jù)所述第一存儲空間的存儲容量、以及所述任一頂點的所有屬性占用的存儲空間,確定所述第一存儲空間能夠容納的第一待存儲頂點的頂點數(shù)量。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述第一存儲空間能夠容納的第一待存儲頂點的頂點數(shù)量,確定用于存儲所述第一待存儲頂點的各屬性的偏移量,根據(jù)所述各屬性的偏移量,在所述第一存儲空間中,對所述第一待存儲頂點中的所有頂點的相同屬性進行連續(xù)存儲, 包括:
根據(jù)所述第一存儲空間能夠容納的頂點數(shù)量,確定用于存儲所述第一待存儲頂點的第M個屬性的偏移量為(M-1)*N,所述1≤M≤第一待存儲頂點的屬性的數(shù)量,所述N為所述第一存儲空間能夠容納的所述第一待存儲頂點的頂點數(shù)量;
根據(jù)各所述屬性的偏移量,將所述第一待存儲頂點中的第一個頂點的第一個屬性存儲至所述第一存儲空間中的[1,N]存儲空間中的第一個位置,將所述第一待存儲頂點中的第一個頂點的第二個屬性存儲至所述第一存儲空間中的[N+1,2N]存儲空間中的第一個位置,將所述第一待存儲頂點中的第一個頂點的第M個屬性存儲至所述第一存儲空間中的[(M-1)*N+1,MN]存儲空間中的第一個位置,直至將所述第一待存儲頂點中的第一個頂點的所有屬性存儲至所述第一存儲空間,依次處理每個頂點,直至將所述第一待存儲頂點中的所有頂點的屬性存儲至第一存儲空間或所述第一存儲空間存滿。
4.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于,所述方法還包括:
確定所述第一存儲空間存滿,且所述第一待存儲頂點中存在未被所述第一存儲空間容納的頂點后,分配第三存儲空間,在所述第三存儲空間中,對未被所述第一存儲空間容納的所述第一待存儲頂點的相同屬性進行連續(xù)存儲。
5.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于,所述方法還包括:
確定所述第一待存儲頂點中的所有頂點的屬性存儲到所述第一存儲空間后,判斷所述第一存儲空間的剩余存儲容量是否大于預(yù)設(shè)值,若否,則確定所述第一存儲空間的存儲容量達到飽和狀態(tài)。
6.一種頂點屬性存儲的裝置,其特征在于,包括:
分配模塊,用于分配第一存儲空間,根據(jù)所述第一存儲空間的存儲容量、第一待存儲頂點中任一頂點的每個屬性所占的存儲空間的大小,確定所述第一存儲空間能夠容納的所述第一待存儲頂點的頂點數(shù)量;其中,所述第一待存儲頂點中包括多個屬性相同的頂點;
第一存儲模塊,用于根據(jù)所述第一存儲空間能夠容納的第一待存儲頂點的頂點數(shù)量,確定用于存儲所述第一待存儲頂點的各屬性的偏移量,根據(jù)所述各屬性的偏移量,在所述第一存儲空間中,對所述第一待存儲頂點中的所有頂點的相同屬性進行連續(xù)存儲;
處理模塊,用于確定所述第一待存儲頂點中的所有頂點的屬性存儲到所述第一存儲空間后,判斷所述第一存儲空間的剩余存儲容量是否大于預(yù)設(shè)值,若是,根據(jù)所述第一待存儲頂點中的所有頂點的屬性所占的空間,分配第二存儲空間,將所述第一存儲空間中存儲的所述第一待存儲頂點的屬性移動至所述第二存儲空間,以使所述第一存儲空間存儲第二待存儲頂點的屬性。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述分配模塊具體用于:
獲取所述第一待存儲頂點中任一頂點的每個屬性所占的存儲空間的大?。?/p>
根據(jù)所述任一頂點的每個屬性所占的存儲空間的大小,得到所述任一頂點的所有屬性占用的存儲空間;
根據(jù)所述第一存儲空間的存儲容量、以及所述任一頂點的所有屬性占用的存儲空間,確定所述第一存儲空間能夠容納的第一待存儲頂點的頂點數(shù)量。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一存儲模塊具體用于:
根據(jù)所述第一存儲空間能夠容納的頂點數(shù)量,確定用于存儲所述第一待存儲頂點的第M個屬性的偏移量為(M-1)*N,所述1≤M≤第一待存儲頂點的屬性的數(shù)量,所述N為所述第一存儲空間能夠容納的所述第一待存儲頂點的頂點數(shù)量;
根據(jù)各所述屬性的偏移量,將所述第一待存儲頂點中的第一個頂點的第一個屬性存儲至所述第一存儲空間中的[1,N]存儲空間中的第一個位置,將所述第一待存儲頂點中的第一個頂點的第二個屬性存儲至所述第一存儲空間中的[N+1,2N]存儲空間中的第一個位置,將所述第一待存儲頂點中的第一個頂點的第M個屬性存儲至所述第一存儲空間中的[(M-1) *N+1,MN]存儲空間中的第一個位置,直至將所述第一待存儲頂點中的第一個頂點的所有屬性存儲至所述第一存儲空間,依次處理每個頂點,直至將所述第一待存儲頂點中的所有頂點的屬性存儲至第一存儲空間或所述第一存儲空間存滿。
9.根據(jù)權(quán)利要求6至8任一項所述的裝置,其特征在于,還包括:
第二存儲模塊,用于確定所述第一存儲空間存滿,所述第一待存儲頂點中存在未被所述第一存儲空間容納的頂點后,分配第三存儲空間,在所述第三存儲空間中,對未被所述第一存儲空間容納的所述第一待存儲頂點的相同屬性進行連續(xù)存儲。
10.根據(jù)權(quán)利要求6至8任一項所述的裝置,其特征在于,所述處理模塊還用于:確定所述第一待存儲頂點中的所有頂點的屬性存儲到所述第一存儲空間后,判斷所述第一存儲空間的剩余存儲容量是否大于預(yù)設(shè)值,若否,則確定所述第一存儲空間的存儲容量達到飽和狀態(tài)。