Page MenuHome

Texture Paint: Color picker picks up UI and Overlay colors
Closed, ResolvedPublicTO DO

Description

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

Blender Version
Broken: version: 2.90.1, branch: master, commit date: 2020-09-23 06:43, hash: rB3e85bb34d0d7
Worked: never

Short description of error
When picking a color using the color picker / eyedropper (shortcut: S) in Texture Paint mode, be it in the Image Editor or 3D Viewport, the cursor picks up all the colors displayed on the screen instead of just the colors of the texture.

Exact steps for others to reproduce the error

  1. Open new file
  2. Switch to Texture Paint workspace
  3. Create new texture
  4. In the Image Editor or 3D Viewport, hold S and hover over anything that isn't the image.

The cursor picks up the colors of the mesh overlay in the image viewer, it picks up all the UI colors, the colors of the axis grid in the 3D viewport, the navigation widget and more.
As long as "Sample Merged" is off in the picker settings, all it should be picking up are the pixels of the active image texture.
This unexpected, erroneous behavior can be a huge annoyance when wireframe, annotations, or other UI elements get in the way of the cursor, and that happens constantly while painting -- especially regarding the wireframe, because it's a necessity to have it on while painting in the Image Viewer.

I see how this picker behavior can be useful when creating a custom UI theme and picking colors from existing UI elements, but for all other use cases it's just a very unpleasant bug that makes painting needlessly difficult.

Event Timeline

gobb_blend updated the task description. (Show Details)Oct 13 2020, 1:31 PM
Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Oct 13 2020, 2:07 PM
Philipp Oeser (lichtwerk) claimed this task.
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "To Do".

This first tries to get it directly from the mesh texture, and in the 3DView this succeeds for me (whenever the cursor is over the mesh it does not pick up any of the [UI] elements you were mentioning)
Only when outside of the mesh it starts picking these up (reading pixels from the buffer GPU_frontbuffer_read_pixels)
I still think it is useful to have this fallback in the 3DViewport.

For the Image Viewer this can get annoying, yes, think we can improve here if Sample Merged is OFF.

Note this is not a bug, rather a TODO, but I will look into this after bug fixing for 2.91 has ended.

Only when outside of the mesh it starts picking these up (reading pixels from the buffer GPU_frontbuffer_read_pixels)

I'm sorry, no. Simply activate the wireframe overlay in the 3D Viewport to see what I mean. The color of the wireframe is getting picked up by the color picker.
The same goes for all other 3D Viewport overlays such as the Normal Orientation, Cavity, X-Ray etc.
Overlays should be ignored completely by the color picker unless Sample Merged is on.

In my humble artist opinion, they should be ignored even then. As I see it, the purpose of Sample Merged is to pick up the end result of the material output node.

Only when outside of the mesh it starts picking these up (reading pixels from the buffer GPU_frontbuffer_read_pixels)

I'm sorry, no. Simply activate the wireframe overlay in the 3D Viewport to see what I mean. The color of the wireframe is getting picked up by the color picker.
The same goes for all other 3D Viewport overlays such as the Normal Orientation, Cavity, X-Ray etc.
Overlays should be ignored completely by the color picker unless Sample Merged is on.

Cannot reproduce here, this is what I get:

Does it not work for in above file?
What am I doing wrong?

System Information
Operating system: Linux-5.8.4-200.fc32.x86_64-x86_64-with-fedora-32-Thirty_Two 64 Bits
Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 450.66
version: 2.91.0 Alpha, branch: T81670 (modified), commit date: 2020-10-13 13:34, hash: rBae609346ee98, also tested 2.90.1

gobb_blend added a comment.EditedOct 14 2020, 7:55 AM

@Philipp Oeser (lichtwerk)
You're right.
I tested this on everything except the 3D Viewport in the latest 2.91 alpha.
I'm surprised to see they fixed this issue in one of the windows, but not both.
Sorry for the confusion. As you said, what's left to fix now is the Image Editor.

When researching T82093: Can't Sample the correct color from non-color images I came to an easy fix for this TODO. as there were 2 color samplers implemented, it just didn't use the correct one when painting.