GLINGR.H 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*
  2. ===========================================================================
  3. Copyright (C) 1999-2005 Id Software, Inc.
  4. This file is part of Quake III Arena source code.
  5. Quake III Arena source code is free software; you can redistribute it
  6. and/or modify it under the terms of the GNU General Public License as
  7. published by the Free Software Foundation; either version 2 of the License,
  8. or (at your option) any later version.
  9. Quake III Arena source code is distributed in the hope that it will be
  10. useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with Foobar; if not, write to the Free Software
  15. Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  16. ===========================================================================
  17. */
  18. // This .h file contains constants, typedefs, etc. for Intergraph
  19. // extensions to OpenGL. These extensions are:
  20. //
  21. // Multiple Palette Extension
  22. // Texture Object Extension
  23. #define GL_INGR_multiple_palette 1
  24. #define GL_EXT_texture_object 1
  25. // New constants and typedefs for the Multiple Palette Extension
  26. #define GL_PALETTE_INGR 0x80c0
  27. #define GL_MAX_PALETTES_INGR 0x80c1
  28. #define GL_MAX_PALETTE_ENTRIES_INGR 0x80c2
  29. #define GL_CURRENT_PALETTE_INGR 0x80c3
  30. #define GL_PALETTE_WRITEMASK_INGR 0x80c4
  31. #define GL_CURRENT_RASTER_PALETTE_INGR 0x80c5
  32. #define GL_PALETTE_CLEAR_VALUE_INGR 0x80c6
  33. // Function prototypes for the Multiple Palette Extension routines
  34. typedef void (APIENTRY *PALETTEFUNCPTR)(GLuint);
  35. typedef void (APIENTRY *PALETTEMASKFUNCPTR)(GLboolean);
  36. typedef void (APIENTRY *WGLLOADPALETTEFUNCPTR)(GLuint, GLsizei, GLuint *);
  37. typedef void (APIENTRY *CLEARPALETTEFUNCPTR)(GLuint);
  38. // New Constants and typedefs for the Texture Object Extension
  39. #define GL_TEXTURE_PRIORITY_EXT 0x8066
  40. #define GL_TEXTURE_RESIDENT_EXT 0x8067
  41. #define GL_TEXTURE_1D_BINDING_EXT 0x8068
  42. #define GL_TEXTURE_2D_BINDING_EXT 0x8069
  43. // Function prototypes for the Texture Object Extension routines
  44. typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *,
  45. const GLboolean *);
  46. typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint);
  47. typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *);
  48. typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *);
  49. typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint);
  50. typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *,
  51. const GLclampf *);
  52. /* OpenGL ExtEscape escape function constants */
  53. #ifndef OPENGL_GETINFO
  54. #define OPENGL_GETINFO 4353 /* for OpenGL ExtEscape */
  55. #endif
  56. // OPENGL_GETINFO ExtEscape sub-escape numbers. They are defined by
  57. // Microsoft.
  58. #ifndef OPENGL_GETINFO_DRVNAME
  59. #define OPENGL_GETINFO_DRVNAME 0
  60. // Input structure for OPENGL_GETINFO ExtEscape.
  61. typedef struct _OPENGLGETINFO
  62. {
  63. ULONG ulSubEsc;
  64. } OPENGLGETINFO, *POPENGLGETINFO;
  65. // Output structure for OPENGL_GETINFO_DRVNAME ExtEscape.
  66. typedef struct _GLDRVNAMERET
  67. {
  68. ULONG ulVersion; // must be 1 for this version
  69. ULONG ulDriverVersion; // driver specific version number
  70. WCHAR awch[MAX_PATH+1];
  71. } GLDRVNAMERET, *PGLDRVNAMERET;
  72. #endif