GLAPI/glPrimitiveRestartIndex: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Renaming category: 'API Reference 4' to 'Core API Reference'.
m Bot: Adding better formatting.
Line 8: Line 8:
== Function Definition ==
== Function Definition ==


   void '''glPrimitiveRestartIndex'''(GLuint ''index'');
   void '''glPrimitiveRestartIndex'''(GLuint {{param|index}});


; index
; index
Line 19: Line 19:
When one of the '''Draw*''' commands transfers a set of generic attribute array elements to the GL, if the index within the vertex arrays corresponding to that set is equal to the primitive restart index, then the GL does not process those elements as a vertex. Instead, it is as if the drawing command ended with the immediately preceding transfer, and another drawing command is immediately started with the same parameters, but only transferring the immediately following element through the end of the originally specified elements.
When one of the '''Draw*''' commands transfers a set of generic attribute array elements to the GL, if the index within the vertex arrays corresponding to that set is equal to the primitive restart index, then the GL does not process those elements as a vertex. Instead, it is as if the drawing command ended with the immediately preceding transfer, and another drawing command is immediately started with the same parameters, but only transferring the immediately following element through the end of the originally specified elements.


When either [[GLAPI/glDrawElementsBaseVertex|glDrawElementsBaseVertex]], [[GLAPI/glDrawElementsInstancedBaseVertex|glDrawElementsInstancedBaseVertex]] or [[GLAPI/glMultiDrawElementsBaseVertex|glMultiDrawElementsBaseVertex]] is used, the primitive restart comparison occurs before the basevertex offset is added to the array index.
When either {{apifunc|glDrawElementsBaseVertex}}, {{apifunc|glDrawElementsInstancedBaseVertex}} or {{apifunc|glMultiDrawElementsBaseVertex}} is used, the primitive restart comparison occurs before the basevertex offset is added to the array index.


== Notes ==
== Notes ==
Line 27: Line 27:
== See Also ==
== See Also ==


[[GLAPI/glDrawArrays|glDrawArrays]], [[GLAPI/glDrawElements|glDrawElements]], [[GLAPI/glDrawElementsBaseVertex|glDrawElementsBaseVertex]], [[GLAPI/glDrawElementsInstancedBaseVertex|glDrawElementsInstancedBaseVertex]]
{{apifunc|glDrawArrays}}, {{apifunc|glDrawElements}}, {{apifunc|glDrawElementsBaseVertex}}, {{apifunc|glDrawElementsInstancedBaseVertex}}


== Copyright ==
== Copyright ==

Revision as of 01:24, 29 April 2012

glPrimitiveRestartIndex
Core in version 4.6
Core since version 3.1

glPrimitiveRestartIndex: specify the primitive restart index

Function Definition

 void glPrimitiveRestartIndex(GLuint index​);
index
Specifies the value to be interpreted as the primitive restart index.

Description

glPrimitiveRestartIndex specifies a vertex array element that is treated specially when primitive restarting is enabled. This is known as the primitive restart index.

When one of the Draw* commands transfers a set of generic attribute array elements to the GL, if the index within the vertex arrays corresponding to that set is equal to the primitive restart index, then the GL does not process those elements as a vertex. Instead, it is as if the drawing command ended with the immediately preceding transfer, and another drawing command is immediately started with the same parameters, but only transferring the immediately following element through the end of the originally specified elements.

When either glDrawElementsBaseVertex, glDrawElementsInstancedBaseVertex or glMultiDrawElementsBaseVertex is used, the primitive restart comparison occurs before the basevertex offset is added to the array index.

Notes

glPrimitiveRestartIndex is available only if the GL version is 3.1 or greater.

See Also

glDrawArrays, glDrawElements, glDrawElementsBaseVertex, glDrawElementsInstancedBaseVertex

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