Page MenuHome

light data shader node color output (GLSL) does not respect energy any more
Closed, ResolvedPublic


System Information
Operating system and graphics card

Blender Version
Broken: 2.72
Worked: 2.71

Short description of error
We depend on access to the light energy in many of our shaders, (we used the color output of the light data node for it). This does not work any more.
For GLSL shading, the light data shader node, output "Color" exported the light color before, multiplied by the energy,
Now it only exports the color, regardless of the energy.
In the BI renderer, color is still multiplied with the energy.
The new behaviour in GLSL is more logical imho, but, the energy access is missing. Therefore I can imagine two solutions:

  1. (preferred by me, but not compatible) add an energy output to the node, adapt the BI output to the new GLSL output
  2. restore the old way it worked

What do you think?

Exact steps for others to reproduce the error
select the light in the scene
change the energy
compare GLSL and BI render

Event Timeline

Michael Otto (mayqel) raised the priority of this task from to 90.
Michael Otto (mayqel) updated the task description. (Show Details)
Michael Otto (mayqel) edited a custom field.

@psyfi I'm yet to got bisect this one, but I suspect it was caused by your changes. Care to look?

@Michael Otto (mayqel) please attach a sample file that can be used to compare the results between the broken and the working versions

Sorry, I uploaded one, but must have deleted it again by accident.

I did do some change there related to another bug report. I don't remember if that change was directly influencing that bug but I'll check it again to make sure.

Julian Eisel (Severin) lowered the priority of this task from 90 to Normal.

@Antonis Ryakiotakis (psy-fi) I'm bisecting this bug, I get back to you on that soonish. Hopefully we can get this fixed by 2.73a

@Antonis Ryakiotakis (psy-fi) git bisect tells me that the problem was introduced in rB14c57b6c (Fix T42074, textured lamps influencing other layers)