Shader Editor and Vertex Paint Color pickers give different Hex values #114040

Closed
opened 2023-10-22 19:56:20 +02:00 by Apraxas · 3 comments

System Information
Operating system: Windows-10-10.0.22621-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1650/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 536.99

Blender Version
Broken: version: 3.6.4, branch: blender-v3.6-release, commit date: 2023-09-25 13:24, hash: 21bfc5e7fe3f
Worked: Dunno

Short description of error

For some reason, the color pickers are different depending on whether you are inside the shader editor or not, and even give out different Hex values.
image

I have read that the color picker was intentionally changed to behave like this... but shouldn't the behavior be consistent across the program?

This is causing issues while trying to use vertex colors to drive shader factors, as the values are not mapping properly.
(In this case, I had to go out of my way and copy the hex values from the shader editor picker and then paint, as just painting using the vertex paint tools wasn't working.)

image

(Note, I am using a custom mixer node that sets each color depending on the factor that goes from 0 to 4, hence the map range node.)

**System Information** Operating system: Windows-10-10.0.22621-SP0 64 Bits Graphics card: NVIDIA GeForce GTX 1650/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 536.99 **Blender Version** Broken: version: 3.6.4, branch: blender-v3.6-release, commit date: 2023-09-25 13:24, hash: `21bfc5e7fe3f` Worked: Dunno **Short description of error** For some reason, the color pickers are different depending on whether you are inside the shader editor or not, and even give out different Hex values. ![image](/attachments/dd469c88-c395-4f90-a9cf-2d5db483f25d) I have read that the color picker was intentionally changed to behave like this... but shouldn't the behavior be consistent across the program? This is causing issues while trying to use vertex colors to drive shader factors, as the values are not mapping properly. (In this case, I had to go out of my way and copy the hex values from the shader editor picker and then paint, as just painting using the vertex paint tools wasn't working.) ![image](/attachments/dc776c80-62e1-46c7-8c48-f7c9491b4aec) (Note, I am using a custom mixer node that sets each color depending on the factor that goes from 0 to 4, hence the map range node.)
657 KiB
602 KiB
Apraxas added the
Priority
Normal
Type
Report
Status
Needs Triage
labels 2023-10-22 19:56:21 +02:00
Member

Hi, thanks for the report. I'm not able to redo this.

I have read that the color picker was intentionally changed to behave like this

Could you share the source of that?

Does this happen with factory settings: File > Defaults > Load Factory Settings

Hi, thanks for the report. I'm not able to redo this. > I have read that the color picker was intentionally changed to behave like this Could you share the source of that? Does this happen with factory settings: `File > Defaults > Load Factory Settings`
Pratik Borhade added
Status
Needs Information from User
and removed
Status
Needs Triage
labels 2023-10-23 05:40:45 +02:00
Author

Hello there!

Does this happen with factory settings: File > Defaults > Load Factory Settings

Yeah, at least in the latest stable version, loading default settings did not help.

Could you share the source of that?

blender/blender-manual#95657

From what I gather, there have been various reports about the color picker being odd or inconsistent for a few years now, and it appears it was changed to be gamma corrected by default?
Recording 2023-10-23 132156

A 0.5 gray value should map to hex #808080, but gamma corrected it gives #BCBCBC.

A work around I found to have the shaders properly read vertex color info is to gamma correct the colors with the formula (Col)^(1/2.2),
but it is still super weird that the color pickers work differently depending on where you are, and without a visual cue either to inform the user the colors are being managed differently.

Shouldn't Blender at least allow the user to choose which kind of color picker to use, gamma corrected or not? (With a checkmark or something?)

A point of concern is asset importing/exporting, however.

1- What when importing an asset with vcols into blender from another software? Are users expected to know that they have to gamma correct the colors if they want to drive the shaders correctly?

2- What if I make an asset in blender and want to export it? What I see in blender is not what I'd get in other software unless I knew of this quirk.

In short: simply making the color picker the same as in shader space everywhere—without giving the user the option to change it—would be a bit risky, as many game engines do not read shader info the same as blender.

Hello there! > Does this happen with factory settings: File > Defaults > Load Factory Settings Yeah, at least in the latest stable version, loading default settings did not help. > Could you share the source of that? https://projects.blender.org/blender/blender-manual/issues/95657 From what I gather, there have been various reports about the color picker being odd or inconsistent for a few years now, and it appears it was changed to be gamma corrected by default? ![Recording 2023-10-23 132156](/attachments/db0ba269-e057-4958-8757-6e695fd80332) A 0.5 gray value should map to hex #808080, but gamma corrected it gives #BCBCBC. A work around I found to have the shaders properly read vertex color info is to gamma correct the colors with the formula (Col)^(1/2.2), but it is still super weird that the color pickers work differently depending on where you are, and without a visual cue either to inform the user the colors are being managed differently. Shouldn't Blender at least allow the user to choose which kind of color picker to use, gamma corrected or not? (With a checkmark or something?) A point of concern is asset importing/exporting, however. 1- What when importing an asset with vcols into blender from another software? Are users expected to know that they have to gamma correct the colors if they want to drive the shaders correctly? 2- What if I make an asset in blender and want to export it? What I see in blender is not what I'd get in other software unless I knew of this quirk. In short: simply making the color picker the same as in shader space everywhere—without giving the user the option to change it—would be a bit risky, as many game engines do not read shader info the same as blender.
Pratik Borhade added
Status
Needs Triage
and removed
Status
Needs Information from User
labels 2023-10-23 11:07:40 +02:00

This is also something that confuses me. In some places the color values are gamma corrected and others are not. The Hex values however (as mentioned in the UI itself) are always "gamma corrected", so if you want to input colors in sRGB color space (values with "gamma correction" applied) then you need to use the Hex input.

This has already been reported other times. See #100469 for example.
There Brecht commented:

The Brush color is an exception that should be fixed and become scene linear too. The task for that is #72424 ([WIP] Design: Painting Color Management).

The description from f193b1afb3 applies to scene linear colors, which the Brush color is not currently.

Therefore this issue is already known and is being addressed in #72424

For more information about this topic I would suggest consult https://docs.blender.org/manual/en/dev/interface/controls/templates/color_picker.html

This is also something that confuses me. In some places the color values are gamma corrected and others are not. The Hex values however (as mentioned in the UI itself) are always "gamma corrected", so if you want to input colors in sRGB color space (values with "gamma correction" applied) then you need to use the _Hex_ input. This has already been reported other times. See #100469 for example. There Brecht commented: > The Brush color is an exception that should be fixed and become scene linear too. The task for that is #72424 ([WIP] Design: Painting Color Management). > > The description from f193b1afb3 applies to scene linear colors, which the Brush color is not currently. Therefore this issue is already known and is being addressed in #72424 For more information about this topic I would suggest consult https://docs.blender.org/manual/en/dev/interface/controls/templates/color_picker.html
Blender Bot added
Status
Archived
and removed
Status
Needs Triage
labels 2023-10-23 23:45:26 +02:00
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#114040
No description provided.