Cycles, inconsistent power units between mesh light and rectangle area light #72553

Closed
opened 2019-12-18 17:59:25 +01:00 by Nicolas Lelong · 18 comments

System Information
Operating system: Windows 10 x64

Blender Version
Broken: version: 2.82 (sub 6), branch: master, commit date: 2019-12-17 23:52, hash: e0cd5b980f, type: Release

As seen in #53517 comment :

Lamps are in Watts, [...]. Mesh lights are in Watts/m^2 [...]

Rendering the following two emissive items should give the same lighting :

  • rectangle area light, 1m x 1m, power 1W
  • plane mesh, 1m x 1m, Emission shader, strength = 1.0

This is not the case, area light power must be multiplied by 4 to get the same result.

Exact steps for others to reproduce the error

With the attached blend file, test-emissive-vs-arealight-1m².blend

  • enable 'Rendered' viewport shading
  • the 'Emissive plane' brings more light to the 'Ground' that the 'Area light'
  • change the 'Area light' power to 4W
**System Information** Operating system: Windows 10 x64 **Blender Version** Broken: version: 2.82 (sub 6), branch: master, commit date: 2019-12-17 23:52, hash: e0cd5b980fc5, type: Release As seen in #53517 comment : > Lamps are in Watts, [...]. Mesh lights are in Watts/m^2 [...] Rendering the following two emissive items should give the same lighting : * rectangle area light, 1m x 1m, power 1W * plane mesh, 1m x 1m, Emission shader, strength = 1.0 This is not the case, area light power must be multiplied by 4 to get the same result. **Exact steps for others to reproduce the error** With the attached blend file, [test-emissive-vs-arealight-1m².blend](https://archive.blender.org/developer/F8232484/test-emissive-vs-arealight-1m².blend) * enable 'Rendered' viewport shading * the 'Emissive plane' brings more light to the 'Ground' that the 'Area light' * change the 'Area light' power to 4W
Author

Added subscriber: @rotoglup

Added subscriber: @rotoglup
Author

As a side note, the Emission documentation is unclear about the Mesh lights units :

Strength
Strength of the emitted light. For point and area lights, the unit is Watts. For materials, a value of 1.0 will ensure that the object in the image has the exact same color as the Color input, i.e. make it ‘shadeless’.

