No pre-tessellated meshes are needed for this feature; essentially all you need to do is load a model and set up your material by enabling tessellation and/or displacement mapping.
This allows the artists to add definition into models like never before. The Illum, HumanSkin and Vegetation shaders support tessellation.
Three types of Tessellation are supported: Displacement, PN Triangles and Phong.
|Tessellation Factor 0||Tessellation Factor 1||Tessellation Factor 3|
|PN Triangles Enabled||PN Triangles Disabled|
Phong Tessellation Scheme
Shader Gen Param
Scalar displacement stored in alpha channel of a _displ texture.
Very approximate smoothing based on normals, suffers from 'inflation', i.e. surface is not perfectly smooth across patch boundaries, looks a bit inflated.
PN Triangles Tesselation
Similar to Phong tessellation but slower with better approximation.
Shader Gen Option
Allows you to move the plane from where the displacement is applied.
Displacement Height Scale
Allows you to change the height of the displacement.
Tessellation Face Cull
Defines the extent at which vertices are culled, this is used for 2-sided sorting of polygons (2 Sided must also be checked).
PN / Phong
Controls the density of the mesh triangles.
PN / Phong
Tessellation Factor Min/Max
In some cases (like a cutscene) where you know the object will be at a certain distance from camera (or fixed range) you can clamp the factor to get rid of view dependent tessellation factor which can result in geometry 'popping' artifacts. So for general cases you can just increase the factor, in special cases you can clamp it.
PN / Phong
There are two types of cracks that can become noticeable when using tessellation:
This occurs when two adjacent triangles share an edge but in fact they use separate vertices with different UV's.
This edge will then have different displacement on each side due to sampling different places in displacement map (even tiny differences in UV can cause visible cracks).
This is automatically fixed by the engine if there is no tiling otherwise the artist has to change the UV mapping to hide such artifacts if possible.
There is no such thing as UV seams for Phong tessellation or PN triangles as they do not use any UV mapping.
|These approximate surface smoothing methods won't work properly if shared vertices of adjacent triangles have different normals (ie. normals are not smooth).|
This occurs when different meshes placed close to each other (water tight) or a mesh consisting of sub-meshes can cause unpleasant cracks because of using different materials with different displacement (or even same displacement maps, slightly different UV mapping).
|This is more tricky to fix automatically as the engine would have to check the world space position of all meshes, that's why the solution used in earlier builds was forcing to disable displacement on all (sub)mesh boundaries.|
Artist places meshes carefully and/or fades out displacement himself by modifying a displacement map where needed.
All of the tessellation schemes are enabled through the material editor and on a per material basis. This means that all objects with this material applied will be affected.
RC adds special flag to all boundary vertices, these are then not displaced at all. *This feature is currently disabled in the Resource Compiler*.