From OpenGL Wiki
Revision as of 16:48, 21 July 2017 by Nguillemot (talk | contribs) (→‎Description: typo fix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Core in version 4.6
Core since version 4.0
Core ARB extension ARB_tessellation_shader

glPatchParameter: specifies the parameters for patch primitives

Function Definition

 void glPatchParameteri(GLenum pname​, GLint value​);
 void glPatchParameterfv(GLenum pname​, const GLfloat *values​);
Specifies the name of the parameter to set. The symbolc constants GL_PATCH_VERTICES, GL_PATCH_DEFAULT_OUTER_LEVEL, and GL_PATCH_DEFAULT_INNER_LEVEL are accepted.
Specifies the new value for the parameter given by pname​.
Specifies the address of an array containing the new values for the parameter given by pname​.


glPatchParameter specifies the parameters that will be used for patch primitives. pname​ specifies the parameter to modify and must be either GL_PATCH_VERTICES, GL_PATCH_DEFAULT_OUTER_LEVEL or GL_PATCH_DEFAULT_INNER_LEVEL. For glPatchParameteri, value​ specifies the new value for the parameter specified by pname​. For glPatchParameterfv, values​ specifies the address of an array containing the new values for the parameter specified by pname​.

When pname​ is GL_PATCH_VERTICES, value​ specifies the number of vertices that will be used to make up a single patch primitive. Patch primitives are consumed by the tessellation control shader (if present) and subsequently used for tessellation. When primitives are specified using glDrawArrays or a similar function, each patch will be made from parameter​ control points, each represented by a vertex taken from the enabled vertex arrays. parameter​ must be greater than zero, and less than or equal to the value of GL_MAX_PATCH_VERTICES.

When pname​ is GL_PATCH_DEFAULT_OUTER_LEVEL or GL_PATCH_DEFAULT_INNER_LEVEL, values​ contains the address of an array contiaining the default outer or inner tessellation levels, respectively, to be used when no tessellation control shader is present.


GL_INVALID_ENUM is generated if pname​ is not an accepted value.

GL_INVALID_VALUE is generated if pname​ is GL_PATCH_VERTICES and value​ is less than or equal to zero, or greater than the value of GL_MAX_PATCH_VERTICES.

See Also

Category:Core API Ref Vertex Rendering‎


Copyright © 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999.