2010 Khronos Group.
glPatchParameter 3G
glPatchParameter specifies the parameters for patch primitives

## C Specification

void `glPatchParameteri` GLenum pname GLint value void `glPatchParameterfv` GLenum pname const GLfloat *values

## Parameters

pname

  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.

value

  Specifies the new value for the parameter given by pname.

values

  Specifies the address of an array containing the new values for the parameter given by pname.

## Description

`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 enabeld 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.

## Errors

`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

glDrawArrays, glDrawArraysInstanced, glDrawElements, glDrawRangeElements,

## Copyright

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. http://opencontent.org/openpub/.