i see the source of the unity build-in shader,most of them have 2 or 3 pass,one calculate diffuse+ambient, one calculate speclur,etc.just for write easy.
if unity don’t combine the pass final,the drawcall times will be 2 or 3 times than just use one pass calculate all light component,this will cause great impact on performance.And if you have N lights and use per-pixel light,it will be N*3 times.
if unity combine the pass final,i notice that unity can use fix-function pass and programmable pass simultaneously,how to combine these pass?