A quicky, in case you didn’t know it yet. Apple has compiled a nice list of best practices for OpenGL ES and specifically for the powervr sgx chips which are used in iphones and the ipad. You can find the pdf at http://developer.apple.com/iphone/library/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/OpenGLES_ProgrammingGuide.pdf.
I’ve been rather busy today with my day job and only found 2 hours to do something related to Android (yes, only 2 hours…). I played around with shaders and extremely large vertex counts today, and behold it was good. With around 100000 triangles i get a steady frame rate of 37fps most of the time. Now the setup of the scene is a bit special, many of the triangles are rather small or get backface culled. It’s still nice to know that the PowerVR is not all that bad after all. I also noticed a problem with libgdx on Android where loading a non quadratic texture with mip mapping enabled produces nice black output. I have to look into that. But not today. Stefanie made me go to the fitness center she works at. She says i’m to lazy, fat and to dumb :/
I reworked a lot in libgdx as you can tell from the last couple of posts. The reason i haven’t yet release a new version is that i still want to rough out some edges. Text rendering is now extremely easy and fast via the SpriteBatch class and the new Mesh class really helped a lot when intially trying some shaders. I hope to get a new version out by tomorrow. I also fixed a nasty “feature”: When using OpenGL ES 2.0 the surface created will not have a depth or stencil buffer by default. I fixed that and everything works fine now. You can check out the latest source from the SVN if you want the cutting edge features. The examples in src/com/badlogic/gdx/tests should give you a pretty good insight into how things work now along with the extensive documentation.
As suggested by Scott in a comment glBufferData and glSubBufferData now also allow the use of non-direct buffers which should speed up things like doing sprite batching. You can find the latest release and source at http://code.google.com/p/gl2-android/.
I’m still in the process of making some libgdx parts work out of the box with OpenGL ES 2.0. The mesh works perfectly fine as shown earlier and SpriteBatch is also coming along nicely. What’s not working at the moment is outputting text via SpriteBatch and i can’t find the problem. Well, the day still has some hours left.