I'm currently migrating a project from Unity iPhone 1.7 to Unity 3.1 and I'm having some issues with the shader below.
Every time I import the shader into Unity 3.1, Unity comments out the Blend command with this message.
/* Upgrade NOTE: commented out, possibly part of old style per-pixel lighting: Blend AppSrcAdd AppDstAdd */
This is causing the shader to basically ignore the first SetTexture command and is only displaying the result of the second SetTexture command.
Does anyone have any ideas on why this would be happening, or if this is just a bug I've stumbled across?
asked Nov 23, 2010 at 03:12 AM
Blend AppSrcAdd AppDstAdd has been deprecated for Unity 3.0, but it's useless in your shader anyway. That blend mode was only used with multiple passes, so if it ever did anything, then that was a bug. All your shader does is multiply the spheremap by light, as you describe. Also, SeparateSpecular is useless on iOS. I'm making you an updated shader presently.
Edit: Here's a shader. It's kind of a rough draft, in that I didn't really know where you wanted Double, Quad, etc., or how you wanted to influence the reflections with texture alpha. You should be able to modify it with your own multipliers as you like.