Can raw colors be 1:1 viewed in view3d ?

I was testing some node setup as procedural normal map, and used an emission node to view the raw map colors. It seemed the in-view3d colors were wrong. At first I thought there was something wrong in the setup. So I made a new test, very simple, both model as well as material. Simply connected the surface normal to a nodegroup that converted/transformed it into the RGB color space. The output was connected to an emission shader. The colors are still wrong (desaturated).

When I bake that extruded plane and view the baked normal map in any image viewer/editor (including blender’s internal one) the colors are as expected. Using color pickers both in blender (in-view3d proceudral normal map) as well as a paiting app (baked normal map) showed that the normal-to-color nodegroup was working as expected. Then it came down to me that an emission shader’s output is still subject to viewport (and final render) transformation since this is 3d, not 2d. A quick look in various places (properties editor, preferences) revealed no setting to me to circumvent that.

Question is though: is there any way to view raw material colors in the viewport, 1:1 ?

Since I made some illustration images, I’ll share them below.

  1. Baked normal map.
  2. In-view3d view of my normal-to-color node setup.
  3. Normal-to-color nodegroup.https://thumb.ibb.co/gP8Nyv/normalmap.png

https://thumb.ibb.co/cc1WrF/normalmap_in_bl_view3d.png

https://thumb.ibb.co/hxK6Qa/normalmap_in_bl_view3d_nodesetup.png

Btw, if this topic is better suited in one of the other two subforums then feel free to move it.

in general no!

to see some viewport colors you need a special nodes set up which is not the same then in render

viewport is only a fast representation and colors is not always the same then final render!

on note here
to see real colors with color picker go to the UV editor image!

happy cl

Thank you for replying.

I don’t want viewport colors in the final render. Instead, I want assigned colors in the viewport, 1:1.

Since I want the exact (1:1) colors, I would need a formula, or the formula for the actual viewport (‘Material’ display/shading mode) so that I can revert it. But it’s very cumbersome this way.

viewport is only a fast representation and colors is not always the same then final render!

No, I don’t want final render colors. If I remember correctly, like the ‘Texture’ viewport mode displays in Blender Internal renderer. That is, simply display each pixel with the colors as they were assigned by the user, and do NOT shade them. I want to see the colors my node setup assigns to each surface point, 1:1. What I mean is that if I assign (0.2, 0.4, 0.8) to a material of any object/face, then when I set viewport shading mode to, say, ‘Texture’, then each rasterized pixel of that face should remain (0.2, 0.4, 0.8), so that when I take a screenshot and load in any image viewer/editor and use a color picker, that picked color will remain (0.2, 0.4, 0.8).

try to use the node wrangler which can show each color or nodes effect!

but again viewport can be set as RGB or sRGB and other things in color management
and could be shaded influence by shadows and lights in the scene

happy cl

set color managment to None. this will make the colors linear.

You’re very close to the right settings. You just need to drop a gamma node in there with a value of 2.2


Nodewrangler does what I already do, route the active node to an emission node which in turn is routed to a/the material output.

I did actually mess with the color management (save for the ‘Display’ setting), but without result. I completely regarded the ‘Display’ dropdown as something different to what I was looking for. I suppose the 1-2 times ever that I messed with the ‘Display’ setting, I was always in the viewport ‘Render’ mode (and never in ‘Material’ mode), so I never saw any result and hence automatically ignored it thereafter.

Yep. I can see that now. As I explained to RickeyBlender, unfortunate circumstances caused me completely and literally overlook the ‘Display’ setting in the color manager.

Thank you very much. Is that gamma value exact (I’m too lazy to take screenshot today and color-pick for RGB values :o) or did you estimate it to be so ?

I really need to read a fundamental book (just the fundamentals, not a ridiculously huge one) on color management and color theory some time. Thanks for the help all!

I just remember that 2.2 is pretty typical (standard?) for RGB gamma correction. And the color management page explains that sRGB colorspace applies a gamma correction of ‘approximately’ 2.2. So, we’re simply applying that step, manually, in our node group.

Color sampling the neutral periwinkle yields an RGB value of 129,129,255. Which is pretty dang close to #8080ff, and isn’t really going to cause you issues.

SRGB is RGB X gamma at 2.2

happy cl

I understand that. Thanks again!