Commit 088454ed authored by Martin Schultz's avatar Martin Schultz

Revert "Merge branch 'newGLLoader' into 'master'

As the new glLoad is not compatible with Qt 5.6 we will continue using
glew for now.

This reverts commit 22938119, reversing
changes made to ed8a9a65.
parent 02a94b65
...@@ -27,12 +27,17 @@ endif () ...@@ -27,12 +27,17 @@ endif ()
acg_openmp () acg_openmp ()
# check for OpenGL and GLUT as our required dependencies # check for OpenGL, GLEW and GLUT as our required dependencies
find_package (OpenGL) find_package (OpenGL)
if (NOT OPENGL_FOUND) if (NOT OPENGL_FOUND)
message (FATAL_ERROR "OpengGL not found!") message (FATAL_ERROR "OpengGL not found!")
endif () endif ()
find_package (GLEW)
if (NOT GLEW_FOUND)
message (FATAL_ERROR "GLEW not found!")
endif ()
find_package (GLUT) find_package (GLUT)
if (NOT GLUT_FOUND) if (NOT GLUT_FOUND)
message (FATAL_ERROR "GLUT not found!") message (FATAL_ERROR "GLUT not found!")
...@@ -48,6 +53,7 @@ set(INCLUDE_DIRS ${OPENMESH_INCLUDE_DIRS} ...@@ -48,6 +53,7 @@ set(INCLUDE_DIRS ${OPENMESH_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}/ShaderUtils ${CMAKE_CURRENT_SOURCE_DIR}/ShaderUtils
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${OPENGL_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}
${GLEW_INCLUDE_DIR}
${GLUT_INCLUDE_DIR} ) ${GLUT_INCLUDE_DIR} )
set(ADDITIONAL_LINK_LIBRARIES "" ) set(ADDITIONAL_LINK_LIBRARIES "" )
...@@ -84,6 +90,7 @@ include_directories ( ...@@ -84,6 +90,7 @@ include_directories (
) )
link_directories ( link_directories (
${GLEW_LIBRARY_DIR}
${GLUT_LIBRARY_DIR} ${GLUT_LIBRARY_DIR}
) )
...@@ -152,6 +159,7 @@ acg_print_configure_header (ACG "ACG") ...@@ -152,6 +159,7 @@ acg_print_configure_header (ACG "ACG")
target_link_libraries ( ACG ${OPENMESH_LIBRARIES} target_link_libraries ( ACG ${OPENMESH_LIBRARIES}
${QT_LIBRARIES} ${QT_LIBRARIES}
${OPENGL_LIBRARIES} ${OPENGL_LIBRARIES}
${GLEW_LIBRARY}
${GLUT_LIBRARIES} ${GLUT_LIBRARIES}
${ADDITIONAL_LINK_LIBRARIES} ) ${ADDITIONAL_LINK_LIBRARIES} )
......
...@@ -126,13 +126,10 @@ MSFilterWeights::MSFilterWeights(int _numSamples) : numSamples_(_numSamples) { ...@@ -126,13 +126,10 @@ MSFilterWeights::MSFilterWeights(int _numSamples) : numSamples_(_numSamples) {
//============================================================================= //=============================================================================
#if defined(GL_ARB_texture_buffer_object)
void MSFilterWeights::asTextureBuffer( TextureBuffer& out ) { void MSFilterWeights::asTextureBuffer( TextureBuffer& out ) {
if (numSamples_) if (numSamples_)
out.setBufferData(numSamples_ * 4, &weights_[0], GL_R32F, GL_STATIC_DRAW); out.setBufferData(numSamples_ * 4, &weights_[0], GL_R32F, GL_STATIC_DRAW);
} }
#endif
//============================================================================= //=============================================================================
......
...@@ -125,6 +125,7 @@ void FBO::del() ...@@ -125,6 +125,7 @@ void FBO::del()
void FBO::attachTexture( GLenum _attachment, GLuint _texture, GLuint _level ) void FBO::attachTexture( GLenum _attachment, GLuint _texture, GLuint _level )
{ {
#ifdef GL_VERSION_3_2
// bind fbo // bind fbo
bind(); bind();
...@@ -154,6 +155,9 @@ void FBO::attachTexture( GLenum _attachment, GLuint _texture, GLuint _level ) ...@@ -154,6 +155,9 @@ void FBO::attachTexture( GLenum _attachment, GLuint _texture, GLuint _level )
// track texture id // track texture id
attachments_[_attachment] = intID; attachments_[_attachment] = intID;
#else
std::cerr << "error: FBO::attachTexture unsupported - update glew headers and rebuild" << std::endl;
#endif
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
......
...@@ -47,7 +47,6 @@ ...@@ -47,7 +47,6 @@
* * * *
\*===========================================================================*/ \*===========================================================================*/
#include <ACG/GL/acg_glew.hh>
#include <ACG/GL/GLFormatInfo.hh> #include <ACG/GL/GLFormatInfo.hh>
#include <iostream> #include <iostream>
#include <QString> #include <QString>
...@@ -82,6 +81,7 @@ GLFormatInfo::GLFormatInfo( GLenum _internalFormat ) ...@@ -82,6 +81,7 @@ GLFormatInfo::GLFormatInfo( GLenum _internalFormat )
registerFmt(GL_DEPTH_STENCIL, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 24, 8, 0, 0, UnsignedInt, false); registerFmt(GL_DEPTH_STENCIL, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 24, 8, 0, 0, UnsignedInt, false);
registerFmt(GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 24, 8, 0, 0, UnsignedInt, false); registerFmt(GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 24, 8, 0, 0, UnsignedInt, false);
#ifdef GL_VERSION_3_0
// single channel formats // single channel formats
registerFmt(GL_R8, GL_RED, GL_UNSIGNED_BYTE, 8, 0, 0, 0, UnsignedInt, true); registerFmt(GL_R8, GL_RED, GL_UNSIGNED_BYTE, 8, 0, 0, 0, UnsignedInt, true);
registerFmt(GL_R8_SNORM, GL_RED, GL_BYTE, 8, 0, 0, 0, SignedInt, true); registerFmt(GL_R8_SNORM, GL_RED, GL_BYTE, 8, 0, 0, 0, SignedInt, true);
...@@ -130,18 +130,19 @@ GLFormatInfo::GLFormatInfo( GLenum _internalFormat ) ...@@ -130,18 +130,19 @@ GLFormatInfo::GLFormatInfo( GLenum _internalFormat )
registerFmt(GL_RGBA32I, GL_RGBA_INTEGER, GL_INT, 32, 32, 32, 32, SignedInt, false); registerFmt(GL_RGBA32I, GL_RGBA_INTEGER, GL_INT, 32, 32, 32, 32, SignedInt, false);
registerFmt(GL_RGBA32UI, GL_RGBA_INTEGER, GL_UNSIGNED_INT, 32, 32, 32, 32, UnsignedInt, false); registerFmt(GL_RGBA32UI, GL_RGBA_INTEGER, GL_UNSIGNED_INT, 32, 32, 32, 32, UnsignedInt, false);
registerFmt(GL_RGBA32F, GL_RGBA, GL_FLOAT, 32, 32, 32, 32, FloatingPt, false); registerFmt(GL_RGBA32F, GL_RGBA, GL_FLOAT, 32, 32, 32, 32, FloatingPt, false);
#endif // GL_VERSION_3_0
// depth // depth
registerFmt(GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 24, 0, 0, 0, UnsignedInt, false); registerFmt(GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 24, 0, 0, 0, UnsignedInt, false);
registerFmt(GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 16, 0, 0, 0, UnsignedInt, false); registerFmt(GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 16, 0, 0, 0, UnsignedInt, false);
#ifdef GL_DEPTH_COMPONENT32F #ifdef GL_ARB_depth_buffer_float
registerFmt(GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT, GL_FLOAT, 32, 0, 0, 0, FloatingPt, false); registerFmt(GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT, GL_FLOAT, 32, 0, 0, 0, FloatingPt, false);
registerFmt(GL_DEPTH32F_STENCIL8, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, 32, 8, -24, 0, FloatingPt, false); registerFmt(GL_DEPTH32F_STENCIL8, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, 32, 8, -24, 0, FloatingPt, false);
#endif #endif // GL_ARB_depth_buffer_float
#ifdef GL_STENCIL_INDEX8 #ifdef GL_ARB_texture_stencil8
registerFmt(GL_STENCIL_INDEX8, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, 8, 0, 0, 0, UnsignedInt, false); registerFmt(GL_STENCIL_INDEX8, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, 8, 0, 0, 0, UnsignedInt, false);
#endif #endif // GL_ARB_texture_stencil8
} }
std::map<GLenum, GLFormatInfo>::iterator f = formatMap_.find(_internalFormat); std::map<GLenum, GLFormatInfo>::iterator f = formatMap_.find(_internalFormat);
......
...@@ -1327,7 +1327,7 @@ void GLState::syncFromGL() ...@@ -1327,7 +1327,7 @@ void GLState::syncFromGL()
GLint getparam; GLint getparam;
#ifdef GL_BLEND_SRC_RGB #ifdef GL_VERSION_1_4
glGetIntegerv(GL_BLEND_SRC_RGB, &getparam); glGetIntegerv(GL_BLEND_SRC_RGB, &getparam);
stateStack_.back().blendFuncState_[0] = getparam; stateStack_.back().blendFuncState_[0] = getparam;
...@@ -1611,7 +1611,7 @@ void GLState::blendFuncSeparate(GLenum _srcRGB, GLenum _dstRGB, GLenum _srcAlpha ...@@ -1611,7 +1611,7 @@ void GLState::blendFuncSeparate(GLenum _srcRGB, GLenum _dstRGB, GLenum _srcAlpha
stateStack_.back().blendFuncState_[2] != _srcAlpha || stateStack_.back().blendFuncState_[3] != _dstAlpha) stateStack_.back().blendFuncState_[2] != _srcAlpha || stateStack_.back().blendFuncState_[3] != _dstAlpha)
#endif #endif
{ {
#ifdef GL_BLEND_SRC_RGB #ifdef GL_VERSION_1_4
// check if glew has loaded glBlendFuncSeparate already // check if glew has loaded glBlendFuncSeparate already
if (glBlendFuncSeparate) if (glBlendFuncSeparate)
glBlendFuncSeparate(_srcRGB, _dstRGB, _srcAlpha, _dstAlpha); glBlendFuncSeparate(_srcRGB, _dstRGB, _srcAlpha, _dstAlpha);
......
...@@ -316,7 +316,7 @@ void IRenderer::addRenderObject(ACG::RenderObject* _renderObject) ...@@ -316,7 +316,7 @@ void IRenderer::addRenderObject(ACG::RenderObject* _renderObject)
p->internalFlags_ = 0; p->internalFlags_ = 0;
// precompile shader // precompile shader
#ifdef GL_GEOMETRY_INPUT_TYPE #ifdef GL_VERSION_3_2
GLSL::Program* shaderProg = ACG::ShaderCache::getInstance()->getProgram(&p->shaderDesc); GLSL::Program* shaderProg = ACG::ShaderCache::getInstance()->getProgram(&p->shaderDesc);
#endif #endif
...@@ -324,7 +324,7 @@ void IRenderer::addRenderObject(ACG::RenderObject* _renderObject) ...@@ -324,7 +324,7 @@ void IRenderer::addRenderObject(ACG::RenderObject* _renderObject)
// check primitive type and geometry shader // check primitive type and geometry shader
if (errorDetectionLevel_ > 1 && p->shaderDesc.geometryTemplateFile.length()) if (errorDetectionLevel_ > 1 && p->shaderDesc.geometryTemplateFile.length())
{ {
#ifdef GL_GEOMETRY_INPUT_TYPE #ifdef GL_VERSION_3_2
GLint geomInputType = 0; GLint geomInputType = 0;
glGetProgramiv(shaderProg->getProgramId(), GL_GEOMETRY_INPUT_TYPE, &geomInputType); glGetProgramiv(shaderProg->getProgramId(), GL_GEOMETRY_INPUT_TYPE, &geomInputType);
......
...@@ -188,7 +188,14 @@ void ScreenQuad::intDraw (GLSL::Program* _prog, int _numInstances) ...@@ -188,7 +188,14 @@ void ScreenQuad::intDraw (GLSL::Program* _prog, int _numInstances)
if (_numInstances < 1) if (_numInstances < 1)
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
else else
{
#ifdef GL_VERSION_3_1
glDrawArraysInstanced(GL_TRIANGLE_STRIP, 0, 4, _numInstances); glDrawArraysInstanced(GL_TRIANGLE_STRIP, 0, 4, _numInstances);
#else
std::cerr << "error: instanced ScreenQuad draw - outdated glew version" << std::endl;
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
#endif
}
if (_prog) if (_prog)
decl_->deactivateShaderPipeline(_prog); decl_->deactivateShaderPipeline(_prog);
......
...@@ -62,13 +62,20 @@ ...@@ -62,13 +62,20 @@
#include <cstdlib> #include <cstdlib>
#include <sstream> #include <sstream>
#ifndef __APPLE__
#include "gl_compat_4_4.hh"
#else
#include <qgl>
#endif
#if defined(ARCH_DARWIN)
#include <gl/glew.h>
#elif defined(WIN32)
#include <gl/glew.h>
#else // Unix
#include <GL/glew.h>
#endif
//============================================================================= //=============================================================================
......
...@@ -69,8 +69,11 @@ ...@@ -69,8 +69,11 @@
#elif defined(WIN32) #elif defined(WIN32)
#include "acg_glew.hh"
#include <windows.h> #include <windows.h>
// Dont do this anymore! Use dll version. No problems with plugins and dll
// but a lot with static linking
// # define GLEW_STATIC 1
#include <gl/glew.h>
#include <gl/glut.h> #include <gl/glut.h>
#else #else
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -47,7 +47,6 @@ ...@@ -47,7 +47,6 @@
* * * *
\*===========================================================================*/ \*===========================================================================*/
#include <ACG/GL/acg_glew.hh> #include <ACG/GL/acg_glew.hh>
#include <ACG/GL/globjects.hh> #include <ACG/GL/globjects.hh>
#include <ACG/GL/GLFormatInfo.hh> #include <ACG/GL/GLFormatInfo.hh>
......
...@@ -1128,8 +1128,7 @@ void QtBaseViewer::initializeGL() ...@@ -1128,8 +1128,7 @@ void QtBaseViewer::initializeGL()
// we use GLEW to manage extensions // we use GLEW to manage extensions
// initialize it first // initialize it first
#ifndef __APPLE__ #ifndef __APPLE__
//glewInit(); glewInit();
ogl_LoadFunctions();
#endif #endif
...@@ -1243,8 +1242,7 @@ void QtBaseViewer::paintGL() ...@@ -1243,8 +1242,7 @@ void QtBaseViewer::paintGL()
// we use GLEW to manage extensions // we use GLEW to manage extensions
// initialize it first // initialize it first
#ifndef __APPLE__ #ifndef __APPLE__
//glewInit(); glewInit();
ogl_LoadFunctions();
#endif #endif
// lock update // lock update
......
...@@ -131,12 +131,17 @@ endif() ...@@ -131,12 +131,17 @@ endif()
acg_openmp () acg_openmp ()
# check for OpenGL and GLUT as our required dependencies # check for OpenGL, GLEW and GLUT as our required dependencies
find_package (OpenGL) find_package (OpenGL)
if (NOT OPENGL_FOUND) if (NOT OPENGL_FOUND)
message (FATAL_ERROR "OpengGL not found!") message (FATAL_ERROR "OpengGL not found!")
endif () endif ()
find_package (GLEW)
if (NOT GLEW_FOUND)
message (FATAL_ERROR "GLEW not found!")
endif ()
find_package (GLUT) find_package (GLUT)
if (NOT GLUT_FOUND) if (NOT GLUT_FOUND)
message (FATAL_ERROR "GLUT not found!") message (FATAL_ERROR "GLUT not found!")
......
...@@ -2035,7 +2035,7 @@ void Core::showReducedMenuBar(bool reduced) { ...@@ -2035,7 +2035,7 @@ void Core::showReducedMenuBar(bool reduced) {
} }
void Core::finishSplash() { void Core::finishSplash() {
splash_->finish(coreWidget_); splash_->finish(coreWidget_);
} }
......
...@@ -7,6 +7,7 @@ include_directories ( ...@@ -7,6 +7,7 @@ include_directories (
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${OPENGL_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}
${GLEW_INCLUDE_DIR}
${GLUT_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}
) )
...@@ -28,8 +29,14 @@ if( APPLE ) ...@@ -28,8 +29,14 @@ if( APPLE )
endforeach () endforeach ()
link_directories ( link_directories (
${GLEW_LIBRARY_DIR}
${ADDITIONAL_PLUGINLIB_LINK_DIRS} ${ADDITIONAL_PLUGINLIB_LINK_DIRS}
) )
else (APPLE)
link_directories (
${GLEW_LIBRARY_DIR}
)
endif(APPLE) endif(APPLE)
if (WIN32) if (WIN32)
...@@ -222,6 +229,7 @@ target_link_libraries (${OPENFLIPPER_PRODUCT_STRING} ...@@ -222,6 +229,7 @@ target_link_libraries (${OPENFLIPPER_PRODUCT_STRING}
OpenFlipperPluginLib OpenFlipperPluginLib
${QT_LIBRARIES} ${QT_LIBRARIES}
${OPENGL_LIBRARIES} ${OPENGL_LIBRARIES}
${GLEW_LIBRARY}
${GLUT_LIBRARIES} ${GLUT_LIBRARIES}
${COREAPP_ADDITIONAL_LINK_LIBRARIES} ${COREAPP_ADDITIONAL_LINK_LIBRARIES}
${OPENFLIPPER_STATIC_PLUGINS} ${OPENFLIPPER_STATIC_PLUGINS}
......
...@@ -446,9 +446,13 @@ int main(int argc, char **argv) ...@@ -446,9 +446,13 @@ int main(int argc, char **argv)
} }
} }
} }
// After setting all Options from command line, build the real gui // After setting all Options from command line, build the real gui
w->init(); w->init();
#ifndef __APPLE__
initGlew();
#endif
for ( int i = 0 ; i < args.FileCount(); ++i ) for ( int i = 0 ; i < args.FileCount(); ++i )
w->commandLineOpen(args.File(i), openPolyMeshes); w->commandLineOpen(args.File(i), openPolyMeshes);
......
...@@ -42,12 +42,14 @@ include_directories ( ...@@ -42,12 +42,14 @@ include_directories (
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${OPENGL_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}
${GLEW_INCLUDE_DIR}
${GLUT_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}
${ADDITIONAL_PLUGINLIB_INCS} ${ADDITIONAL_PLUGINLIB_INCS}
${PACKAGE_INCLUDES} ${PACKAGE_INCLUDES}
) )
link_directories ( link_directories (
${GLEW_LIBRARY_DIR}
${ADDITIONAL_PLUGINLIB_LINK_DIRS} ${ADDITIONAL_PLUGINLIB_LINK_DIRS}
) )
...@@ -174,6 +176,7 @@ target_link_libraries (OpenFlipperPluginLib ...@@ -174,6 +176,7 @@ target_link_libraries (OpenFlipperPluginLib
ACG ACG
${QT_LIBRARIES} ${QT_LIBRARIES}
${OPENGL_LIBRARIES} ${OPENGL_LIBRARIES}
${GLEW_LIBRARY}
${GLUT_LIBRARIES} ${GLUT_LIBRARIES}
${FTGL_LIBS} ${FTGL_LIBS}
${ADDITIONAL_PLUGINLIB_LIBS} ${ADDITIONAL_PLUGINLIB_LIBS}
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
# [TRANSLATION_ADDFILES file1 file2 ...] # [TRANSLATION_ADDFILES file1 file2 ...]
# [LICENSEMANAGER]) # [LICENSEMANAGER])
# #
# DIRS = additional directories with source files # DIRS = additional directories with source files
# DEPS = required dependencies for find_package macro # DEPS = required dependencies for find_package macro
# OPTDEPS = optional dependencies for find_package macro, if found, a define ENABLE_<Depname> will be added automatically # OPTDEPS = optional dependencies for find_package macro, if found, a define ENABLE_<Depname> will be added automatically
...@@ -28,6 +29,7 @@ ...@@ -28,6 +29,7 @@
# INCDIRS = additional include directories # INCDIRS = additional include directories
# ADDSRC = additional source files # ADDSRC = additional source files
# INSTALLDATA = directories that will be installed into the openflipper data directory # INSTALLDATA = directories that will be installed into the openflipper data directory
# GLEWDEFINITIONS = Checks glew if it defines the given definitions
# #
# TRANSLATION_LANGUAGES = language codes for translation # TRANSLATION_LANGUAGES = language codes for translation
# TRANSLATION_ADDFILES = additional files that should be included into the translation files # TRANSLATION_ADDFILES = additional files that should be included into the translation files
...@@ -70,7 +72,7 @@ endmacro () ...@@ -70,7 +72,7 @@ endmacro ()
macro (_get_plugin_parameters _prefix) macro (_get_plugin_parameters _prefix)
set (_current_var _foo) set (_current_var _foo)
set (_supported_var DIRS DEPS OPTDEPS LDFLAGSADD CFLAGSADD CDEFINITIONSADD set (_supported_var DIRS DEPS OPTDEPS LDFLAGSADD CFLAGSADD CDEFINITIONSADD
LIBRARIES ADD_CORE_APP_LIBRARIES LIBDIRS INCDIRS ADDSRC INSTALLDATA TRANSLATION_LANGUAGES TRANSLATION_ADDFILES) LIBRARIES ADD_CORE_APP_LIBRARIES LIBDIRS INCDIRS ADDSRC INSTALLDATA GLEWDEFINITIONS TRANSLATION_LANGUAGES TRANSLATION_ADDFILES)
set (_supported_flags LICENSEMANAGER) set (_supported_flags LICENSEMANAGER)
foreach (_val ${_supported_var}) foreach (_val ${_supported_var})
set (${_prefix}_${_val}) set (${_prefix}_${_val})
...@@ -374,6 +376,26 @@ macro (_plugin_licensemanagement) ...@@ -374,6 +376,26 @@ macro (_plugin_licensemanagement)
endif() endif()
endmacro () endmacro ()
#======================================================
# check dependencies in GLEW library
# _prefix : prefix used ( usually the plugin name )
#======================================================
macro (_check_plugin_glew_deps _prefix )
foreach (_extension ${${_prefix}_GLEWDEFINITIONS})
acg_test_glew_definition( ${_extension} ${_prefix}_GLEW_HAS_DEFINITION_${_extension} )
# If the dependency is not found, we disable the plugin
if(NOT ${_prefix}_GLEW_HAS_DEFINITION_${_extension} )
set (${_prefix}_HAS_DEPS FALSE)
acg_set (_${_prefix}_MISSING_DEPS "${_${_prefix}_MISSING_DEPS} GLEW extension ${_extension}")
endif()
endforeach()
endmacro ()
#====================================================== #======================================================
...@@ -416,6 +438,10 @@ function (_build_openflipper_plugin plugin) ...@@ -416,6 +438,10 @@ function (_build_openflipper_plugin plugin)
endforeach () endforeach ()
set_property( GLOBAL PROPERTY GLOBAL_CORE_APP_LIBRARIES ${global_core_app_libraries} ) set_property( GLOBAL PROPERTY GLOBAL_CORE_APP_LIBRARIES ${global_core_app_libraries} )
# CHECK for GLEW definitions
#============================================================================================
_check_plugin_glew_deps (${_PLUGIN})
#============================================================================================ #============================================================================================
# Remember Lib dirs for bundle generation # Remember Lib dirs for bundle generation
...@@ -460,6 +486,7 @@ function (_build_openflipper_plugin plugin) ...@@ -460,6 +486,7 @@ function (_build_openflipper_plugin plugin)
${${_PLUGIN}_DEPS_INCDIRS} ${${_PLUGIN}_DEPS_INCDIRS}
${${_PLUGIN}_INCDIRS} ${${_PLUGIN}_INCDIRS}
${OPENGL_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}
${GLEW_INCLUDE_DIR}
${GLUT_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}
${CMAKE_BINARY_DIR}/OpenFlipper/PluginLib ${CMAKE_BINARY_DIR}/OpenFlipper/PluginLib
${PACKAGE_INCLUDES} ${PACKAGE_INCLUDES}
......
...@@ -48,26 +48,19 @@ ...@@ -48,26 +48,19 @@
\*===========================================================================*/ \*===========================================================================*/
#include "glew_wrappers.hh" #include "glew_wrappers.hh"
#include <ACG/GL/gl_compat_4_4.hh>
#include <GL/glew.h>
#include <stdio.h> #include <stdio.h>
#include <string>
#include <sstream>
DLLEXPORT void initOpenGLFunctions() { DLLEXPORT void initGlew() {
int