With link to this question, one of the main problems that have not promoted the understanding of the node system with Cycles is blender's coordinate system.

These coordinate system values are said to have been represented as RGB values(e.g. generated, object, normal etc.), analyzing the output with the viewer node and mapping node, I'm not being able to get how this actually works:

enter image description here

I can't really interpret how it really works. Example in the image above, the location and scale are basically almost the same thing viewable.
It's not even a constant RGB(don't know how to put it), there's a gradient of the RGB values, so I don't think it could be an offset representation from the bounding box origin. So, summing it all up, how does this work in blender?

  • 1
    $\begingroup$ You might find this talk, Manipulate texture coordinates like a boss, by Bartek Skorupa to be very helpful. Extremely informative in any case. $\endgroup$
    – Timaroberts
    Feb 16, 2017 at 7:59
  • $\begingroup$ @Timaroberts, yes, this is where I got how the generated and object coordinates works(using the bounding box and the object origin resp.), but , it mentions less about the RGB values, and towards the end, it's a bit , well, "only for a pro" kind of thing, where he explains how the wood was created using the modulus operation $\endgroup$ Feb 16, 2017 at 8:32
  • $\begingroup$ @BeshalJaenal, this is a point of view problem. The results are different but you need to turn around the cube to see that. $\endgroup$
    – lemon
    Feb 16, 2017 at 15:12
  • $\begingroup$ Additionally, you are using an emission shader, probably. Try it with a diffuse shader. $\endgroup$
    – lemon
    Feb 16, 2017 at 15:20
  • $\begingroup$ @lemon, don't know if it's the emisson shader technically, but it's the viewer node that comes with the node wrangler addon $\endgroup$ Feb 16, 2017 at 16:10

1 Answer 1


Generated coordinates

Here is a simple base setting, converting the 'generated' output to color.

Generated gives a vector composed of X, Y and Z space coordinates. But these space coordinates are limited from 0 to 1 along the bounding box of the object.

X, Y, Z, put into a color, respectively correspond to R, G, B values of the color. So, black is at the origin (0, 0, 0) and with is at the opposite (1, 1, 1).

enter image description here

To check that the values correspond to the bounding box and are not above 1, we can try this experiment :

Add an independent vertex inside the mesh at its lower corner (the black one), and change the setting of the nodes like this :

enter image description here

On the image above :

  • Top left, the cube vertices are shifted, but the bounding box is larger thanks to the independent vertex we added before
  • Bottom, a holdout is applied if any coordinate is bigger than 1
  • To right : the result. The cube is nearly white because X, Y and Z are closed to 1. And notice that no holdout is applied (so nothing is bigger than 1).


Try these two setups :

enter image description here

enter image description here

Same color (apparently), but different input values.

But we can check that the resulting color has a G value over 1, thanks to the hold out again :

enter image description here

So here we now know :

  • Concerning the generated X, Y, Z values : between 0 and 1 along the bounding box
  • Concerning the color : eventually above 1, but "no direct impact" on the rendering if above 1 (let's say that the diffuse shader does not take care if > 1, so the shader limits the value to 1)

Mapping node

We come back to this kind of setting :

enter image description here

If we shift the X value over 1 (3 below), finally the shader will show it as if 1.

enter image description here

If we scale up the X value (30 below), rapidly as X grows the value will be over 1. If 30, the value is > 1 when X is 3.3% of 1 = 0.033.

That's why the final result is the same, except for the slice where X is between 0 and 0.033.

enter image description here


You must log in to answer this question.

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