What is Tessellation in computer graphics In recent games I have noticed something called Tessellation, Turning the thing ON destroys my frame rate.

I have noticed that it when turned on it looks like Anti - Aliasing.

Can someone give me further information on what exactly the GPU does.
Tesselation is a technique that allows you to generate primitives (triangles, lines, points and such) on the graphics-card. Specifically, it lets you repeatedly subdivide the current geometry into a finer mesh.

This allows you to load a relatively coarse mesh on your graphics card, generate more vertices and triangles dynamically and then have a mesh on the screen that looks much smoother.



Most of the time this tesselation is done anew in each single frame and this could be the reason that your frame-rate drops once you enable this.

Tesselation is done in multiple stages, and it is done AFTER the vertex shader. 



The terms for each stage varies based on the API. In DirectX, it is the Hull Shader, Hardware Tessellation, and the Domain Shader. In OpenGL, they are called the Tessellation Control Shader, Tesselation Primitive Generation, and the Tessellation Evaluation Shader.

The first and the last stage is programmable, the actual tesselation is done by the hardware in a fixed function stage.

In the Tesselation Control shader you set the type and number of subdivisions.

Then the hardware tessellator divides the geometry according to the Control Shader.

Lastly, the Tessellation Evaluation Shader is called for each newly generated vertex. In this shader, you set the type of primitive you want to generate and how the vertices are spaced and many other things. This shader can also be used to do all sorts of per-vertex calculations just like a vertex shader. It is guaranteed to be called at least once for each generated vertex.

If you want to do any further work on the primitives, you can add a Geometry shader.