Back to the OpenGL extension cross reference

GL_MESA_window_pos


Name


    MESA_window_pos

Name Strings


    GL_MESA_window_pos

Contact


    Brian Paul, brianp 'at' mesa3d.org

Status


    Shipping (since Mesa version 1.2.8)

Version


    $Date$ $Revision$
Mesa Id: MESA_window_pos.spec,v 1.2 2000/01/07 08:47:15 brianp Exp

Number


    197

Dependencies


    OpenGL 1.0 is required.
The extension is written against the OpenGL 1.2 Specification

Overview


    In order to set the current raster position to a specific window
coordinate with the RasterPos command, the modelview matrix, projection
matrix and viewport must be set very carefully. Furthermore, if the
desired window coordinate is outside of the window's bounds one must
rely on a subtle side-effect of the Bitmap command in order to circumvent
frustum clipping.

This extension provides a set of functions to directly set the
current raster position, bypassing the modelview matrix, the
projection matrix and the viewport to window mapping. Furthermore,
clip testing is not performed.

This greatly simplifies the process of setting the current raster
position to a specific window coordinate prior to calling DrawPixels,
CopyPixels or Bitmap.

New Procedures and Functions


    void WindowPos2dMESA(double x, double y)
void WindowPos2fMESA(float x, float y)
void WindowPos2iMESA(int x, int y)
void WindowPos2sMESA(short x, short y)
void WindowPos2ivMESA(const int *p)
void WindowPos2svMESA(const short *p)
void WindowPos2fvMESA(const float *p)
void WindowPos2dvMESA(const double *p)
void WindowPos3iMESA(int x, int y, int z)
void WindowPos3sMESA(short x, short y, short z)
void WindowPos3fMESA(float x, float y, float z)
void WindowPos3dMESA(double x, double y, double z)
void WindowPos3ivMESA(const int *p)
void WindowPos3svMESA(const short *p)
void WindowPos3fvMESA(const float *p)
void WindowPos3dvMESA(const double *p)
void WindowPos4iMESA(int x, int y, int z, int w)
void WindowPos4sMESA(short x, short y, short z, short w)
void WindowPos4fMESA(float x, float y, float z, float w)
void WindowPos4dMESA(double x, double y, double z, double )
void WindowPos4ivMESA(const int *p)
void WindowPos4svMESA(const short *p)
void WindowPos4fvMESA(const float *p)
void WindowPos4dvMESA(const double *p)

New Tokens


    none

Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation)


  - (2.12, p. 41) Insert after third paragraph:

Alternately, the current raster position may be set by one of the
WindowPosMESA commands:

void WindowPos{234}{sidf}MESA( T coords );
void WindowPos{234}{sidf}vMESA( T coords );

WindosPos4MESA takes four values indicating x, y, z, and w.
WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only
x, y, and z with w implicitly set to 1 (or only x and y with z
implicititly set to 0 and w implicitly set to 1).

WindowPosMESA operates like RasterPos except that the current modelview
matrix, projection matrix and viewport parameters are ignored and the
clip test operation always passes. The current raster position values
are directly set to the parameters passed to WindowPosMESA. The current
color, color index and texture coordinate update the current raster
position's associated data.

Additions to the AGL/GLX/WGL Specifications


    None

GLX Protocol


    Not specified at this time.  However, a protocol message very similar
to that of RasterPos is expected.

Errors


    INVALID_OPERATION is generated if WindowPosMESA is called betweeen
Begin and End.

New State


    None.

New Implementation Dependent State


    None.

Revision History


  * Revision 1.0 - Initial specification
* Revision 1.1 - Minor clean-up (7 Jan 2000, Brian Paul)

Implementation Support


   List of OpenGL implementations supporting the GL_MESA_window_pos extension

Original File


   Original text file for the GL_MESA_window_pos extension


Page generated on Sun Nov 20 18:40:22 2005