Android OpenGL ES 部分方法说明

OpenGL ES 部分函数说明

目录

glClear

public static void glClear(int mask)

mask

  • GL_COLOR_BUFFER_BIT

    当前可写的颜色缓冲

  • GL_DEPTH_BUFFER_BIT

    深度缓冲

  • GL_ACCUM_BUFFER_BIT

    累积缓冲

  • GL_STENCIL_BUFFER_BIT

    模板缓冲

目前只见过GL_COLOR_BUFFER_BIT的使用,用于在调用glClearColor(float r,float r,float b,float a)后以glClearColor设置的颜色清空屏幕.

glDrawArrays

public static void glDrawArrays(int mode, int first,count)

mode

  • GL_POINTS

    绘制点

  • GL_LINES

    绘制线

  • GL_LINE_LOOP

    按照顺序将点连起来,并且将最后一个点与第一个点连起来

  • GL_LINE_STRIP

    按照顺序将点连起来

  • GL_TRIANGLES

    每三个顶之间绘制三角形,之间不连接

  • GL_TRIANGLE_STRIP

    依次移动一个点画三角形,举例(0,1,2,3,4,5,6)7个点,将依次绘制(0,1,2),(1,2,3),(2,3,4),(3,4,5),(4,5,6) 5个三角形

  • GL_TRIANGLE_FAN

    以第一个点为中心,后续依次移动一个点绘制三角形,举例(0,1,2,3,4,5,6)7个点将依次绘制(0,1,2),(0,2,3),(0,3,4),(0,4,5),(0,5,6) 5个三角形

first

数组取点偏移值,及在数组中以下标为几的点开始绘制

count

绘制图形需要的点的个数

glDrawElements

public static void glDrawElements(int mode, int count, int type, Buffer positionBuffer);

mode

同glDrawArrays中的mode

count

指positionBuffer中的顶点个数

type

指positionBuffer的类型,举例如ByteBuffer,IntBuffer

positionBuffer

顶点数据

一般由ByteBuffer.allocateDirect()生成,然后调用put()方法传进去一个顶点数组

数组内容一般是序号,序号从0开始

根据

glVertexAttribPointer(aPositionLocation, POSITION_COMPONENT_COUNT, GL_FLOAT,
                    false, STRIDE, vertexData)

传递的顶点数据的顺序而来

rotateM

先占坑,后面填

glVertexAttribPointer

public static void glVertexAttribPointer(
int indx,
int size,
int type,
boolean normalized,
int stride,
java.nio.Buffer ptr
)

stride

顶点数据之间的字节跨距,若为0表示他们紧密的相邻

其他参数

详见
glVertexAttribPointer

猜你喜欢

转载自blog.csdn.net/dqh147258/article/details/79803078