Bilinear interpolation on a quadrilateral using Barycentric coordinates
7 days ago
- #3D-modeling
- #computer-graphics
- #GPU-rendering
- Computer graphics primarily use polygon meshes for 3D modeling, with triangles and quadrilaterals being the most common polygons.
- Quadrilaterals are preferred by artists for modeling due to ease of grid generation, edge flow adjustment, and predictable subdivision results.
- GPUs only support hardware-accelerated rasterization and interpolation for triangles, necessitating the conversion of other polygons into triangles.
- Converting quadrilaterals into triangles can introduce C^1 discontinuities in interpolated vertex attributes like texture coordinates and normals.
- A new method is proposed to preserve C^1 continuity over the common edge of two generated triangles from convex quadrilaterals using bilinear interpolation coefficients expressed in barycentric coordinates.
- The method leverages algebraic solutions to minimize computational overhead and can be implemented using hardware-accelerated GPU pipelines.
- Current approaches to address C^1 discontinuities include quadrilateral subdivision (dynamic or static) and mean value coordinates, each with performance trade-offs.
- The proposed method is feasible on GPUs dating back to 2008 and can be implemented via Geometry Shader, Tessellation Shader, or Mesh Shader stages.
- For parallelograms, the solution simplifies further, as bilinear interpolation coefficients can be directly derived from barycentric coordinates.
- The method ensures smoother interpolation of vertex attributes like colors, texture coordinates, and normals, enhancing visual quality in 3D rendering.