GLAPI/glPatchParameter: Difference between revisions
m Renaming category: 'API Reference 4' to 'Core API Reference'. |
m Bot: Adding better formatting. |
||
Line 9: | Line 9: | ||
== Function Definition == | == Function Definition == | ||
void '''glPatchParameteri'''(GLenum | void '''glPatchParameteri'''(GLenum {{param|pname}}, GLint {{param|value}}); | ||
void '''glPatchParameterfv'''(GLenum | void '''glPatchParameterfv'''(GLenum {{param|pname}}, const GLfloat *{{param|values}}); | ||
; 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 {{code|GL_PATCH_VERTICES}}, {{code|GL_PATCH_DEFAULT_OUTER_LEVEL}}, and {{code|GL_PATCH_DEFAULT_INNER_LEVEL}} are accepted. | ||
; value | ; value | ||
: Specifies the new value for the parameter given by | : Specifies the new value for the parameter given by {{param|pname}}. | ||
; values | ; values | ||
: Specifies the address of an array containing the new values for the parameter given by | : Specifies the address of an array containing the new values for the parameter given by {{param|pname}}. | ||
== Description == | == Description == | ||
'''glPatchParameter''' specifies the parameters that will be used for patch primitives. | '''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}}. | ||
When | 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 | 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. | ||
== Errors == | == Errors == | ||
{{code|GL_INVALID_ENUM}} is generated if | {{code|GL_INVALID_ENUM}} is generated if {{param|pname}} is not an accepted value. | ||
{{code|GL_INVALID_VALUE}} is generated if | {{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}}. | ||
== See Also == | == See Also == | ||
{{apifunc|glDrawArrays}}, {{apifunc|glDrawArraysInstanced}}, {{apifunc|glDrawElements}}, {{apifunc|glDrawRangeElements}}, | |||
== Copyright == | == Copyright == |
Revision as of 01:23, 29 April 2012
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/.