Difference between revisions of "GLAPI/glPatchParameter"

From OpenGL Wiki
Jump to navigation Jump to search
m (Bot: Adding better formatting.)
m (→‎Description: typo fix)
 
Line 23: Line 23:
 
'''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}}.
 
'''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 {{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 {{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 enabled 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 {{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.
 
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.

Latest revision as of 16:48, 21 July 2017

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

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

Category:Core API Ref Vertex Rendering‎

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/.