Cycles: With PMJ black pixels appear in the "Monster" scene while rendering ground truth #92575

Closed
opened 2021-10-28 16:22:10 +02:00 by Raimund Klink · 11 comments
Contributor

System Information
Operating system: Windows-10-10.0.19043-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 496.13

Blender Version
Broken: version: 3.0.0 Beta, branch: master, commit date: 2021-10-27 22:07, hash: b838eaf2b9
Worked: 2.93

Short description of error
I wanted to create a "ground truth" frame (131072 samples) for @leesonw . One with Sobol and one with PMJ. After rendering I noticed two black pixels on the left arm/pyjama in the PMJ render.

PMJ:
PMJ.png
SOBOL:
SOBOL.png

Exact steps for others to reproduce the error

  1. Open the "Monster" scene
  2. Set 131072 samples
  3. Create a Render Region around the left arm. (Only to reduce the rendertime)
  4. Hit F12
    The black pixel on the arm will appear after sample 83027. The (almost) black pixel on the pyjama will appear after sample 106308. (At least in my tests)

83027 Samples= Everything is fine and expected
83028 Samples= The black Pixel appears

I boiled the "Monster" scene down as far as possible:
2021-10-28 16_05_03-Blender Render.png

![2021-10-28 16_04_43-Blender C__Users_raimund.klink_Downloads_monster_under_the_bed_sss_demo_by_meti.png
monster_under_the_bed_sss_demo_by_metin_seven.blend
blender_system_info.txt

blender_debug_output.txt

**System Information** Operating system: Windows-10-10.0.19043-SP0 64 Bits Graphics card: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 496.13 **Blender Version** Broken: version: 3.0.0 Beta, branch: master, commit date: 2021-10-27 22:07, hash: `b838eaf2b9` Worked: 2.93 **Short description of error** I wanted to create a "ground truth" frame (131072 samples) for @leesonw . One with Sobol and one with PMJ. After rendering I noticed two black pixels on the left arm/pyjama in the PMJ render. PMJ: ![PMJ.png](https://archive.blender.org/developer/F11572631/PMJ.png) SOBOL: ![SOBOL.png](https://archive.blender.org/developer/F11572632/SOBOL.png) **Exact steps for others to reproduce the error** 1. Open the "Monster" scene 2. Set 131072 samples 3. Create a Render Region around the left arm. (Only to reduce the rendertime) 4. Hit F12 **The black pixel on the arm will appear after sample 83027. The (almost) black pixel on the pyjama will appear after sample 106308. (At least in my tests)** 83027 Samples= Everything is fine and expected 83028 Samples= The black Pixel appears I boiled the "Monster" scene down as far as possible: ![2021-10-28 16_05_03-Blender Render.png](https://archive.blender.org/developer/F11572727/2021-10-28_16_05_03-Blender_Render.png) ![2021-10-28 16_04_43-Blender [C__Users_raimund.klink_Downloads_monster_under_the_bed_sss_demo_by_meti.png](https://archive.blender.org/developer/F11572728/2021-10-28_16_04_43-Blender__C__Users_raimund.klink_Downloads_monster_under_the_bed_sss_demo_by_meti.png) [monster_under_the_bed_sss_demo_by_metin_seven.blend](https://archive.blender.org/developer/F11572654/monster_under_the_bed_sss_demo_by_metin_seven.blend) [blender_system_info.txt](https://archive.blender.org/developer/F11572788/blender_system_info.txt) [blender_debug_output.txt](https://archive.blender.org/developer/F11572789/blender_debug_output.txt)
Author
Contributor

Added subscribers: @leesonw, @Raimund58

Added subscribers: @leesonw, @Raimund58
Member

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

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

Added subscriber: @SteffenD

Added subscriber: @SteffenD

Added subscriber: @brecht

Added subscriber: @brecht

Marking as high priority since it's a regression that would be good to fix for 3.0.

Marking as high priority since it's a regression that would be good to fix for 3.0.
William Leeson self-assigned this 2021-10-29 13:42:00 +02:00
Author
Contributor

Another observation, I can clamp direct light to make the black pixel disappear.

Another observation, I can clamp direct light to make the black pixel disappear.
Author
Contributor

Could it just be a strange firefly?

Could it just be a strange firefly?
Member

It does not appear to be the sampler as the samples it generates from 83027 to 83030 seem fine. The sample values look like something like this. Also
2584336490 83027 0 [0.184495 0.140538]
2584336490 17491 12 [0.056014 0.830138]
2584336490 17491 14 [0.815642]
2584336490 17491 10 [0.515836 0.843352]
2584336490 17491 20 [0.902904 0.286632]
2584336490 17491 22 [0.263759]
2584336490 17491 18 [0.199180 0.378282]
2584336490 17491 31 [0.056624]
2584336490 17491 28 [0.664135 0.338765]
2584336490 17491 26 [0.994488 0.433822]

However, I did notice that the sample number seems changed with the dimension which is wrong. For instance for dimension 0 it is 83027 but for dimension 12 it then becomes 17491 which seems odd. I have tracked this down to the path_state_init_integrator function. Then looking at this value it seems struct member is a uint16_t for the sample count. This is a 16 bit value who max is 65535 so the value is getting truncated.

It does not appear to be the sampler as the samples it generates from 83027 to 83030 seem fine. The sample values look like something like this. Also 2584336490 83027 0 [0.184495 0.140538] 2584336490 17491 12 [0.056014 0.830138] 2584336490 17491 14 [0.815642] 2584336490 17491 10 [0.515836 0.843352] 2584336490 17491 20 [0.902904 0.286632] 2584336490 17491 22 [0.263759] 2584336490 17491 18 [0.199180 0.378282] 2584336490 17491 31 [0.056624] 2584336490 17491 28 [0.664135 0.338765] 2584336490 17491 26 [0.994488 0.433822] However, I did notice that the sample number seems changed with the dimension which is wrong. For instance for dimension 0 it is 83027 but for dimension 12 it then becomes 17491 which seems odd. I have tracked this down to the path_state_init_integrator function. Then looking at this value it seems struct member is a uint16_t for the sample count. This is a 16 bit value who max is 65535 so the value is getting truncated.

This issue was referenced by blender/cycles@a48670ae14

This issue was referenced by blender/cycles@a48670ae1448d9415b1028f91cb14e1f862d3eee

This issue was referenced by 0b060905d9

This issue was referenced by 0b060905d98cf4b266e73d9be5471dc0b3e71ecc

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
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
5 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#92575
No description provided.