Hello fellows,
  I’ve already tried to find the solution in other POSTS but none of
the solutions worked.
  The problem that I have is that the loaded texture not displayed in
the real device (G1, firmware 1.5). If I turn of the texture and put a
color in the geometry, it works fine.
  Details: the file that I’m loading has width and height power of 2.
And I tried with .bmp and .png  files, for both I had the same
problem.
   My code:
METHOD used to load texture:
private int loadTexture (GL10 gl, Bitmap bmp)
          {
                int[] tmp_tex= new int[1];
                gl.glGenTextures(1, tmp_tex, 0);
                gl.glBindTexture(GL10.GL_TEXTURE_2D, tmp_tex[0]);
                GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bmp, 0);
                gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
GL10.GL_CLAMP_TO_EDGE);
                gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
GL10.GL_CLAMP_TO_EDGE);
                return tmp_tex[0];
          }

The FOLLOWING code is inside DRAW method.
>>>>>>>>>>>> DRAW METHOD..
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glMatrixMode(GL10.GL_PROJECTION);
                gl.glLoadIdentity();
                GLU.gluOrtho2D(gl, 0.0f,1.2f,0.0f,1.0f);
                gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
                gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

                gl.glDisable(GL10.GL_BLEND);

                //texture...
                gl.glEnable(GL10.GL_TEXTURE_2D);
                gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
                bmp=BitmapFactory.decodeResource(c.getResources(), 
R.drawable.capa);
                texBuff=makeFloatBuffer(texture);
                gl.glTexCoordPointer(2,GL10.GL_FLOAT,0,texBuff);

                tex= loadTexture(gl, bmp);

                //small Box...
                bb2 =ByteBuffer.allocateDirect(square2.length*4);
                bb2.order(ByteOrder.nativeOrder());
                squareBuff2 = bb2.asFloatBuffer();
                squareBuff2.put(square2);
                squareBuff2.position(0);
                gl.glVertexPointer(3, GL10.GL_FLOAT, 0, squareBuff2);
                gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);

                //back box
                bb =ByteBuffer.allocateDirect(square.length*4);
                bb.order(ByteOrder.nativeOrder());
                squareBuff = bb.asFloatBuffer();
                squareBuff.put(square);
                squareBuff.position(0);
                gl.glVertexPointer(3, GL10.GL_FLOAT, 0, squareBuff);
                gl.glColor4f(0,0,1,1);
                gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);

>>>>>>>>>>>> DRAW METHOD END..
        Let me know if you know what is going wrong and what I should do.
        My code works fine in the emulator but not in the real device. (This
is a simple code that I’ve done months ago, so I’m using this is a
reference to find the problem.)
        Thanks a lot for your attention.
        Best regards,

Assis

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to