I got an iPad 2 and I’m testing the exact same version of my game as I have on iPad 1. Everything looks good on iPad 1, but on iPad 2 I get strange graphical artifacts if my mesh intersects a projector or another mesh with a transparent shader. It looks like the wireframe of the mesh is rendered over top of the transparent mesh or projector. It’s hard to describe:
In the scene above I have a large white plane that serves at the ground. It has a regular diffuse shader. Those green triangles are meshes with a slightly transparent shader (nothing fancy, just a default transparency shader) and are positioned on top of the white plane, but the white plane’s wireframe is rendered over top. Why is this happening? Works perfect on iPad 1 and in the Unity editor on Mac.
If I set the ground plane to Transparent >> Diffuse the results are even stranger. Many of the objects on top of the plane are rendered incorrectly (e.g., the red blocks in the picture above), some disappearing entirely, others showing up partially.
MSAA is handled by the iOS drivers and iOS, there is nothing to do in terms of speed. its a fillrate megabomb and if the game isn’t opted for it, it will break your FPS on 4th gen and ipad1 within a blink …
Is a Color Mask being specified in the Unity (not GLSL) shaders of the object being blended? If so, enabling color writes to all 4 channels may avoid the issue.
See this post in Apple’s developer forums for a bit more information: Apple Developer Forums
And its being looked into.
But Unity 3.3 will not magically be iPad2 updated, you will have to wait for the Unity update to have patches for iPad2 anomalies that don’t exist on all other devices
What it means is that before Unity 3.4 nothing is gonna change, as workarounds required for ipad2 anomalies don’t magically appear, they require a patch