Adaptive sampling breaks value Shader AOV's #74572

Closed
opened 2020-03-09 12:21:03 +01:00 by J-P Busse · 24 comments

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1060 3GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 442.19

Blender Version
Broken: version: 2.83 (sub 6), branch: master, commit date: 2020-03-06 22:46, hash: dcdcc23488
Worked: (optional)

Short description of error
Value shader AOV's are broken after enabling adaptive sampling.
The Images are showing a simple noise texture plugged into the Value slot of an AOV output.

Expected result (no adaptive sampling):
No_AS.jpg

Adaptive Sampling GPU only:
AS_GPU.jpg

Adaptive Sampling CPU only:
AS_CPU.jpg

Adaptive Sampling CPU+GPU:
AS_CPU+GPU.jpg

Using a realy low adaptive threshold fixes the problem but it basically eliminates the purpose of AS.

Plugging the texture into the Color slot and setting the AOV also to color fixes the Problem.

Exact steps for others to reproduce the error

  • create a noise texture node in the Material of the default cube

  • plug it into a AOV output node as a Value

  • create a new Shader AOV pass referencing the AOV node and setting it to value

  • enable Adaptive sampling

  • render: the AOV pass is broken

  • plug the texture into the color slot and set the AOV pass to color

  • render: the resulting pass is as expected

  • disableing adaptive sampling also fixes the problem

Adaptive_Sampling.blend

**System Information** Operating system: Windows-10-10.0.18362-SP0 64 Bits Graphics card: GeForce GTX 1060 3GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 442.19 **Blender Version** Broken: version: 2.83 (sub 6), branch: master, commit date: 2020-03-06 22:46, hash: `dcdcc23488` Worked: (optional) **Short description of error** Value shader AOV's are broken after enabling adaptive sampling. The Images are showing a simple noise texture plugged into the Value slot of an AOV output. Expected result (no adaptive sampling): ![No_AS.jpg](https://archive.blender.org/developer/F8397173/No_AS.jpg) Adaptive Sampling GPU only: ![AS_GPU.jpg](https://archive.blender.org/developer/F8397177/AS_GPU.jpg) Adaptive Sampling CPU only: ![AS_CPU.jpg](https://archive.blender.org/developer/F8397179/AS_CPU.jpg) Adaptive Sampling CPU+GPU: ![AS_CPU+GPU.jpg](https://archive.blender.org/developer/F8397182/AS_CPU_GPU.jpg) Using a realy low adaptive threshold fixes the problem but it basically eliminates the purpose of AS. Plugging the texture into the Color slot and setting the AOV also to color fixes the Problem. **Exact steps for others to reproduce the error** - create a noise texture node in the Material of the default cube - plug it into a AOV output node as a Value - create a new Shader AOV pass referencing the AOV node and setting it to value - enable Adaptive sampling - render: the AOV pass is broken - plug the texture into the color slot and set the AOV pass to color - render: the resulting pass is as expected - disableing adaptive sampling also fixes the problem [Adaptive_Sampling.blend](https://archive.blender.org/developer/F8397215/Adaptive_Sampling.blend)
Author

Added subscriber: @Jan-PhilipBusse

Added subscriber: @Jan-PhilipBusse
J-P Busse changed title from Adaptive sampling breaks Shader AOV to Adaptive sampling breaks value Shader AOV's 2020-03-09 12:21:43 +01:00

Added subscriber: @Stefan_Werner

Added subscriber: @Stefan_Werner
Author

I just noticed that the AOV pass gets somehow the sample count pass as an Alpha chanel which makes the AOV pass basically unusable for compositing, I don't realy know whats going on here. Just view the AOV pass as Color and alpha or with a viewer node in the compositor. I had no luck recovering the pass so far.

By the way CPU+GPU rendering seems to be broken with adaptive sampling.
This is the Sample Count pass:
Debug_Sample_Count.jpg

I just noticed that the AOV pass gets somehow the sample count pass as an Alpha chanel which makes the AOV pass basically unusable for compositing, I don't realy know whats going on here. Just view the AOV pass as Color and alpha or with a viewer node in the compositor. I had no luck recovering the pass so far. By the way CPU+GPU rendering seems to be broken with adaptive sampling. This is the Sample Count pass: ![Debug_Sample_Count.jpg](https://archive.blender.org/developer/F8397479/Debug_Sample_Count.jpg)
Member

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

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

Added subscriber: @KonstantinsVisnevskis

Added subscriber: @KonstantinsVisnevskis

In my case Adaptive Sampling adds noisy dilatated (3x3px) shading mixed into AOV (both color and value).
Expected solid white mask:
mask0022-e.jpg

