1 /*---------------------------------------------------------------------------*\
5 * Copyright (C) 2000-2003 by the OpenSG Forum *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
15 * This library is free software; you can redistribute it and/or modify it *
16 * under the terms of the GNU Library General Public License as published *
17 * by the Free Software Foundation, version 2. *
19 * This library is distributed in the hope that it will be useful, but *
20 * WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
22 * Library General Public License for more details. *
24 * You should have received a copy of the GNU Library General Public *
25 * License along with this library; if not, write to the Free Software *
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
37 \*---------------------------------------------------------------------------*/
39 #ifndef _OSGGLFUNCPROTOS_H_
40 #define _OSGGLFUNCPROTOS_H_
45 #include "OSGConfig.h"
47 #ifndef DOXYGEN_SHOULD_SKIP_THIS
55 #ifndef DOXYGEN_SHOULD_SKIP_THIS
56 /*---------------------------------------------------------------------------*/
58 /*! \ingroup GrpBaseBaseGLFunc */
61 typedef GLuint (OSG_APIENTRY
* osgGlCreateShaderProc
)( GLenum
);
62 typedef void (OSG_APIENTRY
* osgGlDeleteShaderProc
)( GLuint
);
63 typedef void (OSG_APIENTRY
* osgGlShaderSourceProc
)( GLuint
,
68 typedef void (OSG_APIENTRY
* osgGlCompileShaderProc
)( GLuint
);
70 typedef void (OSG_APIENTRY
* osgGlAttachShaderProc
)( GLuint
,
73 typedef void (OSG_APIENTRY
* osgGlGetShaderivProc
)( GLuint
,
76 typedef void (OSG_APIENTRY
*
77 osgGlGetShaderInfoLogProc
)( GLuint
,
82 typedef GLuint (OSG_APIENTRY
* osgGlCreateProgramProc
)( void );
83 typedef void (OSG_APIENTRY
* osgGlDeleteProgramProc
)( GLuint
);
84 typedef void (OSG_APIENTRY
* osgGlLinkProgramProc
)( GLuint
);
85 typedef void (OSG_APIENTRY
* osgGlGetProgramivProc
)( GLuint
,
88 typedef void (OSG_APIENTRY
*
89 osgGlGetProgramInfoLogProc
)( GLuint
,
93 typedef void (OSG_APIENTRY
* osgGlUseProgramProc
)( GLuint
);
96 /*---------------------------------------------------------------------------*/
97 /*! \name Shader Uniforms */
98 /*! \ingroup GrpBaseBaseGLFunc */
101 typedef GLint (OSG_APIENTRY
* osgGlGetUniformLocationProc
)( GLuint
,
104 typedef void (OSG_APIENTRY
* osgGlUniform1iProc
)( GLint
,
106 typedef void (OSG_APIENTRY
* osgGlUniform2iProc
)( GLint
,
109 typedef void (OSG_APIENTRY
* osgGlUniform3iProc
)( GLint
,
113 typedef void (OSG_APIENTRY
* osgGlUniform4iProc
)( GLint
,
119 typedef void (OSG_APIENTRY
* osgGlUniform1fProc
)( GLint
,
121 typedef void (OSG_APIENTRY
* osgGlUniform2fProc
)( GLint
,
124 typedef void (OSG_APIENTRY
* osgGlUniform3fProc
)( GLint
,
128 typedef void (OSG_APIENTRY
* osgGlUniform4fProc
)( GLint
,
134 typedef void (OSG_APIENTRY
* osgGlUniform1ivProc
)( GLint
,
137 typedef void (OSG_APIENTRY
* osgGlUniform2ivProc
)( GLint
,
140 typedef void (OSG_APIENTRY
* osgGlUniform3ivProc
)( GLint
,
143 typedef void (OSG_APIENTRY
* osgGlUniform4ivProc
)( GLint
,
147 typedef void (OSG_APIENTRY
* osgGlUniform1fvProc
)( GLint
,
150 typedef void (OSG_APIENTRY
* osgGlUniform2fvProc
)( GLint
,
153 typedef void (OSG_APIENTRY
* osgGlUniform3fvProc
)( GLint
,
156 typedef void (OSG_APIENTRY
* osgGlUniform4fvProc
)( GLint
,
161 typedef void (OSG_APIENTRY
* osgGlUniformMatrix2fvProc
)( GLint
,
165 typedef void (OSG_APIENTRY
* osgGlUniformMatrix3fvProc
)( GLint
,
169 typedef void (OSG_APIENTRY
* osgGlUniformMatrix4fvProc
)( GLint
,
174 typedef void (OSG_APIENTRY
*
175 osgGlProgramParameteriEXTProc
)( GLuint
,
179 typedef void (OSG_APIENTRY
* osgGlBindAttribLocationProc
)( GLuint
,
185 /*---------------------------------------------------------------------------*/
186 /*! \name FrameBuffer Objects */
187 /*! \ingroup GrpBaseBaseGLFunc */
190 typedef void (OSG_APIENTRY
*osgGlGenerateMipmapEXTProc
)(GLenum
);
193 /*---------------------------------------------------------------------------*/
194 /*! \name Clamp Color */
195 /*! \ingroup GrpBaseBaseGLFunc */
198 typedef void (OSG_APIENTRY
*osgGlClampColorARBProc
)(GLenum
, GLenum
);
201 /*---------------------------------------------------------------------------*/
202 /*! \name Texture 3D */
203 /*! \ingroup GrpBaseBaseGLFunc */
206 typedef void (OSG_APIENTRY
*osgGlTexImage3DProc
)(
209 GLint internalformat
,
216 const GLvoid
*pixels
);
218 typedef void (OSG_APIENTRY
*osgGlTexSubImage3DProc
)(
229 const GLvoid
*pixels
);
232 /*---------------------------------------------------------------------------*/
233 /*! \name Texture Compressed */
234 /*! \ingroup GrpBaseBaseGLFunc */
237 typedef void (OSG_APIENTRY
*osgGlCompressedTexImage1DProc
)(
240 GLenum internalformat
,
244 const GLvoid
*pixels
);
246 typedef void (OSG_APIENTRY
*osgGlCompressedTexSubImage1DProc
)(
253 const GLvoid
*pixels
);
256 typedef void (OSG_APIENTRY
*osgGlCompressedTexImage2DProc
)(
259 GLenum internalformat
,
264 const GLvoid
*pixels
);
266 typedef void (OSG_APIENTRY
*osgGlCompressedTexSubImage2DProc
)(
275 const GLvoid
*pixels
);
278 typedef void (OSG_APIENTRY
*osgGlCompressedTexImage3DProc
)(
281 GLenum internalformat
,
287 const GLvoid
*pixels
);
289 typedef void (OSG_APIENTRY
*osgGlCompressedTexSubImage3DProc
)(
300 const GLvoid
*pixels
);
303 /*---------------------------------------------------------------------------*/
304 /*! \name BufferObjects */
305 /*! \ingroup GrpBaseBaseGLFunc */
308 typedef void (OSG_APIENTRY
*osgGlBindBufferProc
)(
312 typedef void (OSG_APIENTRY
*osgGlBufferDataProc
)(
318 typedef void (OSG_APIENTRY
*osgGlBufferSubDataProc
)(
324 typedef void (OSG_APIENTRY
*osgGlGenBuffersProc
)(
328 typedef void (OSG_APIENTRY
*osgGlDeleteBuffersProc
)(
332 typedef void *(OSG_APIENTRY
*osgGlMapBufferProc
)(
336 typedef GLboolean (OSG_APIENTRY
*osgGlUnmapBufferProc
)(
339 typedef void (OSG_APIENTRY
*osgGlEnableVertexAttribArrayProc
)(
342 typedef void (OSG_APIENTRY
*osgGlDisableVertexAttribArrayProc
)(
345 typedef void (OSG_APIENTRY
*osgGlClientActiveTextureProc
)(
348 typedef void (OSG_APIENTRY
*osgGlActiveTextureProc
)(
351 typedef void (OSG_APIENTRY
*osgGlVertexAttribPointerProc
)(
355 GLboolean normalized
,
357 const GLvoid
*pointer
);
359 typedef void (OSG_APIENTRY
*osgGlSecondaryColorPointerProc
)(
363 const GLvoid
*pointer
);
365 typedef void (OSG_APIENTRY
*osgGlGetBufferSubDataProc
)(
371 typedef void (OSG_APIENTRY
*osgGlGetBufferParameterivProc
)(
375 typedef void (OSG_APIENTRY
*osgGlGetBufferPointervProc
)(
380 typedef GLboolean (OSG_APIENTRY
*osgGlIsBufferProc
)(
384 /*---------------------------------------------------------------------------*/
385 /*! \name VertexArrayObjects */
386 /*! \ingroup GrpBaseBaseGLFunc */
389 typedef void (OSG_APIENTRY
*osgGlBindVertexArrayProc
)( GLuint array
);
390 typedef void (OSG_APIENTRY
*osgGlDeleteVertexArraysProc
)( GLsizei n
,
391 const GLuint
*arrays
);
392 typedef void (OSG_APIENTRY
*osgGlGenVertexArraysProc
)( GLsizei n
,
396 /*---------------------------------------------------------------------------*/
397 /*! \name Draw Elements */
398 /*! \ingroup GrpBaseBaseGLFunc */
401 typedef void (OSG_APIENTRY
*osgGlLockArraysProc
)( GLint
,
403 typedef void (OSG_APIENTRY
*osgGlUnlockArraysProc
)( void);
404 typedef void (OSG_APIENTRY
*osgGlDrawRangeElementsProc
)( GLenum
,
412 /*---------------------------------------------------------------------------*/
413 /*! \name Vertex Attribs */
414 /*! \ingroup GrpBaseBaseGLFunc */
417 typedef void (OSG_APIENTRY
*osgGlMultiTexCoord3fvProc
)(GLenum
, const GLfloat
*);
420 /*---------------------------------------------------------------------------*/
421 /*! \name TextureBuffers */
422 /*! \ingroup GrpBaseBaseGLFunc */
425 typedef void (OSG_APIENTRY
*osgGlFramebufferTexture1DProc
)(GLenum target
,
431 typedef void (OSG_APIENTRY
*osgGlFramebufferTexture2DProc
)(GLenum target
,
437 typedef void (OSG_APIENTRY
*osgGlFramebufferTexture3DProc
)(GLenum target
,
444 typedef void (OSG_APIENTRY
*osgGlGenerateMipmapProc
)(GLenum target
);
447 /*---------------------------------------------------------------------------*/
448 /*! \name RenderBuffers */
449 /*! \ingroup GrpBaseBaseGLFunc */
452 typedef void (OSG_APIENTRY
*osgGlGenRenderbuffersProc
)(
454 GLuint
*renderbuffers
);
456 typedef void (OSG_APIENTRY
*osgGlBindRenderbufferProc
)(
458 GLuint renderbuffer
);
460 typedef void (OSG_APIENTRY
*osgGlRenderbufferStorageProc
)(
462 GLenum internalformat
,
466 typedef void (OSG_APIENTRY
*osgGlDeleteRenderbuffersProc
)(
468 const GLuint
*renderbuffers
);
471 /*---------------------------------------------------------------------------*/
472 /*! \name FrameBufferObjects */
473 /*! \ingroup GrpBaseBaseGLFunc */
476 typedef void (OSG_APIENTRY
*osgGlGenFramebuffersProc
)(
478 GLuint
*framebuffers
);
480 typedef void (OSG_APIENTRY
*osgGlDeleteFramebuffersProc
)(
482 const GLuint
*framebuffers
);
484 typedef void (OSG_APIENTRY
*osgGlBindFramebufferProc
)(
488 typedef void (OSG_APIENTRY
*osgGlFramebufferRenderbufferProc
)(
491 GLenum renderbuffertarget
,
492 GLuint renderbuffer
);
494 typedef void (OSG_APIENTRY
*osgGlDrawBuffersProc
)(
496 const GLenum
*buffers
);
498 typedef GLenum (OSG_APIENTRY
*osgGlCheckFramebufferStatusProc
)(
502 /*---------------------------------------------------------------------------*/
503 /*! \name Point Sprites */
504 /*! \ingroup GrpBaseBaseGLFunc */
507 typedef void (OSG_APIENTRY
*osgGlPointParameterfProc
)(
511 typedef void (OSG_APIENTRY
*osgGlPointParameterfvProc
)(
513 const GLfloat
*params
);
516 /*---------------------------------------------------------------------------*/
518 /*! \ingroup GrpBaseBaseGLFunc */
521 typedef void (OSG_APIENTRY
*osgGlGenQueriesProc
)( GLsizei
,
523 typedef void (OSG_APIENTRY
*osgGlDeleteQueriesProc
)( GLsizei
,
525 typedef GLboolean (OSG_APIENTRY
*osgGlIsQueryProc
)( GLuint
);
526 typedef void (OSG_APIENTRY
*osgGlBeginQueryProc
)( GLenum
,
528 typedef void (OSG_APIENTRY
*osgGlEndQueryProc
)( GLenum
);
529 typedef void (OSG_APIENTRY
*osgGlGetQueryivProc
)( GLenum
,
532 typedef void (OSG_APIENTRY
*osgGlGetQueryObjectivProc
)( GLuint
,
535 typedef void (OSG_APIENTRY
*osgGlGetQueryObjectuivProc
)( GLuint
,
538 typedef void (OSG_APIENTRY
*osgGlBeginQueryIndexedProc
)( GLenum
,
541 typedef void (OSG_APIENTRY
*osgGlEndQueryIndexedProc
)( GLenum
,
545 typedef const GLubyte
* (OSG_APIENTRY
*osgGlGetStringiProc
)(GLenum name
,
550 /*---------------------------------------------------------------------------*/
551 /*! \name Blending */
552 /*! \ingroup GrpBaseBaseGLFunc */
555 typedef void (OSG_APIENTRY
*osgGlBlendColorProc
)(GLclampf
,
559 typedef void (OSG_APIENTRY
*osgGlBlendEquationProc
)(GLenum
);
560 typedef void (OSG_APIENTRY
*osgGlBlendFuncSeparateProc
)(GLenum
,
566 /*---------------------------------------------------------------------------*/
567 /*! \name ARB Program */
568 /*! \ingroup GrpBaseBaseGLFunc */
571 typedef void (OSG_APIENTRY
*osgGlProgramStringARBProc
)(
577 typedef void (OSG_APIENTRY
*osgGlBindProgramARBProc
)(
581 typedef void (OSG_APIENTRY
*osgGlDeleteProgramsARBProc
)(
585 typedef void (OSG_APIENTRY
*osgGlGenProgramsARBProc
)(
589 #ifndef OSG_OGL_NO_DOUBLE
590 typedef void (OSG_APIENTRY
*osgGlProgramEnvParameter4dARBProc
)(
598 typedef void (OSG_APIENTRY
*osgGlProgramEnvParameter4dvARBProc
)(
604 typedef void (OSG_APIENTRY
*osgGlProgramEnvParameter4fARBProc
)(
612 typedef void (OSG_APIENTRY
*osgGlProgramEnvParameter4fvARBProc
)(
617 #ifndef OSG_OGL_NO_DOUBLE
618 typedef void (OSG_APIENTRY
*osgGlProgramLocalParameter4dARBProc
)(
626 typedef void (OSG_APIENTRY
*osgGlProgramLocalParameter4dvARBProc
)(
632 typedef void (OSG_APIENTRY
*osgGlProgramLocalParameter4fARBProc
)(
640 typedef void (OSG_APIENTRY
*osgGlProgramLocalParameter4fvARBProc
)(
645 typedef void (OSG_APIENTRY
*osgGlGetProgramivARBProc
)(
651 /*---------------------------------------------------------------------------*/
652 /*! \name Register Combiner */
653 /*! \ingroup GrpBaseBaseGLFunc */
656 typedef void (OSG_APIENTRY
*osgGlCombinerParameterfvNVProc
)(
660 typedef void (OSG_APIENTRY
*osgGlCombinerParameterfNVProc
)(
664 typedef void (OSG_APIENTRY
*osgGlCombinerParameterivNVProc
)(
668 typedef void (OSG_APIENTRY
*osgGlCombinerParameteriNVProc
)(
672 typedef void (OSG_APIENTRY
*osgGlCombinerInputNVProc
)(
680 typedef void (OSG_APIENTRY
*osgGlCombinerOutputNVProc
)(
692 typedef void (OSG_APIENTRY
*osgGlFinalCombinerInputNVProc
)(
697 typedef void (OSG_APIENTRY
*osgGlGetCombinerInputParameterfvNVProc
)(
704 typedef void (OSG_APIENTRY
*osgGlGetCombinerInputParameterivNVProc
)(
711 typedef void (OSG_APIENTRY
*osgGlGetCombinerOutputParameterfvNVProc
)(
717 typedef void (OSG_APIENTRY
*osgGlGetCombinerOutputParameterivNVProc
)(
723 typedef void (OSG_APIENTRY
*osgGlGetFinalCombinerInputParameterfvNVProc
)(
728 typedef void (OSG_APIENTRY
*osgGlGetFinalCombinerInputParameterivNVProc
)(
733 typedef void (OSG_APIENTRY
*osgGlCombinerStageParameterfvNVProc
)(
738 typedef void (OSG_APIENTRY
*osgGlGetCombinerStageParameterfvNVProc
)(
744 /*---------------------------------------------------------------------------*/
745 /*! \name Register Combiner */
746 /*! \ingroup GrpBaseBaseGLFunc */
749 typedef void (OSG_APIENTRY
*osgGlBindBufferBaseProc
)( GLenum
,
752 typedef void (OSG_APIENTRY
*osgGlTransformFeedbackVaryingsProc
)( GLuint
,
757 typedef void (OSG_APIENTRY
*osgGlBeginTransformFeedbackProc
)( GLenum
);
758 typedef void (OSG_APIENTRY
*osgGlEndTransformFeedbackProc
)( void );
760 typedef void (OSG_APIENTRY
*osgGlPauseTransformFeedbackProc
)( void );
761 typedef void (OSG_APIENTRY
*osgGlResumeTransformFeedbackProc
)( void );
765 /*---------------------------------------------------------------------------*/
766 /*! \name GL Function Helper */
767 /*! \ingroup GrpBaseBaseGLFunc */
772 # define OSGGETGLFUNC_W(OGLFUNC, FUNCVAR, FUNCID) \
773 OSG::FUNCVAR##Proc FUNCVAR = \
774 reinterpret_cast<OSG::FUNCVAR##Proc>( \
775 pEnv->getWindow()->getFunction(FUNCID)); \
777 if(FUNCVAR == NULL) \
778 FFATAL(("Func %s of type %s NULL, window %p\n", \
779 #FUNCVAR, #OGLFUNC, pEnv->getWindow())) \
781 # define OSGGETGLFUNCBYID_W(OGLFUNC, FUNCVAR, FUNCID, WINDOW) \
782 OSG::FUNCVAR##Proc FUNCVAR = \
783 reinterpret_cast< OSG:: FUNCVAR##Proc >( \
784 (WINDOW)->getFunction(FUNCID)); \
786 if(FUNCVAR == NULL) \
787 FFATAL(("Func %s of type %s NULL, window %p\n", \
788 #FUNCVAR, #OGLFUNC, (WINDOW))) \
790 # define OSGGETGLFUNCBYNAME_W(OGLFUNC, FUNCVAR, FUNCNAME, WINDOW) \
791 OSG::FUNCVAR##Proc FUNCVAR = \
792 reinterpret_cast<OSG::FUNCVAR##Proc>( \
793 (WINDOW)->getFunctionByName(FUNCNAME)); \
795 if(FUNCVAR == NULL) \
796 FFATAL(("Func %s of type %s NULL, window %p\n", \
797 #FUNCVAR, #OGLFUNC, (WINDOW))) \
801 # define OSGGETGLFUNC_W(OGLFUNC, FUNCVAR, FUNCID) \
802 OSG::FUNCVAR##Proc FUNCVAR = \
803 reinterpret_cast<OSG::FUNCVAR##Proc>( \
804 pEnv->getWindow()->getFunction(FUNCID));
806 # define OSGGETGLFUNCBYID_W(OGLFUNC, FUNCVAR, FUNCID, WINDOW) \
807 OSG::FUNCVAR##Proc FUNCVAR = \
808 reinterpret_cast<OSG::FUNCVAR##Proc>( \
809 (WINDOW)->getFunction(FUNCID));
811 # define OSGGETGLFUNCBYNAME_W(OGLFUNC, FUNCVAR, FUNCNAME, WINDOW) \
812 OSG::FUNCVAR##Proc FUNCVAR = \
813 reinterpret_cast<OSG::FUNCVAR##Proc>( \
814 (WINDOW)->getFunctionByName(FUNCNAME));
818 #define OSGGETGLFUNC_P(OGLFUNC, FUNCVAR, FUNCID) \
819 OSG::FUNCVAR##Proc FUNCVAR = OGLFUNC;
821 #define OSGGETGLFUNCBYID_P(OGLFUNC, FUNCVAR, FUNCID, WINDOW) \
822 OSG::FUNCVAR##Proc FUNCVAR = OGLFUNC;
824 #define OSGGETGLFUNCBYNAME_P(OGLFUNC, FUNCVAR, FUNCNAME, WINDOW) \
825 OSG::FUNCVAR##Proc FUNCVAR = OGLFUNC;
829 #ifdef OSG_USE_OGL3_PROTOS
830 # define OSGGETGLFUNC_GL3(FUNCTYPE, FUNCVAR, FUNCID) \
831 OSGGETGLFUNC_P(FUNCTYPE, FUNCVAR, FUNCID)
833 # define OSGGETGLFUNCBYID_GL3(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
834 OSGGETGLFUNCBYID_P(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
836 # define OSGGETGLFUNCBYNAME_GL3(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
837 OSGGETGLFUNCBYNAME_P(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
838 #endif //OSG_USE_OGL3_PROTOS
840 #ifdef OSG_USE_OGL4_PROTOS
841 # define OSGGETGLFUNC_GL4(FUNCTYPE, FUNCVAR, FUNCID) \
842 OSGGETGLFUNC_P(FUNCTYPE, FUNCVAR, FUNCID)
844 # define OSGGETGLFUNCBYID_GL4(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
845 OSGGETGLFUNCBYID_P(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
847 # define OSGGETGLFUNCBYNAME_GL4(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
848 OSGGETGLFUNCBYNAME_P(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
849 #endif // OSG_USE_OGL4_PROTOS
852 #if defined(OSG_USE_OGLES_PROTOS) || defined(OSG_USE_OGL3_PROTOS)
853 # define OSGGETGLFUNC_GL3_ES(FUNCTYPE, FUNCVAR, FUNCID) \
854 OSGGETGLFUNC_P(FUNCTYPE, FUNCVAR, FUNCID)
856 # define OSGGETGLFUNCBYID_GL3_ES(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
857 OSGGETGLFUNCBYID_P(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
859 # define OSGGETGLFUNCBYNAME_GL3_ES(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
860 OSGGETGLFUNCBYNAME_P(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
864 #if defined(OSG_USE_OGLES_PROTOS) || defined(OSG_USE_OGL4_PROTOS)
865 # define OSGGETGLFUNC_GL4_ES(FUNCTYPE, FUNCVAR, FUNCID) \
866 OSGGETGLFUNC_P(FUNCTYPE, FUNCVAR, FUNCID)
868 # define OSGGETGLFUNCBYID_GL4_ES(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
869 OSGGETGLFUNCBYID_P(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
871 # define OSGGETGLFUNCBYNAME_GL4_ES(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
872 OSGGETGLFUNCBYNAME_P(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
876 #ifndef OSGGETGLFUNC_GL3
877 # define OSGGETGLFUNC_GL3(FUNCTYPE, FUNCVAR, FUNCID) \
878 OSGGETGLFUNC_W(FUNCTYPE, FUNCVAR, FUNCID)
880 # define OSGGETGLFUNCBYID_GL3(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
881 OSGGETGLFUNCBYID_W(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
883 # define OSGGETGLFUNCBYNAME_GL3(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
884 OSGGETGLFUNCBYNAME_W(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
885 #endif //OSGGETGLFUNC_GL3
888 // OpenGL 3 and ES Protos
889 #ifndef OSGGETGLFUNC_GL3_ES
890 # define OSGGETGLFUNC_GL3_ES(FUNCTYPE, FUNCVAR, FUNCID) \
891 OSGGETGLFUNC_W(FUNCTYPE, FUNCVAR, FUNCID)
893 # define OSGGETGLFUNCBYID_GL3_ES(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
894 OSGGETGLFUNCBYID_W(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
896 # define OSGGETGLFUNCBYNAME_GL3_ES(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
897 OSGGETGLFUNCBYNAME_W(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
898 #endif //OSGGETGLFUNC_GL3_ES
902 #ifndef OSGGETGLFUNC_GL4
903 # define OSGGETGLFUNC_GL4(FUNCTYPE, FUNCVAR, FUNCID) \
904 OSGGETGLFUNC_W(FUNCTYPE, FUNCVAR, FUNCID)
906 # define OSGGETGLFUNCBYID_GL4(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
907 OSGGETGLFUNCBYID_W(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
909 # define OSGGETGLFUNCBYNAME_GL4(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
910 OSGGETGLFUNCBYNAME_W(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
911 #endif //SGGETGLFUNC_GL4
914 // OpenGL 4 and ES Protos
915 #ifndef OSGGETGLFUNC_GL4_ES
916 # define OSGGETGLFUNC_GL4_ES(FUNCTYPE, FUNCVAR, FUNCID) \
917 OSGGETGLFUNC_W(FUNCTYPE, FUNCVAR, FUNCID)
919 # define OSGGETGLFUNCBYID_GL4_ES(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
920 OSGGETGLFUNCBYID_W(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
922 # define OSGGETGLFUNCBYNAME_GL4_ES(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
923 OSGGETGLFUNCBYNAME_W(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
924 #endif //OSGGETGLFUNC_GL4_ES
929 #define OSGGETGLFUNC_EXT(FUNCTYPE, FUNCVAR, FUNCID) \
930 OSGGETGLFUNC_W(FUNCTYPE, FUNCVAR, FUNCID)
932 #define OSGGETGLFUNCBYID_EXT(FUNCTYPE, FUNCVAR, FUNCID, WINDOW) \
933 OSGGETGLFUNCBYID_W(FUNCTYPE, FUNCVAR, FUNCID, WINDOW)
935 #define OSGGETGLFUNCBYNAME_EXT(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW) \
936 OSGGETGLFUNCBYNAME_W(FUNCTYPE, FUNCVAR, FUNCNAME, WINDOW)
942 /*---------------------------------------------------------------------------*/
947 #endif /* _OSGGLFUNCPROTOS_H_ */