PDA

View Full Version : Node Kindergarten®: Image node outputs



jeric_synergy
03-02-2011, 02:44 PM
(Node Kindergarten®-- you're going to be seeing a lot of these from me.....)

please feel free to correct any miscomprehensions I display along the way.

OK, messing about w/Image nodes, at a pre-school level. It weirds me out that an IMAGE NODE has a bump output, but since it has a bump input I'm justifying it conceptually as just a pass-thru. Why? Because an Image comes with no built-in "bump" information, it's just a picture plus transparency, so in my 'mind' a bump output doesn't make sense, except as a passthru from upstream.

Back in The Olden Days, a bump map was pretty much a grey scale affair that created the illusion of displacement along a specific axis, so I experimentally connect the Luma output to the Bump input of the Destination node (that's the term, right?), but the Node Editor rejects this connection. (!)

How rude! Where's the vaunted "agnostic" connection? Shouldn't the greyscale of Luma be mapped to SOME bump channel-y thing? Like, idunno, just the x-channel??

So, connecting the Bump output of the image node to the color input of the destination node gives you the right side of the JPG. So, without any bump input at the Image Node, where is the bump output info coming from? (There's nothing connected to the Bump input in the destination node in this image.)

One other thing: Blue connections are Vectors, 3 value data, right? So, how come Color isn't a blue connection? Isn't it 3 values?

stevecullum
03-02-2011, 04:39 PM
One other thing: Blue connections are Vectors, 3 value data, right? So, how come Color isn't a blue connection? Isn't it 3 values?

I don't think Vector 3 refers to how many channels it has, but perhaps the type of vector information its passing? (just guessing). Colour information is probably a different type of vector, same as delta's are a different type of vectors.

Not sure why their is a bump out on an RGB image though...its probably just being converted internally to a 'cheap' bump map.

zarti
03-02-2011, 04:50 PM
if my memories arent corroded yet , colors dance between 0 .. 255 or 0% .. 100 % ..

.. while a Vector has 3 scalar components ( usually from 0.0000 .. 1.0 )

Lightwolf
03-02-2011, 04:58 PM
if my memories arent corroded yet , colors dance between 0 .. 255 or 0% .. 100 % ..

.. while a Vector has 3 scalar components ( usually from 0.0000 .. 1.0 )
Nope, internally they're both the same. I suspect the only reason for the colour coding is to not confuse beginners.
And at least make it obvious that you're hooking something up that wasn't meant to be hooked up (otherwise you wouldn't need any colour coding).

The bump output is just what LW internally computes from an image map, which is a displacement vector. It basically looks at the brightness gradients of the image around the current pixel and derives three directions from that (along x,y and z) which are then used to perturb the normal.
You need both the input and the output because you can daisy chain image textures. The new bump gradient is multiplied by the bump strength, added to the input gradient (which is 0,0,0 if nothing is hooked up to it) and then sent to the output.

Cheers,
Mike

zarti
03-02-2011, 06:54 PM
Nope, internally they're both the same. I suspect the only reason for the colour coding is to not confuse beginners.

...

Nope'n'Yope ,

if you apply a component's color ( ex. : green ) to the y channel of an object's position , for a full green ( 255 ) the object goes 1 m up . so you are right . that's a Nope !

.. but , when you 'see' a value of 255 which you plug somewhere else and it gives the result of 1 ( ! ) ... imagine if you feed an angle channel with that ( !! ); so it is a mess for beginners and distracting for pros . that's a Yope !

so , ' color coding ' purpose gives the opposite effect to users here . confusion ...

jeric_synergy
03-03-2011, 12:44 AM
Well, I'm certainly confused.
++++++++++++++++++

The bump output is just what LW internally computes from an image map, which is a displacement vector. It basically looks at the brightness gradients of the image around the current pixel and derives three directions from that (along x,y and z) which are then used to perturb the normal.
OK, I understand that, but why doesn't the bump channel, when connected to the color input, just look like the color output?

You need both the input and the output because you can daisy chain image textures.
At least I got that right. :thumbsup:

Lightwolf
03-03-2011, 02:02 AM
OK, I understand that, but why doesn't the bump channel, when connected to the color input, just look like the color output?
Because it stores a gradient/vector, not a colour.

Cheers,
Mike

Lightwolf
03-03-2011, 02:03 AM
.. but , when you 'see' a value of 255 which you plug somewhere else and it gives the result of 1 ( ! )
Think HDR. A value of 255 is so... 8-bit ;)

Cheers,
Mike

jeric_synergy
03-03-2011, 03:09 AM
Because it stores a gradient/vector, not a colour.
Cheers,
Mike
A gradient/vector, derived from the RGB values? ---Seems like an extra step.

Wait, 'gradient'???

Lightwolf
03-03-2011, 03:12 AM
A gradient/vector, derived from the RGB values? ---Seems like an extra step.

Wait, 'gradient'???
Bump Mapping 101: http://freespace.virgin.net/hugo.elias/graphics/x_polybm.htm

Cheers,
Mike

zarti
03-03-2011, 03:19 AM
i know but i meant , a user sees and tweaks a value between 0 .. 255 while ' under ' ( context dependent ) you are tweaking 0.0000 .. 1.0000 or god knows what ranges in angle's context ...

we can choose to use even a gif web-palette ;) but again , the lw calcs and generates much more than that . and in general , when a user starts interchanging between those , the perplexity appears printed always in the face of the artist not in cpu . because ' down-under ' the cpu doesn't care ;) ...

should nt keep pushing artist's friendliness or new users' easyness even further ...







> to something like this ;D ??

http://thecolormusiccompany.com/wp-content/uploads/2010/10/Colorful-painters-palette.png

Lightwolf
03-03-2011, 03:23 AM
i know but i meant , a user sees and tweaks a value between 0 .. 255 while ' under ' ( context dependent ) you are tweaking 0.0000 .. 1.0000 or god knows what ranges in angle's context ...

Well, angels are completely different anyhow (and, I agree, should be exposed differently).
Currently they're radians internally and not even exposed as degrees in many cases.
Even the colour context depends on your settings in LW though (as far as the picker is concerned).

Cheers,
Mike