ABSTRACT

The most notable feature of OpenGL for Embedded Systems (OpenGL ES) 3.2 is the support for hardware tessellation. It enables the Graphics Processing Unit (GPU) to decompose a primitive into a large number of smaller ones. GPU tessellation involves two new programmable stages, the tessellation control shader and the tessellation evaluation shader, and a new hardwired stage, the tessellation primitive generator. Due to hardware tessellation, a variety of complex surfaces can have direct acceleration support. This chapter presents two tessellation examples: displacement mapping and PN-triangles. The PN-triangles are not widely used. When all triangles of the input polygon mesh are converted into PN-triangles, the input mesh can be refined into a higher-resolution smoother mesh. Consequently, the higher-resolution mesh produced by the PN-triangles does not have a gap or crack if both PN-triangles are tessellated with the same sampling rate at the shared boundary.