GLAPI/glScissorArray: 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 '''glScissorArrayv'''(GLuint | 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. | '''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 {{code|GL_MAX_VIEWPORTS}}, and {{param|first}} + {{param|count}} must be less than or equal to the value of {{code|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 | To enable and disable the scissor test, call {{apifunc|glEnable}} and {{apifunc|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. | ||
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 | {{code|GL_INVALID_VALUE}} is generated if {{param|first}} is greater than or equal to the value of {{code|GL_MAX_VIEWPORTS}}. | ||
{{code|GL_INVALID_VALUE}} is generated if | {{code|GL_INVALID_VALUE}} is generated if {{param|first}} + {{param|count}} is greater than or equal to the value of {{code|GL_MAX_VIEWPORTS}}. | ||
{{code|GL_INVALID_VALUE}} is generated if any width or height specified in the array | {{code|GL_INVALID_VALUE}} is generated if any width or height specified in the array {{param|v}} is negative. | ||
== Associated Gets == | == Associated Gets == | ||
{{apifunc|glGet}} with argument {{code|GL_SCISSOR_BOX}} | |||
{{apifunc|glIsEnabled}} with argument {{code|GL_SCISSOR_TEST}} | |||
== See Also == | == See Also == | ||
{{apifunc|glEnable}}, {{apifunc|glViewport}}, {{apifunc|glViewportIndexed}}, {{apifunc|glViewportArray}} | |||
== Copyright == | == Copyright == |
Revision as of 01:25, 29 April 2012
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, glViewport, glViewportIndexed, 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/.