2015-07-11 55 views
1

我想用Android的OpenGL ES 2.0做一個網格。我試圖理解的是,即使沒有在屏幕上繪製額外的頂點,是否使用更多的內存。例如,我正在繪製比可見區域長三倍的線。我正在使用這個Line類 - https://stackoverflow.com/a/16223456/1621987GLES20是否繪製出邊界頂點?

mLine = new Line(); 
mLine.setVertices(0f, -10f, 0f, 0f, 10f, 0f); 
... 
GLES20.glDrawArrays(GLES20.GL_LINES, 0, vertexCount); 

它是否有效地執行它的性能和內存明智?

+1

不完全相同的問題,但這與http://stackoverflow.com/questions/23186192/texture-partially-off-screen-performance-difference類似。 –

回答

2

線條太長而無法看到它們的頂點,但仍然部分可見,將修剪成到窗口,也就是說,如果它們不在視線內,它們的末端將被剪掉。在窗口外面的線將被剔除,並且根本沒有發送到光柵化器。但是,爲了確定這一點,每行必須發送到圖形管道。 (當然,如果你的代碼事先確定它們不會被看到,也可以省略這些線以防止它們被繪製出來)。

因此,這不是使用較少存儲器的問題因爲它可以消除不必要的工作。