GLDEPTHRANGEARRAY(3G) OpenGL Manual GLDEPTHRANGEARRAY(3G)NAME
glDepthRangeArray - specify mapping of depth values from normalized device coordinates to window coordinates for a specified set of
viewports
C SPECIFICATION
void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);
PARAMETERS
first
Specifies the index of the first viewport whose depth range to update.
count
Specifies the number of viewports whose depth range to update.
v
Specifies the address of an array containing the near and far values for the depth range of each modified viewport.
DESCRIPTION
After clipping and division by w, depth coordinates range from -1 to 1, corresponding to the near and far clipping planes. Each viewport
has an independent depth range specified as a linear mapping of the normalized depth coordinates in this range to window depth coordinates.
Regardless of the actual depth buffer implementation, window coordinate depth values are treated as though they range from 0 through 1
(like color components). glDepthRangeArray specifies a linear mapping of the normalized depth coordinates in this range to window depth
coordinates for each viewport in the range [first, first + count). Thus, the values accepted by glDepthRangeArray are both clamped to this
range before they are accepted.
The first parameter specifies the index of the first viewport whose depth range to modify and must be less than the value of
GL_MAX_VIEWPORTS. count specifies the number of viewports whose depth range to modify. first + count must be less than or equal to the
value of GL_MAX_VIEWPORTS. v specifies the address of an array of pairs of double precision floating point values representing the near
and far values of the depth range for each viewport, in that order.
The setting of (0,1) maps the near plane to 0 and the far plane to 1. With this mapping, the depth buffer range is fully utilized.
NOTES
It is not necessary that the near plane distance be less than the far plane distance. Reverse mappings such as near = 1, and far = 0 are
acceptable.
The type of the v parameter was changed from GLclampd to GLdouble. This change is transparent to user code and is described in detail on
the removedTypes() page.
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.
ASSOCIATED GETS
glGet() with argument GL_DEPTH_RANGE
SEE ALSO
glDepthFunc(), glDepthRange(), glDepthRangeIndexed(), glPolygonOffset(), glViewportArray(), glViewport(), removedTypes()
COPYRIGHT
Copyright (C) 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/.
AUTHORS
opengl.org
opengl.org 06/10/2014 GLDEPTHRANGEARRAY(3G)
Check Out this Related Man Page
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
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 (C) 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/.
[FIXME: source] 05/30/2012 GLVIEWPORTINDEXED(3G)