GLAPI/glPatchParameter: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adding better formatting.
m Bot: Adding better formatting.
Line 13: Line 13:


; pname
; pname
: Specifies the name of the parameter to set. The symbolc constants {{code|GL_PATCH_VERTICES}}, {{code|GL_PATCH_DEFAULT_OUTER_LEVEL}}, and {{code|GL_PATCH_DEFAULT_INNER_LEVEL}} are accepted.
: Specifies the name of the parameter to set. The symbolc constants {{enum|GL_PATCH_VERTICES}}, {{enum|GL_PATCH_DEFAULT_OUTER_LEVEL}}, and {{enum|GL_PATCH_DEFAULT_INNER_LEVEL}} are accepted.
; value
; value
: Specifies the new value for the parameter given by {{param|pname}}.
: Specifies the new value for the parameter given by {{param|pname}}.
Line 21: Line 21:
== Description ==
== Description ==


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


When {{param|pname}} is {{code|GL_PATCH_VERTICES}}, {{param|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 {{apifunc|glDrawArrays}} or a similar function, each patch will be made from {{param|parameter}} control points, each represented by a vertex taken from the enabeld vertex arrays. {{param|parameter}} must be greater than zero, and less than or equal to the value of {{code|GL_MAX_PATCH_VERTICES}}.
When {{param|pname}} is {{enum|GL_PATCH_VERTICES}}, {{param|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 {{apifunc|glDrawArrays}} or a similar function, each patch will be made from {{param|parameter}} control points, each represented by a vertex taken from the enabeld vertex arrays. {{param|parameter}} must be greater than zero, and less than or equal to the value of {{enum|GL_MAX_PATCH_VERTICES}}.


When {{param|pname}} is {{code|GL_PATCH_DEFAULT_OUTER_LEVEL}} or {{code|GL_PATCH_DEFAULT_INNER_LEVEL}}, {{param|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.
When {{param|pname}} is {{enum|GL_PATCH_DEFAULT_OUTER_LEVEL}} or {{enum|GL_PATCH_DEFAULT_INNER_LEVEL}}, {{param|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 ==
== Errors ==


{{code|GL_INVALID_ENUM}} is generated if {{param|pname}} is not an accepted value.
{{enum|GL_INVALID_ENUM}} is generated if {{param|pname}} is not an accepted value.


{{code|GL_INVALID_VALUE}} is generated if {{param|pname}} is {{code|GL_PATCH_VERTICES}} and {{param|value}} is less than or equal to zero, or greater than the value of {{code|GL_MAX_PATCH_VERTICES}}.
{{enum|GL_INVALID_VALUE}} is generated if {{param|pname}} is {{enum|GL_PATCH_VERTICES}} and {{param|value}} is less than or equal to zero, or greater than the value of {{enum|GL_MAX_PATCH_VERTICES}}.


== See Also ==
== See Also ==

Revision as of 17:27, 29 April 2012

glPatchParameter
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​);
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/.