4 * Gestion des extensions sous OpenGL
9 * Ce package a ete teste sur SGI, OSF, SUN, HP et WNT.
13 * Le InitExtensionGLX permet d'initialiser le display. Ceci est necessaire
14 * pour travailler sur les extensions de GLX. On ne peut appeler QueryExtensionGLX
15 * si on n'a pas fait cette manip.
16 * Par contre QueryExtension gere les extensions a GL, on n'a pas besoin du
19 * Pour l'instant on ne gere pas les extensions a GLU et a WGL.
21 * Historique des modifications
22 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 * 14-10-97: FMN ; Creation
24 * 23-10-97: FMN ; Ajout gestion glx
25 * 19-11-97: FMN ; Ajout GetCurrentDisplay
26 * 04-12-97: FMN ; Ajout supportsOneDotOne
27 * 19-06-98: FMN ; Portage Optimizer (C++)
29 /*----------------------------------------------------------------------*/
31 #ifndef _OPENGL_EXTENSION_H__
32 #define _OPENGL_EXTENSION_H__
34 /*----------------------------------------------------------------------*/
39 #if defined(WNT) && !defined(HAVE_NO_DLL)
41 # define EXPORT __declspec(dllexport)
68 #define GL_EXT_vertex_array 1
69 #define GL_EXT_polygon_offset 1
70 #define GL_EXT_blend_logic_op 1
71 #define GL_EXT_texture 1
72 #define GL_EXT_copy_texture 1
73 #define GL_EXT_subtexture 1
74 #define GL_EXT_texture_object 1
75 #endif /* GL_VERSION_1_1 */
78 #ifndef GLU_VERSION_1_2
79 #define GLUtesselator GLUtriangulatorObj
80 #define GLU_TESS_BEGIN 100100
81 #define GLU_TESS_VERTEX 100101
82 #define GLU_TESS_END 100102
83 #define GLU_TESS_ERROR 100103
84 #define GLU_TESS_COMBINE 100105
87 #define INVALID_EXT_FUNCTION_PTR 0xffffffff
89 * Contournement temporaire glPolygoneOffsetEXT
90 * La syntaxe change entre OpenGL 1.0 et OpenGL 1.1
93 #if defined (__sun) || defined (__osf__) || defined (__hp)
94 #define glPolygonOffsetEXT(a, b) glPolygonOffset(a, b)
97 #define GL_POLYGON_OFFSET_EXT GL_POLYGON_OFFSET_FILL
101 #define glPolygonOffsetEXT(a, b) glPolygonOffset(a, b)
102 #define GL_POLYGON_OFFSET_EXT GL_POLYGON_OFFSET_FILL
105 #if defined (__sun) || defined (__osf__) || defined (__hp) || defined (__sgi)
107 typedef void (APIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
110 /*----------------------------------------------------------------------*/
116 * Points d'entree Public du module
120 extern GLboolean InitExtensionGLX(Display *display);
121 extern GLboolean QueryExtensionGLX(char *extName);
123 extern GLboolean QueryExtension(char *extName);
125 extern Display *GetCurrentDisplay(void);
127 extern GLboolean supportsOneDotOne(void);
129 extern GLboolean CheckExtension(char *extName, const char *extString);
132 /* Methods defined in OpenGl_GraphicDriver.cxx */
134 EXPORT GLboolean OpenGl_QueryExtensionGLX (const char *extName);
136 EXPORT GLboolean OpenGl_QueryExtension (const char *extName);
138 /*----------------------------------------------------------------------*/
140 #endif /* _OPENGL_EXTENSION_H__ */