|
Let's start with the sphere with the perturbed normal, since it's easier to explain.
This image shows graphically what happens.
The problem happens in the "dark side" of the object, that is, the side which doesn't "see" the light source.
Although the surface normal points away from the light source (ie. its angle is >90 degrees from the light source), the perturbed normal points towards it (ie. its angle is <90 degrees) and thus, according to the normal vector, the light source should illuminate the point in question.
However, when doing the shadow-ray test, POV-Ray sees that the test ray intersects with a surface (in this case the surface of the same sphere, but at the "other side"). Thus it decides that the surface in question is shadowing the current point and thus the light source does not illuminate it.
This is what causes the straight shadow exactly where the (non-perturbed)
surface normal is exactly at 90 degrees from the light source.
The problem with the mesh of smooth triangles is a bit more difficult, although very similar (and caused by the exact same problem).
This image shows graphically what happens.
Although there's no explicit normal perturbation, the fact that the surface is a mesh of smooth triangles means that there's an implicit normal perturbation.
In order to get a smooth appearance, each vertex has a normal vector and the normal vector at any point in the surface of the triangle is calculated by interpolating the normal vectors of the vertices.
Here the problem happens when the shadow line should pass across a triangle and the unperturbed normal vector of that triangle points away from the light source. As seen in the figure, a triangle that is closer to the light source will shadow the point in the current triangle (it's not necessarily the adjacent triangle, but if the mesh is closed, some triangle will surely shadow the point in question).
This means that this unfortunate triangle will be completely shadowed,
thus causing a triangular artifact in the shadow line of the mesh.
The image on the left shows more clearly why the shadow line of the smooth triangle mesh is like it appeared in the first image of this page.
The object at the left is the same triangle mesh, but with flat triangles, and the object at the right is the same object as in the image at the beginning of this page.
Notice how the shadowed triangles of the flat mesh correspond exactly
to the artifacts in the shadow line of the smooth mesh. The reason for
this was explained in the figure above.
|