Absorption color confusion

The Volume Rendering Equation has an extinction term e^(-f(x0,x1)) where f(x0,x1) = integral of (ScatteringTerm + AbsorptionTerm) over [x0,x1]. What this means for your absorption values, is that if it is very small relative to the scattering term (ie. The Color channel) then you won’t see too much difference. Turning off absorption in the GUI will internally set it such that that sum is 1 in R, G, and B. This causes a grey shadow since each wavelength is extincted at the same rate.

I kind of get the feeling that you are expecting the Absorption term to be the only thing affecting the extinction in the volume, which is not the case. If you think that I am missing the point, please hook me up with a scene that shows exactly what you are seeing and a description of what you were expecting to see.

P.S. If you wanted to set the Absorption value explicitly, try subtracting the Color value from your computed absorption.

No, rather I am saying that if you have a specific absorption in mind, that you could go:

Scattering = Color = c
Absorption = a - c

That way when extinction is calculated, you would get:

Extinction = Scattering + Absorption
Extinction = c + (a - c) = a

Which seems to be what you are wanting.

If both are low, that means a larger percentage of light is being transmitted through the medium, instead of reflecting or absorbing. The original value for a in my example is whatever absorption value you intend to use. For example a = [0.75,0,0.75], c = [1,1,1] as original values would produce a very bright green volume and shadow if you set Absorption = a - c.

Technically a - c = [-0.25, -1,-0.25] which in general is weird, but it isn’t a problem in this case because the only way Absorption is actually used is to be added to the Scattering term to make Extinction. So [-0.25,-1,-0.25] + [1,1,1] = [0.75,0,0.75] as Extinction.

The density comes into play by acting as a scaling factor for both the Absorption and Scattering terms. So in actuality Extinction = Density * ( Color + Absorption ), which might confuse since that implies that the values don’t have to be in the [0,1] interval. All of these quantities represent a probability density, as opposed to a regular probability which must stay in the range [0,1]. A probability density can be any positive value since it represents the probability per unit density of extinction, not the probability of extinction at any given point.

Btw. There is no real reason for Absorption and Color to sum to [1,1,1] or less, it is just a convention that I intend to use when I start supporting these values out of a Standard Material. I plan on setting the Color value directly from the diffuse value, and the Absorption will be (1 - Color) * (1 - FilterColor). You can try using this calculation in your KCMs since I think it makes the most sense.