~mmach/netext73/mesa-haswell

« back to all changes in this revision

Viewing changes to docs/_extra/specs/MESA_window_pos.spec

  • Committer: mmach
  • Date: 2022-09-22 19:56:13 UTC
  • Revision ID: netbit73@gmail.com-20220922195613-wtik9mmy20tmor0i
2022-09-22 21:17:09

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
      implicitly 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 between
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