-/* $Id: glu.h,v 1.2 1999/09/10 02:08:18 gareth Exp $ */
+/* $Id: glu.h,v 1.3 1999/09/11 11:34:21 brianp Exp $ */
/*
* Mesa 3-D graphics library
/*
* $Log: glu.h,v $
+ * Revision 1.3 1999/09/11 11:34:21 brianp
+ * added GLU_EXT_get_proc_address
+ *
* Revision 1.2 1999/09/10 02:08:18 gareth
* Added GLU 1.3 tessellation (except winding rule code).
*
GLUAPI const GLubyte* GLAPIENTRY gluGetString( GLenum name );
+
+/*
+ * GLU_EXT_get_proc_address extensions
+ */
+
+#ifdef GL_EXT_get_proc_address
+/* This extension requires GL_EXT_get_proc_address */
+
+GLUAPI GLfunction GLAPIENTRY gluGetProcAddressEXT( const GLubyte *procName );
+
+#define GLU_EXT_get_proc_address 1
+
+#endif /* GL_EXT_get_proc_address */
+
+
+
#if defined(__BEOS__) || defined(__QUICKDRAW__)
#pragma export off
#endif
-/* $Id: glu.c,v 1.3 1999/09/10 04:32:10 gareth Exp $ */
+/* $Id: glu.c,v 1.4 1999/09/11 11:36:26 brianp Exp $ */
/*
* Mesa 3-D graphics library
/*
* $Log: glu.c,v $
+ * Revision 1.4 1999/09/11 11:36:26 brianp
+ * added GLU_EXT_get_proc_address
+ *
* Revision 1.3 1999/09/10 04:32:10 gareth
* Fixed triangle output, recovery process termination.
*
const GLubyte* GLAPIENTRY gluGetString( GLenum name )
{
- static char *extensions = "GL_EXT_abgr";
+ static char *extensions = "GL_EXT_abgr GLU_EXT_get_proc_address";
static char *version = "1.1 Mesa 3.1";
switch (name) {
}
}
+
+
+#ifdef GLU_EXT_get_proc_address
+
+GLfunction GLAPIENTRY gluGetProcAddressEXT( const GLubyte *procName )
+{
+ struct proc {
+ const char *name;
+ void *address;
+ };
+ static struct proc procTable[] = {
+ { "gluGetProcAddressEXT", (void *) gluGetProcAddressEXT }, /* myself! */
+ { NULL, NULL }
+ };
+ GLuint i;
+
+ for (i = 0; procTable[i].address; i++) {
+ if (strcmp((const char *) procName, procTable[i].name) == 0)
+ return (GLfunction) procTable[i].address;
+ }
+
+ return NULL;
+}
+
+#endif
+