<p>As far as I know, OpenGL specifies that you cannot rely on precise rounding of vertex and edge coordinates for rasterization - which means that T-vertices may cause small artifacts: a continuous and a subdivided edge which should coincide perfectly in world space may in fact leave a small gap when rasterized.</p>
<p>Such an issue could appear regularly on older graphics cards with aggressive floating point optimizations or fixed-point coordinates, which accumulate rounding biases.</p>
<p><strong>Is this, however, still an issue with modern graphics drivers?</strong></p>
<p>Say that I could generate my meshes most efficiently <em>with</em> T-vertices, would it be viable to do so by default and give users an option to use closed (but sub-optimal) meshes if they observe rendering artifacts?</p>

CC BY-SA 4.0
2021-07-12T14:44:23.297Z
Yes it is still as much of  an issue today as it was yesterday.
joojaa
CC BY-SA 4.0
2021-07-12T17:06:05.370Z
Perhaps if GPUs used double precision throughout vertex shaders and rasterization then it would not be an issue in practice, but as long as we're all just using single precision, there will still be cracks at T-junctions sometimes. It was not ever really about "aggressive floating point optimizations", it's fundamental to using a non-exact math representation.
Nathan Reed
CC BY-SA 4.0
2021-08-17T17:17:14.027Z
The floating point representation is exact, just some of the operations on it are not. I wasn't sure whether rasterization could do entirely without these. Thank you for the clarification joojaa!
Tau
<opengl><rasterizer><artifacts>
How widespread are T-vertex artifacts nowadays?
Tau
# How widespread are T-vertex artifacts nowadays?

(Asked by: username_0 on 2021-07-12)

As far as I know, OpenGL specifies that you cannot rely on precise rounding of vertex and edge coordinates for rasterization - which means that T-vertices may cause small artifacts: a continuous and a subdivided edge which should coincide perfectly in world space may in fact leave a small gap when rasterized.

Such an issue could appear regularly on older graphics cards with aggressive floating point optimizations or fixed-point coordinates, which accumulate rounding biases.

**Is this, however, still an issue with modern graphics drivers?**

Say that I could generate my meshes most efficiently *with* T-vertices, would it be viable to do so by default and give users an option to use closed (but sub-optimal) meshes if they observe rendering artifacts?

**Tags:** opengl, rasterizer, artifacts

> **Comments:**
> **username_1**: Yes it is still as much of  an issue today as it was yesterday.  
> **username_2**: Perhaps if GPUs used double precision throughout vertex shaders and rasterization then it would not be an issue in practice, but as long as we're all just using single precision, there will still be cracks at T-junctions sometimes. It was not ever really about "aggressive floating point optimizations", it's fundamental to using a non-exact math representation.  
> **username_0**: The floating point representation is exact, just some of the operations on it are not. I wasn't sure whether rasterization could do entirely without these. Thank you for the clarification username_1!  

---

## 0 answers

