As light object numbers increase, the indirect brightness of bright lights is decreased while indirect light clamping enabled - Cycles #97305

Closed
opened 2022-04-13 11:32:24 +02:00 by Alaska · 7 comments
Member

System Information:
Operating system: Linux-5.16.0-6-amd64-x86_64-with-glibc2.33 64 Bits
Graphics card: NVIDIA GeForce RTX 3060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 510.54

Blender Version:
Broken: version: 3.2.0 Alpha, branch: master, commit date: 2022-04-12 21:50, hash: 9bc678969a
Worked: Blender 2.93 and older when using Branched Path Tracing.

Short description of error:
When lights are added to a scene, it ends up changing the indirect brightness of intense lights if indirect light clamping is enabled.

Here is an example scene:
This scene is mostly lit up by indirect light from a a Sun light. I have rendered the scene once, then added 32 lights inside a box where they will have no impact on the scene and rendered the scene again. You will notice in this second render that the scene is much darker. This is due to the indirect light brightness being reduced due to how the indirect light clamping system interacts with this situation of many lights.
If I then change the "Indirect Light Clamp" to 0 (thus disabling it), you will notice that both scenes have the correct brightness.

Sun Light - Indirect Clamp = 10 Sun Light + 32 lamps - Indirect Clamp = 10 - ISSUES Sun Light - Indirect Clamp = 0 Sun Light + 32 lamps - Indirect Clamp = 0
Full Renders {F13000832,width=100%} {F13000839,width=100%} {F13000836,width=100%} {F13000843,width=100%}

Exact steps for others to reproduce the error:

  1. Create a new file and change the render engine to Cycles.
  2. Add a bright light (Nishita Sky World Shader works well by default).
  3. Create a scene that is mostly lit up by Indirect Lighting from this light and place a camera looking at it.
  4. Create a new collection.
  5. In the new collection, add a bunch of lights to the scene (E.G. 32 Point lamps) and adjust their settings and/or position such that they should have little to no impact on the lighting in the scene. (E.G. Leave the light settings as default and place the lights inside a box where they will have no impact on the scene) Note: The brightness of the light must remain above 0 for this to work.
  6. Render the scene with a high sample count (Turning adaptive sampling off will avoid some issues and decreasing the render resolution will result in faster renders.)
  7. Switch to a different render slot in the image viewer. Disable the collection with the lights in it, and render the image again. Compare the results. Notice how they have very different brightnesses.
  8. Change the Indirect Light Clamp to 0 (turning indirect clamping off) and repeat steps 6 and 7. Notice that the renders don't look different now (with the exception of noise levels).

Here is a file with steps 1-5 done for you:
#97305 - Light Clamping + many lights leads to loss of brightness.blend

