Maniphest T98036

RGB Blackbody Node Still Broken After The Fix
Closed, Resolved

Assigned To
Brecht Van Lommel (brecht)
Authored By
Zijun Zhou (Eary)
May 11 2022, 7:39 AM
Tags
  • BF Blender
  • Render & Cycles
Subscribers
Aiden (awils27)
Brecht Van Lommel (brecht)
Philipp Oeser (lichtwerk)
Zijun Zhou (Eary)
Tokens
"Like" token, awarded by sobotka.

Description

System Information
Operating system: Windows-10-10.0.22000-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 3050 Laptop GPU/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.15

Blender Version
Broken: version: 3.3.0 Alpha, branch: master, commit date: 2022-05-10 06:30, hash: rB08a39d32a988
Worked: None

Short description of error
I have reported a bug for RGB blackbody node and the bug report was closed as a duplicate of T68926, then a "fix" was committed: rB029b0df81aa116a3e29f405dc8902834242d5338

But it didn't actually fix the problem. I mentioned it in T68926 but Brecht request me to yet open another bug report.

Here it is.

Exact steps for others to reproduce the error

  1. Open the config.ocio file with any text editor, change the scene_linear role to any other spaces like XYZ and save file (I know using XYZ space as working space for light transport is a bad idea, this is just for testing purpose to make the problem pop. Any space other than Linear BT.709 should be fine to reveal the problem, just not as obvious).

  1. Open Blender and open this .blend file:

  1. Render it and save OpenEXR file. Import it to any software that can show you the imported file's chromaticity diagram, in my case Davinci Resolve:


You see that strange straight line there?

That's the edge of the Rec.709 triangle.

I believe this is due to the incorrect handling of rB029b0df81aa116a3e29f405dc8902834242d5338

Keep the existing Rec.709 fit and convert to other colorspace if needed

This is basically keeping the hardcoded Rec.709 part hardcoded, and add another hardcoded "From Rec.709" transform after it.

I believe the correct way to do it is to use the CIE XYZ for correct chromaticity and convert it to the needed RGB colorspace.

Revisions and Commits

rBL Blender Libraries
rB Blender

Related Objects

Mentioned Here
T68926: Color Management Improvements
rB029b0df81aa1: Fix Cycles blackbody shader not taking into account OpenColorIO config

Event Timeline

Zijun Zhou (Eary) created this task.May 11 2022, 7:39 AM
Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Needs Information from Developers.May 11 2022, 8:39 AM
Philipp Oeser (lichtwerk) added a project: Render & Cycles.
Philipp Oeser (lichtwerk) added subscribers: Brecht Van Lommel (brecht), Philipp Oeser (lichtwerk).

@Brecht Van Lommel (brecht): this seems legit, can you share your thoughts?

Aiden (awils27) added a subscriber: Aiden (awils27).May 23 2022, 9:07 AM

What are your input, and output transforms set to in resolve and what is the timeline color space set to? Having any of these set to sRGB/Rec709 will hard limit the Chromaticity displayed in the scope even if the file itself contains more.

Zijun Zhou (Eary) added a comment.May 23 2022, 4:32 PM

Resolve setting is CIE XYZ since that is what the EXR was encoded in

Brecht Van Lommel (brecht) closed this task as Resolved by committing rBa22ad7fbd391: Fix T98036: Cycles blackbody inaccurate for low temperature and wide gamut.May 23 2022, 10:23 PM
Brecht Van Lommel (brecht) claimed this task.
Brecht Van Lommel (brecht) added a commit: rBa22ad7fbd391: Fix T98036: Cycles blackbody inaccurate for low temperature and wide gamut.
Brecht Van Lommel (brecht) added a commit: rBL62933: Tests: update reference renders for blackbody fixes in Cycles and Eevee.May 23 2022, 10:41 PM
Troy Sobotka (sobotka) awarded a token.May 26 2022, 7:13 PM