Few days ago I found nice class which handles custom OpenGL UIView transitions http://memention.com/blog/2010/02/28/Bells-and-Whistles.html I would probably stick to it and use it, but unfortunately I didn't like the lag before the animation starts and few details (not working on all orientations ...). So I decided to rewrite it from scratch, make it as fast as possible, and maybe a little bit easier (if possible) to use.

I ended up with HMGLTransitions which you can download from here http://github.com/Split82/HMGLTransitions The biggest difference between this and previously mentioned implementations is that I use singleton object which creates OpenGL context only once. This can drastically improve starting lag of animation. Also I don't resample textures and use exact size. Next "big" thing is that all device orientations are supported. Now everything works nice and smooth (except cloth animation on iPhone 3G and lower ;) There are still some things which should be added and there is also space for some performance enhancements, but for now it's enough and can be used without having any problems on iPhone. On iPad there might be performance issues (starting lag) if the view hierarchy which needs to be rendered to the texture is too complicated.