There we go!
Oddly I still can't get mip maps from the PVR file to load, but cube maps without any mip maps work fine. I replaced GL_QUADS with GL_TRIANGLES so particles & overlays partially work.
Hey Alex, maybe I missed the information hidden in this great thread, but can you tell me what FPS you got on your N900, although it might not be fully optimized yet?
And could it be, that shadows haven't been rendered yet?
I've been experimenting with the performance, and I've noticed the fill rates from forward lights really kill it. I'm experimenting with GLFW with EGL support now and I'm trying to work out if I'm missing a flag or a special atom to disable compositing because it felt a lot faster with the Qt widget back-end when set to full screen. But anyway, with the default knight scene & Qt I was getting (just my estimation here) about 10fps visually, and when I zoomed into the knight it was about 1fps sadly. With lights disabled it was more or less 20-30fps and zooming into the knight and ball didn't lag it at all. CPU usage was pretty much nothing though after loading so skinning was definitely GLSL-driven. There's still many textures which are RGBA8 which I've been converting to either 2-bit/4-bit PVRTC or into the 16-bit formats to see if I get a speed boost that way as well.
I have to disable shadows for now because it segfaults due to no depth textures support, and my experiments with trying to do the same with an RGBA4 and a special shader which does bitwise shifts doesn't work because I get an "SGX out of mem event" which I'm not too sure how to debug so I haven't really bothered with the shadows. Just a huge guestimation here, but it could do with that glScissor+render2texture bug I read about somewhere.
At the moment for my purposes I've been trying to make my own simpler shaders which do ambient+diffuse+lighting all in one pass to get it up to about 30fps but it also means the regular lights and shadow mapping won't work. If this is still too slow I was just going to use pre-rendered cubemaps for all the lighting. I'm sort of making shaders now which are ES1.1/2.0 friendly and only use vertex colours and 2 texture units max (but adding GLSL sugar on top for 2.0 compatible platforms like cubemaps).
I'll test with Qt again to see the framerate values, it's probably better to go back to Qt for maemo because I was reading that meego might not use X but wayland instead so Qt would abstract the difference...