glPatchParameter(3) 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.

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. m[blue]http://opencontent.org/openpub/m[].