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
-~----------~----~----~----~------~----~------~--~---