Is there a way around the default color picker (RGB, HSL etc.) with a list of colors aka a color palette with predefined colors - like Pantone in the desktop publishing field or RAL in the industrial designing field?

Say you would realize a more or less photo realistic exhibition stand from CAD files in blender, then you normally are bound to a limited list of RAL colors (or other - more international - color systems) for finish paintings on custom made furnitures and accessories like lamps, product displays and machine housings using complex shaders or in simple cases with a PxrDiffuse shader for wall paints with a RAL color.

Currently I'm evaluating a way through the renderman pipeline and clicking on any color field in the UI of the renderman shader nodes just brings up the default color widget.

What I'm doing now, is select the HEX panel on the color widget, then switch to an text file with a list of RAL colors in HEX format (which is also a little bit inaccurate, depending on the byte range of rgb values), select and copy the needed color to the clipbaord, switch back to blender and paste the corresponding color in the widget field. Doing this a lot in a day is a little bit boring and I'm wondering if there's a simpler way. (As a side note, blender says, that the HEX value is "gamma corrected" and as far as I know, isn't it better using deep colors with floats in such a high dynamic pipeline like renderman? But that seems like an other question.)

A quick research only pops up some add-ons with color palettes for painting modes in the 3D view or something similar.

Any hint is really welcome.

Thanks, Timm

Ps: this renderman thingy in blender is an awesome piece of work!

  • 2
    $\begingroup$ I think this problem should be solved in another way. You shouldn't try to substitute Blender's color picker; you should find a way to represent color inside of Blender in desired color space (in your case RAL) so to make color picker to show actual RAL color. And I'm not aware neither if this was implemented nor any ways to do that. $\endgroup$
    – Mr Zak
    Oct 21, 2016 at 10:38

1 Answer 1


Palettes are a rather nightmarish landscape because frankly, most folks don't understand what an encoded value represents.

That is, in software, an RGB triplet is an encoded representation of exactly two facets, both of which must be communicated via ancillary metadata beyond the three values themselves:

  1. A value representing some degree of visual energy according to some typically unnamed and arbitrary scale. “What visual energy curve is applied to these values?”
  2. Referencing typically unnamed and arbitrary coloured lights. “What colour of light do the three channels reference?”

That is, given an RGB triplet alone, you are missing the aforementioned two critical bits of metadata to decode an RGB triplet into meaningful data. Further, to close the loop, you would need the metadata of your existing context.

As you may have guessed, many palette formats store the arbitrary series of three values as their format, making the erroneous conclusion that such values have any meaning at all.

So the idea of a palette of swatches that has some meaning when used with some other arbitrary list of values is sadly delusional; in order to achieve this you must have an iron fisted controlled colour managed pipeline.

Pantone too suffers from this. Pantone is useful in so far that it references a series of spot printing inks. But how to communicate how a particular Pantone ink appears on a given paper under a given illuminant? A proper colour managed pipeline can accommodate this, but a random triplet of RGB values from some table or horrible website is woefully inadequate. It is a fool's errand and those that frequently seek such solutions by meticulously copying and pasting those RGB encoded values eventually wake up from the chemically induced haze and realize the complexity of any such endeavour.

In the end, there are tremendously complex transforms from a display referred subtractive system such as Pantone to a scene referred additive system such as the reference space that Cycles uses. Could you foreseeable bridge the two? Plausibly, but it would require quite a grasp on colour management and an application thereof.

TL;DR: Find precise chromaticity values for any given series of swatches in xyY and identify the illuminant / white point for the values. Transform the values to your working reference space, whatever it happens to be within your renderer. In Cycles default for example, this is assumed to be REC.709 lights with a D65 white point. Another option is to use an “All in one” RGB image (such as those used for 3D LUT generation), transform it carefully from the colourspace required to the destination, and then sample from that image.

  • $\begingroup$ Your answer is very interesting thanks! I would love if it contained some reference images/online references to back up what you say, or allow readers to expand their knowledge of this particular point on online articles. $\endgroup$ Oct 21, 2016 at 16:36
  • $\begingroup$ Glad you found it useful. It is challenging as frequently tools and software only go as far as the culture takes it. In this case, colour is very simple at the lower levels, but compounds in complexity as you multiply those layers of simplicity. I find answering individual questions far superior to linking articles. I have included more than a few references in other answers, such as blender.stackexchange.com/questions/46825/…. $\endgroup$
    – troy_s
    Oct 21, 2016 at 17:33
  • $\begingroup$ Wow, I'm back from a mission and learned a little bit more about colors and color spaces - only to find out that there is more in your last comment. I just want to say thank you, that is really a lot of good and vibrant information. I was always wondering how they create such brilliant pictures. I slowly get answers, but deep ones! Thank you. $\endgroup$
    – Adminradio
    Oct 26, 2016 at 17:42
  • $\begingroup$ @Adminradio Feel free to drop by chat.stackexchange.com/rooms/34814/the-rabbit-hole if you have questions. There are quite a few great folks that might be able to help there. $\endgroup$
    – troy_s
    Oct 26, 2016 at 17:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .