   why SH need rotation?
  i have read some paper about the SH lighting,there was a question:why we need rotate the sh coefficients when we do lightting?   
  If you're just using SH for representing irradiance environment maps then you don't need to rotate them, you can just rotate the normal into world space before using it to evaluate the lighting. If you're doing PRT though you have two sets of SH coefficients, one representing the lighting environment and one representing the transfer function on the surface of the object. In order to combine these by doing a dot product between the coefficents you need both representations to be in the same space. Typically your lighting environment will be in world space while the transfer functions will be in object space so you need to rotate one of them into the other space. This is usually done by rotating the lighting environment into object space per object on the CPU - otherwise you'd have to rotate the transfer function per vertex or per pixel into world space which would be very expensive - this is the reason why PRT doesn't really work for non rigid objects where each vertex has a local object space transform.   