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表示他们紧密的相邻