GLAPI/glScissorArray: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adjusting API page category.
m Bot: Adding better formatting.
 
(4 intermediate revisions by the same user not shown)
Line 9: Line 9:
== Function Definition ==
== Function Definition ==


   void '''glScissorArrayv'''(GLuint ''first'', GLsizei ''count'', const GLint *''v'');
   void '''glScissorArrayv'''(GLuint {{param|first}}, GLsizei {{param|count}}, const GLint *{{param|v}});


; first
; first
Line 20: Line 20:
== Description ==
== Description ==


'''glScissorArrayv''' defines rectangles, called scissor boxes, in window coordinates for each viewport. ''first'' specifies the index of the first scissor box to modify and ''count'' specifies the number of scissor boxes to modify. ''first'' must be less than the value of {{code|GL_MAX_VIEWPORTS}}, and ''first'' + ''count'' must be less than or equal to the value of {{code|GL_MAX_VIEWPORTS}}. ''v'' specifies the address of an array containing integers specifying the lower left corner of the scissor boxes, and the width and height of the scissor boxes, in that order.
'''glScissorArrayv''' defines rectangles, called scissor boxes, in window coordinates for each viewport. {{param|first}} specifies the index of the first scissor box to modify and {{param|count}} specifies the number of scissor boxes to modify. {{param|first}} must be less than the value of {{enum|GL_MAX_VIEWPORTS}}, and {{param|first}} + {{param|count}} must be less than or equal to the value of {{enum|GL_MAX_VIEWPORTS}}. {{param|v}} specifies the address of an array containing integers specifying the lower left corner of the scissor boxes, and the width and height of the scissor boxes, in that order.


To enable and disable the scissor test, call [[GLAPI/glEnable|glEnable]] and [[GLAPI/glDisable|glDisable]] with argument {{code|GL_SCISSOR_TEST}}. The test is initially disabled for all viewports. While the test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels. {{code|glScissor(0,0,1,1)}} allows modification of only the lower left pixel in the window, and {{code|glScissor(0,0,0,0)}} doesn't allow modification of any pixels in the window.
To enable and disable the scissor test, call {{apifunc|glEnable}} and {{apifunc|glDisable}} with argument {{enum|GL_SCISSOR_TEST}}. The test is initially disabled for all viewports. While the test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels. {{code|glScissor(0,0,1,1)}} allows modification of only the lower left pixel in the window, and {{code|glScissor(0,0,0,0)}} doesn't allow modification of any pixels in the window.


When the scissor test is disabled, it is as though the scissor box includes the entire window.
When the scissor test is disabled, it is as though the scissor box includes the entire window.
Line 28: Line 28:
== Errors ==
== Errors ==


{{code|GL_INVALID_VALUE}} is generated if ''first'' is greater than or equal to the value of {{code|GL_MAX_VIEWPORTS}}.
{{enum|GL_INVALID_VALUE}} is generated if {{param|first}} is greater than or equal to the value of {{enum|GL_MAX_VIEWPORTS}}.


{{code|GL_INVALID_VALUE}} is generated if ''first'' + ''count'' is greater than or equal to the value of {{code|GL_MAX_VIEWPORTS}}.
{{enum|GL_INVALID_VALUE}} is generated if {{param|first}} + {{param|count}} is greater than or equal to the value of {{enum|GL_MAX_VIEWPORTS}}.


{{code|GL_INVALID_VALUE}} is generated if any width or height specified in the array ''v'' is negative.
{{enum|GL_INVALID_VALUE}} is generated if any width or height specified in the array {{param|v}} is negative.


== Associated Gets ==
== Associated Gets ==


[[GLAPI/glGet|glGet]] with argument {{code|GL_SCISSOR_BOX}}
{{apifunc|glGet}} with argument {{enum|GL_SCISSOR_BOX}}


[[GLAPI/glIsEnabled|glIsEnabled]] with argument {{code|GL_SCISSOR_TEST}}
{{apifunc|glIsEnabled}} with argument {{enum|GL_SCISSOR_TEST}}


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


[[GLAPI/glEnable|glEnable]], [[GLAPI/glViewport|glViewport]], [[GLAPI/glViewportIndexed|glViewportIndexed]], [[GLAPI/glViewportArray|glViewportArray]]
{{apifunc|glEnable|(GL_SCISSOR_TEST)}}, {{apifunc|glScissor}}, {{apifunc|glScissorIndexed}}, {{apifunc|glViewportArray}}


== Copyright ==
== Copyright ==
Line 48: Line 48:
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/ http://opencontent.org/openpub/].
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/ http://opencontent.org/openpub/].


[[Category:API Reference 4|ScissorArray]]
[[Category:Core API Ref Post Fragment Shader Operations|ScissorArray]]
[[Category:GL 4 API Post Fragment Shader Operations|ScissorArray]]
[[Category:Core API Reference|ScissorArray]]

Latest revision as of 01:54, 27 September 2012

glScissorArray
Core in version 4.6
Core since version 4.1
Core ARB extension ARB_viewport_array

glScissorArray: define the scissor box for multiple viewports

Function Definition

 void glScissorArrayv(GLuint first​, GLsizei count​, const GLint *v​);
first
Specifies the index of the first viewport whose scissor box to modify.
count
Specifies the number of scissor boxes to modify.
v
Specifies the address of an array containing the left, bottom, width and height of each scissor box, in that order.

Description

glScissorArrayv defines rectangles, called scissor boxes, in window coordinates for each viewport. first​ specifies the index of the first scissor box to modify and count​ specifies the number of scissor boxes to modify. first​ must be less than the value of GL_MAX_VIEWPORTS, and first​ + count​ must be less than or equal to the value of GL_MAX_VIEWPORTS. v​ specifies the address of an array containing integers specifying the lower left corner of the scissor boxes, and the width and height of the scissor boxes, in that order.

To enable and disable the scissor test, call glEnable and glDisable with argument GL_SCISSOR_TEST. The test is initially disabled for all viewports. While the test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels. glScissor(0,0,1,1) allows modification of only the lower left pixel in the window, and glScissor(0,0,0,0) doesn't allow modification of any pixels in the window.

When the scissor test is disabled, it is as though the scissor box includes the entire window.

Errors

GL_INVALID_VALUE is generated if first​ is greater than or equal to the value of GL_MAX_VIEWPORTS.

GL_INVALID_VALUE is generated if first​ + count​ is greater than or equal to the value of GL_MAX_VIEWPORTS.

GL_INVALID_VALUE is generated if any width or height specified in the array v​ is negative.

Associated Gets

glGet with argument GL_SCISSOR_BOX

glIsEnabled with argument GL_SCISSOR_TEST

See Also

glEnable(GL_SCISSOR_TEST), glScissor, glScissorIndexed, glViewportArray

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