LightIntensity

sealed interface LightIntensity

A light's brightness as a value type, bundling the amount with how it's interpreted — one variant per intensity setter on the core LightManager.Builder, so unit-specific extras (Watts' efficiency) are unrepresentable with the other units.

Follows the same "correlated params become a value type" idiom as Projection/SpotCone/ SunParams. The default everywhere is LuminousPower(100_000f).

Inheritors

Types

Link copied to clipboard
data class Candela(val value: Float) : LightIntensity

Luminous intensity in candela; for directional lights this equals lux.

Link copied to clipboard
data class LuminousPower(val value: Float) : LightIntensity

Illuminance in lux for directional lights, luminous power in lumen for point/spot lights — Filament's plain intensity() and the most common choice.

Link copied to clipboard
data class Watts(val watts: Float, val efficiency: Float) : LightIntensity

Electrical watts × luminous efficiency683 · efficiency · watts lumen. Typical efficiencies: incandescent 0.022, halogen 0.07, LED 0.087, fluorescent 0.107 — efficiency is required because an idealized 1.0 emitter is rarely what you mean.