Node material normal is not the same as polygon normal?

I have setup a simple cube which alpha depends on x axis part of the normal.

Logically I would expect:

  • x axis facing faces to alpha 1
  • other alpha 0

What I got:


Top and bottom are transparent, and sides are transparent depending on the angle of view :S
wth

I tried the geometry input also, no effect…

Attachments

normals_wth.blend (484 KB)

I suggest having a look at the normal by adding [0.5, 0.5, 0.5] to it, halving it, and attaching it to the color output. That will make it obvious what the normals are doing:
normal.blend (526 KB)
Hint: they’re screen space

I have no idea what the blend does :S

I thought about them being screen space, that is bad.

But how can they be screen space if the top and bottom faces do not react to the screen at any angle?
Flipping the scene sideways should then by this logic switch the always invisible face?

I need global as I need to handle the shading of the cube faces differently from each other.
Any normal solutions?