Lighting

 

How does it happen?

When visualizing a surface with a low-angle camera, visual artefacts might appear. This is due to the lighting computation which is done per vertex. In that case, the standard OpenGL lighting mode is used.

The OpenGL lighting model is hard-coded in the graphics card and works as follows: given the color of the three vertices, the color of pixels within a triangle is computed as a linear combination of the color at the three vertices of the triangle. Of course, it is an approximation of the real computation.

Below is an example showing how white stripes are triangle-dependent:

Fixed sag = 0.001
No zoom
After zooming.
No visual artefact
After zooming in.
Visual artefact appears
Conclusion.
This is due to triangles

This visual artefact might be removed by using an advanced material (such as a CgFX material) because the texture fetch is performed at pixel level, and not at vertex level. For detailed information about advanced materials, refer to the Version 5 - Real Time Rendering User's Guide.

The pictures below show how the visual artefact disappears when applying advanced materials:

Aluminium material.
No shader
Chroma polished advanced material.
Made of CgFX shader
Aluminium brushed advanced material.
Made of CgFX shader
Decreasing the sag value (which makes the tessellation more accurate) reduces the visual artefact because there are more triangles, these triangles are smaller and therefore, the density of vertices is higher.

However, if you keep on zooming in, this visual artefact will reappear when the camera is getting closer to the mesh.

How to solve this?

The visual artefact can be reduced be modifying the tessellation settings (i.e. the 3D accuracy and the curves' accuracy ratio) and by reducing the material reflectivity.