Triangulation ============= Remember how we discussed polygon rendering and the limitations OpenGL places on rendering polygons i.e. non - complex and convex polygons can be rendered. Here are some pointers to developing good skills at rendering complex surfaces. We will also later in this section touch on triangulation and provide examples on how to achieve this. Pointers to Polygon rendering ============================= o Keep polygon orientations consistent. Make sure, that when viewed from the outside, all polygons on the surface are oriented in the same direction i.e. (all clockwise or all counterclockwise). Consistency in orientation is necessary for two sided lighting. o When subdividing a surface watch out for any non triangular polygons. The three vertices of a triangle are guaranteed to lie on a plane; any polygon with four or more vertices might not. o There is a tradeoff between how fine you want to subdivide and the rendering speed. i.e. the more the triangles used the slower the rendering. A geneal rule of thumb is that objects whicha are further away in a screen can be rendered with fewer polygons than objects closer to the viewpoint. o /\ / \ / \ A /__B___\C \ | / \ | / \| / \/ Try to avoid T-intersections in your models. The one shown above is undesirable since there is no guarantee that the line segments AB and BC lie on exactly the same pixels as segment AC. Some notes on triangulations ============================