March 2013
Intermediate to advanced
984 pages
26h 18m
English
The tessellation process doesn’t operate on OpenGL’s classic geometric primitives: points, lines, and triangles, but uses a new primitive (added in OpenGL Version 4.0) called a patch. Patches are processed by all of active shading stages in the pipeline. By comparison, other primitive types are only processed by vertex, fragment, and geometry shaders, and bypass the tessellation stage. In fact, if any tessellation shaders are active, passing any other type of geometry will generate a GL_INVALID_OPERATION error. Conversely, you’ll get a GL_INVALID_OPERATION error if you try to render a patch without any tessellation shaders (specifically, a tessellation evaluation shader; we’ll see that tessellation control shaders are optional) ...