UDN
Search public documentation:
TessellationDX11
日本語訳
中国翻译
한국어
Licensees can log in.
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
中国翻译
한국어
Licensees can log in.
Red links require licensee log in.
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
UE3 Home > DirectX 11 in Unreal Engine 3 > DirectX 11 Tessellation
UE3 Home > Materials & Textures > DirectX 11 Tessellation
UE3 Home > Materials & Textures > DirectX 11 Tessellation
DirectX 11 Tessellation
Overview
In the classic game content pipeline geometry is created from triangles meshes. Graphics cards can render triangle meshes very efficiently so it's natural that they directly render the artist generated meshes. Unfortunately this can result in bad quality when not enough triangles are used or in slow rendering when too many triangles are used. Modern graphic cards support hardware tessellation which allows to amplify the triangle count by splitting up some input mesh into a highly tessellated render mesh. This means meshes can be created in some lower triangle density and get refined depending on distance or other properties (e.g. depending on geometry details). This process is programmable which allows to implement displacement mapping. ![]() |
| Left: without tessellation Right: with tesselation and displacement |
How to activate
The tessellation factor are set to 6 for the edge and 5 for the inner parts of the triangle.
It also uses the displacement mapping as the WorldDisplacement input of the material is used. This material uses the blue channel of a texture to displace in the direction of the normal. This was achieved by a lerp (linear interpolate) that blends between two vectors (min displacement, max displacement). As both vectors are only using the z component it will result in a vector of that form: (0,0,x). This vector is then transformed from tangent to world space by using the VectorTransform node. This is needed as the WorldDisplacement expects it's input in world space. Without using the transform node the displacement would not be aligned to the mesh surface, vertices would move along the world z axis.
Tessellation Mode
![]() ![]() |
| Left: Without tessellation Middle: With flat tessellation (more vertices, mostly useful with displacement) Right: With PN triangle tessellation which softens the geometry (the silhouette became more round) |
Tessellation Factors
Smoothing Groups
UV Seams
Dynamic Tessellation Factors
The value of 150 was a tweaked to work well for the mesh it was used on.
Dynamic Displacement
Displacement data can be changed over time like other material properties.