As a side note, the [Emission documentation](https://docs.blender.org/manual/en/latest/render/shader_nodes/shader/emission.html) is unclear about the Mesh lights units : > _Strength_ > Strength of the emitted light. For point and area lights, the unit is Watts. **For materials**, a value of 1.0 will ensure that the object in the image has the exact same color as the Color input, i.e. make it ‘shadeless’.

Added subscriber: @jdent02

Added subscriber: @jdent02

Area lamps are in Watts, emission shaders are in Watts/m2.

From the manual:

"Emission shaders on meshes are also in Watts/m2"

Doesn't sound like a bug at all.

Area lamps are in Watts, emission shaders are in Watts/m2. From the manual: "Emission shaders on meshes are also in Watts/m2" Doesn't sound like a bug at all.
Author

Thanks for the manual except, I missed this part in the description.

But for my case, as my area light is 1W and 1m2, it should light the same as a 1W/m2 emisive plane measuring 1m2.

Thanks for the manual except, I missed this part in the description. But for my case, as my area light is 1W and 1m2, it should light the same as a 1W/m2 emisive plane measuring 1m2.
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

In #72553#831238, @jdent02 wrote:
Area lamps are in Watts, emission shaders are in Watts/m2.
From the manual:
"Emission shaders on meshes are also in Watts/m2"
Doesn't sound like a bug at all.

Well, Strength of 1 on the Emission shader [with a 1m² face], should give the same as a 1m² Area Light with 1W power on first sight, then, no?
Checking....

> In #72553#831238, @jdent02 wrote: > Area lamps are in Watts, emission shaders are in Watts/m2. > From the manual: > "Emission shaders on meshes are also in Watts/m2" > Doesn't sound like a bug at all. Well, Strength of 1 on the Emission shader [with a 1m² face], should give the same as a 1m² Area Light with 1W power on first sight, then, no? Checking....

Not sure, I guess it depends on how the intensity of an area lamp is distributed. If you scale up emitting geometry but leave the intensity the same, it gets dimmer (as far as I recall), but I don't think an area lamp does. I don't have Blender in front of me so I can't confirm ATM.

Not sure, I guess it depends on how the intensity of an area lamp is distributed. If you scale up emitting geometry but leave the intensity the same, it gets dimmer (as far as I recall), but I don't think an area lamp does. I don't have Blender in front of me so I can't confirm ATM.

Added subscriber: @SteffenD

Added subscriber: @SteffenD

If you scale up emitting geometry you get more light because it keeps its brightness (which makes total sense because otherwise you would have to know the total size of the emitting surface).
If you scale an area light it is normalized so that the total amount of emitted light stays the same. Like in real life, your lamp emits a certain amount of light, but if you change the size of the diffuser in front of it you don't get more light but softer / dimmer light.

If you scale up emitting geometry you get more light because it keeps its brightness (which makes total sense because otherwise you would have to know the total size of the emitting surface). If you scale an area light it is normalized so that the total amount of emitted light stays the same. Like in real life, your lamp emits a certain amount of light, but if you change the size of the diffuser in front of it you don't get more light but softer / dimmer light.
Member
Added subscribers: @Stefan_Werner, @LukasStockner, @Sergey, @brecht
Member

Handing this off to @brecht, @Sergey, @Stefan_Werner or @LukasStockner to decide....

Handing this off to @brecht, @Sergey, @Stefan_Werner or @LukasStockner to decide....
Member

Don't even get me started on units and getting results from Cycles that are quantitatively correct in a radiometric sense...

Personally, I very much disagree with showing any unit for lamp strength in the UI, because it leads exactly to this confusion.

For example, the unit for a zero-radius point lamp is different from that for a point lamp with radius, the units for most lamps, sunlamps and emissive materials are different.

Similarly, there's the whole radiometry vs. photometry mess, see e.g. the IES loader.

Additionally, the problem with Watt in particular is that while it is meant in the radiometric sense in the UI, Watt has for a long time been used to quantify the intensity of real-world light sources based on their power draw, so now many people assume that a point lamp set to 100W should produce a properly exposed render of a room.

On the topic of exposure: Even if all units were handled correctly, the values in the rendered buffer would be in W/(m^2*sr) (or cd/m^2 - again, radiometry vs. photometry), which means that a realistically exposed scene would have values in the hundreds and completely blow out on the screen because we expect values relative to the screen brightness...

Personally, I think that as long as we don't have physical exposure controls (f-stop and ISO) for the camera in Cycles, there's no point in pretending that the output is quantitatively valid by showing units in the UI.

Sorry for this rant, but I hope this makes it clear that this topic is very complex and almost impossible to get right...

Don't even get me started on units and getting results from Cycles that are quantitatively correct in a radiometric sense... Personally, I very much disagree with showing any unit for lamp strength in the UI, because it leads exactly to this confusion. For example, the unit for a zero-radius point lamp is different from that for a point lamp with radius, the units for most lamps, sunlamps and emissive materials are different. Similarly, there's the whole radiometry vs. photometry mess, see e.g. the IES loader. Additionally, the problem with Watt in particular is that while it is meant in the radiometric sense in the UI, Watt has for a long time been used to quantify the intensity of real-world light sources based on their power draw, so now many people assume that a point lamp set to 100W should produce a properly exposed render of a room. On the topic of exposure: Even if all units were handled correctly, the values in the rendered buffer would be in W/(m^2*sr) (or cd/m^2 - again, radiometry vs. photometry), which means that a realistically exposed scene would have values in the hundreds and completely blow out on the screen because we expect values relative to the screen brightness... Personally, I think that as long as we don't have physical exposure controls (f-stop and ISO) for the camera in Cycles, there's no point in pretending that the output is quantitatively valid by showing units in the UI. Sorry for this rant, but I hope this makes it clear that this topic is very complex and almost impossible to get right...

Added subscriber: @dr.sybren

Added subscriber: @dr.sybren

@LukasStockner does this mean this should be classified as 'Known Issue'?

@LukasStockner does this mean this should be classified as 'Known Issue'?

This can indeed be classified as known issue. It's more an area where we can improve things than necessarily a bug.

I'm not sure that the conversion math is even that simple, that these are supposed to match with the given units. It is also affected by the emission distribution function, two-sided vs. one-sided emission, and possibly other factors.

This can indeed be classified as known issue. It's more an area where we can improve things than necessarily a bug. I'm not sure that the conversion math is even that simple, that these are supposed to match with the given units. It is also affected by the emission distribution function, two-sided vs. one-sided emission, and possibly other factors.
Philipp Oeser removed the
Interest
Render & Cycles
label 2023-02-09 14:01:31 +01:00
Member

The strength unit for mesh light is W/sr/m^2, integrated over the area and the hemisphere a factor of πA is expected, see #108505
Can this report be closed? If we want to improve the unit that should be another task I think.

The strength unit for mesh light is W/sr/m^2, integrated over the area and the hemisphere a factor of πA is expected, see https://projects.blender.org/blender/blender/issues/108505 Can this report be closed? If we want to improve the unit that should be another task I think.

Yes, it's more a to do than a known issue or bug.

Yes, it's more a to do than a known issue or bug.
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2024-03-25 15:53:15 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
8 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#72553
No description provided.