I’m using JOGL from JogAmp to display a simple triangle in OpenGL, converting code from c++ to java with minor modifications following this tutorial. No errors, expecting a white triangle but the window is just pitch black.
This is the display and reshape overridden functions in my class that implements GLEventListener:
@Override
public void display(GLAutoDrawable drawable)
{
float[] vertices =
{
0.0f, 0.5f, 0.0f,
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f
};
final GL4 gl = drawable.getGL().getGL4();
FloatBuffer vertexBuffer = Buffers.newDirectFloatBuffer(vertices);
int[] ids = new int[1];
// 0: vertex buffer ID
gl.glGenBuffers(1, ids, 0);
gl.glBindBuffer(GL4.GL_ARRAY_BUFFER, ids[0]);
gl.glBufferData(GL4.GL_ARRAY_BUFFER, vertices.length * Buffers.SIZEOF_FLOAT, vertexBuffer, GL4.GL_STATIC_DRAW);
gl.glEnableVertexAttribArray(0);
gl.glVertexAttribPointer(0, 3, GL4.GL_FLOAT, false, 0, 0);
gl.glDrawArrays(GL4.GL_TRIANGLES, 0, 3);
}
...
@Override
public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height)
{
final GL4 gl = drawable.getGL().getGL4();
gl.glViewport(x, y, width, height);
}