Blub\0

07-05-2010, 12:36 PM

I've been reading through http://www.opengl.org/registry/specs/ARB/tessellation_shader.txt today because I wanted to know how exactly triangles are tessellated when using a tessellation shader.

However, there's a part I found strange - maybe I don't understand if fully (math/vocabulary wise). In "Section 2.X.2.1, Triangle Tessellation" there is a part about how the vertices for inner triangles are created. Specifically:

Otherwise, for each corner of the outer

triangle, an inner triangle corner is produced at the intersection of two

lines extended perpendicular to the corner's two adjacent edges running

through the vertex of the subdivided outer edge nearest that corner.

If I understand this right, it works like illustrated in this picture (assuming an inner tessellation level of 4): http://stud4.tuwien.ac.at/~e0725517/images/tri_tess.png

However, if this was correct, it would be flawed, in that for obtuse triangles it would be possible that the inner vertices are placed outside the original triangle.

I've tested it on an NVidia card, where the tessellation clearly results in correct concentric triangles.

Thanks in advance.

However, there's a part I found strange - maybe I don't understand if fully (math/vocabulary wise). In "Section 2.X.2.1, Triangle Tessellation" there is a part about how the vertices for inner triangles are created. Specifically:

Otherwise, for each corner of the outer

triangle, an inner triangle corner is produced at the intersection of two

lines extended perpendicular to the corner's two adjacent edges running

through the vertex of the subdivided outer edge nearest that corner.

If I understand this right, it works like illustrated in this picture (assuming an inner tessellation level of 4): http://stud4.tuwien.ac.at/~e0725517/images/tri_tess.png

However, if this was correct, it would be flawed, in that for obtuse triangles it would be possible that the inner vertices are placed outside the original triangle.

I've tested it on an NVidia card, where the tessellation clearly results in correct concentric triangles.

Thanks in advance.