This image shows two of the same curve, one beveled into a cylinder, and one extruded into a flat plane. The material is a Diffuse mixed with glossy at .1 fac.
The top cylinder gets a strong highlight down its length and visible shadows at the glancing edges due to it's curve. The flat one's gloss is much more spread out due to it being flat.
What i want is to render shading like the flat strand, but on the cylinder. It seems this should be possible with some sort of normal changing or the like? I want the effect of the flat ribbon, but if I actually use flat ribbons then they disappear at certain angles, whereas the cylinder always has the same thickness.
If I were working directly with the mesh, then I'd scale it on the view axis till it was flat. Can something like this be done to the normals within the material?
UPDATE: Here's a picture showing the difference better. This is just the gloss, and I bent the bottom ribbon more to emphasize the difference. The ribbon gets full lighting on it's whole surface because it is flat. The cylinder is less lit at glancing angles. I want to get the same sort of shading on the cylinder that I have on the ribbon. This is gloss only with Incoming plugged into the normal socket. It is flattening things out, but has also fundamentally changed how the shading is working.