table of contents
GLVIEWPORTINDEXED(3G) | [FIXME: manual] | GLVIEWPORTINDEXED(3G) |
NAME¶
glViewportIndexed - set a specified viewport
C SPECIFICATION¶
void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
void glViewportIndexedfv(GLuint index, const GLfloat *v);
PARAMETERS¶
index
x, y
width, height
v
DESCRIPTION¶
glViewportIndexedf and glViewportIndexedfv specify the parameters for a single viewport. index specifies the index of the viewport to modify. index must be less than the value of GL_MAX_VIEWPORTS. For glViewportIndexedf, x, y, w, and h specify the left, bottom, width and height of the viewport in pixels, respectively. For glViewportIndexedfv, v contains the address of an array of floating point values specifying the left (x), bottom (y), width (w), and height (h) of each viewport, in that order. x and y give the location of the viewport's lower left corner, and w and h give the width and height of the viewport, respectively. The viewport specifies the affine transformation of x and y from normalized device coordinates to window coordinates. Let x nd y nd be normalized device coordinates. Then the window coordinates x w y w are computed as follows:
x w = x nd + 1 width 2 + x
y w = y nd + 1 height 2 + y
The location of the viewport's bottom left corner, given by (x, y) is clamped to be within the implementaiton-dependent viewport bounds range. The viewport bounds range [min, max] can be determined by calling glGet() with argument GL_VIEWPORT_BOUNDS_RANGE. Viewport width and height are silently clamped to a range that depends on the implementation. To query this range, call glGet() with argument GL_MAX_VIEWPORT_DIMS.
The precision with which the GL interprets the floating point viewport bounds is implementation-dependent and may be determined by querying the impementation-defined constant GL_VIEWPORT_SUBPIXEL_BITS.
Calling glViewportIndexedfv is equivalent to calling glViewportArray() with first set to index, count set to 1 and v passsed directly. glViewportIndexedf is equivalent to:
void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) {
const float v[4] = { x, y, w, h };
glViewportArrayv(index, 1, v);
}
ERRORS¶
GL_INVALID_VALUE is generated if index is greater than or equal to the value of GL_MAX_VIEWPORTS.
GL_INVALID_VALUE is generated if either width or height is negative.
ASSOCIATED GETS¶
glGet() with argument GL_VIEWPORT
glGet() with argument GL_MAX_VIEWPORT_DIMS
glGet() with argument GL_VIEWPORT_BOUNDS_RANGE
glGet() with argument GL_VIEWPORT_SUBPIXEL_BITS
VERSION SUPPORT¶
OpenGL Version | ||||||||||||
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glViewportIndexedf | - | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ |
glViewportIndexedfv | - | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ |
SEE ALSO¶
glDepthRange(), glViewport(), glViewportArray()
COPYRIGHT¶
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¶
Copyright © 2010-2014 Khronos Group
04/12/2021 | [FIXME: source] |