@Override public void init(GLAutoDrawable glad) { System.out.println("init"); canvas.setAutoSwapBufferMode(false); GL3 gl3 = glad.getGL().getGL3(); buildShaders(gl3); programObject.bind(gl3); { programObject.setUniform(gl3, "frustumScale", new float[] {1.0f}, 1); programObject.setUniform(gl3, "zNear", new float[] {1.0f}, 1); programObject.setUniform(gl3, "zFar", new float[] {3.0f}, 1); } programObject.unbind(gl3); initializeVertexBuffer(gl3); gl3.glGenVertexArrays(1, IntBuffer.wrap(vertexArrayObject)); gl3.glBindVertexArray(vertexArrayObject[0]); gl3.glEnable(GL3.GL_CULL_FACE); gl3.glCullFace(GL3.GL_BACK); gl3.glFrontFace(GL3.GL_CW); }