123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- 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
-
- $Id: MESA_window_pos.spec,v 1.3 2000/04/04 23:29:32 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)
|