Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (404)
games submitted by our members
Games in WIP (289)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Trouble with glVertexArray and glDrawElements  (Read 2105 times)
0 Members and 1 Guest are viewing this topic.
Bornter
Guest
« Posted 2003-07-04 15:57:18 »

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  
// SIZE_FLOAT = 4
// SIZE_SHORT = 2

/** In some initialisation method */

// float mypoints[]   : holds each vertex (x, y, z)
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();

// short conns[]   : holds (0, 1, 2), (1, 2, 3) and so on.
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();

// and so on for colours, etc. The Buffers should be OK.


/** Now in the diplay() method */


gl.glEnableClientState(gl.GL_VERTEX_ARRAY);
gl.glVertexPointer(3, gl.GL_FLOAT, 0, bufPoints);
// similar to colours, etc.
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
Offline abies

Senior Member





« Reply #1 - Posted 2003-07-04 21:40:09 »

Just a blind guess - maybe putting buffers in nativeOrder would help ?

Artur Biesiadowski
Bornter
Guest
« Reply #2 - Posted 2003-07-05 07:08:28 »

Quote
Just a blind guess - maybe putting buffers in nativeOrder would help ?

Hi. I did now insert a line:
"bbuffer.order(ByteOrder.nativeOrder())"
before the "return bbuffer.asFloatBuffer()"
However unfortunately with no visible effect.
These low-level Buffers look to be too much for me...
Games published by our own members! Check 'em out!
Play the free demo of Revenge of the Titans!
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #3 - Posted 2003-07-07 12:17:39 »

You need to set the order before you fill the buffer.

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars and Titan!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (54 views)
2013-05-17 21:29:12

alaslipknot (63 views)
2013-05-16 21:24:48

gouessej (94 views)
2013-05-16 00:53:38

gouessej (91 views)
2013-05-16 00:17:58

theagentd (102 views)
2013-05-15 15:01:13

theagentd (93 views)
2013-05-15 15:00:54

StreetDoggy (139 views)
2013-05-14 15:56:26

kutucuk (161 views)
2013-05-12 17:10:36

kutucuk (160 views)
2013-05-12 15:36:09

UnluckyDevil (170 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.157 seconds with 25 queries.