00001 /*======================================================================= 00002 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), *** 00003 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. *** 00004 *** *** 00005 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS *** 00006 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR *** 00007 *** WRITTEN AUTHORIZATION OF FEI S.A.S. *** 00008 *** *** 00009 *** RESTRICTED RIGHTS LEGEND *** 00010 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS *** 00011 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN *** 00012 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT *** 00013 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN *** 00014 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. *** 00015 *** *** 00016 *** COPYRIGHT (C) 1996-2019 BY FEI S.A.S, *** 00017 *** BORDEAUX, FRANCE *** 00018 *** ALL RIGHTS RESERVED *** 00019 **=======================================================================*/ 00020 /*======================================================================= 00021 ** Author : David Beilloin (Oct 2009) 00022 **=======================================================================*/ 00023 #if !defined( SO_GL_H ) 00024 #define SO_GL_H 00025 00026 #if !defined(GLEW_MX) 00027 // Open Inventor use Multi-thread/context glew implementation 00028 #define GLEW_MX 00029 #endif 00030 00031 #include <Inventor/sys/glew.h> 00032 #include <Inventor/devices/SoGLContext.h> 00033 #include <Inventor/devices/SoGLGlew.h> 00034 00035 #if defined(_WIN32) 00036 # include <Inventor/sys/wglew.h> 00037 #else 00038 # define APIENTRY 00039 # define WINGDIAPI 00040 #endif 00041 00042 #if !defined(OIV_RENDERENGINE_GLEW) 00043 00044 // GLEW generic dispatch mechanism. 00045 #ifdef GLEW_MX 00046 //Undef glew defined in case somebody already overrided them 00047 # undef glewGetContext 00048 # undef glxewGetContext 00049 # undef eglewGetContext 00050 # define glewGetContext ::SoGLContext::glewGetCurrentContext 00051 # if defined(OIV_HEADLESS) 00052 # define eglewGetContext ::SoGLContext::glewGetCurrentContextNative 00053 # elif defined(_WIN32) 00054 # define wglewGetContext ::SoGLContext::glewGetCurrentContextNative 00055 # elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) 00056 # define glxewGetContext ::SoGLContext::glewGetCurrentContextNative 00057 # endif // _WIN32 00058 #endif // GLEW_MX 00059 00060 #endif 00061 00062 #endif // SO_GL_H 00063 00064 00065