

Possible approach The most useful resource for this investigation would be a large number of cut-out triangles, either paper/card or plastic. Steps 610 and 620 may, for example, be carried out in a CPU of an image-rendering pipe-line. The pixel shader expects the inputs to be in clip-space, so the domain shader applies transformation instead of the vertex shader. They will begin to understand that, for a shape to tessellate, the angles where they come together are important. In step 620, the mask is represented by triangles (tessellated). At this point, we are in "patch-space" using UV's to represent coordinates on the unit- (quad,tri,isoline). A tessellation pattern is one composed of shapes without gaps or overlaps. The domain shader applies the Berstein polynomial to "Bezier" each input point. The hull shader sends the points it creates (and the input control points) to the domain shader. These are fed into the hull shader which tells the GPU exactly how you intend to subdivide the patch. Set topology to D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLISTġ0 vertices go into the vertex shader and (probably) come right out the other end: void VS(inout float3 inputVertex).(Yes, a triangle with 3 vertices can be tessellated) corners will tend towards 60 degrees) Preferably the number edges at a vertex should be few rather than many. The order also determines the number of control points you need (or vice-versa). The amount of tessellation (preferably the number of vertices added by the algorithm) should be parametrized The polygons edges may be divided by the algorithm Triangles should be nearly uniform in size and shape (i.e. Being able to do all this dynamically on the GPU and also select the level of detail per triangle is part of what the Tessellation pipeline in OpenGL 4.x provides. Edit: The triangle's Bezier-curved edges are of the same order as the Bernstein you use the edges of a third-order Bezier triangle are third-order Bezier curves. What we need is a way to start with a low polygon model and subdivide each triangle on the fly into smaller triangles.
