Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MESA_window_pos.spec 3.7KB

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