In computer graphics, we rarely encounter continuous data. We often work with digital data, and in the context of geometric modeling, this means we typically work with polygon meshes rather than procedural surfaces like Bézier patches. The most popular technique for constructing digital three-dimensional objects in dedicated modeling software is polygon modeling. The result of the creation phase is a set of polygons (mesh), where the polygons in the mesh can share vertices and edges with other polygons.
Although users can create various types of surfaces (e.g., non-manifold), the most common surface is the topological 2-manifold. In short, a 2-manifold is a mathematical concept in topology, where the space locally resembles the Euclidean plane in R^2^. Essentially, every point on a 2-manifold has a neighborhood that looks like a piece of the plane.
At the vertices of a polygon, users can store additional data (per-vertex attributes), such as vertex normals (for simulating curved surfaces), texture coordinates (for texture mapping), or RGBA color.
In theory, all types of polygons can be used. In practice, however, 3D graphics artists most commonly use triangles and quadrilaterals. These polygons are typically referred to as topology primitives in computer graphics APIs. From an artist’s point of view, quadrilaterals are more advantageous because they are easier to work with. These arguments make the quadrilateral-based topology preferred by artists when modeling 3D objects.
Long ago, GPUs abandoned support for hardware accelerated quadrilaterals (or polygons consisting of more than 4 vertices) rasterization, therefore also interpolation of vertex attributes contained in their vertices (line rendering is for a different story). The only polygon that has hardware accelerated implementation of rasterization and interpolation of parameters is the triangle. There are very good reasons why it was the triangle that won the race.
Triangles are the foundation of real-time computer graphics, as reflected in the primitive topology supported by graphics APIs. All other polygon types used in meshes must be converted into triangles. When a modeling application allows quad-mesh construction, the visualization of this mesh is not based on quadrilaterals. Instead, the application converts them into triangle meshes. This necessary conversion can introduce C^1^ discontinuities in interpolated vertex attributes (such as texture coordinates, vertex normal vectors, and vertex colors) on the quadrilateral surface.
In the case of the topic covered in this article, the discontinuity of C^1^ refers to the point at which the piecewise function is continuous, but its first derivative is not. In other words, the piecewise function itself has no jumps or breaks, but the slope (or rate of change) of the piecewise function has jumps or breaks.
For rasterization of quadrilaterals as two triangles, C^1^ discontinuity in the interpolation of vertex attributes is most visible along the newly created edge that splits the quadrilateral into two triangles.
The purpose of this article is to propose a new method that preserves C^1^ continuity over the common edge of two generated triangles from convex quadrilaterals. This new method is based on an algebraic solution for the Bilinear interpolation coefficient expressed in Barycentric coordinates. Bilinear interpolation has the advantage of being the simplest interpolation from an algebraic perspective. Consequently, the computational overhead is negligibly small. Additionally, linear interpolation allows for the easy construction of other types of interpolation, such as polynomial interpolation. The algebraic solution will then be implemented and tested using the three available hardware-accelerated pipelines supported by GPU hardware.
Read more about it here Boycott, Divest, Sanction movement, details about BDS on Microsoft