android openGL es画图

android openGL es中自定义MyRenderer时重写的onFrame方法中调用的gl.glVertexPointer(size, type, stride, pointer)函数的第三个参数是什么,一般都是些微0,如果写为1应该怎么理解,画出来的图像我有点看不懂。
还有就是gl.glDrawArrays(mode, first, count)中的第二个参数好像是说指定从哪个点开始画,一般也是0,如果写为1那么画图的步骤是怎么样的(比如有0,1,2,3,4五个点,用1,2,3和2,3,4画完两个三角形后第三个三角形怎么画,因为有五个点应该画一个五边形,如果是用3,4,0和0,1,2再画两个三角形那样就和先由那个点开始没有关系了) 求解答?
gl.glVertexPointer(3,//一个点所占数据的个数,一般为三个(x,y,z)
type, //pointer里边的元素类型,如GL10.GL_FLOAT
stride,//取数据时的间隔,因为有些人习惯把颜色数据也放里边,如果这样,你需要跳过这些点.意思就是尘销顷每隔stride取一个点
pointer);//存数组.

gl.glDrawArrays first,是你要告诉 显卡,从那一斗掘个数据(通过glVertexPointer传入的点,这些点已经在缓存里边了派陆,注意不是pointer)开始画,比如说已经有6个点在缓存里边了,如果first=3,那就从第四个点开始画.按你说的"第三个三角形怎么画"如果最后数据不足三个点,就不会画三角形,直接忽略.
按你的数据,你的MODE应该是GL10.GL_TRIANGLE_STRIP,取1,只会有两个三角形被绘制.
多看看官网http://www.opengl.org/sdk/docs/man/ 好好学习天天向上
android openGL es画图
← 上一篇: 下一篇: →