โ† All examples

blender tools

Tinted glass with Beer-Lambert absorption

Build a glass material whose colour deepens with thickness: the tint is given as transmittance at a reference thickness and converted to exact Volume Absorption density and colour, under a clear transmissive surface. Use it for bottles, stained glass, gems and liquids.

Recorded render of Tinted glass with Beer-Lambert absorption

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • component.json
  • graphcheck.py
  • material_glass_tinted.py
  • meshcheck.py
  • preview.png
  • test_material_glass_tinted.py
  • test_package.py
  • verification/native.json

How it works

Operator
baltor.material_glass_tinted
Parameters
material_name, tint, reference_thickness, ior, roughness, assign
Result
One material with a surface and a volume; assigned to the active object.
Blender
4.2 or later
Axes
Blender Z up, -Y forward
Units
metres

Recorded checks

blender 5.2.1 LTS (hash 9e2066aef7ef built 2026-08-25 02:12:34)

  • addon_install_and_enable
  • operator_runs_with_defaults
  • blender_data_matches_core
  • addon_disable_unregisters
  • script_mode_runs
  • clean_reopen_addon_file
  • clean_reopen_script_file
  • gltf_separate_export
  • engine_output_clean

Limits to consider

Absorption needs closed, correctly oriented meshes and a renderer that traces volumes inside objects (Cycles); EEVEE approximates refraction and volumes differently. No dispersion, no thin-film and no scattering inside the glass. Caustics depend on the renderer settings. Rendered here with Cycles CPU only. Verified in Blender 5.2.1; written for the 4.2 API.