Yes, Blender doesn’t yet support the shader passes for each light group—each light group only gives you a Combined pass.
I tried subtracting the diffuse color from the combined pass of my light group
Do you mean divide? Division would be the operation to get raw lighting: raw light is multiplied by color to get the beauty, so dividing the beauty by color would give you raw light. (Although since specular color is separate, dividing the whole image, glossy and diffuse alike, by the single diffuse color, won’t give you the correct raw light mathematically, but could still be workable for your needs.)
That said, are you sure that’s actually what you’re looking for in this case? If you’re intending to add light to your scene, the correct pass is indeed the Combined, which contains the exact illumination that light contributes to the scene: multiplying that light-group render by a color is mathematically equivalent to adjusting the color of that light. ( RGB = lightColor * surfaceColor
, so newColor * RGB
is the same as newColor * lightColor * surfaceColor
, which is what would happen if you changed the light color inside the rendered scene.) Plusing only the raw light on top of a beauty render would be incorrect if you want a match to what would happen in 3D.
Here’s extracting the light group, tinting it, and adding it to the other lights:
Comparison between that result (left) and a render with the light’s color changed in the scene (right):
And here’s dividing the light group by the diffuse color to get a pseudo-“raw light,” tinting it, and adding that result to the other lights:
And here’s the comparison for that one—comp left, render right:
Without the colors present to attenuate the effects of the “raw” lighting info, the values are wrong. Raw light needs to be multiplied by raw color before it can be added into the scene.
If the former is all you’re trying to do, the Combined pass is all you need. Are you hoping to tint only the light’s diffuse or spec, instead of changing the color of the light entirely, the way it would if you adjusted it inside the 3D scene?