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 (406)
games submitted by our members
Games in WIP (293)
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  
  jogl texture wrapping of complex shape  (Read 417 times)
0 Members and 1 Guest are viewing this topic.
Offline nkl

JGO Visitor




« Posted 2011-08-05 12:27:42 »

Hi, I've been batting my head against a wall for some time on this topic and am curious if anyone out there can spot a mistake I have made. Essentially, what I am trying to do is construct a 3d asteroid field. I wanted to use 'interesting' shapes and so have generated some items in a 3D program...which I exported as .obj files. I have read these into my program, storing them as vertices and can generate the shape in a jogl display. Happy days. The next stap was to wrap a suitable texture around the object and this is where i have been stuck for some time- i have searched numerous forums yet can't seem to crack it.

This is how i'm loading the texture image:

  gl.glGenTextures(1, retVal,0);   
  asteroidTex=retVal[0];            
  //do stuff for the bound texture
  //-get input stream and bind to image integer place-holder
  InputStream stream1 = AsteroidListener.class.getResourceAsStream("textures/asteroid_texture.png");
  BufferedInputStream bis = new BufferedInputStream(stream1);
  //-create buffered image
  BufferedImage bi= ImageIO.read(bis);
  Raster r =bi.getRaster();
  DataBufferByte dbi= (DataBufferByte) r.getDataBuffer();
  byte b[]=dbi.getData();
  //-create final byte buffer to use as the texture
  int texSize =b.length;
  //System.out.println("tex size is:" +texSize);
  ByteBuffer texture= ByteBuffer.allocateDirect(texSize);
  ByteOrder newOrder= ByteOrder.nativeOrder();
  texture.order(newOrder);
  //-fill texture that is in byte array
  texture.put(b,0,texSize);
  texture.rewind();
  gl.glBindTexture(GL.GL_TEXTURE_2D, asteroidTex);   
  gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST);
  gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR);   
  glu.gluBuild2DMipmaps(GL.GL_TEXTURE_2D, GL.GL_RGB, bi.getWidth(), bi.getHeight(), GL.GL_RGB, GL.GL_UNSIGNED_BYTE,texture);
   

And i'm (trying) to wrap the generated shape with:

  gl.glEnable(GL.GL_TEXTURE_2D);      
  gl.glBindTexture(GL.GL_TEXTURE_2D, asteroidTex);
  gl.glCallList(mDisplayListID1);   
  gl.glDisable(GL.GL_TEXTURE_2D);


Yet all I seem to be getting is the desired shape textured with something that is 'not quite right'. The texture appears to be getting overlaid, yet it is not the right colour and there seem to be some very odd 'flourescing' effects on the surface of the object.

Has anyone come across this before?
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!
 
Get high quality music tracks for your game!

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 (81 views)
2013-05-17 21:29:12

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

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

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

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

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

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

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

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

UnluckyDevil (187 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.082 seconds with 20 queries.