Tesselation adalah teknik yang memungkinkan Anda untuk menghasilkan primitif (segitiga, garis, titik, dan semacamnya) pada kartu grafis. Secara khusus, ini memungkinkan Anda berulang kali membagi geometri saat ini menjadi jala yang lebih halus.
Ini memungkinkan Anda untuk memuat mesh yang relatif kasar pada kartu grafis Anda, menghasilkan lebih banyak simpul dan segitiga secara dinamis dan kemudian memiliki mesh pada layar yang terlihat jauh lebih halus.
Sebagian besar waktu tesselation ini dilakukan lagi di setiap frame tunggal dan ini bisa menjadi alasan bahwa frame-rate Anda turun begitu Anda mengaktifkannya.
Tesselation dilakukan dalam beberapa tahap, dan itu dilakukan SETELAH vertex shader.
Persyaratan untuk setiap tahap bervariasi berdasarkan API. Di DirectX, itu adalah Hull Shader, Hardware Tessellation, dan Domain Shader. Dalam OpenGL, mereka disebut Tessellation Control Shader, Tesselation Primitive Generation, dan Tessellation Evaluation Shader.
Tahap pertama dan terakhir diprogram, tesselation aktual dilakukan oleh perangkat keras dalam tahap fungsi tetap.
Di Tesselation Control shader Anda mengatur jenis dan jumlah subdivisi.
Kemudian hardware tessellator membagi geometri sesuai dengan Shader Kontrol.
Terakhir, Tessellation Evaluation Shader dipanggil untuk setiap simpul yang baru dibuat. Dalam shader ini, Anda mengatur tipe primitif yang ingin Anda hasilkan dan bagaimana simpulnya ditempatkan dan banyak hal lainnya. Shader ini juga dapat digunakan untuk melakukan segala macam perhitungan per-simpul seperti halnya vertex shader. Dijamin dipanggil setidaknya satu kali untuk setiap vertex yang dihasilkan.
Jika Anda ingin melakukan pekerjaan lebih lanjut pada primitif, Anda dapat menambahkan shader Geometry.