在大街上的字是glDrawElements比glDrawArrays快得多。glDrawElements和多個圖像
所以我想顯示所有使用glDrawElements。我遇到的問題是我有一堆想要彈出到屏幕上的圖像。每個圖像都有不同的紋理。
是否可以使用glDrawElements來做到這一點?
我該如何切換紋理
在大街上的字是glDrawElements比glDrawArrays快得多。glDrawElements和多個圖像
所以我想顯示所有使用glDrawElements。我遇到的問題是我有一堆想要彈出到屏幕上的圖像。每個圖像都有不同的紋理。
是否可以使用glDrawElements來做到這一點?
我該如何切換紋理
如果您經常在多個圖元之間共享頂點,則頂點索引(即glDrawElements
)可以大大減少頂點緩衝區的大小。
例如,如果您使用GL_TRIANGLES
繪製網格,則一定要使用索引。如果你只是畫一堆不相交的三角形,那麼沒有太多理由使用索引。
不管你是否使用glDrawElements
或glDrawArrays
,它總是希望減少繪製調用的次數。使用紋理地圖集可讓您合併多個平局調用,否則將與調用glBindTexture
分開。
您不能,直接。
你可以做的是製作一個紋理圖集,通過製作一個包含所有小紋理的大紋理,然後相應地調整紋理座標。
另外,您從哪裏聽說過glDrawArrays
和glDrawElements
之間的比較?我從來沒有見過一個令人信服的,全部包括在內的比較。
我從一個名爲71平方的網站上的視頻教程中得到它。無論如何,我想對iphone而言......使用3 gldrawarrays調用vs 1 gldrawelement調用的速度非常慢,原因是使用了cpu並且iphone cpu無法跟上。使一個呼叫使用圖形硬件加速來做同樣的事情。 – Mel 2009-11-01 15:57:03