1. A method of performing tessellation in a computer graphics system, the method comprising: receiving an input comprising three vertices defining a triangle patch, each vertex comprising a domain space coordinate and a vertex tessellation factor; comparing the vertex tessellation factors to a threshold value; and in response to determining that at least one of the three vertex tessellation factors exceeds the threshold: generating a center vertex to the patch and calculating a vertex tessellation factor and blend factor for the newly added vertex; selecting in turn, each one of the three received vertices, and for each selected vertex: defining a vertex based on the selected vertex; in response to determining that the vertex tessellation factor of the selected vertex does not exceed the threshold value, the vertex tessellation factor of a next neighbor vertex exceeds the threshold and the vertex tessellation factor of a previous neighbor vertex does not exceed the threshold, adding a new vertex to sub-divide an edge between the selected vertex and the next neighbor vertex and drawing a single triangle connecting the defined vertex, the newly added vertex and the center vertex; and in response to determining that the vertex tessellation factor of the selected vertex does not exceed the threshold value, the vertex tessellation factor of a next neighbor vertex does not exceed the threshold and the vertex tessellation factor of a previous neighbor vertex exceeds the threshold, adding a new vertex to sub-divide an edge between the selected vertex and the previous neighbor vertex and dividing a sub-quad defined by the defined vertex, the newly added vertex, the center vertex and the next neighbor vertex into two triangles by connecting the defined vertex to a diagonally opposite vertex in the sub-quad.