Hi.
My first Jogl testes by manually drawing polygons (via glBegin, glVertex3f and so on) work fine. :-)
However using the faster glVertexPointer() and then glDrawElements() doesn't do anything, except to throw exceptions to me after a while. :-(
From my former Gl4java tests I got the vertex array and the connection array. However moving this code to Jogl fails for me so far.
What am I doing wrong? Any hints appreciated. :-)
Here's the relevant part:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
ByteBuffer bbuffer = ByteBuffer.allocateDirect(mypoints.length * SIZE_FLOAT); for (short i = 0; i < mypoints.length; i++) { bbuffer.putFloat(mypoints[i]); } bbuffer.rewind(); bufPoints = bbuffer.asFloatBuffer();
ByteBuffer bbuffer = ByteBuffer.allocateDirect(conns.length * SIZE_SHORT); for (short i = 0; i < conns.length; i++) { bbuffer.putShort(conns[i]); } bbuffer.rewind(); bufConns = bbuffer.asShortBuffer();
gl.glEnableClientState(gl.GL_VERTEX_ARRAY); gl.glVertexPointer(3, gl.GL_FLOAT, 0, bufPoints); gl.glDrawElements(gl.GL_TRIANGLES, bufConns.limit(), gl.GL_SHORT, bufConns);
|
Do I have to use "gl.GL_UNSIGNED_SHORT" or "gl.GL_SHORT" in the DrawElements-call? None of them work for me. ;-)
By the way: do I really have to specify the Float_Size (4 Bytes on many machines) and Short_Size (2 bytes on many machines) ? However: if my Java application is to run on a platform where I don't know its Float_Size?
Greetings and thank you.
-ric