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
Specify the first viewport to set.
x,
y
For glViewportIndexedf, specifies the
lower left corner of the viewport rectangle, in pixels. The initial value is
(0,0).
width,
height
For glViewportIndexedf, specifies the
width and height of the viewport. When a GL context is first attached to a
window, width and height are set to the dimensions of that
window.
v
For glViewportIndexedfv, specifies the
address of an array containing the viewport parameters.
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
SEE ALSO¶
glDepthRange(),
glViewport(),
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/.