Tangent shading not smooth

Hello people! I’m trying to re-learn blender as I’ve finally decided to experiment with the latest 2.5x series (now using the official 2.57b build)

I noticed that shading in tangent mode is quite disturbing in low polygons, even when the object is set as “smooth” instead of “flat”. This is a common UV sphere: http://i.imgur.com/X9GEo.png

I remember in blender 2.49 there was an option like “bias” which made these transitions smooth. Anyway, is this normal? How do I fix this shadow-staircase in tangent mode, without raising the number of polygons?

>How do I fix this shadow-staircase in tangent mode?

You can always add a Subdivision Surface modifier to brake up the staircase effect.

>I guess I never run into it in the past

Tangent Shading is really a special type of shading and if you never used Tangent Shading you probably never see it.

I have used tangent shading in previous versions of Blender and for some reason I never noticed something looking THAT bad, probably beacuse of the shapes I used. Subdivision Surface doesn’t help that much, because you have to do too many subdivisions to stop seeing edges and rendering can then take forever.

I discovered this patch (made on March) yesterday: http://projects.blender.org/tracker/?func=detail&aid=26632&group_id=9&atid=127 - I haven’t found a build yet that implements it though.

It´s called the “shadow terminator artifact” or “terminator problem”
It has to do with shadows and shading which are two seperate things.
While you can smooth polygons for shading (smooth vs. flat) the geometry stays flat.
If you shade an object and cast a shadow it is cast by the geometry, not by the normals used for shading. In areas where this overlaps those artifacts appear.

It´s one of the major “problems” in raytracing algorithms.

http://www.geekshavefeelings.com/x/wp-content/uploads/2010/03/Its-Really-Not-a-Rendering-Bug-You-see…pdf
http://www.blender.org/development/release-logs/blender-234/misc-improvements/

One way to circumvent it, is what many raytracers do, subdivide a mesh to a point where the artifacts dissapear in a screen pixel.

Left, default UV sphere.
Right, same sphere with 6 subdivision levels for render.
The price is high though, the scene as it is below takes ~2 minutes to render on a 4*3.4GHz.
http://i53.tinypic.com/rbfv5z.png

Thanks for all the information!