Graphics Hardware (2004) T. Akenine-Möller, M. McCool (Editors) A Quadrilateral Rendering Primitive Kai Hormann Marco Tarini Visual Computing Lab, ISTI / CNR, Pisa Abstract The only surface primitives that are supported by common graphics hardware are triangles and more complex shapes have to be triangulated before being sent to the rasterizer.Even quadrilaterals, which are frequently used in many applications, are rendered as a pair of triangles after splitting them along either diagonal. This creates an undesirable C 1 -discontinuity that is visible in the shading or texture signal. We propose a new method that overcomes this drawback and is designed to be implemented in hardware as a new rasterizer. It processes a potentially non-planar quadrilateral directly without any splitting and interpolates attributes smoothly inside the quadrilateral. This interpolation is based on a recent generalization of barycentric coordinates that we adapted to handle perspective correction and situations in which a quadrilateral is partially behind the point of view. Categories and Subject Descriptors (according to ACM CCS): I.3.1 [Computer Graphics]: Hardware Architecture— graphics processors; I.3.3 [Computer Graphics]: Picture/Image Generation—display algorithms; I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism—color, shading, shadowing, and texture 1. Introduction Quadrilateral meshes are a natural and popular choice for modelling many classes of 3D surfaces. For example, they are useful for approximating Bézier patches and to describe rotational surfaces and rectangular height elds. In contrast, current GPUs do not support rendering of quadrilaterals di- rectly and whenever a quadrilateral (or quad) is displayed, one of several options has to be chosen (see Figure 1). The most frequently used approach is the diagonal split along one of the two diagonals which decomposes the quad into two triangles [SA03]. As a consequence, any attribute interpolation inside the quad will be only C 0 -continuous at the chosen diagonal. This C 1 -discontinuity is undesirable be- cause it is well visible if, for example, shading is computed from interpolated normals or texture mapping is applied. A less common technique is to perform two-fold linear interpolation with a standard scan-line rasterizer. Attributes are linearly interpolated rst along the projected edges and then across each horizontal span from edge to edge [SA03]. Unfortunately, this also creates C 1 -discontinuities, namely along the horizontal screen lines that pass through the quad’s vertices. These discontinuities are more disturbing because they vary with the viewing direction and even if the camera is just rotated around the z-axis [Duf79]. An effective way to avoid discontinuities is to utilize the projective map that maps the quad to the planar unit square and to compute the attributes for a point inside the quad by bilinear interpolation over this standard domain [Duf79]. Al- though this method interpolates smoothly inside the quad it has several drawbacks: it gives a false impression of depth; it does not interpolate attributes linearly along the edges, thus creating C 0 -discontinuities between two neighbouring quads; and it requires the projected quad to be convex. Another option is to rene the quad into n × n small quads so as to reduce the artefacts caused by the diagonal split. The positions and attributes of the new vertices can be computed by bilinear interpolation or any other subdivision scheme either on-the-y or by preprocessing. For sufciently large n, this gives visually smooth results, but since many more vertices and triangles must undergo the vertex processing and triangle setup phase, it can cause a severe performance downgrade, especially for geometry-limited applications. In this paper we present a new way to render quadrilater- als as atomic primitives that gives results which are often vi- sually similar to the ones obtained by bilinear interpolation and in any case superior to the diagonal split. Moreover, it inherits most of the properties that we are used to from ren- dering triangles and blends well with the design of current graphics systems. c The Eurographics Association 2004.