In my case Adaptive Sampling adds noisy dilatated (3x3px) shading mixed into AOV (both color and value). Expected solid white mask: ![mask0022-e.jpg](https://archive.blender.org/developer/F8417970/mask0022-e.jpg)

Added subscriber: @Hell2o

Added subscriber: @Hell2o

It looks like the issue is that AOV Values aren't being normalised to the actual sample count but to the max samples. a workaround is to divide the AOV value by the debug sample count value in the compositor (see attached files)

AOV Test.blend
AOV Test workaround.blend

It looks like the issue is that AOV Values aren't being normalised to the actual sample count but to the max samples. a workaround is to divide the AOV value by the debug sample count value in the compositor (see attached files) [AOV Test.blend](https://archive.blender.org/developer/F8436924/AOV_Test.blend) [AOV Test workaround.blend](https://archive.blender.org/developer/F8436923/AOV_Test_workaround.blend)

This issue was referenced by blender/cycles@00ef44b46e

This issue was referenced by blender/cycles@00ef44b46ebb66cae67eeb8dcd7ba804e450d688

This issue was referenced by 82a8da0ec3

This issue was referenced by 82a8da0ec38a70efde4a91957824c67d0e60b8ad

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Brecht Van Lommel self-assigned this 2020-04-03 13:15:58 +02:00

This issue was referenced by blender/cycles@c6742cdd1f

This issue was referenced by blender/cycles@c6742cdd1f97f44bf897340711aa11e57ec24279

This issue was referenced by 10f0e003a9

This issue was referenced by 10f0e003a95a9d28be162605d7985c4d4620f6c0

This issue was referenced by blender/cycles@0c170f7dae

This issue was referenced by blender/cycles@0c170f7daebf6a5168511ec16dbc763416f61423

This issue was referenced by e05552f7c4

This issue was referenced by e05552f7c4ac27faa510048e8c010e4323acb569
Author

Sry to say it but now an Value AOV breaks even the combined pass:

untitled.png

Build hash: 10f0e003a9
The Szene is the same as the Step by Step guide in the initial post with factory settings.

Strangly: If I set the Tile size to 16px or 32px, the GPU renders fine, if I set it higher to 64px, the result is the same as with CPU rendering.

Sry to say it but now an Value AOV breaks even the combined pass: ![untitled.png](https://archive.blender.org/developer/F8454184/untitled.png) Build hash: 10f0e003a95a The Szene is the same as the Step by Step guide in the initial post with factory settings. Strangly: If I set the Tile size to 16px or 32px, the GPU renders fine, if I set it higher to 64px, the result is the same as with CPU rendering.

Are you entirely certain you tested 10f0e003a9 and not a revision right before that? Since this looks like the problem caused by the commit I reverted.

Or maybe there was some refresh issue on the buildbot, and the very latest build helps.
https://builder.blender.org/download/

I can't reproduce this problem in any case.

Are you entirely certain you tested 10f0e003a95a and not a revision right before that? Since this looks like the problem caused by the commit I reverted. Or maybe there was some refresh issue on the buildbot, and the very latest build helps. https://builder.blender.org/download/ I can't reproduce this problem in any case.
Author

Yes I'm sure, I also tested the latest build 53981c7fb6 with the same result.

exact steps:

  1. load system defaults and switch to cycles
  2. go to the shading tab
  3. add a noise texture
  4. plug the fac into the value of an output aov
  5. name the AOV "AOV"
  6. enable adaptive sampling
  7. add a AOV layer and set it to value (its default name is AOV)
  8. render

system-info.txt

I also tested on two different mashines, one Intel i7 7700K and one Ryzen 2700x, both with Nvidia cards. Maybe the system-info helps?

Yes I'm sure, I also tested the latest build 53981c7fb6fd with the same result. exact steps: 1. load system defaults and switch to cycles 2. go to the shading tab 3. add a noise texture 4. plug the fac into the value of an output aov 5. name the AOV "AOV" 6. enable adaptive sampling 7. add a AOV layer and set it to value (its default name is AOV) 8. render [system-info.txt](https://archive.blender.org/developer/F8455348/system-info.txt) I also tested on two different mashines, one Intel i7 7700K and one Ryzen 2700x, both with Nvidia cards. Maybe the system-info helps?
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Resolved' to: 'Confirmed'

Changed status from 'Resolved' to: 'Confirmed'
Member

I'd say I can confirm what @Jan-PhilipBusse says (in a3c1605581)

#74572.blend

@brecht: mind checking again?

I'd say I can confirm what @Jan-PhilipBusse says (in a3c1605581) [#74572.blend](https://archive.blender.org/developer/F8456505/T74572.blend) @brecht: mind checking again?

This issue was referenced by blender/cycles@bacc90ff57

This issue was referenced by blender/cycles@bacc90ff57dcc92a8ad946a1b540f6ec6e06e30d

This issue was referenced by 91d7f5d246

This issue was referenced by 91d7f5d2463495f20f1e3a985241a2672961ad3f

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
6 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#74572
No description provided.