2012-08-15 55 views
0

我在使用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); 
} 

回答

1

只好渲染

gl.glEnableClientState(GL2.GL_VERTEX_ARRAY); 
前添加以下
相關問題