2011-04-01 64 views
1

嘿所有,我重新工作我的Android應用程序使用OpenGL而不是畫布(因爲它是不正常的慢),我想知道,因爲我使用瓷磚表(地圖紋理)會更快使用VBO或draw_texture與作物設置像這樣:帶裁剪或VBO的Android OpenGL ES draw_texture?

// Crop our texture 
((GL11) gl).glTexParameteriv(GL10.GL_TEXTURE_2D, GL11Ext.GL_TEXTURE_CROP_RECT_OES, cropRect[cropIndex], 0); 
gl.glColor4f(1, 1, 1, 1); 

聽了一會兒克里斯PRUETT之後我得知draw_texture是undoubtably最快的爲個人的精靈,但如果我裁剪Atlas是這仍然是真的?

回答

2

會是更快地使用VBO的或draw_texture

Draw using atlas texture

注意,他使用了「瓷磚的世界」,這解釋了爲什麼他使用這種技術。如果你不使用平鋪世界,你應該使用draw_texture

對克里斯普魯特聽了一段時間後,我認爲draw_texture無疑是個人精靈中最快的,但如果我裁剪一個地圖集,這仍然是真的嗎?

並不總是如此。如果你使用的是具有許多精靈的大圖集紋理,glTexParameteriv()函數將會太昂貴。如果你只使用較少量的精靈,它可能會更快,這也取決於調用glTexParameteriv()函數的次數。

+0

好吧,給你一個想法我的圖集是1024x1024,最多我有大約12個屏幕上的精靈(非靜態)而他們不構成一個世界,「世界」是一個簡單的背景圖像。 非常感謝btw! – Smanger 2011-04-01 21:34:41

+0

@Alex:那麼你可能使用'draw_texture'和'glTexParameteriv()'很好。 – Wroclai 2011-04-01 21:40:46

+0

謝謝!但是如果我想實現一下,一個粒子系統對vbo安裝來說是最好的嗎? – Smanger 2011-04-01 21:41:33