The light’s intensity on the wall in this scene is 1.35.
But for the light I put on the camera, the result is quite different ; to get a similar result, I had to raise its intensity from 0.75 (on 1st following screenshot) to 1.2 (on 2nd following screenshot):
I triple checked and I think the issue comes from a modification I did in Internal-PrePassLighting.shader ; I can’t figure out why the calculation doesn’t produce the same result than before for now, but I’ll sleep on it and maybe I’ll figure it out tomorrow…
@OllyNicholson ,
thanks for the answer.
It can’t be the x2 because I’m using the built-in legacy U4 Shaders.
My guess was that it could be about gamma/linear space, but I thought it didn’t make sense for the light color… But after more digging, I found out that Luminance() (in UnityCG.cginc) has been changed to better handle Linear space ! It is not the culprit though, as it’s used only for Specular color (I tried using the U4 Luminance() and it almost didn’t change anything), but I wonder if something similar could have been done to _LightColor ? I looked but couldn’t find anything assigning it, so I’m not sure what to do about it…
pffff… I created a small test project with only a 0.055 intensity light in U4, then converted it to U5, and boom, the light intensity has been raised to 0.366 !
A quick look at the 5.0 release notes solved the mystery => http://unity3d.com/unity/whats-new/unity-5.0 :
But there’s still an unsolved mystery : 0.055 ^ (1/2.2) = 0.268 , not 0.366 …! @OllyNicholson , any chance you could tell me what is the conversion formula ?
I checked and Mathf.LinearToGammaSpace(0.055) gives me 0.26 , so I have no idea where this 0.366 comes from…
Note: the light intensity of 1st screenshot of U4 is probably not 1.35, but whatever the value was before the project conversion… It was a prefab, so it got converted, while the light intensity on my camera is set by script, so it wasn’t converted…