In this image, a volumetric shader is controlling the absorption of the glass medium.
It's basically a continous blend between three different absorption colours.
The medium looks like this:
Code: Select all
<medium>
<name>MedIndigo Material_mid0</name>
<precedence>10</precedence>
<basic>
<ior>1.600000</ior>
<cauchy_b_coeff>0.000000</cauchy_b_coeff>
<absorption_coefficient>
<shader>
<wavelength_dependent>true</wavelength_dependent>
<shader>
<![CDATA[
def col(real t) vec3 :
if(
t < 0.5,
lerp(
vec3(100.0, 100.0, 1.0), # blue
vec3(1.0, 100.0, 100.0), # red
smoothstep(0.25, 0.35, t)
),
lerp(
vec3(1.0, 100.0, 100.0), # red
vec3(1.0, 1.0, 100.0), # yellow
smoothstep(0.65, 0.75, t)
)
)
def eval(vec3 pos) vec3:
col(e2(pos) * 6.0)
# + fbm(pos * 100.0, 6) * 0.5
]]>
</shader>
</shader>
</absorption_coefficient>
</basic>
</medium>