**System Information:** Operating system: Linux-5.16.0-6-amd64-x86_64-with-glibc2.33 64 Bits Graphics card: NVIDIA GeForce RTX 3060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 510.54 **Blender Version:** Broken: version: 3.2.0 Alpha, branch: master, commit date: 2022-04-12 21:50, hash: `9bc678969a` Worked: Blender 2.93 and older **when using Branched Path Tracing**. **Short description of error:** When lights are added to a scene, it ends up changing the indirect brightness of intense lights if indirect light clamping is enabled. Here is an example scene: This scene is mostly lit up by indirect light from a a Sun light. I have rendered the scene once, then added 32 lights inside a box where they will have no impact on the scene and rendered the scene again. You will notice in this second render that the scene is much darker. This is due to the indirect light brightness being reduced due to how the indirect light clamping system interacts with this situation of many lights. If I then change the "Indirect Light Clamp" to 0 (thus disabling it), you will notice that both scenes have the correct brightness. ||Sun Light - Indirect Clamp = 10|Sun Light + 32 lamps - Indirect Clamp = 10 - **ISSUES**|Sun Light - Indirect Clamp = 0|Sun Light + 32 lamps - Indirect Clamp = 0| | -- | -- | -- | -- | -- | |Full Renders|{[F13000832](https://archive.blender.org/developer/F13000832/Sun_Light_-_Indirect___10.jpg),width=100%}|{[F13000839](https://archive.blender.org/developer/F13000839/Sun_Light__32_Lights_-_Indirect___10.jpg),width=100%}|{[F13000836](https://archive.blender.org/developer/F13000836/Sun_Light_-_Indirect___0.jpg),width=100%}|{[F13000843](https://archive.blender.org/developer/F13000843/Sun_Light__32_Lights_-_Indirect___0.jpg),width=100%}| **Exact steps for others to reproduce the error:** 1. Create a new file and change the render engine to Cycles. 2. Add a bright light (Nishita Sky World Shader works well by default). 3. Create a scene that is mostly lit up by **Indirect** Lighting from this light and place a camera looking at it. 4. Create a new collection. 5. In the new collection, add a bunch of lights to the scene (E.G. 32 Point lamps) and adjust their settings and/or position such that they should have little to no impact on the lighting in the scene. (E.G. Leave the light settings as default and place the lights inside a box where they will have no impact on the scene) Note: The brightness of the light must remain above 0 for this to work. 6. Render the scene with a high sample count (Turning adaptive sampling off will avoid some issues and decreasing the render resolution will result in faster renders.) 7. Switch to a different render slot in the image viewer. Disable the collection with the lights in it, and render the image again. Compare the results. Notice how they have very different brightnesses. 8. Change the `Indirect Light Clamp` to 0 (turning indirect clamping off) and repeat steps 6 and 7. Notice that the renders don't look different now (with the exception of noise levels). Here is a file with steps 1-5 done for you: [#97305 - Light Clamping + many lights leads to loss of brightness.blend](https://archive.blender.org/developer/F13000842/T97305_-_Light_Clamping___many_lights_leads_to_loss_of_brightness.blend)
Author
Member

Added subscriber: @Alaska

Added subscriber: @Alaska

#73328 was marked as duplicate of this issue

#73328 was marked as duplicate of this issue
Alaska changed title from Lights in a scene lead to incorrect brightnesses for World Shaders and Sun Lights when Indirect Clamping is enabled - Cycles to Adding lights in a scene lead to decreased brightness for World Shaders and Sun Lights when Indirect Clamping is enabled - Cycles 2022-04-14 02:49:29 +02:00

Added subscriber: @brecht

Added subscriber: @brecht

Changed status from 'Needs Triage' to: 'Archived'

Changed status from 'Needs Triage' to: 'Archived'

This is how clamping works. If you add more lights the samples will be noisier, which means more light will be clamped out.

Ideally the sampling would be smarter so more lights don't add noise, but it's not a bug.

This is how clamping works. If you add more lights the samples will be noisier, which means more light will be clamped out. Ideally the sampling would be smarter so more lights don't add noise, but it's not a bug.
Alaska changed title from Adding lights in a scene lead to decreased brightness for World Shaders and Sun Lights when Indirect Clamping is enabled - Cycles to As lights objects increase, the indirect brightness of bright lights is decreased with indirect light clamping enabled. - Cycles 2022-04-14 07:10:05 +02:00
Alaska changed title from As lights objects increase, the indirect brightness of bright lights is decreased with indirect light clamping enabled. - Cycles to As light object numbers increase, the indirect brightness of bright lights is decreased while indirect light clamping enabled - Cycles 2022-04-14 07:12:22 +02:00
Author
Member

The report was updated to be a bit more clear. This is simply for people who discover this report during searches or need to reference it in future reports about similar issues.

The report was updated to be a bit more clear. This is simply for people who discover this report during searches or need to reference it in future reports about similar issues.
Author
Member

Added subscribers: @cubimation, @EAW, @mano-wii, @MarcinTwarowski

Added subscribers: @cubimation, @EAW, @mano-wii, @MarcinTwarowski
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
3 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#97305
No description provided.