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

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