How triangle patch tessellation is done using edge and inner tessellation factors?

后端 未结 1 1843
余生分开走
余生分开走 2021-01-15 13:11

I am just learning tessellation and i came across with below example for triangle patch tessellation but i am not sure how below geometry is getting generated. can anybody p

相关标签:
1条回答
  • 2021-01-15 14:01

    The tessellation levels specify the number of edges that will be generated. Therefore, a tessellation level of 1 means one edge. AKA: no tessellation.

    So this explains the outer levels. Each edge is assigned an index in the outer tessellation levels array, as specified in the standard. You provided the tessellation levels 1, 2, and 3. Therefore, one edge is "subdivided" into one edge. A second is tessellated into 2 edges and the third into three.

    I suppose the confusing part is how the inner tessellation level works. Triangle tessellation is defined based on generating concentric triangles within the outer triangle. But the number of concentric triangles generated is half of the inner tessellation level, rounded down.

    Let N be the inner tessellation level. And let K go from 1 to N/2, rounded down. K therefore represents each concentric inner triangle, with K = 1 representing the outermost inner triangle (but not the outer triangle).

    The edges of an inner triangle are always tessellated into the same number of edges. The number of edges that an inner triangle edge is tessellated into is N - 2K.

    So if we have an inner tessellation level of 5, then there will be 2 inner triangles. The first inner triangle will have 3 edges and the second will have 1.

    But something odd happens in this equations when N is even. If you have, as in your case, N=4, then there will be 2 inner triangles. The first inner triangle will be tessellated into 4 - 2 * 1 = 2 edges. And the second will be tessellated into 4 - 2 * 2 = 0 edges.

    Now we have a Zen Koan: what does a triangle with no edges look like?

    It looks like a single vertex. Which is exactly what you have in the center. You have a single vertex, which has edges to the triangle surrounding it.

    As for the edges between triangles, that's just how it converts the various tessellated points to create a full set of triangles.

    The image below illustrates a triangle tessellated with various inner and uniform outer tessfactors:

    0 讨论(0)
提交回复
热议问题