Blender 4.0: Cycles - Point lights Viewport shape and size regression #112005

Closed
opened 2023-09-06 08:25:27 +02:00 by David Black · 3 comments

System Information
Linux Mint 21.2 Cinnamon kernel 6.2.0-32
3400G

Broken
blender-4.0.0-alpha+main.b5c89822ac40-linux.x86_64-release.tar.xz

Oldest tested (2023-07-21)
blender-4.0.0-alpha+main.3e88a2f44c41-linux.x86_64-release.tar.xz

Worked
blender-3.6.3-candidate+v36.2fc04eaf4310-linux.x86_64-release.tar.xz

Short description of error:
'Viewport Shading' Cycles 'Rendered' - incorrect Point lights shape in front & side views, plus Orthographic size.

Also recently encountered in a production scene, Point lights now render slightly larger, outside their Viewport bounds (appears to have been reported, so only mentioned here in case relevant).

Possibly connected with previous #108505, #108506 lights improvements, @weizhen and @Alaska possibly able to help? Thank you in advance!

  • Exact steps
  1. Compare following .blend file in both 3.6 and 4.0 using 'Viewport Shading' (Cycles) Rendered.
    Point lights Cycles regression.blend

  2. While Cycles Viewport is rendering, toggle Perspective / Orthographic using 5 on numerical keypad.

Kind regards.

Blender version Perspective Orthographic
Blender 3.6 1 Blender 3.6 - Perspective.jpg 2 Blender 3.6 - Orthographic.jpg
Blender 4.0 3 Blender 4.0 - Perspective.jpg 4 Blender 4.0 - Orthographic.jpg
**System Information** Linux Mint 21.2 Cinnamon kernel 6.2.0-32 3400G **Broken** blender-4.0.0-alpha+main.b5c89822ac40-linux.x86_64-release.tar.xz Oldest tested (2023-07-21) blender-4.0.0-alpha+main.3e88a2f44c41-linux.x86_64-release.tar.xz **Worked** blender-3.6.3-candidate+v36.2fc04eaf4310-linux.x86_64-release.tar.xz **Short description of error:** 'Viewport Shading' Cycles 'Rendered' - incorrect Point lights shape in front & side views, plus Orthographic size. Also recently encountered in a production scene, Point lights now render slightly larger, outside their Viewport bounds (appears to have been reported, so only mentioned here in case relevant). Possibly connected with previous #108505, #108506 lights improvements, @weizhen and @Alaska possibly able to help? Thank you in advance! - Exact steps 1. Compare following .blend file in both 3.6 and 4.0 using 'Viewport Shading' (Cycles) Rendered. [Point lights Cycles regression.blend](/attachments/30a6c8c0-8f38-485b-bf08-877c88efe4e4) 2. While Cycles Viewport is rendering, toggle Perspective / Orthographic using 5 on numerical keypad. Kind regards. |Blender version|Perspective|Orthographic| |-|-|-| |Blender 3.6|![1 Blender 3.6 - Perspective.jpg](/attachments/ca0e9124-2adc-4ff3-afd4-dfbad3eb756d)|![2 Blender 3.6 - Orthographic.jpg](/attachments/4a03f684-16a5-439d-9447-e82771c5d471)| |Blender 4.0|![3 Blender 4.0 - Perspective.jpg](/attachments/49273278-d602-4b2c-b256-481731c1104a)|![4 Blender 4.0 - Orthographic.jpg](/attachments/c3be34b7-7f3a-4ac0-9042-c5160cafab07)|
David Black added the
Type
Report
Priority
Normal
Status
Needs Triage
labels 2023-09-06 08:25:28 +02:00
David Black changed title from Blender 4.0: Cycles - Point lights Viewport regression to Blender 4.0: Cycles - Point lights Viewport shape and size regression 2023-09-06 08:28:15 +02:00
Member

I didn't work on the recent changes to the point lights, but I just wanted to bring up a few points about this.

  • Many of the issues in orthographic view in 4.0 seem to be precision related because as the distance between ray start and the light decreases, the issues start to disappear. It's just way more noticeable for the camera ray in orthographic mode compared to other things (E.G. Seeing a small light in the reflection from an object many hundreds to thousands of meters away). Quick investigations point to it being a precision issue in the ray_sphere_intersect() function when working with long rays. Note: I have attached a video to this comment showing that the issues are somewhat precision related.

Also recently encountered in a production scene, Point lights now render slightly larger, outside their Viewport bounds (appears to have been reported, so only mentioned here in case relevant).

  • I believe this is expected. In Blender 3.6, the point light rendered as a disk orientated towards the ray/camera. The viewport representation is a hollow disk (circle) orientated towards the camera. Due to the point light and the viewport representation being basically the same thing, they match. In Blender 4.0, the point light is now a sphere, while the viewport representation is still a hollow disk. This means that as you get close to the point light, the two will deviate from each other due to perspective distortion (I believe this is the right name?).
I didn't work on the recent changes to the point lights, but I just wanted to bring up a few points about this. - Many of the issues in orthographic view in 4.0 seem to be precision related because as the distance between ray start and the light decreases, the issues start to disappear. It's just way more noticeable for the camera ray in orthographic mode compared to other things (E.G. Seeing a small light in the reflection from an object many hundreds to thousands of meters away). Quick investigations point to it being a precision issue in the `ray_sphere_intersect()` function when working with long rays. Note: I have attached a video to this comment showing that the issues are somewhat precision related. >Also recently encountered in a production scene, Point lights now render slightly larger, outside their Viewport bounds (appears to have been reported, so only mentioned here in case relevant). - I believe this is expected. In Blender 3.6, the point light rendered as a disk orientated towards the ray/camera. The viewport representation is a hollow disk (circle) orientated towards the camera. Due to the point light and the viewport representation being basically the same thing, they match. In Blender 4.0, the point light is now a sphere, while the viewport representation is still a hollow disk. This means that as you get close to the point light, the two will deviate from each other due to perspective distortion (I believe this is the right name?).
Alaska added
Status
Confirmed
Module
Render & Cycles
and removed
Status
Needs Triage
labels 2023-09-06 09:59:08 +02:00
Member

Will still raise prio here to get some more insights from the module (since it is a recent change), can be lowered again if appropriate.

CC @weizhen

Will still raise prio here to get some more insights from the module (since it is a recent change), can be lowered again if appropriate. CC @weizhen
Philipp Oeser added
Priority
High
and removed
Priority
Normal
labels 2023-09-06 13:31:43 +02:00
Weizhen Huang self-assigned this 2023-09-06 15:46:42 +02:00
Blender Bot added
Status
Resolved
and removed
Status
Confirmed
labels 2023-09-06 16:24:11 +02:00
Author

Apologies for a tardy reply.

Thank you @Alaska for your detailed reply and creating a helpful video, much appreciated! Guess next step is for Workbench to switch to a Viewport sphere overlay.

Thanks also @lichtwerk for your input, and bug reports dedication.

Finally, thank you @weizhen for the rapid fix, you truly are a gifted developer!

Kind regards.

Apologies for a tardy reply. Thank you @Alaska for your detailed reply and creating a helpful video, much appreciated! Guess next step is for Workbench to switch to a Viewport sphere overlay. Thanks also @lichtwerk for your input, and bug reports dedication. Finally, thank you @weizhen for the rapid fix, you truly are a gifted developer! Kind regards.
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#112005
No description provided.