Page MenuHome

color picker broken
Closed, ResolvedPublic


System Information
Win7 GTX 550ti

Blender Version
Broken: 2.77a and recent builds

the color picker widget shows a 'posterized' ramp / palette... this has happened from time to time, it works fine after I close and restart blender
guess it has to do with my system and drivers but thought of reporting anyway

not easy to reproduce

Event Timeline

Sergey Sharybin (sergey) lowered the priority of this task from 90 to 30.Aug 16 2016, 2:43 PM

Make sure you've got all updates and latest drivers installed.

If that doesn't help, we really have to know exact steps reproducing the issue, otherwise we can't troubleshoot the issue.

It might help if you'll try reproducing the issue on another computer you've got access to.

I'm experiencing this, too, but I was reliably able to reproduce it.
For me, it happens when I switch viewport rendering to "Material", then to "Rendered", then open up the color picker. Sometimes it will not happen right away, but changing perspective in the 3D view, then opening the color picker again will always result in the bug.

When first setting the viewport mode to "Solid", then to "Rendered", it does not happen.

I made a video to show the effect in action:

I'm on Linux Mint 17.3 MATE (not using compositing), nVidia GTX1070 with proprietary drivers v367.27.
It happens on both builds 2.77.3-bac1279 and 2.77.3-f92a6b8.

Likely it's an issue where the OpenGL state gets set to glShadeModel(GL_FLAT), while the Blender drawing code assumes it's glShadeModel(GL_SMOOTH), it should always be restored to the latter.

I can't spot any place in the Blender drawing code with this issue, and I couldn't reproduce the problem with a default Blender configuration. The Node Wrangler and Cursor control addons do not properly set the state back to GL_SMOOTH though, are you using one of those by any chance?

If I enable the Node Wrangler addon, I get the same artifacts in the color picker after using the Lazy Connect operator. @Greg Zaal (gregzaal), that should be easy to fix by removing both calls to bgl.glShadeModel(), they are unnecessary.

yes, I have the Node Wrangler enabled by default... couldn't reproduce using Thomas instructions, it does show up with Lazy Connect -but I rarely use this exact operator anyway- have Animation Nodes enabled also

I checked the code again and found an issue with subsurf drawing in material draw mode, as in the video by @Thomas Radeke (ThomasR). So with these two cases fixed, hopefully the bug is gone entirely.