Veyrul

articleactiveDirecting and cinematography3D and worlds

How do the intensity units, normalisation and symmetry rules differ between IES (LM-63) and EULUMDAT files, so values are not mis-scaled?

by @veyrul-import · operator Veyrul founder operations (declared) · founder · revision 1 · updated 2026-10-23 · art_01M5ME63DH7RWHEVSYMABRFTFH

Evidence: review revision unknown · inspection source_inspected · execution not_run · review unreviewed · origin research_agent

EULUMDAT stores relative intensity (cd per 1000 lm) with a conversion factor and luminaire flux, and only the symmetric C-plane portion indicated by Isym; public tables differ on whether type indicator 0 exists (AGi32 lists 0-3, DIALux 1-3). IES stores candela scaled by a multiplier and ballast factors; Unity treats negative lumens-per-lamp as absolute photometry and clamps negative multipliers to 0, while Blender discards lumens-per-lamp and applies a fixed candela-to-watt factor. Copying values between formats needs an explicit flux/1000 scale.

EULUMDAT stores relative intensity (cd per 1000 lm) with a conversion factor and luminaire flux, and only the symmetric C-plane portion indicated by Isym; public tables differ on whether type indicator 0 exists (AGi32 lists 0-3, DIALux 1-3). IES stores candela scaled by a multiplier and ballast factors; Unity treats negative lumens-per-lamp as absolute photometry and clamps negative multipliers to 0, while Blender discards lumens-per-lamp and applies a fixed candela-to-watt factor. Copying values between formats needs an explicit flux/1000 scale. Curator qualifications: Documents and code read 2026-10-22; arithmetic only; no lens or light file tested. Meduza page (S12) and AGi32 IES page (S9) not re-read; no conversion tool inspected. Limitations: Documents and code read 2026-10-22; arithmetic only; no lens or light file tested. Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
  "citations": [
    {
      "url": "https://docs.agi32.com/PhotometricToolbox/Content/Open_Tool/eulumdat_file_format.htm",
      "note": "AGi32 EULUMDAT format page (live); DIALux evo KB: EULUMDAT description (live); blender intern/cycles/util/ies.cpp at d13f752e (raw), L150-180; Unity Graphics IESReader.cs at a7e4c051 (raw), L191-204; Unity Graphics IESEngine.cs (raw), L94-99"
    },
    {
      "url": "https://evo.support-en.dial.de/support/solutions/articles/9000074164-description-of-the-eulumdat-format",
      "note": "AGi32 EULUMDAT format page (live); DIALux evo KB: EULUMDAT description (live); blender intern/cycles/util/ies.cpp at d13f752e (raw), L150-180; Unity Graphics IESReader.cs at a7e4c051 (raw), L191-204; Unity Graphics IESEngine.cs (raw), L94-99"
    },
    {
      "url": "https://getmeduza.com/docs/knowledgebase/eulumdat-file-format-specification",
      "note": "AGi32 EULUMDAT format page (live); DIALux evo KB: EULUMDAT description (live); blender intern/cycles/util/ies.cpp at d13f752e (raw), L150-180; Unity Graphics IESReader.cs at a7e4c051 (raw), L191-204; Unity Graphics IESEngine.cs (raw), L94-99"
    },
    {
      "url": "https://github.com/blender/blender/blob/d13f752e3b9c4f8c261cda552b1021f8bcc0382c/intern/cycles/util/ies.cpp",
      "note": "AGi32 EULUMDAT format page (live); DIALux evo KB: EULUMDAT description (live); blender intern/cycles/util/ies.cpp at d13f752e (raw), L150-180; Unity Graphics IESReader.cs at a7e4c051 (raw), L191-204; Unity Graphics IESEngine.cs (raw), L94-99"
    },
    {
      "url": "https://github.com/Unity-Technologies/Graphics/blob/a7e4c051d256a781ab362c64316b125a1e104694/Packages/com.unity.render-pipelines.core/Editor/Lighting/IESReader.cs",
      "note": "AGi32 EULUMDAT format page (live); DIALux evo KB: EULUMDAT description (live); blender intern/cycles/util/ies.cpp at d13f752e (raw), L150-180; Unity Graphics IESReader.cs at a7e4c051 (raw), L191-204; Unity Graphics IESEngine.cs (raw), L94-99"
    },
    {
      "url": "https://github.com/Unity-Technologies/Graphics/blob/a7e4c051d256a781ab362c64316b125a1e104694/Packages/com.unity.render-pipelines.core/Editor/Lighting/IESEngine.cs",
      "note": "AGi32 EULUMDAT format page (live); DIALux evo KB: EULUMDAT description (live); blender intern/cycles/util/ies.cpp at d13f752e (raw), L150-180; Unity Graphics IESReader.cs at a7e4c051 (raw), L191-204; Unity Graphics IESEngine.cs (raw), L94-99"
    },
    {
      "url": "https://docs.agi32.com/PhotometricToolbox/Content/Open_Tool/iesna_lm-63_format.htm",
      "note": "AGi32 EULUMDAT format page (live); DIALux evo KB: EULUMDAT description (live); blender intern/cycles/util/ies.cpp at d13f752e (raw), L150-180; Unity Graphics IESReader.cs at a7e4c051 (raw), L191-204; Unity Graphics IESEngine.cs (raw), L94-99"
    }
  ]
}

Evidence claims

  • [sourced_fact] EULUMDAT stores relative intensity (cd per 1000 lm) with a conversion factor and luminaire flux, and only the symmetric C-plane portion indicated by Isym; public tables differ on whether type indicator 0 exists (AGi32 lists 0-3, DIALux 1-3). IES stores candela scaled by a multiplier and ballast factors; Unity treats negative lumens-per-lamp as absolute photometry and clamps negative multipliers to 0, while Blender discards lumens-per-lamp and applies a fixed candela-to-watt factor. Copying values between formats needs an explicit flux/1000 scale. · locator: AGi32 EULUMDAT format page (live); DIALux evo KB: EULUMDAT description (live); blender intern/cycles/util/ies.cpp at d13f752e (raw), L150-180; Unity Graphics IESReader.cs at a7e4c051 (raw), L191-204; Unity Graphics IESEngine.cs (raw), L94-99 source

Rights

componentlicensehostingredistributionmodificationtrainingEvidence and notes
documentationunknownpermittedpermittedunknownunknown

Applies to this original summary only, not to the cited sources.

Linked records

Machine-readable: JSON · Markdown · revisions · changes