When I scale a cylinder from one side and then do Shade Smooth and Auto-Smooth some shading issue are still visible in the image. I tried to increase the Auto-Smooth, value but it doesn't give the desired result.
This looks like a natural consequence of the way smooth shading works. I think you have to subdivide your cone vertically.
A renderer will:
- Triangulate your mesh.
- If it's asked for 'Smooth Shading', for every shading point, it will calculate a normal by linearly interpolating between the vertex-normals at the corners of the triangles, using barycentric coordinates.
In your truncated cone, the triangles are very long and thin. The only data points the interpolation of normals around the circumference has to go by are right at the top and bottom of the triangles. In a cylinder, that produces a good guess. The radial normals at top and bottom are parallel, so there's no interpolation in those dimensions. Not so for a cone:
The top row shows triangulation. This shader is the dot-product between True Normal (flat, geometric), and Normal (smoothed). It shows how much smoothing has shifted the normal of the underlying geometry. On the left, the cone is not subdivided in its height, and you can see how jaggedy the interpolation is: how irregularly it represents the radial normals of the surface.
On the right, the cone has been subdivided vertically, and the interpolation has more vertex-normals to go by. The linear interpolation across the triangles matches radial directions around circular cross-sections more closely.
Not a new answer, just a comparison between the two methods shown here (by Robin and Chris, the answer by Der_Fab is simply put what Robin explained more detailed). You should open the images for full resolution to see the effects better.
On the left is a cone with a standard resolution of 32 vertices for its profile. It has added vertical edge loops as Robin described to avoid your shading issues. On the right side is a cone with a higher resolution of 128 vertices in the profile.
What you can see here on the right is that because even with 128 vertices the problem of long and even thinner triangulated faces remains, the shading still is not really smooth - the banding just gets finer so it becomes less visible.
On the other hand the left side shows a very harsh and not smooth shadow terminator edge from top to bottom.
Now for this harsh edge there is a solution, under Object Properties > Shading > Shadow Terminator Offset you can enter a value higher than the default 0, something low like 0.01 already works in most cases. This way the terminator line gets smoothed out while the shadow grows into the lit side - but not very much with a small offset.
The problem of the Shadow Terminator Offset is, it doesn't help much with the banding on the cone without vertical edge loops. It will still be visible.
If you want or have to keep the polycount low you might think 32 vertices is better than 128, but as soon as you add 6 vertical loops the polycount is quite similar on both objects, but with the better result I would go for the edge loopps.
If you don't care about high resolution meshes and their polycount, then a combination of both answers will give the best result. Many vertices in the profile with edge loops for increasing the vertical resolution. As stated before, generally higher geometry resolutions produce smoother shading than low resolutions.