2
$\begingroup$

Everyone knows the infamous ugly shading when you smooth shade a cube (or other sharp structure):

enter image description here

My question is not how to fix it. My question is what causes the cube to be like this? I know "the normals are averaged", but what exactly it means? Why doesn't it look like a super smooth sphere, for example? What causes these separations between bright and dark sides?

enter image description here

$\endgroup$

2 Answers 2

6
$\begingroup$

The normals at the vertices are indeed averaged, so they point directly away from the origin, just like a sphere. So you can think of the cube as a really low-poly approximation of a sphere.

Normals at the corner of a cube

When a light hits a true sphere, it divides it into two hemispheres, a "bright" side that faces the light, and a "dark" side that faces away from the light. The bright side is brightest near the light and fades into shadow as you move away from it. The dark side receives no light so it is totally dark everywhere.

The dividing line between the two sides is a circle, the "equator" that cuts the sphere into the two hemispheres.

Light hitting a sphere

However on a triangle (all meshes are made of tris), the dividing line will instead be approximately a straight line. (The reason is basically that the normal is (approximately) linear in the location on the tri, and the equation for the dividing line (N dot L = 0) is linear in the normal, which means the solution set is a straight line on the tri.)

So on a low-poly sphere the diving line between light and dark looks like a low-poly "circle". There is one straight line segment on each face.

A low-poly UV sphere, and a an even lower-poly "cube-sphere"

I hope that explains some of the shape you see.

$\endgroup$
3
$\begingroup$

It is an artifact of both the lighting model being used and what 'smooth shading' means. You appear to be in object mode, which, by default uses Studio lighting, which is described in my answer to this question.

Smooth shading fakes the normals of an object by adjusting the normals near the edges to sort of average out the angle. Blender actually uses Laplacian smoothing but it's easiest to think of it as slowly bending the normals of each plane towards the average normal at the edges.

There are other effects at work in studio lighting, such as the ambient occlusion that makes the edges clearer.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .