OSDN Git Service

mesa/main: Make FEATURE_feedback follow feature conventions.
[android-x86/external-mesa.git] / docs / MESA_window_pos.spec
1 Name
2
3     MESA_window_pos
4
5 Name Strings
6
7     GL_MESA_window_pos
8
9 Contact
10
11     Brian Paul, brian.paul 'at' tungstengraphics.com
12
13 Status
14
15     Shipping (since Mesa version 1.2.8)
16
17 Version
18
19
20 Number
21
22     197
23
24 Dependencies
25
26     OpenGL 1.0 is required.
27     The extension is written against the OpenGL 1.2 Specification
28
29 Overview
30
31     In order to set the current raster position to a specific window
32     coordinate with the RasterPos command, the modelview matrix, projection
33     matrix and viewport must be set very carefully.  Furthermore, if the
34     desired window coordinate is outside of the window's bounds one must
35     rely on a subtle side-effect of the Bitmap command in order to circumvent
36     frustum clipping.
37
38     This extension provides a set of functions to directly set the
39     current raster position, bypassing the modelview matrix, the
40     projection matrix and the viewport to window mapping.  Furthermore,
41     clip testing is not performed.
42
43     This greatly simplifies the process of setting the current raster
44     position to a specific window coordinate prior to calling DrawPixels,
45     CopyPixels or Bitmap.
46
47 New Procedures and Functions
48
49     void WindowPos2dMESA(double x, double y)
50     void WindowPos2fMESA(float x, float y)
51     void WindowPos2iMESA(int x, int y)
52     void WindowPos2sMESA(short x, short y)
53     void WindowPos2ivMESA(const int *p)
54     void WindowPos2svMESA(const short *p)
55     void WindowPos2fvMESA(const float *p)
56     void WindowPos2dvMESA(const double *p)
57     void WindowPos3iMESA(int x, int y, int z)
58     void WindowPos3sMESA(short x, short y, short z)
59     void WindowPos3fMESA(float x, float y, float z)
60     void WindowPos3dMESA(double x, double y, double z)
61     void WindowPos3ivMESA(const int *p)
62     void WindowPos3svMESA(const short *p)
63     void WindowPos3fvMESA(const float *p)
64     void WindowPos3dvMESA(const double *p)
65     void WindowPos4iMESA(int x, int y, int z, int w)
66     void WindowPos4sMESA(short x, short y, short z, short w)
67     void WindowPos4fMESA(float x, float y, float z, float w)
68     void WindowPos4dMESA(double x, double y, double z, double )
69     void WindowPos4ivMESA(const int *p)
70     void WindowPos4svMESA(const short *p)
71     void WindowPos4fvMESA(const float *p)
72     void WindowPos4dvMESA(const double *p)
73
74 New Tokens
75
76     none
77
78 Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation)
79
80   - (2.12, p. 41) Insert after third paragraph:
81
82       Alternately, the current raster position may be set by one of the
83       WindowPosMESA commands:
84
85          void WindowPos{234}{sidf}MESA( T coords );
86          void WindowPos{234}{sidf}vMESA( T coords );
87
88       WindosPos4MESA takes four values indicating x, y, z, and w.
89       WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only
90       x, y, and z with w implicitly set to 1 (or only x and y with z
91       implicititly set to 0 and w implicitly set to 1).
92
93       WindowPosMESA operates like RasterPos except that the current modelview
94       matrix, projection matrix and viewport parameters are ignored and the
95       clip test operation always passes.  The current raster position values
96       are directly set to the parameters passed to WindowPosMESA.  The current
97       color, color index and texture coordinate update the current raster
98       position's associated data.
99
100 Additions to the AGL/GLX/WGL Specifications
101
102     None
103
104 GLX Protocol
105
106     Not specified at this time.  However, a protocol message very similar
107     to that of RasterPos is expected.
108
109 Errors
110
111     INVALID_OPERATION is generated if WindowPosMESA is called betweeen
112     Begin and End.
113
114 New State
115
116     None.
117
118 New Implementation Dependent State
119
120     None.
121
122 Revision History
123
124   * Revision 1.0 - Initial specification
125   * Revision 1.1 - Minor clean-up  (7 Jan 2000, Brian Paul)
126