[英]IBO worse then GL_TRIANGLE_STRIP?
出於學習目的,我決定使用3種方法繪制球體
我讀到使用ibo讓程序運行得更快,但這是真的嗎? 對於100個切片和100個堆棧的球體,第二個方法產生40400個頂點,而第三個“僅”19802。通過這樣做,我保存20598個每個32字節= 659136個字節。
verticesSize =(切片* 4)*(堆疊+ 1);
IBO verticesSize =(slices * 2)*(stacks-1)+2;
但是我需要創建索引數組,在這種情況下,大小為118800(創建所有面所需的索引數)* 4(unsigned int的大小)= 475200字節! 雖然第二種方法使用15fps渲染1000個球體,但第三種方法使用僅僅6pfs渲染1000個球體
或許我寫的代碼完全錯了,為什么它如此掙扎:(如果有人有興趣,這里是我的代碼http://pastebin.com/raw.php?i=74jLKV5M
glDrawElements調用是錯誤的。 count參數應該是索引的數量,而不是數字的次數4.嘗試更改它。
使用索引而不是三角形條帶幾乎總是更快。 事實上,如果駕駛員在幕后使用索引來渲染三角形條帶,我也不會感到驚訝。
正如我在評論中提到的那樣,索引的順序會影響性能。 但是對於您的球體,您使用的索引模式可能是最佳的,即便如此,它所產生的差異也很小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.