OpenGl Es Sprite render

I don't know how to know if there's a depth buffer attached while running. Can't you just look at your frame buffer creation code and see if it's attaching a depth buffer? Heck, search your project for glGenFramebuffersOES. It should be right there somewhere.

The approach I'm taking with my OpenGL ES projects is to draw GL_TRIANGLES pairs (6 verts per quad). I use a single 512x512 texture and layout all my sprites so I can just dump all the translated coords to GL in 1 draw without having to swap the texture. So far I get pretty good performance even with hundreds to thousands of sprites.

I tried the code you gave and it is definitely a step in the right direction, there is one problem that needs solving first; the alpha of the png calculates for the road (you can see the road through it) but is solid to each of the other cars so it displays the road instead of the car next to it... any ideas on this one?

I seem to be having some problems trying to do the same thing. Basically im trying to show various nebulars when I limit the code below to show just one it will work, but when i tell it to show more than one it will just create them all as white squares:

Secondly, either you left out the for loop that is drawing each of your objects, or you are drawing them all at once from 1 vertex pointer. If you just left out the for loop then it looks like it should work. If you havn't and you are drawing them all in one vertex pointer, then you texCoords will need to be much much much larger. Basically repeat the 4 coordinates for every object in your array.

Ok, having read up on a similar problem Here it turns out that you have to set up the GL_BLEND information like this:

Code:

// Set the texture parameters to use a minifying filter and a linear filer (weighted average)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
// Enable use of the texture
glEnable(GL_TEXTURE_2D);
// Set a blending function to use
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
// Enable blending
glEnable(GL_BLEND);

so just Add the 2 missing functions (glBlendFunc and glEnable) and you should be looking at some nice textures... The blend function is telling opengl to use 1 texture at a time, not to try and multi-texture which is what i believe is getting you those white textures.

Blending doesn't have anything to do with multitexturing. You can use both at the same time.

Wozna, in your code snippet above, you haven't provided mipmaps. Mipmapping is enabled by default, so if you don't provide them, the texture is incomplete and you'll get white (or whatever the primary color is.)