在Java中使用glDrawArrays时发生致命错误
问题描述:
我在使用glDrawArrays时逐个呈现顶点,在使用glDrawArrays时出现问题,请帮助。在Java中使用glDrawArrays时发生致命错误
public class Box {
public void draw (GL2 gl, float x, float y, float z, float side)
{
FloatBuffer points;
float[] pointsData = {
-side, side, -side, //A0
side, side, -side, //A1
side, side, side, //A2
-side, side, side, //A3
-side, -side, -side, //B0
side, -side, -side, //B1
side, -side, side, //B2
-side, -side, side, //B3
};
//FloatBuffer colors;
//float[] colorsData;
int pointsDataLength = pointsData.length;
points = FloatBuffer.allocate(pointsDataLength);
points.put(pointsData, 0, pointsDataLength);
points.rewind();
gl.glTranslatef(x, y, z);
/*
gl.glBegin(GL.GL_POINTS);
for(int i=0; i < pointsDataLength/3; i++)
{
gl.glVertex3fv(pointsData, i*3);
}
gl.glEnd();
*/
gl.glVertexPointer(3, GL.GL_FLOAT, 0, points);
//gl.glColor3f(1f, 0f, 0f);
gl.glDrawArrays(GL.GL_POINTS, 0, pointsDataLength/3);
}
答
只好渲染
gl.glEnableClientState(GL2.GL_VERTEX_ARRAY);
前添加以下