Maniphest T96990

MNEE caustics with Multiscatter GGX materials are inconsistent.
Closed, Resolved

Assigned To
Brecht Van Lommel (brecht)
Authored By
Alaska (Alaska)
Apr 3 2022, 12:10 AM
Tags
  • BF Blender
  • Render & Cycles
  • Cycles
Subscribers
Alaska (Alaska)
Olivier Maury (omaury)
Philipp Oeser (lichtwerk)

Description

System Information
Operating system: Linux-5.16.0-5-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-02 21:17, hash: rB4537eb0c3b16
Worked: Never. This feature was introduced very recently.

Short description of error
MNEE caustic behavior with Multiscatter GGX is inconsistent between different materials.

According to D13533: Adding Manifold Next Event Estimation Sampling Technique the MNEE caustics introduced in rB1fb0247497b2 have limited compatibility:

Compatibility: Only the GGX and Beckmann microfacet distribution-based refraction bsdfs are compatible with MNEE currently (e.g. PrincipledBsdf, GlassBsdf).

As such it would be expected that Multiscatter GGX materials would not produce caustics using MNEE. However, they do when the roughness is set to 0, but only on the Principled BSDF. The Glass BSDF does not produce caustics when using Multiscatter GGX, even when set to 0.

This behavior (some materials producing caustics at roughness 0 while others don't) is inconsistent and probably isn't intended. Hence why I am reporting it.

Caustics visible on Multiscatter GGX Principled BSDFCaustics not visible on Multiscatter GGX Glass BSDF

Exact steps for others to reproduce the error

  1. Change the render engine to Cycles.
  2. Setup the scene for MNEE caustics. (Set a Caustic caster, caustic receiver, and caustic shadow light)
  3. Give the caustic caster a Principled BSDF, increase the transmission, set the roughness to 0, and change the microfacet distribution to Multiscatter GGX. Notice that the caustic caster is casting caustics.
  4. Change the material of the caustic caster to a Glass BSDF, set the roughness to 0, and change the microfacet distribution to Multiscatter GGX. Notice the lack of caustics/the inconsistent behaviour between the two materials.

Here is a file with steps 1-3 done for you.

Revisions and Commits

rB Blender
D14623

Event Timeline

Alaska (Alaska) created this task.Apr 3 2022, 12:10 AM
Alaska (Alaska) added a subscriber: Olivier Maury (omaury).

CC @Olivier Maury (omaury) are you willing to take a look at this?

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Apr 4 2022, 3:08 PM
Philipp Oeser (lichtwerk) added projects: Render & Cycles, Cycles.
Philipp Oeser (lichtwerk) added a subscriber: Philipp Oeser (lichtwerk).

Can confirm.

Olivier Maury (omaury) added a comment.Apr 5 2022, 12:09 AM
In T96990#1334171, @Alaska (Alaska) wrote:

CC @Olivier Maury (omaury) are you willing to take a look at this?

Yes.

Philipp Oeser (lichtwerk) triaged this task as High priority.Apr 14 2022, 11:14 AM

Following the policy of "bug in new feature = high prio", will raise priority

Olivier Maury (omaury) added a comment.Apr 22 2022, 7:53 AM

I should have addressed this issue in D14623.

Brecht Van Lommel (brecht) closed this task as Resolved by committing rB58be9708bfa0: Cycles: removed UV requirement for MNEE, along with fixes and cleanups.Apr 22 2022, 6:46 PM
Brecht Van Lommel (brecht) claimed this task.
Brecht Van Lommel (brecht) added a commit: rB58be9708bfa0: Cycles: removed UV requirement for MNEE, along with fixes and cleanups.