原文地址: http://blog.csdn.net/sz66cm/article/details/54288626less
通常狀況下繪製物體須要的頂點數量比直接的三角形方式(GL_TRIANGLES)少.oop
以下圖,只要將上一批三角形的最後一個頂點和下一批三角形的第一個頂點重複一次便可. spa
glDrawArrays
方法進行物體的繪製,按照傳入渲染管線頂點自己的順序及選用的繪製方式將
頂點組織成圖元進行繪製的,也稱之爲頂點法..net
有些狀況下不得不在頂點序列中出現不少重複的頂點,若但願減小重複頂點佔用的空間,可考慮
採用glDrawElements
方法來進行物體的繪製.code
此方法繪製時,不但要將頂點序列傳入渲染管線,還須要將索引序列傳入管線.
繪製時管線根據索引值序列中的索引一一從頂點序列中去取出對應的頂點,再根據當前選用的繪製
方式組織成圖元進行繪製.xml
GLES20.glDrawElements(//用索引法繪製圖形 GLES20.GL_TRIANGLE_FAN,//繪製方式 iCount,//索引數目 GLES20.GL_UNSIGNED_BYTE, mIndexBuffer//索引數據緩衝,ByteBuffer類型 );
在OpenGL ES的虛擬世界中,攝像機也有視角大小,以下圖
OpenGL ES 虛擬世界攝像機的左右視角大小主要是由left,right,及near值決定的
上下視角由top,bottom,及near值決定的.blog
指渲染管線在對構成立體物體的三角形圖元進行繪製時,僅當攝像機觀察點位於三角形正面的狀況下才
繪製三角形.打開背面剪裁,在大部分狀況下能夠提升渲染效率,去除大量沒必要要的渲染工做.索引
瞭解背面剪裁後,很重要的一點就是肯定攝像機位於一個面的正面仍是反面.在默認的狀況下,OpenGL ES
中規定當攝像機觀察一個三角形面時,若三角形中3個頂點的卷繞順序是逆時針則攝像機觀察其正面,反之
攝像機觀察其反面. 圖片
GLES20.glEnable(GLES20.GL_CULL_FACE);//打開背面剪裁 GLES20.glDisable(GLES20.GL_CULL_FACE);//關閉背面剪裁 GLES20.glFrontFace(GLES20.GL_CCW);//設置逆時針卷繞爲正面,默認設置如此,因此通常不須要明確設置 GLES20.glFrontFace(GLES20.GL_CW);//設置順時針卷染爲正面.