blob: e44a49c9ac173626daa7cdfb641acecd99d0ed20 [file] [log] [blame]
Name
IBM_rasterpos_clip
Name Strings
GL_IBM_rasterpos_clip
Version
$Id: //depot/main/doc/registry/extensions/IBM/rasterpos_clip.spec#1 $
Number
110
Dependencies
None
Overview
IBM_rasterpos_clip extends the semantics of the RasterPos functions. It
provides an enable that allows a raster position that would normally be
clipped to be treated as a valid (albeit out-of-viewport) position.
This extension allows applications to specify geometry-aligned pixel
primitives that may be partially off-screen. These primitives are
tested on a pixel-by-pixel basis without being rejected completely
because of an invalid raster position.
Issues
Currently, clipping is disabled only in X and Y. If disabling Z
clipping is required, the behavior needs to be specified.
New Procedures and Functions
None
New Tokens
Accepted by the <target> parameter of Enable and Disable and the <value>
parameter of IsEnabled, GetBooleanv, GetIntegerv, GetFloatv, GetDoublev:
RASTER_POSITION_UNCLIPPED_IBM 103010
The enum is subject to change if this proposal attracts interest from
other vendors and becomes an EXT extension.
Additions to Chapter 2 of the GL Specification (OpenGL Operation)
In Section 2.12, the behavior of valid bit of the raster position with
respect to vertex clipping is defined.
The transformed coordinates are passed to clipping as if they
represented a point. If the "point" is not culled, then the
projection to window coordinates is computed (section 2.10) and
saved as the current raster position, and the valid bit is set. If
the "point" is culled, ... the valid bit is cleared.
The specification is modified to read:
The transformed coordinates are passed to clipping as if they
represented a point. If (1) the "point" is not culled, or (2)
RASTER_POSITION_UNCLIPPED_IBM is enabled and the "point" is not culled
except by the x and y components of the clip volume, then the
projection to window coordinates is computed (section 2.10) and saved
as the current raster position, and the valid bit is set. Otherwise,
... the valid bit is cleared.
Additions to Chapter 3 of the GL Specification (Rasterization)
None
Additions to Chapter 4 of the GL Specification (Per-Fragment Operations
and the Framebuffer)
None
Additions to Chapter 5 of the GL Specification (Special Functions)
None
Additions to Chapter 6 of the GL Specification (State and State Requests)
None
Additions to the GLX Specification
None
GLX Protocol
None (other than the new Enable target).
Errors
None
New State
Get Value Type Get Command Value Sec Attrib
----------------------------- ---- ----------- ----- ---- -------
RASTER_POSITION_UNCLIPPED_IBM B IsEnabled False 2.12 transform/
enable
New Implementation Dependent State
None