GLSCISSORARRAY(3G)

πŸ’… GLSCISSORARRAY(3G) β€” bestie edition πŸ’…

okay so this is the manual page for GLSCISSORARRAY(3G), manual name 3G (the header's manual slot literally says [FIXME: manual]), and today we're talking about glScissorArrayv. It's giving "multiple viewports, multiple scissor boxes" energy, and honestly? iconic. πŸŽ€


✨ NAME ✨

glScissorArray β€” define the scissor box for multiple viewports πŸ’–

🧚 C SPECIFICATION 🧚

void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);

πŸŽ€ PARAMETERS πŸŽ€

  • 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 πŸ¦‹

okay so 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 🌸

πŸ‘‘ VERSION SUPPORT πŸ‘‘

The chart's column header is OpenGL Version, and the row is Function / Feature Name β†’ glScissorArrayv:

  • Column header: OpenGL Version
  • Row header: Function / Feature Name β†’ glScissorArrayv
  • Not supported (-) in: 2.0, 2.1, 3.0, 3.1, 3.2, 3.3, 4.0
  • Supported (βœ”) in: 4.1, 4.2, 4.3, 4.4, 4.5

πŸ’œ SEE ALSO πŸ’œ

  • glEnable() πŸ’–
  • glViewport() πŸ’–
  • glViewportIndexed() πŸ’–
  • glViewportArray() πŸ’–

Copyright Β© 2010-2014 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/.

Copyright Β© 2010-2014 Khronos Group


and that's the whole page, bestie 🫢 this one came from [FIXME: source], dated 08/09/2021, and it answers to GLSCISSORARRAY(3G) β€” slay. πŸ’…βœ¨

πŸ“¦ where this page comes from