Shaders -- Which ones? (fixed, surface, cg?)
We are about to start a new 3d game for iOS.
We are targeting iPhone 3gs, iPhone 4/ipod4, iPhone4s , iPad1 and iPad2 (and iPad3 when it comes out :P)
As far as i understand all are armv7, and the 3gs, iPhone 4 and iPad 1have the same GPU. So for those devices i have to keep in mind the fillrate problems (so try to avoid blending/alpha test shaders). And for the 3gs keep in mind the drawcalls.
Now, opengles 2.0 has no backwards compatibility. And for what i read in the forums, opengles 2 runs faster than ogl 1.1 in the devices i want to target. Also, unity mobile shaders are fixed functions, which means they use ogles 1.1 = "slower". Right?
And surface shaders use of pixel light every where, so they may be trouble specially for iphone4, ipad1 ?
So, does this means that it would be better to always code my own Cg shaders? (i.e. replace all the default shaders with my own ones in cg?)
In my case, when or where would it be more optimal to chose between "mobile shaders", surface shaders or my own in Cg?
Our game will be in 3d, something similar to the first 20 seconds of this game:
(A main character, with some "simple" enemies/obstacles and a linear level (the level will not be as complex as the one in the video) ).
I would appreciate any help on this.
thanks in advance.